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.
-
Format: formatversion (krävs)
- 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.
-
Source: källkodsnamn
[(källkodsversion )] (krävs)
- 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”).
-
Binary: binärpaketlista (krävs
i sammanhang)
- 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).
-
Architecture: ark-lista (krävs)
- 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.
-
Version: versionssträng
(krävs)
- 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).
- Binary-Only-Changes:
- 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.
-
Checksums-Md5: (krävs)
-
Checksums-Sha1: (krävs)
-
Checksums-Sha256: (krävs)
- 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.
-
Build-Origin: namn
- Namnet på den distribution paketet härstammar
från.
-
Build-Architecture: ark (krävs)
- Debianarkitekturen för den installation paketen
byggs i. Vanliga arkitekturer är amd64, armel,
i386 osv.
-
Build-Date: byggdatum
- Datumet paketet byggdes. Det måste vara på
samma format som datumet i en deb-changelog(5)-post.
-
Build-Kernel-Version:
byggkärneversion
- 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.
-
Build-Path: byggsökväg
- 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.
- Build-Tainted-By:
- 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:
- merged-usr-via-aliased-dirs
- 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.
- usr-local-has-configs
- Systemet har konfigurationsfiler under
/usr/local/etc.
- usr-local-has-includes
- Systemer har huvudfiler under
/usr/local/include.
- usr-local-has-programs
- Systemet har program under /usr/local/bin och
/usr/local/sbin.
- usr-local-has-libraries
- Systemet har bibliotek, antingen statiska eller delade,
under /usr/local/lib.
- can-execute-cross-built-programs
- Systemet kan köra korskompilerade program, antingen
direkt eller via ett emuleringslager.
Stöds sedan dpkg 1.21.10.
-
Installed-Build-Depends: (krävs)
- 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.
- Environment:
- 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).
Peter Krefting och Daniel Nylander.