deb-substvars - Debians
källkods-substitueringsvariabler
debian/substvars,
debian/binärpaket.substvars
Innan dpkg-source, dpkg-gencontrol och
dpkg-genchanges skriver sin styrinformation (till control-filen i
källkodspaketet .dsc för dpkg-source och till
standard ut för dpkg-gencontrol och dpkg-genchanges)
kommer de utföra viss variabelsubstituering på
utdatafilen.
En variabelsubstitution har formen
${variabelnamn}. Variabelnamn består av
alfanumeriska tecken (a-zA-Z0-9), bindestreck (-) och kolon (:) och
börjar med ett alfanumeriskt tecken, och är
skiftlägeskänsliga. Variabelsubstitueringar utförs
upprepade gånger tills det inte kvarstår några - det
resulterande innehållet i fältet läses av på
nytt efter substitueringen för att se om det behövs fler
substitueringar.
När alla substitueringar har utförts ersätts
varje förekomst av strängen ${} (som inte är en
giltig substituering) med ett $-tecken.
Medan variabelsubstituering görs på alla fält
i styrfilen är det några av fälten som används
och behövs vid byggning innan substitueringen ännu har
utförts. Därför går det inte att använda
variabler i fälten Package, Source och
Architecture.
Variabelsubstituering sker över innehållet i
fälten efter att de har tolkats, vilket innebär att om du vill
att en variabel ska expanderas över flera rader så
behöver du inte inkludera ett blanksteg efter nyradstecknet. Detta
görs implicit när fältet skrivs ut. Till exempel, om
variabeln ${Description} sätts till "foo är
bar.${Newline}foo är bra." och du har följande
fält:
Description: programmet foo
${Description}
.
Mer text.
Så blir resultatet:
Description: programmet foo
foo är bar.
foo är bra.
.
Mer text.
Variabler kan sättas genom att använda
kommandoradsflaggan -V. De kan även anges i filen
debian/substvars (eller vilken som helst annan fil som anges med
flaggan -T). Filen består av rader på formen
namn=värde. Avslutande blanksteg på en
rad, blanka rader och rader som börjar med en #-symbol
(kommentarer) ignoreras.
I tillägg är följande standardvariabler
tillgängliga:
- Arch
- Aktuell värdarkitektur (dvs., arkitekturen paketet byggs
för, motsvarigheten till DEB_HOST_ARCH).
- vendor:Name
- Aktuellt återförsäljarnamn (sedan dpkg 1.20.0).
Värdet kommer från fältet Vendor för
aktuell återförsäljares origin-fil, så som
dpkg-cendor(1) skulle hämta det.
- vendor:Id
- Aktuellt återförsäljar-ID (sedan dpkg 1.20.0). Det
här bara en variant av vendor:Name skriven med små
bokstäver.
- source:Version
- Källkodspaketets version (sedan dpkg 1.13.19).
- source:Upstream-Version
- Version på uppströmskällkodspaketet, inklusive
Debianversionens epok, om sådan finns (sedan dpkg 1.13.19).
- binary:Version
- Den binära paketversionen (som kan avvika från
source:Version, till exempel i en binNMU; sedan dpkg 1.13.19).
- Source-Version
- Versionen på källkodspaketet (från changelog-filen).
Variabeln är nu föråldrad och ger ett
felmeddelande om den används eftersom betydelsen skiljer sig
från funktionen, använd i stället
source:Version eller binary:Version allt eftersom vad som
är lämpligt.
- source:Synopsis
- Källkodspaketets synops, hämtad från
källkods-strofens Description-fält, om det finns
(sedan dpkg 1.19.0).
- source:Extended-Description
- Källkodspaketet utökade beskricning, hämtad
från källkods-strofens Description-fält, om
det finns (sedan dpkg 1.19.0).
- Installed-Size
- Den ungefärliga totala storleken på paketets installerade
filer. Värdet kopieras in i motsvarande fält i styrfilen. Om
du ställer in det kommer det att ersätta värdet
på fältet. Om variabeln inte är satt kommer
dpkg-gencontrol att beräkna dess standardvärde genom
att summera storleken på alla vanliga filer och symboliska
länkar avrundat till 1 KiB-enheter, och ett grundvärde
på 1 KiB för andra filsystemsobjekttyper. Hårda
länkar räknas bara som vanliga filer en gång.
Observera: Tänk på att det här
aldrig kan vara något annat än ett
närmevärde eftersom den faktiska storleken som
används på det installerade systemet i stor grad beror
på vilket filsystem som används och dess parameterar,
vilket kan komma att använda mer eller mindre plats än vad
som anges i det här fältet.
- Ytterligare diskutrymme som används när paketet installeras.
Om värdet är satt kommer dess värde att läggas
till Installed-Size-variabelns värde (oavsett om den satts
explicit eller om det förvalda värdet används) innan
det kopieras till styrfilens fält Installed-Size.
- S:fältnamn
- Värdet på källkods-strofens fält
fältnamn (som måste anges med rätt form av
stora och små bokstäver; sedan dpkg 1.18.11). Om du
sätter dessa variabler händer ingenting förutom
där de explicit expanderats. Variablerna är bara
tillgängliga när styrfiler för binärpaketen
skapas.
- F:fältnamn
- Värdet på utdatafältet fältnamn (som
måste anges med rätt form av stora och små
bokstäver). Om du sätter dessa variabler händer
ingenting förutom där de explicit expanderats.
- Format
- Formatet på filen .changes som skapats av denna version av
källkodspaketeringsskripten. Om du sätter denna variabel
kommer innehållet i Format-fältet i filen
.changes också att ändras.
- Newline,
Space, Tab
- Dessa variabler innehåller motsvarande tecken (radbrytning,
blanksteg, tabbsteg).
- shlibs:beroendefält
- Variabelinställningar på den här formen skapas av
dpkg-shlibdeps.
- dpkg:Upstream-Version
- Uppströmsversionen av dpkg (sedan dpkg 1.13.19).
- dpkg:Version
- Fullständig version av dpkg (sedan dpkg 1.13.19).
Om en variabel refereras till men inte definieras kommer en
varning att genereras och ett tomt värde används.
ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.