deb-substvars(5)

NAAM
deb-substvars - Substitutievariabelen in Debian broncode

OVERZICHT
debian/substvars, debian/binair-pakket.substvars, variabelen

BESCHRIJVING
Vooraleer dpkg-source, dpkg-gencontrol en dpkg-genchanges hun comtrole-informatie neerschrijven (naar het broncodecontrolebestand .dsc in het geval van dpkg-source en naar standaarduitvoer in het geval van dpkg-gencontrol en dpkg-genchanges), voeren ze een aantal variabelesubstituties uit op het uitvoerbestand.

  Variabelesyntaxis
Een variabelesubstitutie heeft als vorm ${variabelenaam}. Variabelenamen bestaan uit alfanumerieke tekens (a-zA-Z0-9), koppeltekens (-) en dubbele punten (:) en beginnen met een alfanumeriek teken. Ze zijn ook hoofdlettergevoelig, ook al kunnen ze verwijzen naar andere entiteiten die hoofdletterbehoudend zijn. Variabelesubstituties worden bij herhaling uitgevoerd tot er geen meer overblijven. Na een substitutie wordt de volledige tekst van het veld opnieuw doorzocht op nog meer uit te voeren substituties.

  Bestandssyntaxis
Substitutievariabelen kunnen in een bestand worden opgegeven. Deze bestanden bestaan uit regels met variabeletoewijzingen, die beginnen met de variabelenaam, direct gevolgd door een toewijzingsoperator en vervolgens de waarde. Elke operator geeft de variabele specifieke kenmerken. Overgebleven witruimte aan het einde van elke regel, lege regels en regels die beginnen met een #-symbool (commentaar) worden genegeerd.

De volgende operators worden ondersteund:

=   Wijst een normale substitutievariabele toe.

?=  Wijst een optionele substitutievariabele toe die geen aanleiding geeft tot waarschuwingen, zelfs als deze niet wordt gebruikt.

    Ondersteund sinds dpkg 1.21.8.

!=  Wijst een verplichte substitutievariabele toe die aanleiding geeft tot een foutmelding als deze niet wordt gebruikt.

    Ondersteund sinds dpkg 1.22.7.

$=  Wijst een impliciete substitutievariabele toe die automatisch als veld wordt geïnstantieerd als dat veld niet is gedefinieerd voor .dsc- en .deb-controlebestanden.

    De variabelenaam moet worden opgebouwd als een naamruimte gevolgd door een dubbele punt (‘:’) en vervolgens de veldnaam, zoals tool:Depends. Alle impliciete variabelen voor een naamruimte die overeenkomen met hetzelfde veld worden samengevoegd met behulp van een bekend veldscheidingsteken of een spatie als het veldscheidingsteken onbekend is.

    Ondersteund sinds dpkg 1.23.0.

Bijvoorbeeld: "een-bepaald-pakket:Depends?=een-ander-pakket (= 1.0), het-pakket".

  Substitutie
Variabelen kunnen ingesteld worden met behulp van de algemene optie -V. Ze kunnen ook opgegeven worden in het bestand debian/substvars (of om het even welk ander bestand dat opgegeven wordt met de algemene optie -T).

Nadat alle substituties uitgevoerd werden, wordt de tekenreeks ${} (wat geen daadwerkelijke substitutievariabele is) overal waar die voorkomt, vervangen door het teken $. Dit kan gebruikt worden als een escape-sequentie zoals ${}{VARIABELE}, wat in de uitvoer de vorm zal aannemen van ${VARIABELE}.

Indien er gerefereerd wordt naar een niet-gedefinieerde variabele, wordt een waarschuwing gegeven en wordt verondersteld dat de waarde ervan leeg is.

Hoewel variabelesubstitutie uitgevoerd wordt op alle controlevelden, zijn sommige van die velden nodig tijdens het bouwen wanneer de substitutie nog niet heeft plaats gevonden. Dat is de reden waarom u geen variabelen kunt gebruiken in de velden Package, Source en Architecture.

Variabelesubstitutie vindt plaats op de inhoud van de velden nadat die ontleed werden. Indien u dus wenst dat een variabele zich uitstrekt over meerdere regels, moet u na het regeleinde geen spatie invoegen. Dit gebeurt impliciet bij de uitvoer van het veld. Indien bijvoorbeeld de variabele ${Description} ingesteld werd op "foo is bar.${Newline}foo is geweldig." en u het volgende veld heeft:

 Description: toepassing foo
  ${Description}
  .
  Bijkomende tekst.

Dit zal dit resulteren in:

 Description: toepassing foo
  foo is bar.
  foo is geweldig.
  .
  Bijkomende tekst.

  Ingebouwde Variabele
Daarnaast zijn altijd de volgende standaardvariabelen beschikbaar::

Arch
    De huidige computerarchitectuur (d.w.z. de architectuur waarvoor het pakket gebouwd wordt; het equivalent van DEB_HOST_ARCH).

vendor:Name
    De naam van de huidige leverancier (sinds dpkg 1.20.0). Deze waarde is afkomstig van het Vendor-veld voor het origin-bestand van de huidige leverancier, zoals dpkg-vendor(1) het zou ophalen.

vendor:Id
    Het ID van de huidige leverancier (sinds dpkg 1.20.0). Dit is gewoon de variant van vendor:Name in kleine letters.

source:Version
    De versie van het broncodepakket (sinds dpkg 1.13.19).

source:Upstream-Version
    De versie van het broncodepakket van de toeleveraar, eventueel met inbegrip van de versie-epoche van Debian (sinds dpkg 1.13.19).

binary:Version
    De versie van het binaire pakket (dat verschillend kan zijn van source:Version, in geval van een binNMU bijvoorbeeld; sinds dpkg 1.13.19).

Source-Version
    De versie van het broncodepakket (uit het bestand changelog). Deze variabele is nu verouderd en geeft aanleiding tot een foutmelding als hij gebruikt wordt, aangezien de betekenis ervan verschilt van zijn functie. U moet naargelang het geval nu source:Version of binary:Version gebruiken.

source:Synopsis
    De synopsis van het bronpakket, gehaald uit het veld Description van het broncode-element, als het bestaat (sinds dpkg 1.19.0).

source:Extended-Description
    De uitgebreide beschrijving van het bronpakket, gehaald uit het veld Description van het broncode-element, als het bestaat (sinds dpkg 1.19.0).

Installed-Size
    De geschatte totale grootte van de uit het pakket geïnstalleerde bestanden. Deze waarde wordt gekopieerd naar het overeenkomstige veld in het bestand control. Dit instellen wijzigt de waarde van dat veld. Indien deze variabele niet ingesteld werd, zal dpkg-gencontrol de standaardwaarde berekenen door de grootte van alle gewone bestanden en alle symbolische koppelingen samen te nemen, afgerond tot op een eenheid van 1 KiB, en met een richtlijn van 1 KiB voor elk ander type object van het bestandssysteem. Daarbij worden harde koppelingen slechts éénmaal geteld als een gewoon bestand.

    Opmerking: Houd er rekening mee dat dit steeds slechts een schatting kan zijn, aangezien de werkelijke grootte die op het geïnstalleerde systeem gebruikt zal worden, in grote mate afhankelijk is van het gebruikte bestandssysteem en de parameters ervan, waardoor het eindresultaat kan zijn dat ofwel meer ofwel minder ruimte in beslag genomen wordt dan in dit veld opgegeven werd.

Extra-Size
    Extra schijfruimte die gebruikt wordt als het pakket geïnstalleerd is. Indien deze variabele ingesteld werd, wordt de waarde ervan opgeteld bij de variabele Installed-Size (ofwel de expliciet ingestelde of de standaardwaarde ervan) vooraleer ze gekopieerd wordt naar het veld Installed-Size in het bestand control.

S:veldnaam
    De waarde van het broncodeveld veldnaam (die moet opgegeven worden in de gebruikelijke schrijfwijze met hoofd-/kleine letters; sinds dpkg 1.18.11). Het instellen van deze variabelen heeft geen effect tenzij op die plaatsen waar ze expliciet geëxpandeerd worden. Deze variabelen zijn enkel beschikbaar tijdens het genereren van de control-bestanden van het binaire pakket.

F:veldnaam
    De waarde van het uitvoerveld veldnaam (die moet opgegeven worden in de gebruikelijke schrijfwijze met hoofd-/kleine letters). Het instellen van deze variabelen heeft geen effect tenzij op die plaatsen waar ze expliciet geëxpandeerd worden.

Format
    Het versienummer van de bestandsindeling van .changes dat door deze versie van de scripts voor het verpakken van de broncode gegenereerd wordt. Indien u deze variabele instelt, zal de inhoud van het veld Format in het bestand .changes ook gewijzigd worden.

Newline, Space, Tab
    Elk van deze variabelen bevat het overeenkomstig letterteken.

shlibs:dependencyfield
    Variabele-instellingen met namen in deze vorm worden door dpkg-shlibdeps gegenereerd.

dpkg:Upstream-Version
    De originele toeleveraarsversie (upstream) van dpkg (sinds dpkg 1.13.19).

dpkg:Version
    De volledige versie van dpkg (sinds dpkg 1.13.19).

BESTANDEN

debian/substvars
    Lijst met substitutievariabelen en hun waarden.

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