.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "DH 1"
.TH DH 1 "2019-02-23" "12.1.1" "Debhelper"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
dh \- Debhelper\-Befehls\-Sequenzer
.SH "ÜBERSICHT"
.IX Header "ÜBERSICHT"
\&\fBdh\fR \fISequenz\fR [\fB\-\-with\fR \fIAdd-on\fR[\fB,\fR\fIAdd-on\fR …]] [\fB\-\-list\fR]
[\fIDebhelper-Optionen\fR]
.SH "BESCHREIBUNG"
.IX Header "BESCHREIBUNG"
\&\fBdh\fR führt eine Sequenz von Debhelper-Befehlen aus. Die unterstützten
\&\fISequenz\fRen entsprechen den Zielen einer \fIdebian/rules\fR\-Datei:
\&\fBbuild-arch\fR, \fBbuild-indep\fR, \fBbuild\fR, \fBclean\fR, \fBinstall-indep\fR,
\&\fBinstall-arch\fR, \fBinstall\fR, \fBbinary-arch\fR, \fBbinary-indep\fR und \fBbinary\fR.
.SH "ZIELE AUßER KRAFT SETZEN"
.IX Header "ZIELE AUßER KRAFT SETZEN"
Eine \fIdebian/rules\fR\-Datei, die \fBdh\fR benutzt, kann einen Befehl aus jeder
Sequenz, die ausgeführt wird, außer Kraft setzen, indem ein außer Kraft
setzendes Ziel definiert wird.
.PP
Um \fIdh_Befehl\fR außer Kraft zu setzen, fügen Sie der Datei »rules« ein Ziel
mit Namen \fBoverride_\fR\fIdh_Befehl\fR hinzu. Wenn es normalerweise \fIdh_Befehl\fR
ausführen würde, wird \fBdh\fR 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.
.PP
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 \fBoverride_\fR\fIdh_Befehl\fR\fB\-arch\fR
und \fBoverride_\fR\fIdh_Befehl\fR\fB\-indep\fR. Beachten Sie, dass Sie, um diese
Funktion verwenden zu können, Build-Depend auf Debhelper 8.9.7 oder höher
haben sollten.
.SH "OPTIONEN"
.IX Header "OPTIONEN"
.IP "\fB\-\-with\fR \fIAdd-on\fR[\fB,\fR\fIAdd-on\fR …]" 4
.IX Item "--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 \fI\s-1PROGRAMMING\s0\fR.
.Sp
A \fBBuild-Depends\fR relation on the package \fBdh\-sequence\-\fR\fIaddon\fR implies a
\&\fB\-\-with\fR \fIaddon\fR. This avoids the need for an explicit \fB\-\-with\fR in
\&\fIdebian/rules\fR that only duplicates what is already declared via the build
dependencies in \fIdebian/control\fR. Note that only relations in the
\&\fBBuild-Depends\fR field are considered (i.e. \fBBuild-Depends-Indep\fR and
\&\fBBuild-Depends-Arch\fR are deliberately unsupported). Please keep in mind
that \fBdh\fR insists on \*(L"simple\*(R" relations (e.g. a relation like
"\fBdh\-sequence\-\fR\fIaddon\fR | \fBsome-other-pkg\fR" will \fInot\fR imply \fB\-\-with\fR
\&\fIaddon\fR).
.IP "\fB\-\-without\fR \fIAdd-on\fR" 4
.IX Item "--without Add-on"
das Gegenteil von \fB\-\-with\fR, 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.
.IP "\fB\-\-list\fR, \fB\-l\fR" 4
.IX Item "--list, -l"
listet alle verfügbaren Add-ons auf.
.Sp
Wenn es nur mit dieser Option aufgerufen wird, kann \fBdh\fR aus jedem
Verzeichnis aufgerufen werden (d.h. es benötigt keinen Zugriff auf Dateien
aus einem Quellpaket).
.IP "\fB\-\-no\-act\fR" 4
.IX Item "--no-act"
gibt Befehle aus, die für eine angegebene Sequenz ausgeführt würden, führt
sie aber nicht aus
.Sp
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.
.PP
Andere an \fBdh\fR übergebene Optionen werden an jeden Befehl, den es ausführt,
weitergereicht. Dies kann benutzt werden, um eine Option wie \fB\-v\fR, \fB\-X\fR
oder \fB\-N\fR sowie spezialisiertere Optionen zu setzen.
.SH "BEISPIELE"
.IX Header "BEISPIELE"
Um zu sehen, welche Befehle in einer Sequenz enthalten sind, ohne
tatsächlich etwas zu tun, geben Sie Folgendes ein:
.PP
.Vb 1
\& dh binary\-arch \-\-no\-act
.Ve
.PP
Dies ist eine einfach »rules«\-Datei für Pakete, bei denen die vorgegebenen
Befehlssequenzen ohne zusätzliche Optionen arbeiten.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@
.Ve
.PP
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.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@
\&
\& override_dh_strip:
\& dh_strip \-Xfoo
\&
\& override_dh_auto_configure:
\& dh_auto_configure \-\- \-\-with\-foo \-\-disable\-bar
.Ve
.PP
Manchmal können die automatisierten \fBdh_auto_configure\fR\|(1) und
\&\fBdh_auto_build\fR\|(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.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@
\&
\& override_dh_auto_configure:
\& ./mondoconfig
\&
\& override_dh_auto_build:
\& make universe\-explode\-in\-delight
.Ve
.PP
Ein weiterer häufiger Fall ist, dass Sie vor oder nach der Ausführung eines
besonderen Debhelper-Befehls manuell etwas tun möchten.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@
\&
\& override_dh_fixperms:
\& dh_fixperms
\& chmod 4755 debian/foo/usr/bin/foo
.Ve
.PP
Python-Werkzeuge werden aufgrund ständiger Änderungen in diesem Bereich
nicht standardmäßig von dh ausgeführt. Hier wird gezeigt, wie \fBdh_python2\fR
benutzt wird.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@ \-\-with python2
.Ve
.PP
Hier wird gezeigt, wie die Benutzung von Perls Bausystem \fBModule::Build\fR
erzwungen wird, was nötig sein kann, falls Debhelper fälschlicherweise
entdeckt, dass das Programm MakeMaker verwendet.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@ \-\-buildsystem=perl_build
.Ve
.PP
Hier ein Beispiel für das außer Kraft setzen, wobei die
\&\fBdh_auto_\fR\fI*\fR\-Befehle den Paketquelltext für ein Paket finden, bei dem der
Quelltext in einem Unterverzeichnis liegt.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@ \-\-sourcedirectory=src
.Ve
.PP
Und hier ist ein Beispiel, wie \fBdh_auto_\fR\fI*\fR\-Befehlen mitgeteilt wird,
dass in einem Unterverzeichnis gebaut wird, das mit \fBclean\fR entfernt wird.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@ \-\-builddirectory=build
.Ve
.PP
Falls Ihr Paket parallel gebaut werden kann, benutzen Sie bitte entweder
Kompatibilitätsmodus 10 oder übergeben Sie \fB\-\-parallel\fR an Dh. Dann wird
\&\fBdpkg-buildpackage \-j\fR funktionieren.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@ \-\-parallel
.Ve
.PP
Falls Ihr Paket nicht verlässlich unter Verwendung mehrerer Threads gebaut
werden kann, übergeben Sie bitte \fB\-\-no\-parallel\fR an Dh (oder den
zuständigen \fBdh_auto_\fR\fI*\fR\-Befehl):
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@ \-\-no\-parallel
.Ve
.PP
Es folgt eine Möglichkeit, die Ausführung mehrerer Befehle, die Sie nicht
ausführen möchten, durch \fBdh\fR zu verhindern, indem Sie leere, außer Kraft
setzende Ziele für jeden Befehl definieren.
.PP
.Vb 3
\& #!/usr/bin/make \-f
\& %:
\& dh $@
\&
\& # nicht auszuführende Befehle:
\& override_dh_auto_test override_dh_compress override_dh_fixperms:
.Ve
.PP
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.
.PP
.Vb 3
\& #!/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
.Ve
.PP
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.
.PP
.Vb 3
\& override_dh_fixperms\-arch:
\& dh_fixperms
\& chmod 4755 debian/foo/usr/bin/foo
.Ve
.SH "INTERNA"
.IX Header "INTERNA"
Falls Sie neugierig auf die Interna von \fBdh\fR sind, ist hier beschrieben,
wie es unter der Haube arbeitet.
.PP
Im Kompatibilitätsmodus 10 (oder höher) erzeugt \fBdh\fR eine Stempeldatei
\&\fIdebian/debhelper\-build\-stamp\fR, nachdem die Bauschritte abgeschlossen sind,
um ein erneutes Ausführen zu vermeiden. Es ist möglich, die Stempeldatei zu
vermeiden, indem \fB\-\-without=build\-stamp\fR an \fBdh\fR ü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 \fBfakeroot\fR\|(1)).
.PP
Innerhalb eines außer Kraft setzenden Ziels werden \fBdh_*\fR\-Befehle eine
\&\fIdebian/package.debhelper.log\fR\-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.
.PP
Im Kompatibilitätsmodus 9 oder älter wird jeder Debhelper-Befehl in
\&\fIdebian/package.debhelper.log\fR aufgezeichnet, wenn er erfolgreich
ausgeführt wurde. (Was durch \fBdh_clean\fR gelöscht wird.) Daher kann \fBdh\fR
sagen, welche Befehle bereits für welche Pakete ausgeführt wurden und die
erneute Ausführung dieser Befehle überspringen.
.PP
Jedesmal, wenn \fBdh\fR (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 \fB\-\-until\fR, \fB\-\-before\fR, \fB\-\-after\fR und
\&\fB\-\-remaining\fR können dieses Verhalten außer Kraft setzen (obwohl sie im
Kompatibilitätsmodus 10 entfernt wurden).
.PP
Eine Sequenz kann außerdem abhänge Ziele in debian/rules ausführen. Die
Sequenz »binary« führt zum Beispiel das Ziel »install« aus.
.PP
\&\fBdh\fR benutzt die Umgebungsvariable \fB\s-1DH_INTERNAL_OPTIONS\s0\fR, 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.
.PP
Befehle in den Sequenzen \fBbuild-indep\fR, \fBinstall-indep\fR und
\&\fBbinary-indep\fR werden an die Option \fB\-i\fR übergeben, um sicherzustellen,
dass sie nur auf architekturunabhängigen Paketen funktionieren. Befehle in
den Sequenzen \fBbuild-arch\fR, \fBinstall-arch\fR und \fBbinary-arch\fR werden an
die Option \fB\-a\fR übergeben, um sicherzustellen, dass sie nur auf
architekturabhängigen Paketen funktionieren.
.SH "MISSBILLIGTE OPTIONEN"
.IX Header "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.
.IP "\fB\-\-until\fR \fIBefehl\fR" 4
.IX Item "--until Befehl"
führt Befehle in der Sequenz bis einschließlich \fIBefehl\fR aus und stoppt
dann.
.IP "\fB\-\-before\fR \fIBefehl\fR" 4
.IX Item "--before Befehl"
führt Befehle in der Sequenz vor \fIBefehl\fR aus und stoppt dann.
.IP "\fB\-\-after\fR \fIBefehl\fR" 4
.IX Item "--after Befehl"
führt Befehle in der Sequenz aus, die nach \fIBefehl\fR kommen.
.IP "\fB\-\-remaining\fR" 4
.IX Item "--remaining"
führt alle Befehle in der Sequenz aus, die noch auszuführen sind.
.PP
In den vorhergehenden Optionen kann \fIBefehl\fR 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.
.SH "SIEHE AUCH"
.IX Header "SIEHE AUCH"
\&\fBdebhelper\fR\|(7)
.PP
Dieses Programm ist Teil von Debhelper.
.SH "ÜBERSETZUNG"
.IX Header "ÜBERSETZUNG"
Diese Übersetzung wurde mit dem Werkzeug
\&\fBpo4a\fR
durch Chris Leick
\&\fIc.leick@vollbio.de\fR
und das deutsche Debian\-Übersetzer\-Team im
Dezember 2011 erstellt.
.PP
Bitte melden Sie alle Fehler in der Übersetzung an
\&\fIdebian\-l10n\-german@lists.debian.org\fR
oder als Fehlerbericht an das Paket
\&\fIdebhelper\fR.
.PP
Sie können mit dem folgenden Befehl das englische
Original anzeigen
man \-L en Abschnitt Handbuchseite
.SH "AUTOR"
.IX Header "AUTOR"
Joey Hess