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.
.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'.
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 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.