deb-buildinfo - filformat för Debiansbygginformation
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
(”\\”).
ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.