DEB-CONTROL(L) Debian GNU/Linux DEB-CONTROL(L) NOM deb-control - Format du fichier principal de contrle dans les paquets Debian GNU-Linux SYNOPSIS contrle DESCRIPTION Chaque paquet Debian possde un fichier principal de con- trle qui contient un certain nombre de champs. Chaque champ commence par une tiquette, telle que Package ou Ver- sion (la casse n'importe pas), suivie d'un : , et du con- tenu du champ. Les champs sont spars seulement par des tiquettes de champ. En d'autres termes, le contenu d'un champ peut s'tendre sur plusieurs lignes, mais les outils d'installation joindront en gnral les lignes pendant le traitement du contenu du champ (sauf pour le champ Description, voyez ci-dessous). LES CHAMPS EXIGS Package: <nom du paquet> La valeur de ce champ donne le nom du paquet, et la plupart des outils d'installation s'en servent pour produire les noms des paquets. Version: <chane pour la version> C'est classiquement le numro de version du paquet original dans la forme choisie par l'auteur du pro- gramme. Il peut y avoir aussi un numro de rvision Debian (pour les paquets qui ne sont pas de pure souche Debian). Quand les numros de version et de rvision sont prsents, on les spare par un trait d'union - . C'est pour cette raison qu'il ne peut y avoir de trait d'union dans le numro de la ver- sion originale. Maintainer: <nom ml> Le format de ce champ sera Jean Dupont <jdupont@foo.com> ; et c'est bien sr le crateur du paquet, par opposition l'auteur du programme mis en paquet. Description: <description courte> <description longue> Le format de la description du paquet est un rsum bref sur la premire ligne (aprs le champ Descrip- tion ). Les lignes suivantes peuvent servir une description plus longue et plus dtaille. Chaque ligne de cette description longue doit tre prcde d'un espace ; quand c'est une ligne blanche elle doit contenir un seul . avant cet espace. CHAMPS OPTIONNELS Section: <section> C'est un champ gnral qui indique la catgorie d'un paquet ; cette catgorie est fonde sur le programme que ce paquet installe. Utils , net , mail , text , x11 etc. reprsentent quelques catgories habituelles. Priority: <priorit> Dfinit l'importance du paquet l'intrieur du systme gnral. Required , standard , optional , extra etc. reprsentent des priorits habituelles. Les champs Section and Priority possdent un ensemble dfini de valeurs acceptes, tir de la Charte Debian ( Policy man- ual ). Ces valeurs permettent la rpartition des paquets dans l'archive. On peut en trouver une liste dans la ver- sion la plus rcente du paquet debian-policy. Essential: <yes|no> On se sert habituellement de ce champ uniquement si la rponse est yes . Il signifie que ce paquet est exig pour un fonctionnement correct du systme. Dpkg et tout autre outil d'installation interdisent la suppression d'un paquet Essential (du moins tant qu'une des options de forage n'est pas utilise). Architecture: <arch|all> L'architecture prcise pour quel type de matriel le paquet a t compil. Voici quelques architectures habituelles : i386 , m68k , sparc , alpha , powerpc etc. Remarquez que l'option all signifie que le paquet est indpendant de toute architecture. Les scripts shell ou Perl, ainsi que la documenta- tion sont dans ce cas. Source: <nom du source> Le nom du paquet source d'o provient le paquet binaire, s'il y a une diffrence entre les deux noms. Depends: <liste de paquet> C'est la liste des paquets exigs pour que ce paquet arrive fonctionner de manire non-triviale. Le pro- gramme de maintenance des paquets interdit l'installation d'un paquet quand les paquets rper- toris dans le champ Depends ne sont pas installs (du moins tant qu'une option de forage n'est pas utilise) ; il lance les scripts postinst des paquets rpertoris dans les champs Depends: avant les scripts postinst des paquets qui dpendent d'eux, et lance avant les scripts prerm . Pre-Depends: <liste de paquet> C'est la liste des paquets qui doivent tre installs et configurs avant que ce paquet puisse tre install. Habituellement, on utilise ce champ quand un paquet a besoin d'un autre paquet pour lancer son script preinst . Recommends: <liste de paquet> C'est la liste des paquets qu'on trouverait avec ce paquet dans toute installation standard. Le pro- gramme de maintenance des paquets avertit l'util- isateur quand il installe un paquet sans installer les paquets rpertoris dans le champ Recommends. Suggests: <liste de paquet> C'est la liste des paquets qui, associs avec ce paquet, peuvent amliorer son utilit ; nanmoins, une installation sans ces paquets est parfaitement raisonnable. La syntaxe des champs Depends, Pre-Depends, Recommends, et Suggests est une liste de groupes contenant des paquets successifs. Chaque groupe est une liste de paquets spars par une barre verticale (le symbole du tube) | . Les groupes sont spars par des virgules. Une virgule reprsente un ET logique et une barre verticale reprsente un OU logique ; et les liens sont plus serrs avec les tubes. Chaque lment est le nom d'un paquet suivi de faon option- nelle par un numro de version entre parenthses. Un numro de version peut commencer par >> , et dans ce cas toute version suprieure correspondra, et il peut indi- quer (ou pas) le numro de rvision pour le paquet debian (les deux numros tant spars par un trait d'union). Voici les relations acceptes pour les versions : >> pour suprieur , << pour infrieur , >= pour suprieur ou gal, <= pour infrieur ou gal, et = pour gal . Conflicts: <liste de paquets> C'est une liste de paquets qui sont en conflit avec ce paquet ; ils contiennent par exemple des fichiers qui ont le mme nom. Le programme de main- tenance des paquets interdit l'installation simul- tane de paquets en conflit. Deux paquets en conflit renseigneront une ligne Conflicts avec le nom de l'autre paquet. Replaces: <liste de paquets> C'est une liste de paquets que ce paquet remplace. Il peut ainsi remplacer les fichiers de ces autres paquets ; on se sert pour cela du champ Conflicts pour forcer la suppression des autres paquets, si celui-l possde aussi les mmes fichiers que le paquet en conflit. Provides: <liste de paquets> C'est une liste de paquets virtuels que ce paquet remplit . On s'en sert habituellement pour des paquets qui offrent le mme service. Par exemple, sendmail et exim sont des serveurs de courrier, et donc ils remplissent chacun le paquet mail-trans- port-agent ; ainsi les autres paquets peuvent dpendre de ce paquet virtuel. Sendmail et exim peu- vent ainsi chacun satisfaire la dpendance. Les paquets qui dpendent d'un serveur de courrier n'ont pas connatre les noms de tous les serveurs de courrier et n'ont pas utiliser | comme sparateur de liste. La syntaxe des champs Conflicts, Replaces et Provides est une liste de noms de paquet, spars par des virgules (et des espaces facultatifs). Dans le champ Conflicts, la virgule sera lue comme un OU . On peut donner une version optionnelle de la mme faon que ci-dessus dans les champs Conflicts et Replaces. EXEMPLE Package: grep Essential: yes Priority: required Section: base Maintainer: Wichert Akkerman <wakkerma@debian.org> Architecture: sparc Version: 2.4-1 Pre-Depends: libc6 (>= 2.0.105) Provides: rgrep Conflicts: rgrep Description: GNU grep, egrep and fgrep. Il se peut que le grep de la famille GNU des utilitaires grep soit le plus rapide de l'ouest ! Le grep de GNU est fond sur un mcanisme rapide de mise en correspondance dterministe d'tats simples (environ deux fois plus rapide que le egrep standard d'Unix), modifi par une recherche de type Boyer-Moore-Gosper qui cherche une chane donne en empchant que les textes impossibles soient analyss par le mcanisme de mise en correspondance d'expressions rgulires et sans avoir ncessairement besoin de voir chaque caractre. C'est beaucoup plus rapide que les grep ou egrep d'Unix. (Des expressions rgulires contenant des rfrences circulaires ralentissent cependant le programme.) VOIR AUSSI deb(b), dpkg(g), dpkg-deb(b). TRADUCTION Philippe Batailler, Dec 2000. Debian Project January 2000 DEB-CONTROL(L)