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
Substitueringsvariabler kan anges i en fil. En sådan fil består av rader med variabeltilldelningar, vilka börjar med ett variabelknamn som omedelbart följs av en tilldelningsoperator, och sedan värdet. Varje operator ger värdet specifika attribut. Avslutande blanksteg på en rad, blanka rader och rader som börjar med en #-symbol (kommentarer) ignoreras.

Följande operatörer stöds:

=   Tilldelar en normal substitueringsvariabel.

?=  Tilldelar en valfri substitutionsvariabel som inte skriver ut någon varning även om den inte används.

    Stöds sedan dpkg 1.21.8.

!=  Tilldelar en krävd substitueringsvariabel som kommer orsaka ett felavslut om den inte används.

    Stöds sedan dpkg 1.22.7.

$=  Tilldelar en implicit substitutionsvariabel som automatiskt Instansieras som ett fält, om det fältet inte har definierats för styrfilerna .dsc och .deb.

    Variabelnamnet måste anges på formen namnrymd följt av ett kolon (”:”) och sedan fältnamnet, så som tool:Depends. Alla implicita variabler för namnrymder som motsvarar samma fält kommer slås ihop med en känd fältseparator, eller ett blanksteg om fältseparatorn är okänd.

    Stöds sedan dpkg 1.23.0.

Till exampel "något-package:Depends?=annat-paket (= 1.0), själva-paketet".

  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 leverantörsnamn (sedan dpkg 1.20.0). Värdet kommer från fältet Vendor för aktuell leverantörs origin-fil, så som dpkg-vendor(1) skulle hämta det.

vendor:Id
    Aktuellt leverantör-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.