deb-buildinfo - Format des fichiers d'informations de construction de Debian
nom-du-fichier.buildinfo
Chaque construction de paquet source Debian peut enregistrer les informations de
construction dans un fichier de contrôle
.buildinfo qui contient
un certain nombre de champs au format
deb822(5).
Chaque champ commence par une étiquette, telle que
Source ou
Binary (la casse n'importe pas), suivie d'un
« : » et du contenu du champ (sensible à la
casse à moins que cela ne soit stipulé autrement). 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 dans le cas des champs
à lignes multiples
Binary-Only-Changes,
Installed-Build-Depends,
Environment,
Checksums-Md5,
Checksums-Sha1 et
Checksums-Sha256, voir ci-dessous).
Les données de contrôle pourraient être incluses dans une
signature OpenPGP « ASCII Armored », comme
spécifié dans la RFC4880.
Le nom du fichier
.buildinfo dépendra du type de construction et
sera aussi spécifique que nécessaire mais pas plus ;
lorsque la construction inclut
any, le nom sera
nom-source_
version-binaire_arch.buildinfo, ou sinon pour une
construction
all le nom sera
nom-source_binary-version _all.buildinfo ou
encore pour une construction qui inclut
source le nom sera
nom-source
_version-source_source.buildinfo.
-
Format: version-format (requis)
- La valeur de ce champ déclare la version du format
du fichier. La syntaxe de la valeur du champ est un numéro de
version avec un composant majeur et mineur. Les modifications
incompatibles avec les versions précédentes du format
incrémenteront la version majeure, tandis que les modifications
compatibles (telles que les ajouts de champ) incrémenteront la
version mineure. La version de format actuelle est 1.0.
-
Source: nom-source
[(version-source )] (requis)
- Le nom du paquet source. Si la version du source
diffère de la version binaire, alors le nom-source sera
suivi par une version-source entre parenthèses. Cela peut
arriver quand la construction concerne un envoi seulement binaire NMU
(« non-maintainer upload »).
-
Binary: liste-paquets-binaires (requis selon
le contexte)
- Ce champ coupé est une liste de paquets binaires
construits séparés par des espaces. Si la construction ne
concerne que les sources, le champ est omis (depuis
dpkg 1.20.0).
-
Architecture: liste-architectures
(requis)
- Ce champ, séparé par des espaces, liste les
architectures des fichiers actuellement en construction. Voici quelques
architectures habituelles : amd64, armel,
i386, etc. Remarquez que l'option all signifie que le paquet
est indépendant de toute architecture. Si le source du paquet est
aussi en construction, l'entrée spéciale source est
aussi présente. Les architectures joker ne doivent jamais
être présentes dans la liste.
-
Version: chaîne-de-la-version
(requis)
- 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(7).
- Binary-Only-Changes:
- entrées-du-changelog
- Ce champ à lignes multiples contient le texte
concaténé des entrées de changelog pour un envoi
seulement binaire (binNMU), si c'est le cas. Pour faire de ce champ un
champ à lignes multiples valable, les lignes vides sont
remplacées par un point « . »
et toutes les lignes sont indentées par une seule espace. Le
contenu exact dépend du format du changelog.
-
Checksums-Md5: (requis)
-
Checksums-Sha1: (requis)
-
Checksums-Sha256: (requis)
- somme-de-contrôle taille
nom-du-fichier
- Ces champs à lignes multiples contiennent la liste
des fichiers avec la somme de contrôle et la taille de chacun. Ces
champs ont la même syntaxe et ne diffèrent que par
l'algorithme de somme de contrôle utilisé : MD5 pour
Checksums-Md5, SHA-1 pour Checksums-Sha1 et SHA-256 pour
Checksums-Sha256.
La première ligne de la valeur du champ (la partie sur la même
ligne que le nom du champ suivi par deux-points) est toujours vide. Le
contenu du champ est exprimé par des lignes de continuation, une
ligne par fichier. Chaque ligne consiste en des entrées
séparées par des espaces décrivant le
fichier :la somme de contrôle, la taille du fichier et le
nom du fichier.
Ces champs listent tous les fichiers qui composent la construction.
-
Build-Origin: nom
- Nom de la distribution dont ce paquet provient.
-
Build-Architecture: arch (requis)
- L'architecture Debian pour l'installation des paquets en
construction. Les architectures habituelles sont amd64,
armel, i386, etc.
-
Build-Date: date-construction
- La date à laquelle le paquet a été
construit. Elle peut être au même format que la date dans
les entrées de deb-changelog(5).
-
Build-Kernel-Version:
version-du-noyau-de-construction
- La publication et la version (dans un format non
spécifié) du noyau exécuté dans le
système de construction. Ce champ va seulement être
présent si le constructeur l'a demandé explicitement, pour
éviter de révéler des informations potentiellement
sensibles.
-
Build-Path: chemin-de-construction
- Le chemin de construction absolu qui correspond à
l'arborescence des sources dépaquetée. Ce champ va seulement
être présent si le distributeur l'a autorisé
grâce à une recherche de motif pour éviter de
révéler des informations potentiellement sensibles.
Dans Debian et ses dérivés, seuls les chemins de construction
débutant par /build/ émettront ce champ.
- Build-Tainted-By:
- liste-des-raisons-de-souillure
- Ce champ coupé est une liste, séparée
par des espaces, non exhaustive des étiquettes de raison
(formées de caractères alphanumériques et de tirets)
qui définissent pourquoi la construction actuelle a
été souillée (depuis dpkg 1.19.5).
Dans Debian et ses dérivées, les étiquettes de raisons
suivantes peuvent être émises.
- merged-usr-via-aliased-dirs
- Le système possède un /usr
fusionné au moyen de répertoires alias (anciennement connus
sous le nom de merged-usr-via-symlinks - fusionné au moyen
de liens symboliques). Cela peut tromper dpkg-query,
dpkg-statoverride, dpkg-trigger, update-alternatives
et tous les autres outils qui utilisent les noms de chemin comme
clés de leurs bases de données, parce que cela crée
des problèmes d'alias du système de fichiers, et perturbe la
compréhension du système de fichiers que dpkg a
enregistré dans sa base de données. Pour des systèmes
construits qui codent en dur les noms de chemin vers des binaires ou des
bibliothèques particuliers sur les objets produits, cela peut aussi
produire des paquets qui seront incompatibles avec des systèmes de
fichiers sans /usr fusionné.
- usr-local-has-configs
- Le système a des fichiers de configuration dans
/usr/local/etc.
- usr-local-has-includes
- Le système a des fichiers d'en-tête dans
/usr/local/include.
- usr-local-has-programs
- Le système a des programmes dans
/usr/local/bin ou /usr/local/sbin.
- usr-local-has-libraries
- Le système a des bibliothèques statiques ou
partagées dans /usr/local/lib.
- can-execute-cross-built-programs
- Le système peut exécuter des programmes de
construction croisée soit directement, soit au moyen d'une couche
d'émulation.
depuis dpkg 1.21.10).
-
Installed-Build-Depends: (requis)
- liste-paquets
- La liste des paquets installés et configurés
que pourrait affecter le processus de construction du paquet.
La liste contient le nom de chaque paquet, éventuellement avec une
qualification d'architecture pour celles différentes, avec une
restriction de version précise, séparés par des
virgules.
La liste inclut tous les paquets essentiels, les paquets listés dans
les champs de contrôle des sources Build-Depends,
Build-Depends-Arch, Build-Depends-Indep, chaque
dépendance interne spécifique au distributeur, et toutes
leurs dépendances récursives. Dans Debian et ses
dérivés, une dépendance interne est
build-essential.
Pour les dépendances provenant des champs de contrôle des
sources, toutes les alternatives de dépendance et tous les
fournisseurs de paquets virtuels dépendants seront inclus.
- Environment:
- liste-de-variables
- La liste des variables d'environnement qui sont connues
pour affecter le processus de construction du paquet. Chaque variable
d'environnement est suivie d'un signe égal
(« = ») et de la valeur de la variable
protégée avec des guillemets doubles
(« " ») et des barres obliques inverses
(« \\ »).
deb822(5),
deb-changes(5),
deb-version(7),
dpkg-genbuildinfo(1).
Ariel VARDI <
[email protected]>, 2002. Philippe Batailler, 2006.
Nicolas François, 2006. Veuillez signaler toute erreur à
<
[email protected]>.