table of contents
deb-buildinfo(5) | dpkg suite | deb-buildinfo(5) |
NAAM¶
deb-buildinfo - Indeling van het Debian bouw-informatiebestand
OVERZICHT¶
bestandsnaam.buildinfo
BESCHRIJVING¶
Van elke bouw van een Debian broncodepakket kan de bouwinformatie opgeslagen worden in een controlebestand .buildinfo, dat een aantal velden bevat volgens de indeling deb822(5).
Ieder veld begint met een markering, zoals Source of Binary (niet hoofdlettergevoelig), gevolgd door een dubbele punt en de tekstinhoud van het veld (hoofdlettergevoelig tenzij anders vermeld). Velden worden enkel door veldmarkeringen begrensd. De tekstinhoud van het veld kan met andere woorden verschillende regels lang zijn, maar de installatiegereedschappen zullen bij het verwerken van de tekstinhoud de regels gewoonlijk samenvoegen (behalve in het geval van de multiregel-velden Binary-Only-Changes, Installed-Build-Depends, Environment, Checksums-Md5, Checksums-Sha1 en Checksums-Sha256; zie hierna)
De controle-data mogen ingesloten liggen in een OpenPGP-handtekening met ASCII-harnas volgens de specificatie RFC4880.
De naam van het .buildinfo-bestand is afhankelijk van het type bouw en is zo specifiek als nodig, maar niet meer. Voor een bouw die any bevat, is de naam broncode-naam_binaire-versie_arch.buildinfo. In geval het een bouw betreft die all bevat, is de naam broncode-naam_binaire-versie_all.buildinfo. En in geval het een bouw betreft die source bevat, is de naam broncode-naam_broncode-versie_source.buildinfo.
VELDEN¶
- Format: indelingsversie (verplicht)
- De waarde van dit veld bepaalt de indelingsversie van het bestand. De syntaxis van de veldwaarde is een versienummer met een hoofdversie- en een onderversiecomponent. Wijzigingen aan de indeling die niet neerwaarts compatibel zijn, hebben een verhoging van het hoofdversienummer tot gevolg en neerwaarts compatibele veranderingen (zoals het toevoegen van extra velden) verhogen het onderversienummer. De huidige indelingsversie is 1.0.
- Source: broncode-naam [(broncode-versie)] (verplicht)
- De naam van het broncodepakket. Indien de versie van het broncodepakket verschilt van de versie van het binaire pakket, dan zal de broncode-naam gevolgd worden door een broncode-versie tussen haakjes. Dit kan het geval zijn als de bouw gebeurt voor een uitsluitend binaire upload die niet door de onderhouder uitgevoerd wordt.
- Binary: lijst-binaire-pakketten (vereist in de context)
- Dit samengevouwen veld is een met een spatie gescheiden lijst van gebouwde binaire pakketten. Indien de bouw enkel de broncode betreft, dan wordt het veld weggelaten (sinds dpkg 1.20.0).
- Architecture: arch-lijst (verplicht)
- Dit veld met spaties als scheidingsteken, somt de architecturen op van de bestanden die momenteel gebouwd worden. Gebruikelijke architecturen zijn amd64, armel, i386, enz. Merk op dat de waarde all bedoeld is voor pakketten die architectuuronafhankelijk zijn. Indien ook de broncode voor het pakket gebouwd wordt, is ook de bijzondere vermelding source aanwezig. Jokertekens voor architecturen mogen nooit voorkomen in de lijst.
- Version: versie-tekenreeks (verplicht)
- Gewoonlijk is dit het originele versienummer van het pakket, welke vorm de auteur van het programma er ook voor gebruikt. Het kan ook een Debian-revisienummer bevatten (voor niet uit Debian stammende pakketten). De exacte indeling en het sorteringsalgoritme worden beschreven in deb-version(7).
- Binary-Only-Changes:
- changelog-item
- Dit multiregel-veld bevat in voorkomend geval de samengevoegde tekst van het changelog-item voor een uitsluitend binaire upload die niet door de onderhouder uitgevoerd wordt (een binary-only non-maintainer upload - binNMU). Om van dit veld een geldig multiregel-veld te maken, worden lege regels vervangen door één enkel punt (‘.’) en springen alle regels in met één spatie. De exacte inhoud hangt af van de changelog-indeling.
- Checksums-Md5: (verplicht)
- Checksums-Sha1: (verplicht)
- Checksums-Sha256: (verplicht)
- controlesom grootte bestandsnaam
- Deze multiregel-velden bevatten een lijst van bestanden met voor elk van
hen een controlesom en een grootte. Deze velden hebben een identieke
syntaxis en verschillen onderling enkel inzake het gebruikte algoritme
voor de controlesom: MD5 voor Checksums-Md5, SHA-1 voor
Checksums-Sha1 en SHA-256 voor Checksums-Sha256.
De eerste regel van de veldwaarde (het deel dat op dezelfde regel staat als de door een dubbele punt gevolgde veldnaam) is steeds leeg. De inhoud van het veld wordt in de vervolgregels verwoord, één regel per bestand. Elke regel bestaat uit elementen die onderling door een spatie gescheiden zijn en het bestand beschrijven: zijn controlesom, zijn bestandsgrootte en zijn naam.
Deze velden sommen alle bestanden die de bouw vormen.
- Build-Origin: naam
- De naam van de distributie waaruit dit pakket afkomstig is.
- Build-Architecture: arch (verplicht)
- De Debian-architectuur van de installatie waarin de pakketten gebouwd worden. Gebruikelijke architecturen zijn amd64, armel, i386, enz.
- Build-Date: bouwdatum
- De datum waarop het pakket gebouwd werd. Hij moet dezelfde indeling hebben als de datum in een deb-changelog(5)-item.
- Build-Kernel-Version: bouwkernel-versie
- De uitgave en de versie (in een niet-gespecificeerde indeling) van de kernel die op het bouwsysteem functioneert. Dit veld zal enkel aanwezig zijn als het bouwprogramma er expliciet om gevraagd heeft, om het eventueel weglekken van gevoelige informatie te voorkomen.
- Build-Path: bouwpad
- Het absoluut bouwpad, wat overeenkomt met de uitgepakte broncodeboom. Dit
veld is enkel aanwezig als de leverancier het toegelaten heeft aan de hand
van een patroonvergelijking om het eventueel weglekken van gevoelige
informatie te voorkomen.
Op Debian en zijn derivaten zullen enkel bouwpaden die beginnen met /build/ aanleiding geven tot het aanmaken van dit veld.
- Build-Tainted-By:
- lijst-met-bezoedelingsredenen
- Dit gevouwen veld bevat een niet-exhaustieve lijst, met spatie als
scheidingsteken, van labels (samengesteld uit alfanumerieke tekens en
gedachtestreepjes) met redenen die aanduiden waarom de huidige bouw
bezoedeld werd (sinds dpkg 1.19.5).
Op Debian en zijn derivaten kunnen de volgende reden-labels gegeven worden:
- merged-usr-via-aliased-dirs
- Het systeem heeft een via aliassen samengevoegde map /usr (vroeger gekend als merged-usr-via-symlinks). Dit sticht verwarring bij dpkg-query, dpkg-statoverride, dpkg-trigger, update-alternatives en elk ander hulpmiddel dat in zijn databank gebruik maakt van padnamen als sleutel, omdat het zorgt voor problemen met aliassen in het bestandssysteem en knoeit met het overzicht van het bestandssysteem dat dpkg in zijn databank opgeslagen heeft. Met bouwsystemen die in de door hen gemaakte objecten gebruik maken van vaste padnamen naar specifieke uitvoerbare bestanden of bibliotheken, kan dit ook leiden tot pakketten die niet compatibel zijn met bestandssystemen zonder samengevoegde /usr-map.
- usr-local-has-configs
- Het systeem bevat configuratiebestanden onder /usr/local/etc.
- usr-local-has-includes
- Het systeem bevat kopbestanden onder /usr/local/include.
- usr-local-has-programs
- Op het systeem staan programma's onder /usr/local/bin of /usr/local/sbin.
- usr-local-has-libraries
- Het systeem bevat statische of gedeelde bibliotheken onder /usr/local/lib.
- can-execute-cross-built-programs
- Het systeem kan voor andere platformen gebouwde programma's uitvoeren,
hetzij rechtstreeks, hetzij via een emulatielaag.
Sinds dpkg 1.21.10.
- Installed-Build-Depends: (verplicht)
- pakketlijst
- De lijst van geïnstalleerde en geconfigureerde pakketten die van
invloed kunnen zijn op het proces van het bouwen van het pakket.
De lijst bestaat uit de naam van elk pakket, eventueel een architectuurkwalificatie voor andere architecturen, met een exacte versierestrictie, gescheiden door komma's.
De lijst bevat alle essentiële pakketten, pakketten vermeld in velden Build-Depends, Build-Depends-Arch, Build-Depends-Indep van de broncode, eventuele ingebouwde leveranciersspecifieke vereisten en al hun recursieve vereisten. Op Debian en zijn derivaten is de ingebouwde vereiste build-essential.
Waar het vereisten betreft die afkomstig zijn uit de controlevelden van de broncode, worden ook alle vereistenalternatieven in aanmerking genomen en alle pakketten die voorzien in de virtuele pakketten die vereist worden.
- Environment:
- variabelelijst
- De lijst met omgevingsvariabelen waarvan bekend is dat zij het proces van het bouwen van het pakket beïnvloeden, waarbij elke variabele gevolgd wordt door een gelijkheidsteken (‘=’) en de waarde van de variabele tussen aanhalingstekens, wat dubbele aanhalingstekens (‘"’) moeten zijn, en waarbij de backslashes worden gemaskeerd (‘\\’).
ZIE OOK¶
deb822(5), deb-changes(5), deb-version(7), dpkg-genbuildinfo(1).
2023-05-11 | 1.21.22 |