deb-substvars - Substitutievariabelen in Debian broncode
debian/substvars,
debian/binair-pakket.substvars
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: toepassing foo
${Description}
.
Bijkomende tekst.
Dit zal dit resulteren in:
Description: toepassing foo
foo is bar.
foo is geweldig.
.
Bijkomende tekst.
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
- 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 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.