dh_installdeb - installiert Dateien in das Verzeichnis DEBIAN.
dh_installdeb [
Debhelper-Optionen]
dh_installdeb ist ein Debhelper-Programm, das für die Installation
von Dateien in die
DEBIAN-Verzeichnisse in den Paketbauverzeichnissen
mit den korrekten Berechtigungen zuständig ist.
-
Paket.postinst
-
Paket.preinst
-
Paket.postrm
-
Paket.prerm
- Diese Betreuerskripte werden in das Verzeichnis
DEBIAN installiert.
dh_installdeb wird eine Ersetzung bekannter MARKIERUNGEN des Musters
#MARKIERUNG# durchführen. Im Allgemeinen werden Skripte
#DEBHELPER# einbinden wollen, um von den durch Debhelper-Befehle
erzeugten Shell-Skripten zu profitieren (einschließlich derer von
dh_installdeb, wenn es Paket.maintscript-Dateien
verarbeitet)
Die Markierung #DEBHELPER# sollte in eine eigene Zeile platziert
werden, da sie oft durch ein mehrzeiliges Shellskript ersetzt wird.
-
Paket.triggers
-
Paket.shlibs
- Diese Steuerdateien sind im Verzeichnis DEBIAN
installiert.
Beachten Sie, dass Paket.shlibs nur auf Kompatibilitätsstufe 9
und älter installiert wird. Verwenden Sie im
Kompatibilitätsmodus 10 bitte dh_makeshlibs(1).
-
Paket.conffiles
- This file will be installed into the DEBIAN
directory. The provided file will be enriched by debhelper to include all
the conffiles auto-detected by debhelper (the maintainer should not
list there as debhelper assumes it should handle that part).
This file is primarily useful for using "special" entries such as
the remove-on-upgrade feature from dpkg.
-
Paket.maintscript
- Zeilen in dieser Datei entsprechen
dpkg-maintscript-helper(1)-Befehlen und -Parametern. Die
»maint-script-parameters« sollten jedoch nicht
eingefügt werden, da Debhelper sie automatisch hinzufügen
wird.
Beispiel:
# Richtig
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 sich eignen, um diese
Konfigdatei 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 seit Kompatibilitätsstufe 10 als
Warnung aktiviert und in Kompatibilitätsstufe 12 als harter Fehler.
Where possible, dh_installdeb may choose to rewrite some or all of
the entries into equivalent features supported in dpkg without relying on
maintainer scripts at its sole discretion (examples include rewriting
rm_conffile into dpkg's remove-on-upgrade). The minimum
requirement for activating this feature is that debhelper runs in compat
10 or later.
unterstützt Ersetzungsvariablen in Kompatibilitätsstufe 13
oder neuer, wie in debhelper(7) beschrieben.
-
-DMARKIERUNG=WERT, --define
MARKIERUNG=WERT
- definiert Markierungen, die innerhalb von Betreuerskripten
bei ihrer Erzeugung ersetzt werden. Bitte beachten Sie, dass die in
"Beschränkungen in Markierungsnamen" beschriebenen
Beschränkungen auch für Markierungen gelten, die auf der
Befehlszeile definiert werden. Ungültige Markierungsnamen werden
einen Fehler auslösen.
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 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, was hilfreich ist, wenn
dh_installdeb mit mehreren Paketen agiert, die unterschiedliche
Werte für dieselbe Markierung benötigen. Dazu wird
pkg. Paketname. vor die Markierung gestellt.
Es 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.
dh_installdeb wird automatisch die folgenden Markierungen innerhalb eines
bereitgestellten Betreuerskripts ersetzen (falls sie nicht über
-D/
--define ersetzt werden):
- #DEBHELPER#
- Diese Markierung wird standardmäßig durch in
Shell-Schnipseln erzeugten Debhelper-Befehlen ersetzt. Dies umfasst die
durch dh_installdeb aus der Datei Paket.maintscript
erzeugten Schnipsel (falls vorhanden).
- #DEB_HOST_NAME#, #DEB_BUILD_NAME#,
#DEB_TARGET_ NAME#
- Diese Markierungen werden durch die entsprechende Variable
aus dpkg-architecture(1) ersetzt. In fast allen Fällen
werden Sie die Variante #DEB_HOST_NAME in
einem Skript benutzen wollen, um sicherzustellen, dass Sie beim
Cross-Bauen den richtigen Wert haben.
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.
- #ENV.NAME#
- Markierungen dieser Form werden durch den Wert der
entsprechenden Umgebungsvariable ersetzt. Falls eine Umgebungsvariable
nicht gesetzt ist, wird die Markierung durch die leere Zeichenkette
ersetzt.
Beachten Sie, dass es Einschränkungen gibt, welche Namen verwendet
werden können (siehe "Einschränkungen in
Markierungsnamen").
- #PACKAGE#
- Diese Markierung wird standardmäßig durch den
Namen des Paketes ersetzt, welches das wirkliche Skript
enthält.
Alle Markierungen, die zur Ersetzung vorgesehen sind, müssen zum
regulären Ausdruck #[A-Za-z0-9_.+]+# passen.
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.
debhelper(7)
Dieses Programm ist Teil von Debhelper.
Diese Übersetzung wurde mit dem Werkzeug
po4a
<
http://po4a.alioth.debian.org/> durch Chris Leick
[email protected] und das deutsche Debian-Übersetzer-Team im
Dezember 2011 erstellt.
Bitte melden Sie alle Fehler in der Übersetzung an
[email protected] oder als Fehlerbericht an das Paket
debhelper.
Sie können mit dem folgenden Befehl das englische Original anzeigen
man -L en Abschnitt Handbuchseite
Joey Hess <
[email protected]>