NOM¶
deb-control - Format du fichier principal de contrôle dans les paquets
Debian
SYNOPSIS¶
contrôle
DESCRIPTION¶
Chaque paquet Debian possède un fichier principal de contrôle qui
contient un certain nombre de champs ou de commentaires pour les lignes
commençant par un caractère «
# ».
Chaque champ commence par une étiquette, telle que
Package ou
Version (la casse n'importe pas), suivie d'un
« : », et du contenu du champ. Les champs sont
séparés 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 général les lignes pendant le
traitement du contenu du champ (sauf pour le champ
Description, voyez
ci-dessous).
CHAMPS REQUIS¶
- 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: chaîne-de-la-version
- C'est classiquement le numéro de version du paquet
d'origine dans la forme choisie par l'auteur du programme. Il peut y avoir
aussi un numéro de révision Debian (pour les paquets non
natifs). Le format exact et l'algorithme de tri sont décrits dans
deb-version(5).
- Maintainer:
nom-complet-adresse-électronique
- Le format de ce champ sera « Jean Dupont
<jdupont@foo.com> » ; et c'est bien sûr le
créateur 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 résumé bref sur la
première ligne (après le champ
« Description »). Les lignes suivantes peuvent servir
à une description plus longue et plus détaillée. Chaque
ligne de cette description longue doit être précédée
d'une espace ; quand c'est une ligne blanche, elle doit contenir un
seul « . » après cet espace.
CHAMPS OPTIONNELS¶
- Section: section
- C'est un champ général qui indique la
catégorie d'un paquet ; cette catégorie est fondée sur
le programme que ce paquet installe. « utils »,
« net », « mail »,
« text », « x11 », etc.
représentent quelques catégories habituelles.
- Priority: priorité
- Définit l'importance du paquet à l'intérieur
du système général. « required »,
« standard », « optional »,
« extra », etc. représentent des priorités
habituelles.
Les champs
Section et
Priority possèdent un ensemble
défini de valeurs acceptées, tiré de la Charte Debian
(« Debian Policy »). On peut en trouver une liste dans la
version la plus récente du paquet
debian-policy.
- Essential: yes|no
- On se sert habituellement de ce champ uniquement si la
réponse est yes. Il signifie que ce paquet est exigé pour
un fonctionnement correct du système. Dpkg et les autres outils
d'installation interdisent la suppression d'un paquet Essential (du
moins tant qu'une des options de forçage n'est pas
utilisée).
- Architecture: arch|all
- L'architecture précise pour quel type de matériel
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
indépendant de toute architecture. Les scripts shell ou Perl, ainsi
que la documentation sont dans ce cas.
- Origin: nom
- Nom de la distribution dont ce paquet provient.
- Bugs: URL
- L'URL du système de suivi de bogues (BTS) de ce
paquet. Le format utilisé est
type_de_bts://adresse-du-bts, par exemple
debbugs://bugs.debian.org.
- Homepage: URL
- URL de la page d'accueil du projet amont.
- Tag: liste-d'étiquettes
- Liste d'étiquettes décrivant les qualités du
paquet. La description et la liste des étiquettes
(« tags ») gérées peut être
trouvée dans le paquet debtags.
- Multi-Arch:
same|foreign|allowed
- Ce champ sert à indiquer comment ce paquet se comporte
sur des installations multi-architectures. La valeur same indique
que le paquet peut être co-installé avec lui-même, mais ne
doit pas être utilisé pour satisfaire une dépendance d'un
paquet d'une architecture différente de la sienne. La valeur
foreign indique que le paquet ne peut pas être
co-installé avec lui-même, mais peut permettre de satisfaire les
dépendances d'un paquet d'une architecture différente de la
sienne. La valeur allowed permet aux dépendances inverses
d'indiquer dans leur champ Depends qu'elles acceptent un paquet d'une
autre architecture, et n'a pas d'autres effets.
- Source: nom-du-source
- Le nom du paquet source d'où provient le paquet
binaire, s'il y a une différence entre les deux noms.
- Subarchitecture: valeur
- Kernel-Version: valeur
- Installer-Menu-Item: valeur
- Ces champs sont utilisés par l'installateur et ne sont
en général pas nécessaires. Veuillez consulter
/usr/share/doc/debian-installer/devel/modules.txt fourni avec le paquet
debian-installer pour plus de détails.
- Depends: liste-de-paquets
- C'est la liste des paquets exigés pour que ce paquet
arrive à fonctionner de manière non triviale. Le programme de
maintenance des paquets interdit l'installation d'un paquet quand les
paquets répertoriés dans le champ Depends ne sont pas
installés (du moins tant qu'une option de forçage n'est pas
utilisée) ; il lance les scripts
« postinst » des paquets répertoriés dans
les champs « Depends: » avant les scripts
« postinst » des paquets qui dépendent d'eux.
À l'inverse, lors d'une suppression les scripts
« prerm » des paquets sont lancés avant ceux de
leurs dépendances.
- Pre-Depends: liste-de-paquets
- C'est la liste des paquets qui doivent être
installés et configurés 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-paquets
- C'est la liste des paquets qu'on trouverait avec ce paquet
dans toute installation standard. Le programme de maintenance des paquets
avertit l'utilisateur quand il installe un paquet sans installer les
paquets répertoriés dans le champ Recommends.
- Suggests: liste-de-paquets
- C'est la liste des paquets qui, associés avec ce
paquet, peuvent améliorer son utilité ; néanmoins, une
installation sans ces paquets est parfaitement raisonnable.
La syntaxe des champs
Depends,
Pre-Depends,
Recommends et
Suggests est une liste d'ensembles de paquets possibles. Chaque
ensemble est une liste de paquets séparés par une barre verticale
(le symbole du tube) « | ». Les ensembles sont
séparés par des virgules. Une virgule représente un
« ET » logique et une barre verticale représente un
« OU » logique ; le tube a la précédence
dans l'évaluation de l'expression. Chaque nom de paquet peut être
suivi par une contrainte sur le numéro de version, celle-ci se trouve
alors entre parenthèses.
Une contrainte sur le numéro de version peut commencer par
« >> », et dans ce cas toute version supérieure
correspondra, et il peut indiquer (ou pas) le numéro de révision
pour le paquet debian (les deux numéros étant séparés par
un trait d'union). Voici les relations acceptées pour les versions :
« >> » pour supérieur à,
« << » pour inférieur à,
« >= » pour supérieur ou égal,
« <= » pour inférieur ou égal, et
« = » pour égal à.
- Breaks: liste-de-paquets
- C'est une liste de paquets que ce paquet
« casse », par exemple en révélant des
bogues quand les paquets concernés dépendent de celui-ci. Le
programme de maintenance des paquets interdit la configuration de paquets
cassés ; une méthode usuelle de résolution est la
mise à jour des paquets mentionnés dans le champ
Breaks.
- 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
même nom. Le programme de maintenance des paquets interdit
l'installation simultanée 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à possède aussi les mêmes 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 même service. Par exemple, sendmail et exim
sont des serveurs de courrier, et donc ils
« remplissent » chacun le paquet
« mail-transport-agent » ; ainsi les autres
paquets peuvent dépendre de ce paquet virtuel. Sendmail et exim
peuvent ainsi chacun satisfaire la dépendance. Les paquets qui
dépendent d'un serveur de courrier n'ont pas à connaître
les noms de tous les serveurs de courrier et n'ont pas à utiliser
« | » comme séparateur de liste.
La syntaxe des champs
Breaks,
Conflicts,
Replaces et
Provides est une liste de noms de paquets, séparés par des
virgules (et des espaces facultatifs). Dans les champs
Breaks et
Conflicts la virgule sera lue comme un « OU ». On
peut donner une version optionnelle de la même façon que ci-dessus
dans les champs
Breaks,
Conflicts et
Replaces.
- Built-Using: liste-de-paquets
- Ce champ affiche les paquets source supplémentaires
utilisés lors de la construction du paquet binaire. Il permet
d'indiquer aux logiciels de gestion de l'archive que des paquets source
supplémentaires doivent être conservées tant que le paquet
binaire est maintenu. Ce champ doit être une liste de paquets source
avec des références strictes de version (=). Veuillez noter que
les logiciels de gestion de l'archive risque de ne pas accepter un envoi
qui déclare une relation Built-Using qui ne peut pas être
satisfaite dans l'archive.
EXEMPLE¶
# Commentaire
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 mécanisme
rapide de mise en correspondance déterministe 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 chaîne donnée en
empêchant que les textes impossibles soient analysés par le mécanisme de
mise en correspondance d'expressions rationnelles et sans avoir
nécessairement besoin de voir chaque caractère. C'est beaucoup plus
rapide que les « grep » ou « egrep » d'Unix.
(Des expressions rationnelles contenant des références circulaires
ralentissent cependant le programme.)
VOIR AUSSI¶
deb(5),
deb-version(5),
debtags(1),
dpkg(1),
dpkg-deb(1).
TRADUCTION¶
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006.
Nicolas François, 2006. Veuillez signaler toute erreur à
<debian-l10n-french@lists.debian.org>.