ÜBERSICHT
substvarsBESCHREIBUNG
Bevor dpkg-source, dpkg-gencontrol und dpkg-genchanges ihre Steuerinformationen (zu der Quell-control-Datei .dsc für dpkg-source und zu der Standardausgabe für dpkg-gencontrol und dpkg-genchanges) schreiben, führen sie einige Variablensubstitutionen in der Ausgabedatei durch.Eine Variablensubstitution hat die Form ${Variablenname}. Variablennamen bestehen aus alphanumerischen Zeichen (womit sie auch beginnen), Gedankenstrichen und Doppelpunkten. Variablensubstitutionen werden wiederholt durchgeführt, bis keine übrig geblieben sind; der komplette Text des Feldes nach der Substitution wird erneut auf weitere Substitutionen geprüft.
Nachdem alle Substitutionen erfolgt sind, wird jedes Auftreten der Zeichenkette ${} (die keine erlaubte Substitution ist) durch das $-Zeichen ersetzt.
Obwohl die Variablensubstitution bei allen Feldern der control-Datei vorgenommen wird, werden einige dieser Felder während des Bauens benötigt und verwendet, wenn die Substitution noch nicht erfolgt ist. Daher können Sie Variablen nicht in den Feldern Package, Source und Architecture verwenden.
Variablenersetzung erfolgt am Inhalt der Felder, nachdem sie geparst (ausgewertet) wurden. Falls Sie eine Variable über mehrere Zeilen expandieren möchten, müssen Sie nach dem Zeilenumbruch daher kein Leerzeichen einfügen. Dies passiert bei der Ausgabe des Feldes implizit. Ist beispielsweise die Variable ${Description} auf »foo ist bar.${Newline}foo ist super.« gesetzt und Sie haben das folgende Feld:
Description: foo application
${Description}
.
Weiterer Text.
Dann wird dies zu Folgenden führen:
Description: foo application
foo ist bar.
foo ist super.
.
Weiterer Text.
Variablen können über die allgemeine -V-Option gesetzt werden. Sie können auch in der debian/substvars (bzw. in der über die Option -T gesetzten Datei) angegeben werden. Diese Datei besteht auch Zeilen der Form Name=Wert. Leerraumzeichen am Zeilenende, leere Zeilen und Zeilen, die mit dem #-Symbol starten (Kommentare) werden ignoriert.
Zusätzlich sind die folgenden Standardvariablen verfügbar:
- Arch
- Die aktuelle Host-Architektur (d.h. die Architektur, für die das Paket gebaut wird, das Äquivalent zu DEB_HOST_ARCH).
- source:Version
- Die Quellpaket-Version.
- source:Upstream-Version
- Die Paketversion der Originalautoren, einschließlich der Epoche der Debian-Version, falls vorhanden.
- binary:Version
- Die Binärpaketversion (die z.B. in einem binNMU von source:Version abweichen kann).
- Source-Version
- Die Quellpaketversion (aus der changelog-Datei). Diese Variable ist jetzt veraltet, da ihre Bedeutung von ihrer Funktion abweicht, bitte verwenden Sie source:Version oder binary:Version wo zutreffend.
- Installed-Size
-
Die ungefähre Gesamtgröße der vom Paket installierten Dateien. Dieser Wert
wird in das entsprechende Feld der »control«-Datei kopiert; wird es gesetzt,
verändert es den Wert dieses Feldes. Falls diese Variable nicht gesetzt ist,
wird dpkg-gencontrol den Vorgabewert berechnen, indem es die Größen jeder
regulären Datei und jedes Symlinks (gerundet auf 1 KiB) aufsammelt und einen
Grundwert von 1 KiB für aller anderen Dateisystemobjekttypen verwendet.
Hinweis: Beachten Sie, dass dies stets nur ein Schätzwert sein kann, da die tatsächliche Größe im installierten System stark vom verwandten Dateisystem und seinen Parametern abhängt. Daher kann es am Ende mehr oder weniger als in diesem Feld angegebenen Platz belegen.
- Extra-Size
- Zusätzlicher Plattenplatz, der verwendet wird, wenn das Paket installiert ist. Falls diese Variable gesetzt ist, wird dieser Wert zu der Installed-Size-Variablen hinzuaddiert (egal ob sie explizit gesetzt oder der Standardwert verwendet wird), bevor sie in das Feld Installed-Size der »control«-Datei kopiert wird.
- F:Feldname
- Der Wert des Ausgabefeldes Feldname (der in der kanonischen Groß-/Kleinschreibung angegeben werden muss). Das Setzen dieser Variablen hat nur einen Effekt an den Stellen, wo diese explizit expandiert werden.
- Format
- Die Formatversion der .changes-Datei, die von dieser Version der Quellpaketierskripte erstellt wird. Falls Sie diese Variable setzen, werden die Inhalte des Format-Feldes in der .changes-Datei auch geändert.
- Newline, Space, Tab
- Diese Variablen enthalten das jeweils korrespondieren Zeichen (Zeilenumbruch, Leerzeichen und Tabulator in dieser Reihenfolge).
- shlibs:dependencyfield
- Variableneinstellungen mit Namen dieser Form werden von dpkg-shlibdeps erstellt.
- dpkg:Upstream-Version
- Die Original- (Upstream-)Version von Dpkg.
- dpkg:Version
- Die komplette Version von Dpkg.
Falls auf eine Variable Bezug genommen wird, diese aber nicht definiert ist, wird es eine Warnung erstellen und ein leerer Wert wird angenommen.
DATEIEN
- debian/substvars
- Liste von Substitutionsvariablen und -werten.