DOKK / manpages / debian 10 / dpkg-dev / deb-buildinfo.5.fr
deb-buildinfo(5) suite dpkg deb-buildinfo(5)

deb-buildinfo - Format des fichiers d'information 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. Chaque champ commence par une étiquette, telle que Source ou Binary (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 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 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.

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.
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 »).
Ce champ coupé est une liste, séparée par des espaces, de paquets binaires construits.
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.
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).
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.
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.

Nom de la distribution dont ce paquet provient.
L'architecture Debian pour l'installation des paquets en construction. Les architectures habituelles sont amd64, armel, i386, etc.
La date à laquelle le paquet a été construit. Elle peut être au même format que la date dans les entrées dans deb-changelog(5).
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.
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 mis en liste blanche 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.

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.
Le système possède un /usr 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é.
Le système a des fichiers de configuration dans /usr/local/etc.
Le système a des fichiers d'en-tête dans /usr/local/include.
Le système a des programmes dans /usr/local/bin ou /usr/local/sbin.
Le système a des bibliothèques statiques ou partagées dans /usr/local/lib.
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.

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é avec des guillemets doubles (« " ») et des barres obliques inverses (« \\ »).

deb-changes(5), deb-version(7), dpkg-genbuildinfo(1).

Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.

2022-05-24 1.19.8