dh_installdeb will perform substitution of known tokens of the pattern #TOKEN#. In generally, scripts will want to include the #DEBHELPER# to benefit from the shell scripts generated by debhelper commands (including those from dh_installdeb when it processes package.maintscript files).
The #DEBHELPER# token should be placed on its own line as it is often replaced by a multi-line shell script.
Beachten Sie, dass Paket.shlibs nur auf Kompatibilitätsstufe 9 und älter installiert wurde. Verwenden Sie im Kompatibilitätsmodus 10 bitte dh_makeshlibs(1).
Auf Kompatibilitätsstufe bis einschließlich 11 wird diese Steuerdatei im Verzeichnis DEBIAN installiert. Auf Kompatibilitätsstufe 12 und neuer wird diese Datei stillschweigend ignoriert.
Beispiel:
# Korrekt rm_conffile /etc/obsolete.conf 0.2~ foo # FALSCH rm_conffile /etc/obsolete.conf 0.2~ foo -- "$@"
Im Kompatibilitätsmodus 10 oder höher werden alle Shell-Metazeichen maskiert, daher kann hier kein beliebiger Shell-Code eingefügt werden. Eine Zeile wie "mv_conffile /etc/oldconffile /etc/newconffile" wird zum Beispiel Schnipsel von Betreuerskripten in alle Betreuerskripte einfügen, die ausreichen, um dieses Conffile zu verschieben.
Es war außerdem beabsichtigt, die Shell-Metazeichen in allen vorherigen Kompatibilitätsstufen zu maskieren. Dies funktionierte jedoch nicht ordentlich und von daher war es möglich, beliebigen Shell-Code in vorhergehenden Kompatibilitätsstufen einzubetten.
Das Werkzeug dh_installdeb wird einige grundlegende Prüfungen einiger der in dieser Datei aufgeführten Befehle durchführen, um häufige Fehler abzufangen. Die Überprüfung wird als Warnung seit Kompatibilitätsstufe 10 aktiviert und in Kompatibilitätsstufe 12 als harter Fehler.
In einfachen Fall wird dieser Parameter veranlassen, dass #MARKIERUNG# durch WERT ersetzt wird. Falls WERT mit einem @-Zeichen beginnt, wird von WERT erwartet, dass er auf eine Datei zeigt, die den tatsächlich einzufügenden Wert enthält.
Eine explizit mit diesem Parameter deklarierte Markierung wird durch die eingebauten Markierungen ersetzen.
Testbeispiele zum besseren Verständnis:
cat >> debian/postinst <<EOF #EINFACH# #DATEIBASIERT# EOF echo -n "Komplexer Wert" > irgendeine-Datei dh_installdeb --define EINFACH=direkt --define DATEIBASIERT=@irgendeine-Datei
In diesem Beispiel wird #EINFACH# zu direkt und #DATEIBASIERT# zu Komplexer Wert expandiert.
Es ist auch möglich, paketspezifische Werte für eine angegebene Markierung zu setzen. Dies ist nützlich, wenn dh_installdeb mit mehreren Paketen agiert, die unterschiedliche Werte für dieselbe Markierung benötigen. Dies wird durch Voranstellen von pkg.Paketname. vor die Markierung erledigt.
Dies kann wie im folgenden Beispiel benutzt werden:
cat >> debian/foo.postinst <<EOF # Skript für #PACKAGE# #MARKIERUNG# EOF cat >> debian/bar.postinst <<EOF # Skript für #PACKAGE# #MARKIERUNG# EOF cat >> debian/baz.postinst <<EOF # Skript für #PACKAGE# #MARKIERUNG# EOF dh_installdeb -pfoo -pbar -pbaz --define MARKIERUNG=Vorgabe --define pkg.bar.MARKIERUNG=eindeutiger-bar-wert \ --define pkg.baz.MARKIERUNG=eindeutiger-baz-wert
In diesem Beispiel wird #MARKIERUNG# in debian/foo.postinst zu Vorgabe, in debian/bar.postinst zu eindeutiger-bar-wert und in debian/baz.postinst zu eindeutiger-baz-wert expandiert.
Beachten Sie, dass die #pkg.*#-Markierungen in allen Skripten, mit denen gearbeitet wird, sichtbar sind. Sie können sich z.B. auf #pkg.bar.MARKIERUNG# innerhalb von debian/foo.postinst beziehen und es wird durch eindeutiger-bar-wert ersetzt.
Wenn Markierungen dieses Musters auch unter größten Anstrengungen nicht zu einer Variable in dpkg-architecture(1) passen, werden sie so belassen, wie sie sind.
Beachten Sie, dass es Einschränkungen gibt, welche Namen verwendet werden können (siehe ``Einschränkungen in Markierungsnamen'').
Markierungen, die nicht auf diesen Ausdruck passen, werden stillschweigend ignoriert, falls sie in der Skriptschablone gefunden werden. Ungültige Markierungsnamen, die per -D oder --define übergeben wurden, führen in den meisten Fällen dazu, dass dh_installdeb den Befehl mit einem Fehler zurückweist.
Dieses Programm ist Teil von Debhelper.
Bitte melden Sie alle Fehler in der Übersetzung an debian-l10n-german@lists.debian.org oder als Fehlerbericht an das Paket debhelper.
Sie können mit dem folgenden Befehl das englische Original anzeigen man -L en Abschnitt Handbuchseite