Provided by: debhelper_11.1.6ubuntu2_all bug

NAME

       dh - Debhelper-Befehls-Sequenzer

ÜBERSICHT

       dh Sequenz [--with Add-on[,Add-on …]] [--list] [Debhelper-Optionen]

BESCHREIBUNG

       dh führt eine Sequenz von Debhelper-Befehlen aus. Die unterstützten Sequenzen entsprechen
       den Zielen einer debian/rules-Datei: build-arch, build-indep, build, clean, install-indep,
       install-arch, install, binary-arch, binary-indep und binary.

ZIELE AUßER KRAFT SETZEN

       Eine debian/rules-Datei, die dh benutzt, kann einen Befehl aus jeder Sequenz, die
       ausgeführt wird, außer Kraft setzen, indem ein außer Kraft setzendes Ziel definiert wird.

       Um dh_Befehl außer Kraft zu setzen, fügen Sie der Datei »rules« ein Ziel mit Namen
       override_dh_Befehl hinzu. Wenn es normalerweise dh_Befehl ausführen würde, wird dh
       stattdessen dieses Ziel aufrufen. Das außer Kraft setzende Ziel kann dann den Befehl mit
       zusätzlichen Optionen oder stattdessen ganz andere Befehle ausführen. Lesen Sie die
       folgenden Beispiele.

       Außer Kraft setzende Ziele können außerdem definiert werden, um nur ausgeführt zu werden,
       wenn architekturab- oder -unabhängige Pakete gebaut werden. Benutzen Sie Ziele mit Namen
       wie override_dh_Befehl-arch und override_dh_Befehl-indep. Beachten Sie, dass Sie, um diese
       Funktion verwenden zu können, Build-Depend auf Debhelper 8.9.7 oder höher haben sollten.

OPTIONEN

       --with Add-on[,Add-on …]
           fügt die Debhelper-Befehle, die durch das gegebene Add-on angegeben wurden, an
           geeigneten Stellen der Befehlssequenz, die ausgeführt wird, hinzu. Diese Option kann
           mehr als einmal wiederholt werden oder es können mehrere Add-ons durch Kommas getrennt
           aufgeführt werden. Dies wird benutzt, wenn es ein Fremdpaket gibt, das Debhelper-
           Befehle bereitstellt. Dokumentation über die Sequenz-Add-on-Schnittstelle finden Sie
           in der Datei PROGRAMMING.

       --without Add-on
           das Gegenteil von --with, deaktiviert die Benutzung des angegebenen Add-ons. Diese
           Option kann mehrfach wiederholt werden oder es können mehrere Add-ons zum Deaktivieren
           durch Kommas getrennt aufgelistet werden.

       --list, -l
           listet alle verfügbaren Add-ons auf.

           Wenn es nur mit dieser Option aufgerufen wird, kann dh aus jedem Verzeichnis
           aufgerufen werden (d.h. es benötigt keinen Zugriff auf Dateien aus einem Quellpaket).

       --no-act
           gibt Befehle aus, die für eine angegebene Sequenz ausgeführt würden, führt sie aber
           nicht aus

           Beachten Sie, dass dh normalerweise die Ausführung von Befehlen, von denen es weiß,
           dass sie nichts tun, überspringt. Mit »--no-act« wird die vollständige Liste der
           Befehle der Reihe nach ausgegeben.

       Andere an dh übergebene Optionen werden an jeden Befehl, den es ausführt, weitergereicht.
       Dies kann benutzt werden, um eine Option wie -v, -X oder -N sowie spezialisiertere
       Optionen zu setzen.

BEISPIELE

       Um zu sehen, welche Befehle in einer Sequenz enthalten sind, ohne tatsächlich etwas zu
       tun, geben Sie Folgendes ein:

               dh binary-arch --no-act

       Dies ist eine einfach »rules«-Datei für Pakete, bei denen die vorgegebenen
       Befehlssequenzen ohne zusätzliche Optionen arbeiten.

               #!/usr/bin/make -f
               %:
                       dh $@

       Oft möchten Sie eine Option an einen speziellen Debhelper-Befehl übergeben. Der einfachste
       Weg, dies zu tun, besteht darin, ein außer Kraft setzendes Ziel für diesen Befehl
       hinzuzufügen.

               #!/usr/bin/make -f
               %:
                       dh $@

               override_dh_strip:
                       dh_strip -Xfoo

               override_dh_auto_configure:
                       dh_auto_configure -- --with-foo --disable-bar

       Manchmal können die automatisierten dh_auto_configure(1) und dh_auto_build(1) nicht
       abschätzen, was für ein merkwürdiges Paket zu tun ist. Hier nun, wie das Ausführen
       vermieden und stattdessen Ihre eigenen Befehle ausgeführt werden.

               #!/usr/bin/make -f
               %:
                       dh $@

               override_dh_auto_configure:
                       ./mondoconfig

               override_dh_auto_build:
                       make universe-explode-in-delight

       Ein weiterer häufiger Fall ist, dass Sie vor oder nach der Ausführung eines besonderen
       Debhelper-Befehls manuell etwas tun möchten.

               #!/usr/bin/make -f
               %:
                       dh $@

               override_dh_fixperms:
                       dh_fixperms
                       chmod 4755 debian/foo/usr/bin/foo

       Python-Werkzeuge werden aufgrund ständiger Änderungen in diesem Bereich nicht
       standardmäßig von dh ausgeführt. Hier wird gezeigt, wie dh_python2 benutzt wird.

               #!/usr/bin/make -f
               %:
                       dh $@ --with python2

       Hier wird gezeigt, wie die Benutzung von Perls Bausystem Module::Build erzwungen wird, was
       nötig sein kann, falls Debhelper fälschlicherweise entdeckt, dass das Programm MakeMaker
       verwendet.

               #!/usr/bin/make -f
               %:
                       dh $@ --buildsystem=perl_build

       Hier ein Beispiel für das außer Kraft setzen, wobei die dh_auto_*-Befehle den
       Paketquelltext für ein Paket finden, bei dem der Quelltext in einem Unterverzeichnis
       liegt.

               #!/usr/bin/make -f
               %:
                       dh $@ --sourcedirectory=src

       Und hier ist ein Beispiel, wie dh_auto_*-Befehlen mitgeteilt wird, dass in einem
       Unterverzeichnis gebaut wird, das mit clean entfernt wird.

               #!/usr/bin/make -f
               %:
                       dh $@ --builddirectory=build

       Falls Ihr Paket parallel gebaut werden kann, benutzen Sie bitte entweder
       Kompatibilitätsmodus 10 oder übergeben Sie --parallel an Dh. Dann wird dpkg-buildpackage
       -j funktionieren.

               #!/usr/bin/make -f
               %:
                       dh $@ --parallel

       Falls Ihr Paket nicht verlässlich unter Verwendung mehrerer Threads gebaut werden kann,
       übergeben Sie bitte --no-parallel an Dh (oder den zuständigen dh_auto_*-Befehl):

               #!/usr/bin/make -f
               %:
                       dh $@ --no-parallel

       Es folgt eine Möglichkeit, die Ausführung mehrerer Befehle, die Sie nicht ausführen
       möchten, durch dh zu verhindern, indem Sie leere, außer Kraft setzende Ziele für jeden
       Befehl definieren.

               #!/usr/bin/make -f
               %:
                       dh $@

               # nicht auszuführende Befehle:
               override_dh_auto_test override_dh_compress override_dh_fixperms:

       Ein langer Bauprozess für ein separates Dokumentationspaket kann durch Benutzung von
       architekturabhängigem außer Kraft setzen abgetrennt werden. Dies wird übersprungen, wenn
       »build-arch«- und »binary-arch«-Sequenzen ausgeführt werden.

               #!/usr/bin/make -f
               %:
                       dh $@

               override_dh_auto_build-indep:
                       $(MAKE) -C docs

               # Keine Tests für Dokumente nötig
               override_dh_auto_test-indep:

               override_dh_auto_install-indep:
                       $(MAKE) -C docs install

       Angenommen, Sie möchten zusätzlich zum vorhergehenden Beispiel Dateimodusbits einer Datei
       ändern, aber nur, wenn Sie ein architekturabhängiges Paket bauen, da es beim Bauen der
       Dokumentation nicht vorhanden ist.

               override_dh_fixperms-arch:
                       dh_fixperms
                       chmod 4755 debian/foo/usr/bin/foo

INTERNA

       Falls Sie neugierig auf die Interna von dh sind, ist hier beschrieben, wie es unter der
       Haube arbeitet.

       Im Kompatibilitätsmodus 10 (oder höher) erzeugt dh eine Stempeldatei
       debian/debhelper-build-stamp, nachdem die Bauschritte abgeschlossen sind, um ein erneutes
       Ausführen zu vermeiden. Es ist möglich, die Stempeldatei zu vermeiden, indem
       --without=build-stamp an dh übergeben wird. Dies sorgt dafür, dass »unsauber« gebaute
       Pakete sich eher so verhalten, wie es manche Leute erwarten. Allerdings wird der Bau und
       das Testen möglicherweise zweimal ausgeführt (das zweite Mal als Root oder unter
       fakeroot(1)).

       Innerhalb eines außer Kraft setzenden Ziels werden dh_*-Befehle eine
       debian/package.debhelper.log-Protokolldatei erzeugen, um den Überblick zu behalten, für
       welche Pakete die Befehle ausgeführt wurden. Diese Protokolldateien werden entfernt,
       sobald die außer Kraft setzenden Ziele erledigt sind.

       Im Kompatibilitätsmodus 9 oder älter wird jeder Debhelper-Befehl in
       debian/package.debhelper.log aufgezeichnet, wenn er erfolgreich ausgeführt wurde. (Was
       durch dh_clean gelöscht wird.) Daher kann dh sagen, welche Befehle bereits für welche
       Pakete ausgeführt wurden und die erneute Ausführung dieser Befehle überspringen.

       Jedesmal, wenn dh (im Kompatibilitätsmodus 9 oder älter) ausgeführt wird, untersucht es
       das Protokoll und findet den zuletzt protokollierten Befehl in der angegebenen Sequenz. Es
       fährt dann mit dem nächsten Befehl in der Sequenz fort. Die Optionen --until, --before,
       --after und --remaining können dieses Verhalten außer Kraft setzen (obwohl sie im
       Kompatibilitätsmodus 10 entfernt wurden).

       Eine Sequenz kann außerdem abhänge Ziele in debian/rules ausführen. Die Sequenz »binary«
       führt zum Beispiel das Ziel »install« aus.

       dh benutzt die Umgebungsvariable DH_INTERNAL_OPTIONS, um Informationen an die Debhelper-
       Befehle durchzureichen, die innerhalb der Ziele ausgeführt werden. Der Inhalt (und die
       tatsächliche Existenz) dieser Umgebungsvariable ist, wie der Name schon andeutet,
       Gegenstand dauernder Änderungen.

       Befehle in den Sequenzen build-indep, install-indep und binary-indep werden an die Option
       -i übergeben, um sicherzustellen, dass sie nur auf architekturunabhängigen Paketen
       funktionieren. Befehle in den Sequenzen build-arch, install-arch und binary-arch werden an
       die Option -a übergeben, um sicherzustellen, dass sie nur auf architekturabhängigen
       Paketen funktionieren.

MISSBILLIGTE OPTIONEN

       Die folgenden Optionen sind veraltet. Es ist wesentlich besser, stattdessen außer Kraft
       setzende Ziele zu verwenden. Sie sind nicht im Kompatibilitätsmodus 10 verfügbar.

       --until Befehl
           führt Befehle in der Sequenz bis einschließlich Befehl aus und stoppt dann.

       --before Befehl
           führt Befehle in der Sequenz vor Befehl aus und stoppt dann.

       --after Befehl
           führt Befehle in der Sequenz aus, die nach Befehl kommen.

       --remaining
           führt alle Befehle in der Sequenz aus, die noch auszuführen sind.

       In den vorhergehenden Optionen kann Befehl ein vollständiger Name eines Debhelper-Befehls
       oder eine Teilzeichenkette sein. Es wird zuerst nach einem Befehl in der Sequenz gesucht,
       die exakt dem Namen entspricht, um jede Mehrdeutigkeit zu vermeiden. Falls mehrere
       Teilzeichenketten passen, wird der letzte in der Sequenz benutzt.

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>