Scroll to navigation

deb-substvars(5) dpkg suite deb-substvars(5)

NAMN

deb-substvars - Debians källkods-substitueringsvariabler

SYNOPS

debian/substvars, debian/binary-package.substvars, variables

BESKRIVNING

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.

Variable Syntax

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.

File Syntax

Substitution variables can be specified in a file. These files consist of lines of the form name=value or name?=value. The = operator assigns a normal substitution variable, while the ?= operator (since dpkg 1.21.8) assigns an optional substitution variable which will emit no warnings even if unused. Trailing whitespace on each line, blank lines, and lines starting with a # symbol (comments) are ignored.

Substitution

Variables can be set using the -V common option. They can be also specified in the file debian/substvars (or whatever other file is specified using the -T common option).

After all the substitutions have been done each occurrence of the string ${} (which is not an actual substitution variable) is replaced with a $ sign. This can be used as an escape sequence such as ${}{VARIABLE} which will end up as ${VARIABLE} on the output.

Om en variabel refereras till men inte definieras kommer en varning att genereras och ett tomt värde används.

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.

Built-in Variable

Additionally, the following standard variables are always available:

Aktuell värdarkitektur (dvs., arkitekturen paketet byggs för, motsvarigheten till DEB_HOST_ARCH).
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.
Aktuellt återförsäljar-ID (sedan dpkg 1.20.0). Det här bara en variant av vendor:Name skriven med små bokstäver.
Källkodspaketets version (sedan dpkg 1.13.19).
Version på uppströmskällkodspaketet, inklusive Debianversionens epok, om sådan finns (sedan dpkg 1.13.19).
Den binära paketversionen (som kan avvika från source:Version, till exempel i en binNMU; sedan dpkg 1.13.19).
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.
Källkodspaketets synops, hämtad från källkods-strofens Description-fält, om det finns (sedan dpkg 1.19.0).
Källkodspaketet utökade beskricning, hämtad från källkods-strofens Description-fält, om det finns (sedan dpkg 1.19.0).
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.
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.
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.
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.
Dessa variabler innehåller motsvarande tecken (radbrytning, blanksteg, tabbsteg).
Variabelinställningar på den här formen skapas av dpkg-shlibdeps.
Uppströmsversionen av dpkg (sedan dpkg 1.13.19).
Fullständig version av dpkg (sedan dpkg 1.13.19).

FILER

Lista över substitueringsvariabler och -värden.

SE ÄVEN

dpkg(1), dpkg-vendor(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).

ÖVERSÄTTNING

Peter Krefting och Daniel Nylander.

2022-05-25 1.21.8