deb-substvars(5)

BEZEICHNUNG
deb-substvars - Ersetzungsvariablen in Debian-Quellen

ÜBERSICHT
debian/substvars, debian/binary-package.substvars, Variablen

BESCHREIBUNG
Bevor dpkg-source, dpkg-gencontrol und dpkg-genchanges ihre Steuerinformationen (zu der Quell-control-Datei .dsc für dpkg-source und in die Standardausgabe für dpkg-gencontrol und dpkg-genchanges) schreiben, führen sie einige Variablenersetzungen in der Ausgabedatei durch.

  Variablen-Syntax
Eine Variablenersetzung hat die Form ${Variablenname}. Variablennamen bestehen aus alphanumerischen Zeichen (a-zA-Z0-9, womit sie auch beginnen), Bindestrichen (-) und Doppelpunkten (:). Bei Variablennamen ist die Klein-/Großschreibung relevant, auch wenn sie sich auf Gebilde beziehen, die die Klein-/Großschreibung erhalten. Variablenersetzungen werden wiederholt durchgeführt, bis keine übrig geblieben sind; der komplette Text des Feldes nach der Ersetzung wird erneut auf weitere Ersetzungen geprüft.

  Dateisyntax
Substitution variables can be specified in a file. These files consist of lines with variable assignments, that start with the variable name, immediately followed by an assignment operator, and then the value. Each operator gives the variable specific attributes. Trailing whitespace on each line, blank lines, and lines starting with a # symbol (comments) are ignored.

The following operators are supported:

=   Assigns a normal substitution variable.

?=  Assigns an optional substitution variable which will emit no warnings even if unused.

    Supported since dpkg 1.21.8.

!=  Assigns a required substitution variable which will error out if unused.

    Supported since dpkg 1.22.7.

$=  Assigns an implicit substitution variable which will get automatically instantiated as a field, if that field is not defined for .dsc and .deb control files.

    The variable name needs to be formed as a namespace followed by a colon (‘:’) and then the field name, such as tool:Depends. All implicit variables for any namespace matching the same field will get concatenated using a known field separator, or a space if the field separator is unknown.

    Supported since dpkg 1.23.0.

For example "some-package:Depends?=other-package (= 1.0), the-package".

  Ersetzungen
Variablen können über die allgemeine Option -V gesetzt werden. Sie können auch in der debian/substvars (bzw. in der über die allgemeine Option -T gesetzten Datei) angegeben werden.

Nachdem alle Ersetzungen erfolgt sind, wird jedes Auftreten der Zeichenkette ${} (die keine tatsächliche Ersetzungsvariable ist) durch das $-Zeichen ersetzt. Dies kann als Maskiersequenz wie in ${}{VARIABLE} verwandt werden, was dann zu ${VARIABLE} in der Ausgabe wird.

Falls auf eine Variable Bezug genommen wird, diese aber nicht definiert ist, wird es eine Warnung erstellen und ein leerer Wert wird angenommen.

Obwohl die Variablenersetzung bei allen Feldern der control-Datei vorgenommen wird, werden einige dieser Felder während des Bauens benötigt und verwendet, wenn die Ersetzung 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 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: Anwendung foo
  ${Description}
  .
  Weiterer Text.

Dann wird dies zu Folgenden führen:

 Description: Anwendung foo
  foo ist bar.
  foo ist super.
  .
  Weiterer Text.

  Eingebaute Variable
Zusätzlich sind die folgenden Standardvariablen immer verfügbar:

Arch
    Die aktuelle Host-Architektur (d.h. die Architektur, für die das Paket gebaut wird, das Äquivalent zu DEB_HOST_ARCH).

vendor:Name
    Der aktuelle Lieferantenname (seit Dpkg 1.20.0). Dieser Wert stammt aus dem Feld Vendor aus der Datei »origin« des Lieferanten, wie dies von dpkg-vendor(1) ermittelt würde.

vendor:Id
    Die aktuelle Lieferantenkennzeichnung (seit Dpkg 1.20.0). Die ist lediglich vendor:Name in Kleinbuchstaben.

source:Version
    Die Quellpaketversion (seit Dpkg 1.13.19).

source:Upstream-Version
    Die Paketversion der Originalautoren, einschließlich der Epoche der Debian-Version, falls vorhanden (seit Dpkg 1.13.19).

binary:Version
    Die Binärpaketversion (die z.B. in einem binNMU von source:Version abweichen kann; seit Dpkg 1.13.19).

Source-Version
    Die Quellpaketversion (aus der Changelog-Datei). Diese Variable ist jetzt veraltet und gibt bei der Benutzung einen Fehler aus, da ihre Bedeutung von ihrer Funktion abweicht, bitte verwenden Sie source:Version oder binary:Version wo zutreffend.

source:Synopsis
    Die Quellpaketzusammenfassung, aus dem Feld Description des Quellabsatzes entnommen, falls dieses existiert (seit Dpkg 1.19.0).

source:Extended-Description
    Die erweiterte Quellpaketbeschreibung, aus dem Feld Description des Quellabsatzes entnommen, falls dieses existiert (seit Dpkg 1.19.0).

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) aufaddiert und einen Grundwert von 1 KiB für aller anderen Dateisystemobjekttypen verwendet. Dabei werden Hardlinks nur einmalig als reguläre Dateien gezählt.

    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 Variablen Installed-Size hinzuaddiert (egal ob sie explizit gesetzt oder der Standardwert verwendet wird), bevor sie in das Feld Installed-Size der control-Datei kopiert wird.

S:Feldname
    Der Wert des Quellpaket-Absatzfeldes Feldname (der in der kanonischen Groß-/Kleinschreibung angegeben werden muss; seit Dpkg 1.18.11). Das Setzen dieser Variablen hat nur an den Stellen einen Effekt, wo diese explizit expandiert werden. Diese Variablen sind nur bei der Erstellung der binären Steuerdatei verfügbar.

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 korrespondiere 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 (seit Dpkg 1.13.19).

dpkg:Version
    Die komplette Version von Dpkg (seit Dpkg 1.13.19).

DATEIEN

debian/substvars
    Liste von Ersetzungsvariablen und -werten.

SIEHE AUCH
dpkg(1), dpkg-vendor(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).

ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2025 von Helge Kreutzmann <debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und 2008 von Sven Joachim <svenjoac@gmx.de> angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG.