Le manuel de programmation de dpkg - chapitre 14
Interface dselect pour ses méthodes d'installation

dselect appelle les scripts à partir des ses méthodes d'installation quand il a vraiment besoin d'accéder aux données de la distribution. Le programme noyau dselect lui-même appelle juste ces scripts et fournit le paquet et les interfaces de sélection des méthodes d'accès. Les méthodes d'installation sont responsables de l'appel approprié de dpkg.

Chaque méthode d'installation a trois scripts:

dselect cherche les méthodes dans les répertoires /usr/lib/dpkg/methods et /usr/local/lib/dpkg/methods.


14.1 Les fonctions des scripts de méthode

Le script setup est exécuté juste après que l'utilisateur a choisi une méthode d'installation. Il doit demander à l'utilisateur les paramètres comme le site NFS à monter ou FTP, le répertoire à utiliser, ou le répertoire ou le système de fichiers où les fichiers .deb peuvent être trouvés, ou le lecteur de bande, le lecteur de disquette d'install. Il devrait stocker la réponse sous /var/lib/dpkg/methods - voir ci-dessous. Si aucune liste de paquets n'est disponible, il devrait proposer peut-être la scrutation des paquets disponibles.

Le script upgrade devrait obtenir une liste des paquets disponibles si possible, et démarrer dpkg --update-avail, dpkg --merge-avail et/ou dpkg --forget-old-unavail pour la charger dans la base de données des paquets disponibles de dpkg et de dselect. Si aucune liste de paquets n'est disponible et si on a proposé à l'utilisateur et qu'il a accepté l'option de scruter les fichiers réels disponibles, alors la scrutation doit être faite ici, en utilisant dpkg --record-avail.

Le script install doit donner tous les fichiers .deb disponibles à dpkg -iGOEB (ce qui est équivalent à dpkg --install -- refuse-downgrade --selected-only --skip-same-version --auto- deconfigure). L'option -R (--recursive) pour traverser tous les sous-répertoires peut être utile ici.

Si un de ces scripts a besoin d'afficher un message à l'utilisateur, il doit attendre que l'utilisateur tape 'return' avant de sortir afin que dselect ne rafraîchisse pas immédiatement l'écran.

Si un script de méthode réussi (retourne un statut de sortie à zéro) dselect retournera immédiatement au menu principal, avec l'option suivante soulignée prêt pour être sélectionnée par l'utilisateur. S'il échoue, dselect affichera un message et attendra que l'utilisateur tape 'return'.


14.2 Emplacement et arguments des scripts de méthode

Un ensemble de scripts (aussi connu comme un groupe) peut fournir plusieurs méthodes dans le menu principal avec différent comportement. Par exemple, il peut y avoir un groupe pour récupérer les paquets par FTP qui peut fournir les méthodes dans le menu principal pour l'installation directe à partir d'un des sites miroirs Debian aussi bien que l'installation à partir d'un site spécifique à l'utilisateur.

Chaque groupe de méthodes implantées par le même ensemble de scripts doit avoir un sous-répertoire /usr/lib/dpkg/methods/groupe ou /usr/local/lib/dpkg/methods/groupe, contenant:

names
une liste des méthodes visibles par l'utilisateur fournies par ces scripts.

setup
update
install
les programmes exécutables, les scripts eux-mêmes.

des.option
fichier de description

names sera formaté comme une liste de ligne, chacune contenant:

sequence méthode résumé
sequence est un nombre sur 2 chiffres qui sera utilisé comme pour les préfixes de rc.d pour contrôler l'ordre dans le menu principal. Dans le doute, utilise 50.

méthode est un nom qui est affiché par dselect comme nom de la méthode et qui sera passé à setup, update et unpack comme premier argument.

résumé est la brève chaîne de caractères de description pour le menu de dselect.

Chacun de ces trois scripts prend les mêmes trois arguments: vardir, group et method. vardir est le répertoire de base pour stocker l'état de dpkg et de dselect, généralement /var/lib/dpkg; ceci est passé afin que l'option --admindir de dselect soit honorée.

Chaque option peut avoir une description étendue dans desc.option. Celui-ci doit être formaté comme la partie description étendue comme une entrée du champ Description décalée d'un caractère vers la gauche.

vardir/methods existera, et un groupe de méthodes peut utiliser un répertoire vardir/methods/group pour stocker ses états.

Le nom du groupe et le nom des méthodes doivent suivre les règles des identificateurs C.


Le manuel de programmation de dpkg - Copyright ©1996 Ian Jackson Copyright ©1997 David Curé et Christian Jacolot pour la version française.
Table des matières; résumé; précédent.
15 octobre 1998
D. Cure cure@cnam.fr
C. Jacolot jacolot@ubolib.univ-brest.fr