DOKK / manpages / debian 11 / dpkg-dev / deb-buildinfo.5.sv
deb-buildinfo(5) dpkg suite deb-buildinfo(5)

deb-buildinfo - filformat för Debiansbygginformation

filnamn.buildinfo

Alla Debian-källkodspaket kan lagra bygginformation i en .buildinfo-styrfil, som innehåller ett antal fält i deb822(5)-format.

Varje fält börjar med en etikett, såsom Source eller Binary (skiftlägesoberoende), följt av ett kolontecken och fältets kropp (skiftlägesberoende såvida inte annat anges). Fält avdelas endast av fältetiketter. Med andra ord kan texten i fälten spänna över flera rader, men installationsverktygen kommer oftast att slå samman rader när kroppen tolkas (förutom när det gäller flerradsfälten Binary-Only-Changes, Installed-Build-Depends, Environment, Checksums-Md5, Checksums-Sha1 och Checksums-Sha256, se nedan).

Styrinformationen kan omges av en OpenPGP-signatur i ASCII-skal, såsom beskrivs i RFC4880.

Namnet på .buildinfo-filen kommer att bero på byggtypen och kommer att vara så specifik som möjligt, men inte mer; för ett bygge som innehåller any (någon) kommer namnet vara källkodsnamn_binärversion_ark.buildinfo, om bygget annars innehåller all (alla) kommer namnet vara källkodsnamn_binärversion_all.buildinfo, om bygget annars innehåller source (källkod) kommer namnet vara källkodsnamn_källkodsversion_source.buildinfo.

Värdet för fältet anger filens formatversion. Fältets syntax är ett versionsnummer med en huvud- och en underdel. Ändringar som inte är bakåtkompatibla ökar huvudversionen medan ändringar som är bakåtkompatibla (till exempel nya fält) ökar underversionen. Aktuell formatversion är 1.0.
Namnet på källkodspaketet. Om källkodsversionen skiljer sig från binärversionen kommer källkodsnamn följas av källkodsversion i parentes. Detta kan uppstå när bygget är för en insändning bestående av enbart binärer från någon annan än den paketansvarige (”binary-only non-maintainer upload”).
Det här flerdelade fältet är en blankstegsavdelad lista över byggda binärpaket. Om endast källkod byggs kommer fältet att uteslutas (sedan dpkg 1.20.0).
Detta blankstegsavdelade fält anger vilken sorts maskinvara paketet för tillfället byggs för. Vanliga arkitekturer är amd64, armel, i386 osv. Observera att värdet all är avsett för paket som är oberoende av arkitektur. Om källkoden för paketet också byggs kommer specialposten source också vara med. Arkitekturer med jokertecken är inte tillåtna i listan.
Vanligtvis är detta det ursprungliga paketets versionsnummer på den form programmets författare använder. Den kan även innehålla ett Debianuppdateringsnummer (för paket vars källa är utanför Debian). Exakt format och sorteringsalgoritm beskrivs i deb-version(7).
 post-från-ändringsloggen
Det här flerradiga fältet innehåller den sammanslagna texten från ändringsloggposter för en insändning av enbart binärer från någon annan än paketansvarige (”binary-only non-maintainer upload”, binNMU) om detta är tillfället. För att göra fältet till ett giltigt flerradsfält ersätts tomma rader med en ensam punkt (”.”) och alla rader får ett teckens indrag. Exakt innehåll beror på formatet på ändringsloggen.
 kontrollsumma storlek filnamn
De här flerradsfälteten innehåller en lista med filer med en kontrollsumma och storlek för var och en. Fälten har samma syntax och skiljer sig bara vad gäller vilken kontrollsummealgoritm som används: MD5 för Checksums-Md5, SHA-1 för Checksums-Sha1 och SHA-256 för Checksums-Sha256.

Första raden i fältvärdet (delen av på samma rad som fältnamnet följt av kolon) är alltid tom. Innehållet i fältet anges som fortsättningsrader, en rad per fil. Varje rad består av blankstegsavdelade fält som beskriver filen: kontrollsumman, filstorleken och filnamnet.

De här fälten visar alla filer bygget består av.

Namnet på den distribution paketet härstammar från.
Debianarkitekturen för den installation paketen byggs i. Vanliga arkitekturer är amd64, armel, i386 osv.
Datumet paketet byggdes. Det måste vara på samma format som datumet i en deb-changelog(5)-post.
Utgåva och version (i ett inte specificerat format) för kärnan som körs på byggsystemet. Fältet kommer endast finnas om byggaren specifikt har bett om det, för att undgå att läcka möjligt känslig information.
Absolut byggsökväg som motsvarar det uppackade källkodsträdet. Fältet kommer endast finnas om återförsäljaren tillåter det via en mönsterigenkänning för att undgå att läcka möjligt känslig information.

På Debian och dess derivat tillåts bara byggsökvägar som börjar med /build/ att ta med detta fält.

 lista-fördärvelsesorsaker
Det här flerdelade fältet innehåller en blankstegsavdelad lista över ofullständiga orsagstaggar (bestående av alfanumeriska tecken och bindestreck) som anger varför aktuellt bygge har fördärvats (sedan dpkg 1.19.5).

På Debian och dess derivat kan följande orsakstaggar skapas:

Systemet har en sammanslagen /usr via aliaskataloger (tidigare känt som merged-usr-via-symlinks). Detta kommer förvirra dpkg-query, dpkg-statoverride, dpkg-trigger, update-alternatives och andra verktyg som använder sökvägsnamn som nyckel i sina databaser, eftersom det skapar filsystemaliasproblem och stör förståelsen av filsystemet som dpkg har lagrat i sin databas. För byggsystem som hårdkodar sökvägar till specifika binärer eller bibliotek i de resulterande artefakterna kan det också skapa paket som är inkompatibla med system som inte har /usr-sammanslagna filsystem.
Systemet har konfigurationsfiler under /usr/local/etc.
Systemer har huvudfiler under /usr/local/include.
Systemet har program under /usr/local/bin och /usr/local/sbin.
Systemet har bibliotek, antingen statiska eller delade, under /usr/local/lib.
 paketlista
Listan över intallerade och konfigurerade paket som kan påverka paketets byggprocess.

Listan innehåller varje paketnamn, möjligen med en angiven arkitektur för oegna arkitekturer, med en exakt versionsbegränsning, avdelade med kommatecken.

Listan innehåller alla systemkritiska paket, paket angivna i källkodens styrfält Build-Depends, Build-Depends-Arch, Build-Depends-Indep, eventuella återförsäljarspecifika inbyggda beroenden och alla deras rekursiva beroenden. På Debian och dess derivat är det inbyggda beroendet build-essential.

Alla beroendealternativ och alla försöjare av virtuella paketberoenden kommer tas med för beroenden som kommer från fält i källkodsstyrfilen.

 variabellista
Listan över miljövariabler som är kända för att påverka paketbyggprocessen, där varje miljövariabel följs av ett likamedtecken (”=”) och variabelns citerade värde, inom dubbla citattecken (’"’) och med omvända snedstreck ersatta (”\\”).

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

ÖVERSÄTTNING

Peter Krefting och Daniel Nylander.

2023-09-13 1.20.13