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-et-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 cette espace.
CHAMPS OPTIONNELS¶
- Section: section
- 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. Cela 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. C'est le cas, par exemple, des scripts d'interpréteur
de commandes (shell) ou Perl, ainsi que de la documentation.
- 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|no
- Ce champ sert à indiquer comment ce paquet se comporte sur des
installations multiarchitectures. 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. La valeur no est la
valeur par défaut quand le champ est omis ; dans ce cas,
ajouter le champ avec une valeur no explicite est
généralement inutile.
- 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 procure un
nombre important de fonctionnalités. 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 procure. On s'en
serthabituellement pour des paquets qui offrent le même service.
Par exemple, sendmail et exim sont des serveurs de courrier, et donc ils
procurent 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 facultatives). 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 au
logiciel de gestion de l'archive que des paquets source
supplémentaires doivent être conservés 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 le logiciel 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>.