Provided by: debhelper_9.20131227ubuntu1_all
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. To override dh_command, add a target named override_dh_command to the rules file. When it would normally run dh_command, dh will instead call that target. The override target can then run the command with additional options, or run entirely different commands instead. See examples below. 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. --no-act gibt Befehle aus, die für eine angegebene Sequenz ausgeführt würden, führt sie aber nicht aus Note that dh normally skips running commands that it knows will do nothing. With --no-act, the full list of commands in a sequence is printed. 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 Falls Ihr Paket Autotools benutzt und Sie config.sub und config.guess mit neueren Versionen vom Paket autotools-dev zur Bauzeit auffrischen möchten, können Sie einige von autotools-dev bereitgestellten Befehle verwenden, die es wie folgt automatisieren. #!/usr/bin/make -f %: dh $@ --with autotools_dev Python-Werkzeuge werden aufgrund ständiger Änderungen in diesem Bereich nicht standardmäßig von dh ausgeführt. (Vor Kompatibilitätsstufe v9 führt dh dh_pysupport aus.) 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, können Sie das parallele Bauen wie folgt unterstützen. Dann wird dpkg-buildpackage -j funktionieren. #!/usr/bin/make -f %: dh $@ --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. Jeder Debhelper-Befehl wird 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 Befehl überspringen. Jedesmal, wenn dh ausgeführt wird, untersucht es das Protokoll und findet den zuletzt protokollierten Befehl, der in der angegebenen Sequenz ist. Es fährt mit dem nächsten Befehl in der Sequenz fort. Die Optionen --until, --before, --after und --remaining setzten dieses Verhalten außer Kraft. 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 Umgebungsvariableist, 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 missbilligt. Es ist wesentlich besser, stattdessen außer Kraft setzende Ziele zu verwenden. --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 section page_de_man
AUTOR
Joey Hess <joeyh@debian.org>