deb-substvars(5)

NAMN
deb-substvars - Debians källkods-substitueringsvariabler

SYNOPS
debian/substvars, debian/binärpaket.substvars, variabler

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.

  Variabelsyntax
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.

  Filsyntax
Substitution variables can be specified in a file. These files consist of lines with variable assignments, that start with the variable name, immediately followed by an assignment operator, and then the value. Each operator gives the variable specific attributes. Trailing whitespace on each line, blank lines, and lines starting with a # symbol (comments) are ignored.

The following operators are supported:

=   Assigns a normal substitution variable.

?=  Assigns an optional substitution variable which will emit no warnings even if unused.

    Supported since dpkg 1.21.8.

!=  Assigns a required substitution variable which will error out if unused.

    Supported since dpkg 1.22.7.

$=  Assigns an implicit substitution variable which will get automatically instantiated as a field, if that field is not defined for .dsc and .deb control files.

    The variable name needs to be formed as a namespace followed by a colon (‘:’) and then the field name, such as tool:Depends. All implicit variables for any namespace matching the same field will get concatenated using a known field separator, or a space if the field separator is unknown.

    Supported since dpkg 1.23.0.

For example "some-package:Depends?=other-package (= 1.0), the-package".

  Substituering
Variabler kan sättas genom att använda den gemensamma kommandoradsflaggan -V. De kan även anges i filen debian/substvars (eller vilken som helst annan fil som anges med gemensamma flaggan -T).

När alla substitueringar har utförts ersätts varje förekomst av strängen ${} (som inte är en faktisk substitueringsvariabel) med ett $-tecken. Detta kan användas som en ersättningssekvens såsom ${}{VARIABEL} vilket kommer bli till ${VARIABLE} i utdata.

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.

  Inbyggda variabler
I tillägg är alltid 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-vendor(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.

Extra-Size
    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).

FILER

debian/substvars
    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.