Scroll to navigation

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

NAAM

deb-substvars - Substitutievariabelen in Debian broncode

OVERZICHT

debian/substvars, debian/binary-package.substvars

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.

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.

Nadat alle substituties uitgevoerd werden, wordt de tekenreeks ${} (hetgeen geen geldige substitutie is) overal waar die voorkomt, vervangen door het teken $.

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: foo application
  ${Description}
  .
  More text.

zal dit resulteren in:

 Description: foo application
  foo is bar.
  foo is great.
  .
  More text.

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 werd met de optie -T). Dit bestand bestaat uit regels die de vorm naam=waarde hebben. Witruimte aan het einde van een regel, lege regels en regels die beginnen met het symbool # (commentaar) worden genegeerd.

Bovendien kunnen de volgende standaardvariabelen gebruikt worden:

Arch
De huidige computerarchitectuur (d.w.z. de architectuur waarvoor het pakket gebouwd wordt; het equivalent van DEB_HOST_ARCH).
vendor:Name
The current vendor name (since dpkg 1.20.0). This value comes from the Vendor field for the current vendor's origin file, as dpkg-vendor(1) would retrieve it.
vendor:Id
The current vendor ID (since dpkg 1.20.0). This is just the lowercase variant of vendor:Name.
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
The approximate total size of the package's installed files. This value is copied into the corresponding control file field; setting it will modify the value of that field. If this variable is not set dpkg-gencontrol will compute the default value by accumulating the size of each regular file and symlink rounded to 1 KiB used units, and a baseline of 1 KiB for any other filesystem object type. With hardlinks only being counted once as a regular file.

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

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

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).
2020-07-08 1.20.5