deb-substvars
Ersetzungsvariablen in Debian-Quellen
- Provided by: dpkg-dev (Version: 1.23.7ubuntu1)
- Source: dpkg
- Report a bug
Ersetzungsvariablen in Debian-Quellen
debian/substvars, debian/binary-package.substvars, Variablen
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.
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.
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:
Supported since dpkg 1.21.8.
Supported since dpkg 1.22.7.
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".
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.
Zusätzlich sind die folgenden Standardvariablen immer verfügbar:
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.
dpkg(1), dpkg-vendor(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).
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.