Man page - dh_installdeb(1)

Packages contains this manual

Available languages:

en fr pt de

Manual

DH_INSTALLDEB

NAME
ÜBERSICHT
BESCHREIBUNG
DATEIEN
OPTIONEN
ERSETZUNG IN BETREUERSKRIPTEN
EinschrÀnkungen in Markierungsnamen
SIEHE AUCH
ÜBERSETZUNG
AUTOR

NAME

dh_installdeb - installiert Dateien in das Verzeichnis DEBIAN.

ÜBERSICHT

dh_installdeb [ Debhelper-Optionen ]

BESCHREIBUNG

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.

DATEIEN

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

Diese Datei wird ins DEBIAN -Verzeichnis installiert. Die bereitgestellte Datei wird von Debhelper ergÀnzt, sodass sie alle von Debhelper automatisch festgestellten conffiles enthÀlt (der Paketbetreuer sollte diese Liste nicht selbst schreiben, weil Debhelper davon ausgeht, dass dies seine Aufgabe ist).

Diese Datei eignet sich hauptsĂ€chlich fĂŒr den Einsatz »spezieller« FunktionalitĂ€ten wie Dpkgs remove-on-upgrade .

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.

Wo möglich, kann sich dh_installdeb eigenstĂ€ndig dafĂŒr entscheiden, einige oder alle EintrĂ€ge so umzugestalten, dass anstelle von Betreuer-Skripten die entsprechenden Dpkg-Funktionen verwendet werden (bspw. kann es rm_conffile in remove-on-upgrade umschreiben). Die Mindestvoraussetzung, dass diese FunktionalitĂ€t aktiv wird, ist dass Debhelper in KompatibilitĂ€tsstufe 10 oder höher lĂ€uft.

unterstĂŒtzt Ersetzungsvariablen in KompatibilitĂ€tsstufe 13 oder neuer, wie in debhelper (7) beschrieben.

OPTIONEN

-D MARKIERUNG=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.

ERSETZUNG IN BETREUERSKRIPTEN

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.

EinschrÀnkungen in Markierungsnamen

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.

SIEHE AUCH

debhelper (7)

Dieses Programm ist Teil von Debhelper.

ÜBERSETZUNG

Diese Übersetzung wurde mit dem Werkzeug po4a <http://po4a.alioth.debian.org/> durch Chris Leick c.leick@vollbio.de und das deutsche Debian-Übersetzer-Team im Dezember 2011 erstellt.

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

AUTOR

Joey Hess <joeyh@debian.org>