.\" Automatically generated by Pod::Man 4.11 (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 "debhelper 7"
.TH debhelper 7 "2020-03-27" "12.10ubuntu1" "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"
debhelper \- die Debhelper\-Werkzeugsammlung
.SH "ÜBERSICHT"
.IX Header "ÜBERSICHT"
\&\fBdh_\fR\fI*\fR [\fB\-v\fR] [\fB\-a\fR] [\fB\-i\fR] [\fB\-\-no\-act\fR] [\fB\-p\fR\fIPaket\fR]
[\fB\-N\fR\fIPaket\fR] [\fB\-P\fR\fItemporäres_Verzeichnis\fR]
.SH "BESCHREIBUNG"
.IX Header "BESCHREIBUNG"
Debhelper wird benutzt, um Ihnen beim Bau eines Debian-Pakets zu helfen. Die
Philosophie hinter Debhelper ist, eine kleine, einfach und leicht
verständliche Werkzeugsammlung bereitzustellen, die in \fIdebian/rules\fR
verwandt wird, um verschiedene geläufige Aspekte der Paketerstellung zu
automatisieren. Dies bedeutet für Sie als Paketierer weniger
Arbeit. Außerdem heißt das zu einem gewissen Grad, dass diese Werkzeuge
geändert werden können, wenn sich die Debian-Richtlinie ändert und Pakete,
die sie heranziehen, nur neu gebaut werden müssen, um ihr zu entsprechen.
.PP
Eine typische \fIdebian/rules\fR\-Datei, die Debhelper benutzt, wird mehrere
Debhelper-Befehle hintereinander aufrufen oder \fBdh\fR\|(1) verwenden, um diesen
Prozess zu automatisieren. Beispiele für Regeldateien, die Debhelper
einsetzen, liegen in \fI/usr/share/doc/debhelper/examples/\fR.
.PP
Um ein neues Debian-Paket unter Benutzung von Debhelper zu erstellen, können
Sie einfach eine Beispielregeldatei kopieren und manuell bearbeiten. Oder
Sie können das Paket \fBdh-make\fR ausprobieren, das einen
dh_make\-Befehl enthält, der den Prozess teilweise
automatisiert. Für eine behutsamere Einführung enthält das Paket
\&\fBmaint-guide\fR ein Lernprogramm, wie Sie Ihr erstes Paket unter Verwendung
von Debhelper erstellen.
.PP
Wo das Werkzeug es nicht ausdrücklich anders kennzeichnet, gehen alle
Debhelper-Werkzeuge davon aus, dass sie aus dem Wurzelverzeichnis eines
entpackten Quellpakets ausgeführt werden. Dadurch können Sie dann, wenn
notwendig, Dateien wie \fIdebian/control\fR finden.
.SH "DEBHELPER-BEFEHLE"
.IX Header "DEBHELPER-BEFEHLE"
Hier ist die Liste der Debhelper-Befehle, die Sie benutzen
können. Zusätzliche Dokumentation finden Sie in deren Handbuchseiten.
.IP "\fBdh_auto_build\fR\|(1)" 4
.IX Item "dh_auto_build"
baut ein Paket automatisch
.IP "\fBdh_auto_clean\fR\|(1)" 4
.IX Item "dh_auto_clean"
räumt nach dem Bauen automatisch auf
.IP "\fBdh_auto_configure\fR\|(1)" 4
.IX Item "dh_auto_configure"
konfiguriert das Paket automatisch vor dem Bauen.
.IP "\fBdh_auto_install\fR\|(1)" 4
.IX Item "dh_auto_install"
führt »make install« oder Ähnliches aus
.IP "\fBdh_auto_test\fR\|(1)" 4
.IX Item "dh_auto_test"
führt automatisch die Test-Suites eines Programms aus
.IP "\fBdh_bugfiles\fR\|(1)" 4
.IX Item "dh_bugfiles"
installiert Dateien zur Anpassung von Fehlerberichten in
Bauverzeichnisse von Paketen.
.IP "\fBdh_builddeb\fR\|(1)" 4
.IX Item "dh_builddeb"
baut binäre Debian-Pakete
.IP "\fBdh_clean\fR\|(1)" 4
.IX Item "dh_clean"
räumt die Bauverzeichnisse des Pakets auf
.IP "\fBdh_compress\fR\|(1)" 4
.IX Item "dh_compress"
komprimiert Dateien und feste symbolische Links in
Bauverzeichnissen von Paketen
.IP "\fBdh_dwz\fR\|(1)" 4
.IX Item "dh_dwz"
optimiert DWARF-Fehlersuchinformationen in ELF\-Binärdateien über
dwz
.IP "\fBdh_fixperms\fR\|(1)" 4
.IX Item "dh_fixperms"
korrigiert Zugriffsrechte von Dateien in Bauverzeichnissen
.IP "\fBdh_gencontrol\fR\|(1)" 4
.IX Item "dh_gencontrol"
erzeugt und installiert die Datei »control«
.IP "\fBdh_icons\fR\|(1)" 4
.IX Item "dh_icons"
aktualisiert die Zwischenspeicher von Freedesktop-Symbolen
.IP "\fBdh_install\fR\|(1)" 4
.IX Item "dh_install"
installiert Dateien in Bauverzeichnisse von Paketen
.IP "\fBdh_installcatalogs\fR\|(1)" 4
.IX Item "dh_installcatalogs"
installiert und registriert SGML-Kataloge
.IP "\fBdh_installchangelogs\fR\|(1)" 4
.IX Item "dh_installchangelogs"
installiert Changelogs in die Paketbauverzeichnisse
.IP "\fBdh_installcron\fR\|(1)" 4
.IX Item "dh_installcron"
installiert Cron-Skripte in etc/cron.*
.IP "\fBdh_installdeb\fR\|(1)" 4
.IX Item "dh_installdeb"
installiert Dateien in das Verzeichnis \s-1DEBIAN.\s0
.IP "\fBdh_installdebconf\fR\|(1)" 4
.IX Item "dh_installdebconf"
installiert Dateien, die von Debconf im
Paketbauverzeichnis benutzt werden
.IP "\fBdh_installdirs\fR\|(1)" 4
.IX Item "dh_installdirs"
erstellt Unterverzeichnisse in den Paketbauverzeichnissen
.IP "\fBdh_installdocs\fR\|(1)" 4
.IX Item "dh_installdocs"
installiert Dokumentation in Paketbauverzeichnisse
.IP "\fBdh_installemacsen\fR\|(1)" 4
.IX Item "dh_installemacsen"
registriert ein Emacs-Add-on-Paket
.IP "\fBdh_installexamples\fR\|(1)" 4
.IX Item "dh_installexamples"
installiert Beispieldateien in die
Paketbauverzeichnisse.
.IP "\fBdh_installifupdown\fR\|(1)" 4
.IX Item "dh_installifupdown"
installiert »if\-up«\- und »if\-down«\-Hooks.
.IP "\fBdh_installinfo\fR\|(1)" 4
.IX Item "dh_installinfo"
installiert Info-Dateien
.IP "\fBdh_installinit\fR\|(1)" 4
.IX Item "dh_installinit"
installiert Dienstinitialisierungsdateien in
Paketbauverzeichnisse
.IP "\fBdh_installinitramfs\fR\|(1)" 4
.IX Item "dh_installinitramfs"
installiert Initramfs-Hooks und
Einrichtungsverwaltungsskripte
.IP "\fBdh_installlogcheck\fR\|(1)" 4
.IX Item "dh_installlogcheck"
installiert Regeldateien zur Protokollprüfung in
etc/logcheck/
.IP "\fBdh_installlogrotate\fR\|(1)" 4
.IX Item "dh_installlogrotate"
installiert Konfigurationsdateien von Logrotate
.IP "\fBdh_installman\fR\|(1)" 4
.IX Item "dh_installman"
installiert Handbuchseiten in Paketbauverzeichnisse
.IP "\fBdh_installmenu\fR\|(1)" 4
.IX Item "dh_installmenu"
installiert Debian\-Menü\-Dateien in Paketbauverzeichnisse
.IP "\fBdh_installmime\fR\|(1)" 4
.IX Item "dh_installmime"
installiert MIME-Dateien in Paketbauverzeichnisse
.IP "\fBdh_installmodules\fR\|(1)" 4
.IX Item "dh_installmodules"
registriert Kernel-Module
.IP "\fBdh_installpam\fR\|(1)" 4
.IX Item "dh_installpam"
installiert \s-1PAM\s0 unterstützende Dateien
.IP "\fBdh_installppp\fR\|(1)" 4
.IX Item "dh_installppp"
installiert PPP\-ip\-up\- und \-ip\-down\-Dateien
.IP "\fBdh_installudev\fR\|(1)" 4
.IX Item "dh_installudev"
installiert udev-Regeldateien
.IP "\fBdh_installwm\fR\|(1)" 4
.IX Item "dh_installwm"
registriert einen Fenstermanager
.IP "\fBdh_installxfonts\fR\|(1)" 4
.IX Item "dh_installxfonts"
registriert X\-Schriften
.IP "\fBdh_link\fR\|(1)" 4
.IX Item "dh_link"
erzeugt symbolische Links in Paketbauverzeichnisse
.IP "\fBdh_lintian\fR\|(1)" 4
.IX Item "dh_lintian"
installiert außer Kraft setzende Dateien für Lintian in
Paketbauverzeichnisse
.IP "\fBdh_listpackages\fR\|(1)" 4
.IX Item "dh_listpackages"
listet Binärpakete auf, auf die Dephelper einwirken wird
.IP "\fBdh_makeshlibs\fR\|(1)" 4
.IX Item "dh_makeshlibs"
erstellt automatisch die Shlibs-Datei und ruft
dpkg-gensymbols auf
.IP "\fBdh_md5sums\fR\|(1)" 4
.IX Item "dh_md5sums"
erzeugt die Datei DEBIAN/md5sums
.IP "\fBdh_movefiles\fR\|(1)" 4
.IX Item "dh_movefiles"
verschiebt Dateien aus debian/tmp in Unterpakete
.IP "\fBdh_perl\fR\|(1)" 4
.IX Item "dh_perl"
berechnet Perl\-Abhängigkeiten und räumt nach MakeMaker auf
.IP "\fBdh_prep\fR\|(1)" 4
.IX Item "dh_prep"
führt Säuberungsaktionen als Vorbereitung des Baus von
Binärpaketen durch
.IP "\fBdh_shlibdeps\fR\|(1)" 4
.IX Item "dh_shlibdeps"
berechnet Abhängigkeiten gemeinsam benutzter Bibliotheken
.IP "\fBdh_strip\fR\|(1)" 4
.IX Item "dh_strip"
entfernt Symbole aus Programmen, gemeinsam benutzten Bibliotheken
und einigen statischen Bibliotheken
.IP "\fBdh_systemd_enable\fR\|(1)" 4
.IX Item "dh_systemd_enable"
aktiviert/deaktiviert Systemd-Unit-Dateien
.IP "\fBdh_systemd_start\fR\|(1)" 4
.IX Item "dh_systemd_start"
startet/stoppt oder startet Systemd-Unit-Dateien erneut
.IP "\fBdh_testdir\fR\|(1)" 4
.IX Item "dh_testdir"
Verzeichnis vor dem Bauen des Debian-Pakets testen
.IP "\fBdh_testroot\fR\|(1)" 4
.IX Item "dh_testroot"
stellt sicher, dass ein Paket mit der notwendigen Stufe von
Root-Rechten gebaut wird.
.IP "\fBdh_usrlocal\fR\|(1)" 4
.IX Item "dh_usrlocal"
migriert usr/local\-Verzeichnisse zu Betreuerskripten
.SS "Missbilligte Befehle"
.IX Subsection "Missbilligte Befehle"
Ein paar Debhelper-Befehle sind veraltet und sollten nicht benutzt werden.
.IP "\fBdh_gconf\fR\|(1)" 4
.IX Item "dh_gconf"
installiert Standard-GConf-Dateien und registriert Schemen
(missbilligt)
.IP "\fBdh_installmanpages\fR\|(1)" 4
.IX Item "dh_installmanpages"
Handbuchseiteninstallationsprogramm im alten Stil
(veraltet)
.SS "Weitere Befehle"
.IX Subsection "Weitere Befehle"
Falls ein Programmname mit \fBdh_\fR beginnt und das Programm nicht auf obiger
Liste steht, dann ist es nicht Teil des Debhelper-Pakets, sollte aber
trotzdem wie die anderen auf dieser Seite beschriebenen Programme
funktionieren.
.SH "DEBHELPER-KONFIGURATIONSDATEIEN"
.IX Header "DEBHELPER-KONFIGURATIONSDATEIEN"
Viele Debhelper-Befehle machen von den Dateien in \fIdebian/\fR Gebrauch, um zu
steuern, was sie tun. Neben den üblichen \fIdebian/changelog\fR und
\&\fIdebian/control\fR, die in allen Paketen enthalten sind, nicht nur in denen,
die Debhelper benutzen, können einige zusätzliche Dateien verwandt werden,
um das Verhalten bestimmter Debhelper-Befehle zu konfigurieren. Diese
Dateien heißen üblicherweise debian/\fIPaket\fR.foo (wobei \fIPaket\fR natürlich
durch das Paket ersetzt wird, auf das es sich auswirkt).
.PP
\&\fBdh_installdocs\fR benutzt beispielsweise Dateien mit dem Namen
\&\fIdebian/package.docs\fR, um die Dokumentationsdateien aufzulisten, die es
installieren wird. Lesen Sie die Handbuchseiten der einzelnen Befehle, um
Einzelheiten über die Namen und Formate der Dateien zu erhalten, die sie
verwenden. Im Allgemeinen werden diese Dateien Dateien auflisten, auf die
sie einwirken, eine Datei pro Zeile. Einige Programme in Debhelper bedienen
sich Paaren von Dateien und Zielen oder etwas kompiziertere Formate.
.PP
Beachten Sie, dass Debhelper für das erste (oder einzige) in
\&\fIdebian/control\fR aufgeführte Binärpaket \fIdebian/foo\fR benutzen wird, wenn
es keine \fIdebian/\fIPaket\fI.foo\fR\-Datei gibt. Oft ist es jedoch eine gute
Idee, das Präfix \fI\fIPaket\fI.\fR zu behalten, da es eindeutiger ist. Die
Hauptausnahme davon bilden Dateien, die Debhelper standardmäßig in jedem
Binärpaket installiert, wenn es kein Paketpräfix besitzt (wie
\&\fIdebian/copyright\fR oder \fIdebian/changelog\fR).
.PP
In einigen seltenen Fällen möchten Sie möglicherweise unterschiedliche
Versionen dieser Dateien für unterschiedliche Architekturen oder
Betriebssysteme haben. Falls Dateien mit den Namen
debian/\fIPaket\fR.foo.\fI\s-1ARCHITEKTUR\s0\fR oder
debian/\fIPaket\fR.foo.\fI\s-1BETRIEBSSYSTEM\s0\fR existieren, wobei \fI\s-1ARCHITEKTUR\s0\fR und
\&\fI\s-1BETRIEBSSYSTEM\s0\fR der Ausgabe von »\fBdpkg-architecture \-qDEB_HOST_ARCH_OS\fR«
entsprechen, dann werden sie gegenüber anderen, allgemeineren Dateien,
bevorzugt.
.PP
Meist werden diese Konfigurationsdateien benutzt, um verschiedene Typen von
Dateien anzugeben – zu installierende Dokumentations\- oder Beispieldateien,
Dateien zum Verschieben und so weiter. Wenn es in Fällen wie diesem
zweckmäßig ist, können Sie die Standardplatzhalterzeichen der Shell in den
Dateien verwenden (\fB?\fR, \fB*\fR und \fB[\fR\fI..\fR\fB]\fR\-Zeichenklassen). Sie können
außerdem Kommentare in diese Dateien einfügen; Zeilen, die mit \fB#\fR
beginnen, werden ignoriert.
.PP
Die Syntax dieser Dateien ist absichtlich sehr einfach gehalten, um sie
leicht lesbar, verständlich und änderbar zu machen.
.SS "Ersetzungen in Debhelper-Konfigurationsdateien"
.IX Subsection "Ersetzungen in Debhelper-Konfigurationsdateien"
In Kompatibilitätsstufe 13 und neuer ist es möglich, einfache Ersetzungen in
\&\fIeinigen\fR Debhelper-Konfigurationsdateien zu benutzen (insbesondere in
Konfigurationsdateien für \fBdh_install\fR\|(1)).
.PP
Alle Ersetzungsvariablen haben die Form \fI${foo}\fR und die Klammern sind
Pflicht. Variablennamen berücksichtigen Groß\- und Kleinschreibung und
bestehen aus alphanumerischen Zeichen (a\-zA\-Z0\-9), Bindestrichen (\-),
Unterstrichen (_) sowie Doppelpunkten (:). Das erst Zeichen muss
alphanumerisch sein.
.PP
Falls Sie ein Dollarzeichen benötigen, das kein Ersetzen auslösen kann,
können Sie entweder die \fB${Dollar}\fR\-Ersetzung oder die Sequenz \fB${}\fR
verwenden.
.PP
Die folgenden Expandierungen sind verfügbar:
.IP "\fBDEB_HOST_*\fR, \fBDEB_BUILD_*\fR, \fBDEB_TARGET_*\fR" 4
.IX Item "DEB_HOST_*, DEB_BUILD_*, DEB_TARGET_*"
expandiert auf den passenden \fBdpkg\-architecture\fR\|(1)\-Wert (ähnlich
\&\fIdpkg-architecture \-qVARIABLE_HIER\fR).
.Sp
Im Zweifel ist die Variante \fBDEB_HOST_*\fR diejenige, die sowohl für natives
als auch für Bauen für andere Architekturen funktioniert.
.Sp
Aus Leistungsgründen wird Debhelper versuchen, diese Namen aus der Umgebung
aufzulösen, bevor es Rat bei \fBdpkg\-architecture\fR\|(1) sucht. Dies ist
hauptsächlich der Vollständigkeit halber erwähnt und hat in den meisten
Fällen keine Bedeutung.
.IP "\fBDollar\fR" 4
.IX Item "Dollar"
expandiert auf ein einzelnes \fB$\fR\-Symbol. Dieses Symbol wird \fIniemals\fR als
Teil der Ersetzungsvariable angesehen. Dies bedeutet:
.Sp
.Vb 4
\&   # löst einen Fehler aus
\&   ${KEINE_DERARTIGE_MARKIERUNG}
\&   # expandiert auf den genauen Wert »${KEINE_DERARTIGE_MARKIERUNG}«
\&   ${Dollar}{KEINE_DERARTIGE_MARKIERUNG}
.Ve
.Sp
Diese Variable entspricht der Sequenz \fB${}\fR und beides kann synonym benutzt
werden.
.IP "\fBNewline\fR, \fBSpace\fR, \fBTab\fR" 4
.IX Item "Newline, Space, Tab"
expandiert auf einen einzelnen ASCII-Zeilenumbruch, Leerzeichen
beziehungsweise Tabulator.
.Sp
Dies kann nützlich sein, wenn Sie ein Leerraumzeichen (z.B. Leerzeichen)
einfügen möchten, wo es andernfalls entfernt oder als Trennzeichen benutzt
würde.
.IP "\fBenv:\f(BI\s-1NAME\s0\fB\fR" 4
.IX Item "env:NAME"
expandiert die Umgebungsvariable \fI\s-1NAME\s0\fR. Die Umgebungsvariable muss gesetzt
sein (kann aber auf eine leere Zeichenkette gesetzt sein).
.PP
Beachten Sie, dass alle Variablen auf einen definierten Wert expandiert
werden müssen. Wenn Debhelper beispielsweise \fI${env:FOO}\fR sieht, wird es
darauf bestehen, dass die Umgebungsvariable \fI\s-1FOO\s0\fR gesetzt ist (sie kann auf
eine leere Zeichenkette gesetzt werden).
.PP
\fIErsetzungsbeschränkungen\fR
.IX Subsection "Ersetzungsbeschränkungen"
.PP
Um Endlosschleifen und Ressourcenverschwendung zu vermeiden, wird Debhelper
mit einer Fehlermeldung stoppen, falls der Text viele Ersetzungsvariablen
(50) enthält oder sie über eine bestimmte Größe expandieren (4096 Zeichen
oder die dreifache Länge des Originaleingabe \- je nachdem, was größer ist).
.SS "Ausführbare Debhelper-Konfigurationsdateien"
.IX Subsection "Ausführbare Debhelper-Konfigurationsdateien"
Falls Sie zusätzliche Flexibilität benötigen, unterstützen viele
Debhelper-Werkzeuge (z.B. \fBdh_install\fR\|(1)) die Ausführung einer
Konfigurationsdatei als Skript.
.PP
Um diese Funktionalität zu benutzen, markieren Sie die Konfigurationsdatei
einfach als ausführbar (z.B. \fBchmod +x debian/\f(BIPaket\fB.install\fR) und
das Werkzeug wird versuchen, es auszuführen und die Ausgabe des Skripts zu
verwenden. In vielen Fällen können Sie auch \fBdh\-exec\fR\|(1) als Interpreter
der Konfigurationsdatei verwenden, um das Meiste der Originalsyntax
beizubehalten, obwohl Sie die zusätzliche Flexibilität wie gewünscht
erhalten.
.PP
Wenn Sie ausführbare Debhelper-Konfigurationsdateien verwenden, sollten Sie
bitte Folgendes wissen:
.IP "\(bu" 4
Die ausführbare Konfigurationsdatei \fBmuss\fR erfolgreich enden (d.h. der
Rückgabewert sollte einen Erfolg anzeigen).
.IP "\(bu" 4
Auf Kompatibilitätsstufen über 13 unterliegt die Ausgabe Ersetzungen (siehe
\&\*(L"Ersetzungen in Debhelper-Konfigurationsdateien\*(R"), wenn das Werkzeug diese
unterstützt. Denken Sie daran, dass Sie vorsichtig sein müssen, falls Ihr
Generator \fIauch\fR Ersetzungen bereitstellt, da dies zu unnötiger Verwirrung
führen kann.
.Sp
Andernfalls wird die Ausgabe exakt so benutzt, wie sie ist. Insbesondere
wird Debhelper Platzhalter \fInicht\fR expandieren oder Kommentare und
Leerzeichen aus der Ausgabe entfernen.
.PP
Falls Sie das Paket auf einem Dateisystem bauen, auf dem Sie das
Ausführungsbit nicht deaktivieren können, können Sie \fBdh\-exec\fR\|(1) und sein
Skript \fBstrip-output\fR verwenden.
.SH "GEMEINSAM BENUTZTE DEBHELPER-OPTIONEN"
.IX Header "GEMEINSAM BENUTZTE DEBHELPER-OPTIONEN"
Die folgenden Befehlszeilenoptionen werden von allen Debhelper-Programmen
unterstützt.
.IP "\fB\-v\fR, \fB\-\-verbose\fR" 4
.IX Item "-v, --verbose"
Detailreicher Modus: zeigt alle Befehle, die das Paketbauverzeichnis ändern
.IP "\fB\-\-no\-act\fR" 4
.IX Item "--no-act"
tut nicht wirklich etwas. Falls es mit \-v benutzt wird, wird als Ergebnis
ausgegeben, was der Befehl getan hätte.
.IP "\fB\-a\fR, \fB\-\-arch\fR" 4
.IX Item "-a, --arch"
wirkt sich auf architekturabhängige Pakete aus, die für die Architektur
\&\fB\s-1DEB_HOST_ARCH\s0\fR gebaut werden sollen.
.IP "\fB\-i\fR, \fB\-\-indep\fR" 4
.IX Item "-i, --indep"
wirkt sich auf alle architekturunabhängigen Pakete aus.
.IP "\fB\-p\fR\fIPaket\fR, \fB\-\-package=\fR\fIPaket\fR" 4
.IX Item "-pPaket, --package=Paket"
wirkt sich auf das Paket mit Namen \fIPaket\fR aus. Diese Option kann mehrfach
angegeben werden, damit Debhelper mit einer Zusammenstellung von Paketen
arbeitet.
.IP "\fB\-s\fR, \fB\-\-same\-arch\fR" 4
.IX Item "-s, --same-arch"
missbilligter Alias von \fB\-a\fR.
.Sp
Die Option wurde in Kompatibilitätsstufe 12 entfernt.
.IP "\fB\-N\fR\fIPaket\fR, \fB\-\-no\-package=\fR\fIPaket\fR" 4
.IX Item "-NPaket, --no-package=Paket"
verhindert Auswirkungen auf das angegebene Paket, sogar wenn die Optionen
\&\fB\-a\fR, \fB\-i\fR oder \fB\-p\fR das Paket als zu verarbeiten auflisten.
.IP "\fB\-\-remaining\-packages\fR" 4
.IX Item "--remaining-packages"
wirkt sich nicht auf die Pakete aus, auf die sich dieser Debhelper-Befehl
bereits ausgewirkt hat (d.h. falls der Befehl im Debhelper-Protokoll des
Pakets auftaucht). Falls Sie zum Beispiel den Befehl mit speziellen Optionen
für nur ein paar Binärakete aufrufen müssen, geben Sie diese Option beim
letzten Aufruf des Befehls an, um die restlichen Pakete mit
Standardeinstellungen zu verarbeiten.
.IP "\fB\-P\fR\fItemporäres_Verzeichnis\fR, \fB\-\-tmpdir=\fR\fItemporäres_Verzeichnis\fR" 4
.IX Item "-Ptemporäres_Verzeichnis, --tmpdir=temporäres_Verzeichnis"
benutzt \fItemporäres_Verzeichnis\fR als Bauverzeichnis des
Pakets. Voreinstellung ist debian/\fIPaket\fR.
.IP "\fB\-\-mainpackage=\fR\fIPaket\fR" 4
.IX Item "--mainpackage=Paket"
Diese selten benutzte Option ändert, welches Paket Debhelper als
»Hauptpaket« ansieht, sprich das erste in \fIdebian/control\fR aufgeführte und
das, für das \fIdebian/foo\fR\-Dateien, statt der üblichen
\&\fIdebian/Paket.foo\fR\-Dateien, verwandt werden können.
.IP "\fB\-O=\fR\fIOption\fR|\fIBündel\fR" 4
.IX Item "-O=Option|Bündel"
Dies wird von \fBdh\fR\|(1) verwandt, wenn benutzerdefinierte Optionen an alle
von ihm ausgeführten Befehle weitergereicht werden. Falls der Befehl die
angegebene Option oder das Bündel von Optionen unterstützt, kommt er zum
Tragen. Falls der Befehl (oder irgend ein Teil eines Optionenbündels) den
Befehl nicht unterstützt, wird er ignoriert.
.SH "HÄUFIGE DEBHELPER-OPTIONEN"
.IX Header "HÄUFIGE DEBHELPER-OPTIONEN"
Die folgende Befehlszeile wird von einigen Debhelper-Programmen
unterstützt. Eine vollständige Erklärung, was jede Option tut, finden Sie in
den Handbuchseiten jedes einzelnen Programms.
.IP "\fB\-n\fR" 4
.IX Item "-n"
verändert keine \fIpostinst\fR\-, \fIpostrm\fR\- etc. Skripte
.IP "\fB\-X\fR\fIElement\fR, \fB\-\-exclude=\fR\fIElement\fR" 4
.IX Item "-XElement, --exclude=Element"
schließt ein Element von der Verarbeitung aus. Diese Option kann mehrfach
benutzt werden, um mehr als nur eins auszuschließen. Das <Element> ist
üblicherweise Teil eines Dateinamens und jede Datei, die den angegebenen
Text enthält, wird ausgeschlossen.
.IP "\fB\-A\fR, \fB\-\-all\fR" 4
.IX Item "-A, --all"
bewirkt, dass Dateien oder andere Elemente, die auf der Befehlszeile
angegeben wurden, sich in \s-1ALLEN\s0 entsprechenden Paketen auswirken, nicht nur
im ersten.
.SH "BAUSYSTEMOPTIONEN"
.IX Header "BAUSYSTEMOPTIONEN"
Die folgenden Befehlszeilenoptionen werden von allen
\&\fBdh_auto_\fR\fI*\fR\-Debhelper\-Ptogrammen unterstützt. Diese Programme
unterstützen eine Vielzahl von Bausystemen und bestimmen normalerweise
heuristisch, welches benutzt werden soll und wie es verwendet wird. Sie
können diese Befehlszeilenoptionen nutzen, um das Standardverhalten zu
ändern. Typischerweise werden sie an \fBdh\fR\|(1) übergeben, das sie dann an all
die \fBdh_auto_\fR\fI*\fR\-Programme übergibt.
.IP "\fB\-S\fR\fIBausystem\fR, \fB\-\-buildsystem=\fR\fIBausystem\fR" 4
.IX Item "-SBausystem, --buildsystem=Bausystem"
erzwingt die Benutzung des angegebenen \fIBausystem\fRs, anstatt zu versuchen,
automatisch eins auszuwählen, das für das Paket geeignet sein könnte.
.Sp
übergibt \fBnone\fR als \fIBausystem\fR, um automatisches Auswählen zu
deaktivieren.
.IP "\fB\-D\fR\fIVerzeichnis\fR, \fB\-\-sourcedir=\fR\fIVerzeichnis\fR, \fB\-\-sourcedirectory=\fR\fIVerzeichnis\fR" 4
.IX Item "-DVerzeichnis, --sourcedir=Verzeichnis, --sourcedirectory=Verzeichnis"
geht davon aus, dass der Quellverzeichnisbaum des Originalpakets im
angegebenen \fIVerzeichnis\fR, anstatt auf der obersten Verzeichnisebene des
Debian-Quellpaketverzeichnisbaums, liegt.
.IP "\fB\-B\fR[\fIVerzeichnis\fR], \fB\-\-builddir\fR[\fI=Verzeichnis\fR], \fB\-\-builddirectory=\fR[\fIVerzeichnis\fR]" 4
.IX Item "-B[Verzeichnis], --builddir[=Verzeichnis], --builddirectory=[Verzeichnis]"
aktiviert das Bauen aus dem Quelltext und benutzt das angegebene
\&\fIVerzeichnis\fR] als Bauverzeichnis. Falls der Parameter \fIVerzeichnis\fR]
weggelassen wurde, wird ein Vorgabebauverzeichnis ausgewählt.
.Sp
Falls diese Option nicht angegeben ist, wird standardmäßig in der Quelle
gebaut, falls das Bausystem nicht das Bauen außerhalb des
Quellverzeichnisbaums erfordert oder bevorzugt. In einem solchen Fall wird
ein Standardbauverzeichnis benutzt, selbst wenn \fB\-\-builddirectory\fR
angegeben wurde.
.Sp
Falls das Bausystem das Bauen außerhalb des Quellverzeichnisbaums bevorzugt,
aber das Bauen innerhalb der Quelle immer noch erlaubt, kann Letzteres
wieder aktiviert werden, indem ein Bauverzeichnispfad übergeben wird, der
dem Quellverzeichnispfad entspricht.
.IP "\fB\-\-parallel\fR, \fB\-\-no\-parallel\fR" 4
.IX Item "--parallel, --no-parallel"
prüft, ob parallel gebaut werden soll, falls das zugrundeliegende Bausystem
dies unterstützt. Die Anzahl paralleler Aufgaben wird zur Bauzeit durch die
Umgebungsvariable \fB\s-1DEB_BUILD_OPTIONS\s0\fR (\*(L"Debian-Richtlinie, Abschnitt
4.9.1\*(R") gesteuert, Sie könnte außerdem Gegenstand einer
bausystemspezifischen Begrenzung sein.
.Sp
Falls keine der Optionen angegeben wurde, ist die Voreinstellung von
Debhelper derzeit \fB\-\-parallel\fR in Kompatibilitätsversion 10 (oder höher)
und andernfalls \fB\-\-no\-parallel\fR.
.Sp
Als Optimierung wird \fBDh\fR versuchen, die Übergabe dieser Optionen an
Unterprozesse zu vermeiden, falls sie unnötig sind und als einzige Optionen
übergeben werden. Dies geschieht insbesondere dann, wenn
\&\fB\s-1DEB_BUILD_OPTIONS\s0\fR keinen \fIparallel\fR\-Parameter hat (oder dessen Wert 1
ist).
.IP "\fB\-\-max\-parallel=\fR\fIMaximum\fR" 4
.IX Item "--max-parallel=Maximum"
Diese Option impliziert \fB\-\-parallel\fR und erlaubt die weitere Begrenzung der
Anzahl von Aufgaben, die bei einem parallelen Bauen benutzt werden
können. Falls bekannt ist, dass das Bauen des Pakets nur mit einer
bestimmten Stufe der Gleichzeitigkeit funktioniert, können Sie diese auf die
maximale Stufe setzen, von der bekannt ist, dass sie funktioniert oder auf
die, von der Sie wünschen, dass sie unterstützt wird.
.Sp
Bemerkenswerterweise ist das Setzen des Maximums auf 1 tatsächlich dasselbe
wie die Verwendung von \fB\-\-no\-parallel\fR.
.IP "\fB\-\-reload\-all\-buildenv\-variables\fR" 4
.IX Item "--reload-all-buildenv-variables"
Standardmäßig wird \fBdh\fR\|(1) mehrere Umgebungen berechnen (z.B. mittels
\&\fBdpkg\-buildflags\fR\|(1)) und sie zwischenspeichern, um zu verhindern, dass
alle \fBdh_auto_*\fR\-Werkzeuge sie erneut berechnen.
.Sp
Wenn diese Option übergeben wird, wird das konkrete \fBdh_auto_*\fR\-Werkzeug
den Zwischenspeicher von \fBdh\fR\|(1) ignorieren und das neue Erzeugen dieser
Variablen auslösen. Dies ist in sehr seltenen Fällen nützlich, wenn das
Paket mehrere Bauvorgänge mit unterschiedlichen \fB…FLAGS\fR\-Optionen
benötigt. Ein konkretes Beispiel wäre die Notwendigkeit der Änderung des
Parameters \fB\-O\fR in \fB\s-1CFLAGS\s0\fR beim zweiten Bauen:
.Sp
.Vb 1
\&    export DEB_CFLAGS_MAINT_APPEND=\-O3
\&
\&    %:
\&        dh $@
\&
\&    override_dh_auto_configure:
\&        dh_auto_configure \-Bbuild\-deb ...
\&        DEB_CFLAGS_MAINT_APPEND=\-Os dh_auto_configure \e
\&           \-\-reload\-all\-buildenv\-variables \-Bbuild\-udeb ...
.Ve
.Sp
Ohne \fB\-\-reload\-all\-buildenv\-variables\fR im zweiten Aufruf von
\&\fBdh_auto_configure\fR\|(1) würde die Änderung in \fB\s-1DEB_CFLAGS_MAINT_APPEND\s0\fR
ignoriert, da \fBdh_auto_configure\fR\|(1) den zwischengespeicherten Wert von
\&\fB\s-1CFLAGS\s0\fR, der durch \fBdh\fR\|(1) gesetzt wurde, benutzen.
.Sp
Diese Option ist nur mit \fBdebhelper (>= 12.7~)\fR verfügbar, wenn das
Paket Kompatibilitätsstufe 9 oder neuer verwendet.
.IP "\fB\-\-list\fR, \fB\-l\fR" 4
.IX Item "--list, -l"
listet alle Bausysteme auf, die auf diesem System von Debhelper unterstützt
werden. Diese Liste enthält sowohl Standardbausysteme als auch Bausysteme
Dritter (als solche gekennzeichnet). Außerdem zeigt es, welches Bausystem
automatisch ausgewählt würde oder welches durch die Option \fB\-\-buildsystem\fR
manuell angegeben wird.
.SH "KOMPATIBILITÄTSSTUFEN"
.IX Header "KOMPATIBILITÄTSSTUFEN"
Von Zeit zu Zeit müssen wesentliche, nicht rückwärtskompatible Änderungen an
Debhelper vorgenommen werden, um es so ordentlich und gut entworfen wie
nötig zu halten und weil sein Autor mehr Erfahrung gewinnt. Um zu
verhindern, dass solche wesentlichen Änderungen existierende Pakete
beschädigen, wurde das Konzept der Debhelper\-Kompatibilitätsstufen
eingeführt. Sie müssen Debhelper mitteilen, welche Kompatibilitätsstufe es
nutzen soll und es ändert sein Verhalten auf verschiedene Arten.
.PP
Im aktuellen Debhelper können Sie die Kompatibilitätsstufe in
\&\fIdebian/control\fR angeben, indem Sie ein Build-Depends für das Paket
Debhelper-Compat hinzufügen. Um beispielsweise den Modus
v12 zu benutzen, stellen Sie sicher, dass
\&\fIdebian/control\fR Folgendes enthält:
.PP
.Vb 1
\&  Build\-Depends: debhelper\-compat (>= 12)
.Ve
.PP
Dies dient auch als eine geeignete versionierte Bauabhängigkeit zu einer
ausreichenden Version des Debhelper-Pakets, so dass Sie keine separate
versionierte Bauabhängigkeit zum Debhelper-Paket angeben müssen, es sei
denn, Sie benötigen eine besondere Punktveröffentlichung von Debhelper (wie
für die Veröffentlichung einer neuen Funktionalität oder einer
Fehlerbehebung innerhalb einer Kompatibilitätsstufe).
.PP
Beachten Sie, dass Debhelper Debhelper-Compat nicht für experimentelle oder
Beta\-Kompatibilitätsstufen bereitstellt. Pakete, die mit diesen
Kompatibilitätsstufen experimentieren, sollten \fIdebian/compat\fR oder
\&\fB\s-1DH_COMPAT\s0\fR verwenden.
.PP
Frühere Versionen von Debhelper benötigten die Angabe der
Kompatibilitätsstufe in der Datei \fIdebian/compat\fR und das aktuelle
Debhelper unterstützt dies immer noch aufgrund der Rückwärtskompatibilität,
allerdings darf ein Paket eine Kompatibilitätsstufe nicht über mehrere
Methoden gleichzeitig angeben. Um diese Methode zu verwenden, sollte
\&\fIdebian/compat\fR die Kompatibilitätsstufe als einzelne Zahl enthalten und
keinen weiteren Inhalt. Falls Sie die Kompatibilitätsstufe mit dieser
Methode angeben, wird Ihr Paket auch eine versionierte Bauabhängigkeit zum
Debhelper-Paket benötigen, die gleich der (oder größer als die)
Kompatibilitätsstufe ist, die Ihr Paket verwendet. Daher sollten Sie, falls
Sie die Kompatibilitätsstufe 12 in \fIdebian/compat\fR
angeben, sicherstellen, dass \fIdebian/control\fR Folgendes enthält:
.PP
.Vb 1
\&  Build\-Depends: debhelper (>= 12~)
.Ve
.PP
Wenn nicht anders angegeben, geht sämtliche Debhelper-Dokumentation davon
aus, dass Sie die aktuellste Kompatibilitätsstufe nutzen und in den meisten
Fällen wird nicht angezeigt, wenn sich dieses Verhalten von einer älteren
Kompatibilitätsstufe unterscheidet. Wenn Sie also nicht die aktuellste
Kompatibilitätsstufe benutzen, ist es eine gute Idee, folgende Hinweise zu
den Unterschieden gegenüber älteren Kompatibilitätsstufen zu lesen.
.SS "Unterstützte Kompatibilitätsstufen"
.IX Subsection "Unterstützte Kompatibilitätsstufen"
Folgende Kompatibilitätsstufen sind verfügbar:
.IP "v5" 4
.IX Item "v5"
Dies ist die unterste unterstützte Kompatibilitätsstufe.
.Sp
Falls Sie ein Upgrade von einer vorhergehenden Kompatibilitätsstufe
durchführen, überprüfen Sie bitte \fBdebhelper\-obsolete\-compat\fR\|(7).
.Sp
Dieser Modus ist missbilligt.
.IP "v6" 4
.IX Item "v6"
Änderungen gegenüber v5 sind:
.RS 4
.IP "\-" 8
Befehle, die Fragmente von Betreuerskripten erzeugen, werden die Fragmente
für die \fIprerm\fR\- und \fIpostrm\fR\-Skripte in umgekehrter Reiherfolge anordnen.
.IP "\-" 8
\&\fBdh_installwm\fR wird einen untergeordneten Handbuchseiten-Link für
\&\fIx\-window\-manager.1.gz\fR installieren. falls es die Handbuchseite in
\&\fIusr/share/man/man1\fR im Bauverzeichnis des Pakets entdeckt.
.IP "\-" 8
\&\fBdh_builddeb\fR löschte vorher nichts, was auf \fB\s-1DH_ALWAYS_EXCLUDE\s0\fR passte,
aber es wurde auf eine Liste von Dingen gesetzt, die ausgeschlossen werden
sollen, wie \fB\s-1CVS:\s0.svn:.git\fR. Nun tut es dies.
.IP "\-" 8
\&\fBdh_installman\fR erlaubt das Überschreiben existierender Handbuchseiten im
Bauverzeichnis des Pakets. In vorhergehenden Kompatibilitätsstufen lehnte es
lautlos ab, dies zu tun.
.RE
.RS 4
.Sp
Dieser Modus ist missbilligt.
.RE
.IP "v7" 4
.IX Item "v7"
Änderungen gegenüber v6 sind:
.RS 4
.IP "\-" 8
\&\fBdh_install\fR wird darauf zurückgreifen, in \fIdebian/tmp\fR nach Dateien zu
suchen, falls es sie nicht im aktuellen Verzeichnis findet (oder wo auch
immer Sie es unter Benutzung von \fB\-\-sourcedir\fR vorgeben). Dies ermöglicht
\&\fBdh_install\fR mit \fBdh_auto_install\fR zusammenzuarbeiten, das nach
\&\fIdebian/tmp\fR installiert, ohne irgendwelche besonderen Parameter zu
benötigen.
.IP "\-" 8
\&\fBdh_clean\fR wird \fIdebian/clean\fR lesen und die dort aufgeführten Dateien
löschen.
.IP "\-" 8
<dh_clean> wird die \fI*\-stamp\fR\-Dateien der obersten Ebene löschen.
.IP "\-" 8
\&\fBdh_installchangelogs\fR wird abschätzen, in welcher Datei das Changelog der
Originalautoren liegt, falls keines angegeben wurde.
.RE
.RS 4
.Sp
Dieser Modus ist missbilligt.
.RE
.IP "v8" 4
.IX Item "v8"
Änderungen gegenüber v7 sind:
.RS 4
.IP "\-" 8
Befehle werden fehlschlagen, anstatt zu warnen, wenn ihnen unbekannte
Optionen übergeben werden.
.IP "\-" 8
\&\fBdh_makeshlibs\fR wird \fBdpkg-gensymbols\fR auf allen gemeinsam benutzten
Bibliotheken ausführen, für die es Shlib-Dateien erzeugt. Daher kann \fB\-X\fR
verwandt werden, um Bibliotheken auszuschließen. Außerdem würden
\&\fBdpkg-gensymbols\fR Bibliotheken an unüblichen Orten übergeben, die es
ansonsten nicht verarbeiten würde. Solche Verhaltensänderung kann den Bau
einiger Pakete zum Scheitern bringen.
.IP "\-" 8
\&\fBdh\fR erfordert, dass die auszuführende Sequenz als erster Parameter
angegeben wird und sämtliche Schalter danach kommen. »\fBdh $@ \-\-foo\fR« nicht
»\fBdh \-\-foo $@\fR«.
.IP "\-" 8
\&\fBdh_auto_\fR\fI*\fR bevorzugt Perls \fBModule::Build\fR gegenüber \fIMakefile.PL\fR.
.RE
.RS 4
.Sp
Dieser Modus ist missbilligt.
.RE
.IP "v9" 4
.IX Item "v9"
Änderungen gegenüber v8 sind:
.RS 4
.IP "\-" 8
Multiarch\-Unterstützung. Insbesondere gibt \fBdh_auto_configure\fR
Multiarch-Verzeichnisse an Autoconf in \-\-libdir and \-\-libexecdir weiter.
.IP "\-" 8
dh kennt die üblichen Abhängigkeiten zwischen Zielen in debian/rules. Daher
wird »dh binary« alle »build«\-, »build\-arch«\-, »build\-indep«\-,
»install«\-Ziele etc. ausführen, die in dieser Regeldatei stehen. Es ist
nicht nötig, explizit ein binäres Ziel mit expliziten Abhängigkeiten zu den
anderen Zielen zu definieren.
.IP "\-" 8
\&\fBdh_strip\fR komprimiert Debug-Symboldateien, um die installierte Größe von
»\-dbg«\-Paketen zu verringern.
.IP "\-" 8
\&\fBdh_auto_configure\fR enthält nicht den Quellpaketnamen in \-\-libexecdir, wenn
Autoconf benutzt wird.
.IP "\-" 8
Standardmäßig aktiviert \fBdh\fR nicht \-\-with=python\-support.
.Sp
(hinfällig, da das Werkzeug \fBdh_pysupport\fR aus Debian Stretch entfernt
wurde) Seit Debhelper/10.3 aktiviert \fBdh\fR diese Sequenzerweiterung
unabhängig von der Kompatibilitätsstufe nicht mehr.
.IP "\-" 8
Alle \fBdh_auto_\fR\fI*\fR\-Debhelper\-Programme und \fBdh\fR setzen
Umgebungsvariablen, die durch \fBdpkg-buildflags\fR aufgelistet werden, sofern
sie nicht bereits gesetzt sind.
.IP "\-" 8
\&\fBdh_auto_configure\fR übergibt \s-1CFLAGS, CPPFLAGS\s0 und \s-1LDFLAGS\s0 von
\&\fBdpkg-buildflags\fR an Perls \fIMakefile.PL\fR und \fIBuild.PL.\fR
.IP "\-" 8
\&\fBdh_strip\fR legt getrennte Fehlersuchsymbole an einer Stelle ab, die auf
ihrer Baukennzahl basiert.
.IP "\-" 8
Ausführbare Debhelper-Konfigurationsdateien werden ausgeführt und ihre
Ausgabe wird als Konfiguration benutzt.
.RE
.RS 4
.RE
.IP "v10" 4
.IX Item "v10"
Änderungen gegenüber v9 sind:
.RS 4
.IP "\-" 8
\&\fBdh_installinit\fR wird nicht mehr eine Datei namens debian/\fIPaket\fR als
Init-Skript installieren.
.IP "\-" 8
\&\fBdh_installdocs\fR wird mit einem Fehler fehlschlagen, falls es Links
entdeckt, die mit \-\-link\-doc zwischen Paketen der Architektur »all« und
nicht\-»all« erzeugt wurden, da es binNMUs beschädigt.
.IP "\-" 8
\&\fBdh_installdeb\fR installiert keine vom Paketbetreuer bereitgestellte
debian/\fIPaket\fR.shlibs\-Datei mehr. Dies wird stattdessen von
\&\fBdh_makeshlibs\fR erledigt.
.IP "\-" 8
\&\fBdh_installwm\fR weigert sich, ein beschädigtes Paket zu erstellen, falls
keine Handbuchseite gefunden wird (erforderlich, um die Alternative zum
X\-Window-Manager zu registrieren).
.IP "\-" 8
\&\fB\-\-parallel\fR ist Debhelpers Voreinstellung für alle Bausysteme, die
paralleles Bauen unterstützen. Dies kann entweder durch Verwendung von
\&\fB\-\-no\-parallel\fR oder durch Übergabe von \fB\-\-max\-parallel\fR mit einem Wert
von 1 deaktiviert werden.
.IP "\-" 8
Der Befehl \fBdh\fR wird keinen der veralteten Parameter zur »manuellen
Sequenzsteuerung« (\fB\-\-before\fR, \fB\-\-after\fR, etc.) akzeptieren. Bitte
verwenden Sie stattdessen Aufhebungsziele.
.Sp
\&\fBNachträglich auf frühere Kompatibilitätsstufen angewandt\fR:  \fBdh\fR
akzeptiert seit Debhelper/12.4 nichts davon mehr.
.IP "\-" 8
Der Befehl \fBdh\fR wird zur Verfolgung, welche Befehle ausgeführt wurden,
nicht länger Protokolldateien benutzen. Der Befehl \fBdh\fR verfolgt
\&\fIweiterhin\fR, ob die »Bau«\-Sequenz ausgeführt wurde und überspringt sie in
diesem Fall.
.Sp
Die wichtigsten Auswirkungen davon sind:
.RS 8
.IP "\-" 4
Hierdurch wird die Fehlersuche bei den Sequenzen \fIinstall\fR und/oder
\&\fIbinary\fR einfacher, da sie nun einfach erneut ausgeführt werden können
(ohne, dass ein vollständiger »Aufräum\- und Neubau«\-Durchgang erforderlich
ist).
.IP "\-" 4
Der Pferdefuss hier liegt darin, dass \fBdh_*\fR nun nur noch nachverfolgt, was
in einem einzelnen außer Kraft setzenden Ziel geschieht. Wenn alle Aufrufe
eines angegebenen \fBdh_cmd\fR\-Befehls im selben außer Kraft setzenden Ziel
stattfinden, wird alles wie zuvor funktionieren.
.Sp
Beispiel, bei dem es schiefgehen kann:
.Sp
.Vb 2
\&  override_dh_foo:
\&    dh_foo \-pmein\-Paket
\&
\&  override_dh_bar:
\&    dh_bar
\&    dh_foo \-\-remaining
.Ve
.Sp
In diesem Fall wird der Aufruf von \fBdh_foo \-\-remaining\fR \fIaußerdem\fR
\&\fImein-Paket\fR enthalten, da \fBdh_foo \-pmein\-Paket\fR in einem separaten außer
Kraft setzenden Ziel ausgeführt wird. Dieses Problem ist nicht auf
\&\fB\-\-remaining\fR begrenzt, es umfasst außerdem \fB\-a\fR, \fB\-i\fR, etc.
.RE
.RS 8
.RE
.IP "\-" 8
Der Befehl \fBdh_installdeb\fR maskiert nun die Zeilen in der
Konfigurationsdatei \fImaintscript\fR  für die Shell. Dies war der
ursprüngliche Gedanke, aber es funktionierte nicht, wie es sollte und die
Pakete begannen, sich auf die unvollständige Shell-Maskierung zu verlassen
(z.B. Dateinamen in Anführungszeichen setzen).
.IP "\-" 8
Voreinstellung für den Befehl \fBdh_installinit\fR ist nun
\&\fB\-\-restart\-after\-upgrade\fR. Verwenden Sie bitte für Pakete, die das
vorhergehende Verhalten erfordern, \fB\-\-no\-restart\-after\-upgrade\fR.
.IP "\-" 8
Die \fBautoreconf\fR\-Sequenz ist nun standardmäßig aktiviert. Bitte übergeben
Sie \fB\-\-without autoreconf\fR an \fBdh\fR, falls dies für ein angegebenes Paket
nicht gewünscht wird.
.IP "\-" 8
Die \fBsystemd\fR\-Sequenz ist nun standardmäßig aktiviert. Bitte übergeben Sie
\&\fB\-\-without systemd\fR an \fBdh\fR, falls dies für ein angegebenes Paket nicht
gewünscht wird.
.IP "\-" 8
\&\fBNachträglich entfernt\fR: \fBdh\fR erstellt das Bauverzeichnis des Pakets nicht
mehr, wenn die Ausführung von Debhelper-Befehlen übersprungen wird. Dies hat
keine Auswirkungen auf Pakete, die nur mit Debhelper-Befehlen bauen, es
könnte aber Fehler in Befehlen offenlegen, die nicht in Debhelper enthalten
sind.
.Sp
Diese Kompatibilitätsfunktionalität hatte einen Fehler seit ihrer Aufnahme
in Debhelper/9.20130516, der sie im Kompatibilitätsmodus 9 und älter zum
Scheitern brachte. Da es keine Berichte zu Problemen gab, die dieser Fehler
in circa fünf Jahren verursachte, wurde er entfernt anstatt behoben.
.RE
.RS 4
.RE
.IP "v11" 4
.IX Item "v11"
Von diesem Modus wird abgeraten.
.Sp
Von der Kompatibilitätsstufe 11 wird für neue Pakete abgeraten, da sie unter
Funktionalitätswechselwirkungen zwischen dh_installinit
unddh_installsystemd leidet, die dazu führen, dass in manchen Fällen
Dienste nicht korrekt laufen. Bitte erwägen Sie, stattdessen die
Kompatibilitätsstufen 10 oder 12 zu benutzen. Weitere Einzelheiten über das
Thema sind in Debian#887904 und
<https://lists.debian.org/debian\-release/2019/04/msg01442.html> verfügbar.
.Sp
Änderungen gegenüber v10 sind:
.RS 4
.IP "\-" 8
\&\fBdh_installinit\fR installiert keine \fIservice\fR\- oder \fItmpfile\fR\-Dateien
mehr. Es erstellt auch keine Betreuerskripte dafür. Bitte verwenden Sie das
neue Hilfsprogramm \fBdh_installsystemd\fR.
.IP "\-" 8
Die Hilfsprogramme \fBdh_systemd_enable\fR und \fBdh_systemd_start\fR wurden durch
das neue Hilfsprogramm \fBdh_installsystemd\fR ersetzt. Aus demselben Grund
wurde auch die \fBsystemd\fR\-Sequenz für \fBdh\fR entfernt. Wenn Sie das
Hilfswerkzeug \fBdh_installsystemd\fR deaktivieren möchten, verwenden Sie bitte
ein leeres außer Kraft setzendes Ziel.
.Sp
Bitte beachten Sie, dass sich das Werkzeug \fBdh_installsystemd\fR in manchen
Fällen (z.B. bei der Verwendung des Parameters \fB\-\-name\fR) geringfügig anders
verhält.
.IP "\-" 8
\&\fBdh_installdirs\fR erstellt keine debian/\fIPaket\fR\-Verzeichnisse mehr, es sei
denn, dies wird ausdrücklich verlangt (oder es muss ein Unterverzeichnis
darin erstellt werden).
.Sp
Die große Mehrheit aller Pakete wird von dieser Änderung nicht betroffen
sein.
.IP "\-" 8
Das \fBmakefile\fR\-Bausystem übergibt nun \fBINSTALL=\*(L"install
\&\-\-strip\-program=true\*(R"\fR an \fBmake\fR\|(1). Davon abgeleitete Bausysteme
(z.B. \fBconfigure\fR oder \fBcmake\fR) sind von dieser Änderung nicht betroffen.
.IP "\-" 8
Das \fBautoconf\fR\-Bausystem übergibt nun \fB\-\-runstatedir=/run\fR an
\&\fI./configure\fR.
.IP "\-" 8
Das \fBcmake\fR\-Bausystem übergibt nun \fB\-DCMAKE_INSTALL_RUNSTATEDIR=/run\fR an
\&\fBcmake\fR\|(1).
.IP "\-" 8
\&\fBdh_installman\fR wird nun vorzugsweise die Sprache anhand des Pfadnamens
statt der Erweiterung bestimmen.
.IP "\-" 8
\&\fBdh_auto_install\fR wird nun nur das Zielverzeichnis erstellen, das es
benötigt. Vorher hätte es die Bauverzeichnisse für alle Pakete
erstellt. Dies hat keine Auswirkungen auf Pakete, die nur mit
Debhelper-Befehlen bauen, es könnte aber Fehler in Befehlen offenlegen, die
nicht in Debhelper enthalten sind.
.IP "\-" 8
Die Hilfsprogramme \fBdh_installdocs\fR, \fBdh_installexamples\fR,
\&\fBdh_installinfo\fR und \fBdh_installman\fR geben nun Fehlermeldungen aus, falls
ihre Konfiguration ein Muster aufweist, das zu nichts passt oder sich auf
einen Pfad bezieht, den es nicht gibt.
.Sp
Bekannte Ausnahmen umfassen das Bauen mit dem Profil \fBnodoc\fR, wobei obige
Werkzeuge stillschweigend fehlschlagende Suchen erlauben, wobei die
Suchmuster zur Angabe von Dokumentation benutzt werden.
.IP "\-" 8
Die Hilfsprogramme \fBdh_installdocs\fR, \fBdh_installexamples\fR,
\&\fBdh_installinfo\fR und \fBdh_installman\fR akzeptieren nun den Parameter
\&\fB\-\-sourcedir\fR mit derselben Bedeutung wie für \fBdh_install\fR. Überdies
fallen sie nun auch auf \fIdebian/tmp\fR wie \fBdh_install\fR zurück.
.Sp
Migrationshinweis: Ein Fehler in Debhelper 11 bis 11.1.5 führte
fälschlicherweise dazu, dass \fBdh_installinfo\fR \fB\-\-sourcedir\fR ingorierte.
.IP "\-" 8
Die Bausysteme \fBperl-makemaker\fR und \fBperl-build\fR übergeben nicht mehr
\&\fB\-I.\fR an Perl. Pakete, die dieses Verhalten immer noch benötigen, können es
durch Verwendung der Umgebungsvariable \fB\s-1PERL5LIB\s0\fR emulieren, z.B. durch
Hinzufügen von \fBexport PERL5LIB=.\fR in ihre »debian/rules«\-Datei (oder
dergleichen).
.IP "\-" 8
Die Umgebungsvariable \fB\s-1PERL_USE_UNSAFE_INC\s0\fR wird nicht mehr durch \fBdh\fR
oder eins der \fBdh_auto_*\fR\-Werkzeuge gesetzt. Sie wurde vorübergehend als
Behelfslösung gesetzt, um zu verhindern, dass das gleichzeitige Bauen vieler
Pakete scheitert.
.Sp
Beachten Sie, dass dieses Element eventuell hinfällig wird, da die
Ursprungsautoren beabsichtigen, die Unterstützung für die Umgebungsvariable
\&\fB\s-1PERL_USE_UNSAFE_INC\s0\fR einzustellen. Wenn Perl die Unterstützung dafür
einstellt, wird diese Variable nachträglich auch aus bestehenden
Kompatibilitätsstufen entfernt.
.IP "\-" 8
Das Hilfsprogramm \fBdh_makeshlibs\fR wird nun mit einer Fehlermeldung beendet,
falls Objdump einen Rückgabewert ungleich Null von der Auswertung einer
übergebenen Datei zurückgibt.
.IP "\-" 8
Die Werkzeuge \fBdh_installdocs\fR und \fBdh_installexamples\fR installieren nun
möglicherweise die \fImeiste\fR Dokumentation in einem anderen Pfad, um die
Empfehlung der Debian-Richtlinien §12.3 (seit Version 3.9.7) zu erfüllen.
.Sp
Beachten Sie, dass diese Änderung nicht für dieses Quellpaket relevant und
Sie zur nächsten Änderung springen können, falls ein angegebenes Quellpaket
nur ein einziges Binärpaket in \fIdebian/control\fR enthält oder keine Pakete
\&\fI\-doc\fR\-Pakete sind.
.Sp
Standardmäßig werden diese Werkzeuge nun versuchen, ein »Hauptpaket für die
Dokumentation« (ab hier \fIHauptdokumentationspaket\fR genannt) für jedes
\&\fI\-doc\fR\-Paket zu bestimmen. Falls sie ein derartiges
\&\fIHauptdokumentationspaket\fR finden, werden sie nun die Dokumentation in den
Pfad \fI/usr/share/doc/\fIHauptdokumentationspaket\fI\fR im angegebenen
Dokumentationspaket installieren. D.h. der Pfad kann sich ändern, aber die
Dokumentation wird immer noch im \fI\-doc\fR\-Paket mitgeliefert.
.Sp
Die Option \fB\-\-doc\-main\-package\fR kann benutzt werden, wenn die automatische
Erkennung unzureichend ist oder um den Pfad auf seinen vorherigen Wert
zurückzusetzen, falls es einen Grund gibt, von der Empfehlung der
Debian-Richlinien abzuweichen.
.Sp
Manche Dokumentation wird von dieser Änderung nicht beeinflusst. Diese
Ausnahmen umfassen die Copyright-Dateien, \s-1README\s0.Debian usw. Diese Dateien
werden weiterhin im Pfad \fI/usr/share/doc/\fIPaket\fI\fR installiert.
.IP "\-" 8
Die Werkzeuge \fBdh_strip\fR und \fBdh_shlibdeps\fR verwenden keine
Dateinamenmuster mehr, um zu bestimmen, welche Dateien verarbeitet
werden. Stattdessen öffnen sie die Datei und schauen nach einem ELF-Header,
um zu bestimmen, ob eine übergebene Datei ein gemeinsam benutztes Objekt
oder ein ausführbares binäres Programm ist.
.Sp
Diese Änderung kann dazu führen, dass mehr Dateien als vorher verarbeitet
werden.
.RE
.RS 4
.RE
.IP "v12" 4
.IX Item "v12"
Dies ist der empfohlene Betriebsmodus.
.Sp
Änderungen gegenüber v11 sind:
.RS 4
.IP "\-" 8
Das Werkzeug \fBdh_makeshlibs\fR erzeugt nun standardmäßig Shlibs-Dateien mit
versionierter Abhängigkeit. Dies bedeutet, dass \fB\-VUpstream\-Version\fR (alias
\&\fB\-V\fR) nun die Voreinstellung ist.
.Sp
Falls ein nicht versionierte Abhängigkeit in der Shlibs-Datei gewünscht
wird, kann dies stattdessen durch Übergabe von \fB\-VNone\fR erreicht
werden. Siehe aber auch \fBdh_makeshlibs\fR\|(1) für die Vorbehalte gegen nicht
versionierte Abhängigkeiten.
.IP "\-" 8
Die Option \fB\-s\fR (\fB\-\-same\-arch\fR) wurde entfernt. Bitte verwenden Sie
stattdessen \fB\-a\fR (\fB\-\-arch\fR).
.IP "\-" 8
Der Aufruf von \fBdh_clean \-k\fR verursacht jetzt einen Fehler statt einer
Warnung, es sei missbilligt.
.IP "\-" 8
Die Option \fB\-\-no\-restart\-on\-upgrade\fR in \fBdh_installinit\fR wurde
entfernt. Bitte verwenden Sie den neuen Namen \fB\-\-no\-stop\-on\-upgrade\fR.
.IP "\-" 8
Es gab einen Fehler in den \fBdoit\fR\-Funktionen (und ähnlichen) von
Debian::Debhelper::Dh_Lib, der unter einem bestimmten Umstand zum Öffnen
einer Shell führte. Dieser Fehler wurde nun entfernt, wodurch
Hilfsprogramme, die auf den Fehler setzen, mit der Meldung »command not
found« fehlschlagen.
.IP "\-" 8
\&\fB\-\-list\-missing\fR und \fB\-\-fail\-missing\fR in \fBdh_install\fR wurden
entfernt. Bitte verwenden Sie \fBdh_missing\fR und die zugehörigen Optionen,
die die durch andere Hilfsprogramme installierten Dateien ebenfalls sehen
können.
.IP "\-" 8
Das Hilfsprogramm \fBdh_installinit\fR installiert nicht mehr die Konfiguration
für das Init-System Upstart. Stattdessen bricht es das Bauen ab, wenn es
eine alte Upstart-Konfigurationsdatei findet. Der Fehler ist dort, um den
Paketbetreuer daran zu erinnern, dass er sicherstellt, die mit vorherigen
Versionen des Pakets mitgelieferten Conffiles (falls vorhanden) sauber zu
entfernen.
.IP "\-" 8
Das Werkzeug \fBdh_installdeb\fR wird die Grundprüfung einiger
\&\fBdpkg\-maintscript\-helper\fR\|(1)\-Befehle durchführen und eine Fehlermeldung
ausgeben, falls die Befehle ungültig zu sein scheinen.
.IP "\-" 8
Das Werkzeug \fBdh_missing\fR wird nun auf \fB\-\-list\-missing\fR voreingestellt.
.IP "\-" 8
Das Werkzeug \fBdh_makeshlibs\fR wird nun nur Bibliotheken an
\&\fBdpkg\-gensymbols\fR\|(1) übergeben, falls die ELF\-Binärdatei einen \s-1SONAME\s0 hat
(enthält ».so«).
.IP "\-" 8
Das Werkzeug \fBdh_compress\fR komprimiert keine Beispiele mehr (d.h. alles was
in \fI</usr/share/doc/\fIPaket\fI/examples\fR> installiert ist.)
.IP "\-" 8
Die Standardsequenz in \fBdh\fR enthält nun standardmäßig \fBdh_dwz\fR und
\&\fBdh_installinitramfs\fR. Dies macht die Sequenzen \fBdwz\fR und
\&\fBinstallinitramfs\fR überflüssig. Sie werden nun mit einem Fehler
scheitern. Falls Sie diese Befehl überspringen wollen, fügen Sie bitte ein
leeres außer Kraft setzendes Ziel in \fIdebian/rules\fR ein
(z.B. \fIoverride_dh_dwz:\fR).
.IP "\-" 8
Die Bausysteme \fBMeson\fR und \fBAutoconf\fR setzen die Variable \fB\-\-libexecdir\fR
nicht mehr explizit und verlassen sich daher auf die Voreinstellung des
Bausystems, die \fB/usr/libexec\fR sein sollte (per \s-1FHS 3.0,\s0 angenommen in der
Debian-Richtlinie 4.1.5).
.Sp
Falls ein spezielles Paket der Ursprungsautoren nicht die korrekte
Voreinstellung benutzt, kann der Parameter oft manuell per
\&\fBdh_auto_configure\fR\|(1) übergeben werden, z.B. wie im folgenden Beispiel:
.Sp
.Vb 2
\&    override_dh_auto_configure:
\&        dh_auto_configure \-\- \-\-libexecdir=/usr/libexec
.Ve
.Sp
Beachten Sie das \fB\-\-\fR vor dem Parameter \fB\-\-libexecdir\fR.
.IP "\-" 8
Das Werkzeug \fBdh_installdeb\fR installiert nicht mehr die vom Paketbetreuer
bereitgestellte \fIconffiles\fR\-Datei. Die Datei war seit Kompatibilitätsstufe
3 meist überflüssig, als \fBdh_installdeb\fR anfing, die resultierende
\&\fIconffiles\fR\-Steuerdatei automatisch selbst zu berechnen.
.IP "\-" 8
Das Werkzeug \fBdh_installsystemd\fR beruht nicht mehr auf \fBdh_installinit\fR,
um Systemd-Dienste zu handhaben, die über eine SysVinit-Alternative
verfügen. Beide Werkzeuge müssen nun in einem solchen Fall benutzt werden,
um sicherzustellen, dass der Dienst sowohl unter SysVinit als auch unter
Systemd sauber gestartet wird.
.Sp
Falls Sie etwas haben, was \fBdh_installinit\fR außer Kraft setzt (z.B. um es
mit \fB\-\-no\-start\fR aufzurufen), dann werden Sie wahrscheinlich auch etwas für
\&\fBdh_installsystemd\fR benötigen.)
.Sp
Diese Änderung lässt \fBdh_installinit\fR ein \fImisc:Pre\-Depends\fR für \fBinit-system-helpers (>= 1.54~)\fR einspeisen. Bitte stellen Sie sicher, dass
das Paket \fB${misc:Pre\-Depends}\fR in seinem Feld \fBPre-Depends\fR aufführt,
bevor Sie ein Upgrade auf Kompatibilitätsstufe 12 durchführen.
.IP "\-" 8
Das Drittherstellerwerkzeug \fBdh_golang\fR (aus dem Paket \fBdh-golang\fR)
akzeptiert nun standardmäßig die Variable \fB\s-1DH_GOLANG_EXCLUDES\s0\fR für die
Quelleninstallation in \-dev\-Paketen und nicht nur während des
Bauprozesses. Bitte setzen Sie \fB\s-1DH_GOLANG_EXCLUDES_ALL\s0\fR auf »false«, um zum
vorherigen Verhalten zurückzukehren. Einzelheiten und Beispiele finden Sie
unter \fB\fBDebian::Debhelper::Buildsystem::golang\fB\|(3pm)\fR.
.IP "\-" 8
\&\fBdh_installsystemduser\fR ist nun per Voreinstellung in der
Standard\-\fBdh\fR\-Sequenz enthalten.
.IP "\-" 8
Das Bausystem \fBpython-distutils\fR wurde nun entfernt. Bitte verwenden Sie
stattdessen das Drittanbieterbausystem \fBpybuild\fR.
.RE
.RS 4
.RE
.IP "v13" 4
.IX Item "v13"
Diese Kompatibilitätsstufe ist immer noch für die Entwicklung
offen. Verwenden Sie sie mit Vorsicht.
.Sp
Änderungen gegenüber v12 sind:
.RS 4
.IP "\-" 8
Das Bausystem \fBmeson+ninja\fR benutzt nun \fBmeson test\fR anstelle von \fBninja
test\fR, wenn die Testsuite ausgeführt wird. Alles, was \fBdh_auto_test\fR außer
Kraft setzt und zusätzliche Parameter an das Testausführungsprogramm der
Ursprungsautoren übergibt, sollte überprüft werden, da \fBmeson test\fR auf der
Befehlszeile nicht mit \fBninja test\fR kompatibel ist.
.IP "\-" 8
Alle Debhelper\-ähnlichen Werkzeuge, die auf der offiziellen
Debhelper-Bibliothek basieren (einschließlich \fBdh\fR und den offiziellen
\&\fBdh_*\fR\-Werkzeugen) akzeptieren keine abgekürzten Befehlsparameter
mehr. Gleichzeitig sortiert \fBdh\fR nun Aufrufe zu überflüssigen
\&\fBdh_*\fR\-Hilfsprogrammen sogar dann aus, wenn lange Befehlszeilenoptionen
angegeben werden.
.IP "\-" 8
Die ELF-bezogenen Debhelper-Werkzeuge (\fBdh_dwz\fR, \fBdh_strip\fR,
\&\fBdh_makeshlibs\fR, \fBdh_shlibdeps\fR) werden nun standardmäßig nur noch für
architekturabhängige Pakete ausgeführt (d.h. sie werden von
\&\fB*\-indep\fR\-Zielen ausgeschlossen und standardmäßig mit \fB\-a\fR
übergeben). Falls Sie sie für \fB*\-indep\fR\-Ziele benötigen, können Sie eine
explizite Build-Depends in \fBdh-sequence-elf-tools\fR hinzufügen.
.IP "\-" 8
Das Drittanbieterbausystem \fBgradle\fR (aus dem Paket \fBgradle-debian-helper\fR)
führt nun automatisch eine von den Ursprungsautoren bereitgestellte
Testsuite aus. Setzen Sie \fBdh_auto_test\fR außer Kraft, um dieses Verhalten
zu unterbinden.
.IP "\-" 8
Das Werkzeug \fBdh_installman\fR beendet sich vorzeitig, falls es sich
widersprechende Definitionen einer Handbuchseite entdeckt. Dies geschieht
normalerweise, falls das Bausystem der Ursprungsautoren eine komprimierte
Version installiert und das Paket eine nicht komprimierte Version der
Handbuchseite in \fIdebian/\fIpackage\fI.manpages\fR auflistet. Meist ist die
einfachste Lösung, die Handbuchseite aus \fIdebian/\fIpackage\fI.manpages\fR
zu entfernen (davon ausgehend, dass beide Versionen identisch sind).
.IP "\-" 8
Die \fBdh_auto_*\fR\-Hilfsprogramme setzen nun die Umgebungsvariablen \fB\s-1HOME\s0\fR
und gebräuchliche \fBXDG_*\fR\-Variablen zurück. \fB\s-1HOME\s0\fR und \fB\s-1XDG_RUNTIME_DIR\s0\fR
sind jeweils auf ein separates, schreibbares Verzeichnis gesetzt. Die
restlichen Umgebungsvariablen werden geleert.
.IP "\-" 8
Der Befehl \fBdh\fR wird nun einen Fehler ausgeben, falls ein außer Kraft
setzendes oder Hook-Ziel für einen veralteten Befehl in \fIdebian/rules\fR
(z.B. \fBoverride_dh_systemd_enable:\fR) vorhanden ist.
.IP "\-" 8
Der Befehl \fBdh_missing\fR wird nun auf \fB\-\-fail\-missing\fR voreingestellt. Dies
kann zu einer nicht fatalen Warnung zurück geändert werden, indem explizit
\&\fB\-\-list\-missing\fR übergeben wird, wie es in Kompatibilitätsstufe 12 war.
.Sp
Falls Sie die Warnung gar nicht wollen, lassen Sie bitte den Aufruf von
\&\fBdh_missing\fR weg. Falls Sie den Befehlssequenzer \fBdh\fR benutzen, dann
können Sie dies mit einem leeren außer Kraft setzenden Ziel in der Datei
\&\fIdebian/rules\fR oder dem passenden Paket erledigen. Zum Beispiel:
.Sp
.Vb 2
\&    # Disable dh_missing
\&    override_dh_missing:
.Ve
.IP "\-" 8
Der Befehlssequenzer \fBdh\fR führt nun in der Standardsequenz
\&\fBdh_installtmpfiles\fR aus. \fBdh_installtmpfiles\fR übernimmt die Handhabung
von tmpfiles.d\-Konfigurationsdateien. Diesbezügliche Funktionalität in
\&\fBdh_installsystemd\fR ist nun deaktiviert.
.Sp
Note that \fBdh_installtmpfiles\fR responds to \fIdebian/\fIpackage\fI.tmpfiles\fR where \fBdh_installsystemd\fR used a name without the trailing \*(L"s\*(R".
.IP "\-" 8
Viele \fBdh_*\fR\-Werkzeuge unterstützen nun eingeschränkte
Variablenexpandierung per \fB${foo}\fR\-Syntax. In vielen Fällen kann dies
benutzt werden, um Pfade zu referenzieren, die entweder Leerzeichen oder
\&\fBdpkg\-architecture\fR\|(1)\-Werte enthalten. Obwohl es den Bedarf an
\&\fBdh\-exec\fR\|(1) in einigen Fällen vermindern kann, ist es im Allgemeinen
\&\fBkein\fR Ersatz für \fBdh\-exec\fR\|(1). Falls Sie filtern, umbenennen
usw. möchten, wird das Paket weiterhin \fBdh\-exec\fR\|(1) benötigt.
.Sp
Bitte lesen Sie \*(L"Ersetzungen in Debhelper-Konfigurationsdateien\*(R", um mehr
über die Syntax und verfügbare Ersetzungsvariablen zu erfahren. An Verfasser
von \fBdh_*\fR\-Werkzeugen: Die Ersetzung und Expandierung erfolgt als Teil der
Funktionen \fBfilearray\fR und \fBfiledoublearray\fR.
.IP "\-" 8
Der Befehlssequenzer \fBdh\fR wird nun alle Hooks und außer Kraft setzenden
Ziele für \fBdh_auto_test\fR, \fBdh_dwz\fR und \fBdh_strip\fR überspringen, wenn
\&\fB\s-1DEB_BUILD_OPTIONS\s0\fR die maßgeblichen \fBnocheck\fR\-/\fBnostrip\fR\-Optionen
aufführt.
.Sp
Alle Pakete, die sich darauf verlassen, dass diese Ziele immer ausgeführt
werden, sollten maßgebliche Logik aus diesen Zielen heraus
verschieben. Z.B. müsste nicht testbezogener Paketierungscode von
\&\fBoverride_dh_auto_test\fR nach \fBexecute_after_dh_auto_build\fR oder
\&\fBexecute_before_dh_auto_install\fR verschoben werden.
.IP "\-" 8
The \fBcmake\fR buildsystem now passes
\&\fB\-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON\fR to \fBcmake\fR\|(1) to speed up
automatic installation process. If for some reason you need previous
behavior, override the flag:
.Sp
.Vb 1
\&    dh_auto_configure \-\- \-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF ...
.Ve
.RE
.RS 4
.RE
.SH "ANMERKUNGEN"
.IX Header "ANMERKUNGEN"
.SS "Unterstützung mehrerer Binärpakete"
.IX Subsection "Unterstützung mehrerer Binärpakete"
Falls Ihr Quellpaket mehr als ein Binärpaket erzeugt, werden
Debhelper-Programme standardmäßig bei der Ausführung auf alle Paketen
einwirken. Falls es vorkommt, dass Ihr Quellpaket ein architekturabhängiges
Paket und ein anderes architekturunabhängiges Paket erzeugt, ist dies nicht
das korrekte Verhalten, da Sie die architekturabhängigen Pakete im
\&\fIdebian/rules\fR\-Ziel »binary\-arch« erzeugen müssen und die unabhängigen
Pakete im \fIdebian/rules\fR\-Ziel »binary\-indep«.
.PP
Um dies zu erleichtern sowie Ihnen mehr Kontrolle darüber zu geben, auf
welche Pakete Debhelper-Programme einwirken, akzeptieren alle
Debhelper-Programme die Parameter \fB\-a\fR, \fB\-i\fR, \fB\-p\fR und \fB\-s\fR. Diese
Parameter sind kumulativ. Falls keiner angegeben wurde, wirken
Debhelper-Programme standardmäßig auf alle Paketen ein, die in der Datei
»control« aufgeführt sind, mit nachfolgenden Ausnahmen.
.PP
Zuerst werden alle Pakete, deren \fBArchitecture\fR\-Feld in \fBdebian/control\fR
nicht mit der \fB\s-1DEB_HOST_ARCH\s0\fR\-Architektur übereinstimmt, ausgeschlossen
(\*(L"Debian Policy, Abschnitt 5.6.8\*(R").
.PP
Außerdem können einige zusätzliche Paket basierend auf dem Inhalt der
Umgebungsvariable \fB\s-1DEB_BUILD_PROFILES\s0\fR und den Feldern \fBBuild-Profiles\fR in
den Absätzen für binäre Pakete in \fBdebian/control\fR ausgeschlossen
werden. Dies geschieht gemäß der Entwurfrichtlinie unter
<https://wiki.debian.org/BuildProfileSpec>.
.PP
\fIZusammenspiel zwischen Paketauswahl und Bauprofilen\fR
.IX Subsection "Zusammenspiel zwischen Paketauswahl und Bauprofilen"
.PP
Bauprofile beeinflussen, welche Pakete im Paketauswahlmechanismus von
Debhelper enthalten sind. Im Allgemeinen wird die Paketauswahl unter der
Annahme beschrieben, dass alle Pakete aktiviert sind. Dieser Abschnitt
beschreibt wie die Auswahl reagiert, wenn ein Paket aufgrund des aktiven
Bauprofils (oder das Fehlen des aktiven Bauprofils) deaktiviert wird.
.IP "\-a/\-\-arch, \-i/\-\-indep \s-1ODER\s0 keine Auswahloptionen (ein roher »dh_X«\-Aufruf)" 4
.IX Item "-a/--arch, -i/--indep ODER keine Auswahloptionen (ein roher »dh_X«-Aufruf)"
Das durch Bauprofile deaktivierte Paket wird stillschweigend aus der Auswahl
ausgeschlossen.
.Sp
Beachten Sie, dass Sie eine Warnung bekommen, falls \fIalle\fR zu dieser
Auswahl gehörenden Pakete deaktiviert werden. In diesem Fall ist der Bau im
Allgemeinen überhaupt sinnlos.
.IP "\-N \fIPaket\fR / \-\-no\-package \fIPaket\fR" 4
.IX Item "-N Paket / --no-package Paket"
Die Option wird akzeptiert und hat keine Wirkung.
.IP "\-p \fIPaket\fR / \-\-package \fIPaket\fR" 4
.IX Item "-p Paket / --package Paket"
Die Option wird akzeptiert, aber Debhelper wird nichts an dem Paket
vornehmen.
.PP
Beachten Sie, dass es keine Rolle spielt, ob das Paket standardmäßig
aktiviert oder deaktiviert ist.
.SS "Automatisches Erzeugen von Debian-Installationsskripten"
.IX Subsection "Automatisches Erzeugen von Debian-Installationsskripten"
Einige Debhelper-Befehle werden automatisch Teile der Debian-Betreuerskripte
erzeugen. Falls Sie diese automatisch erzeugten Dinge in Ihre existierenden
Debian-Betreuerskripte einfügen möchten, dann müssen Sie Ihren Skripten
\&\fB#DEBHELPER#\fR an der Stelle hinzufügen, an die der Kode hinzugefügt werden
soll. \fB#DEBHELPER#\fR wird bei der Ausführung durch irgendeinen automatisch
erzeugten Kode ersetzt.
.PP
Falls ein Skript überhaupt noch nicht existiert und Debhelper etwas darin
hinzufügen muss, dann wird Debhelper das komplette Skript erstellen.
.PP
Alle Debhelper-Befehle, die auf diese Art automatisch Kode erzeugen, lassen
dies durch den Parameter \-n deaktiviert (siehe oben).
.PP
Beachten Sie, dass der eingefügte Kode Shell-Kode sein wird. Sie können ihn
daher nicht direkt in einem Perl-Skript verwenden. Falls Sie ihn in ein
Perl-Skript einbetten wollen, wird hier eine Möglichkeit beschrieben, dies
zu tun (beachten Sie, dass über den Befehl »set« sichergestellt wird, dass
\&\f(CW$1\fR, \f(CW$2\fR, etc. gesetzt sind):
.PP
.Vb 12
\&  my $temp="set \-e\enset \-\- @ARGV\en" . << \*(AqEOF\*(Aq;
\&  #DEBHELPER#
\&  EOF
\&  if (system($temp)) {
\&     my $exit_code = ($? >> 8) & 0xff;
\&     my $signal = $? & 0x7f;
\&     if ($exit_code) {
\&         die("Das Debhelper\-Skript scheiterte mit folgendem Fehlercode: ${exit_code}");
\&     } else {
\&         die("Das Debhelper\-Skript wurde per Signal abgebrochen: ${signal}");
\&     }
\&  }
.Ve
.SS "Automatisches Erzeugen verschiedener Abhängigkeiten"
.IX Subsection "Automatisches Erzeugen verschiedener Abhängigkeiten"
Einige Debhelper-Befehle könnten dazu führen, dass das erzeugte Paket von
einigen anderen Paketen abhängt. Falls Sie beispielsweise
\&\fBdh_installdebconf\fR\|(1) benutzen, wird Ihr Paket von Debconf abhängen
müssen. Oder, falls Sie \fBdh_installxfonts\fR\|(1) verwenden, wird ihr Paket
generell von einer bestimmten Version der Xutils abhängen. Den Überblick
über diese verschiedenen Abhängigkeiten zu behalten kann lästig sein, da sie
davon abhängen, wie Debhelper Dinge tut, weswegen Debhelper eine Möglichkeit
bietet, sie zu automatisieren.
.PP
Für jeden Befehl werden die benötigten Abhängigkeiten in den Handbuchseiten
dokumentiert. Daneben wird automatisch eine »substvar« erzeugt, die
\&\fB${misc:Depends}\fR genannt wird. Falls Sie eine Markierung in Ihre
\&\fIdebian/control\fR\-Datei schreiben, wird es sie zu den Abhängigkeiten
expandieren, von denen Debhelper findet, dass Sie sie benötigen.
.PP
Dies ist gänzlich unabhängig von dem vorgegebenen \fB${shlibs:Depends}\fR, das
durch \fBdh_makeshlibs\fR\|(1) erzeugt wurde und den durch \fBdh_perl\fR\|(1)
erzeugten \fB${perl:Depends}\fR. Sie können auswählen, keines davon zu
benutzen, falls die Einschätzung von Debhelper nicht der Wirklichkeit
entspricht.
.SS "Paketbauverzeichnisse"
.IX Subsection "Paketbauverzeichnisse"
Standardmäßig gehen alle Debhelper-Programme davon aus, dass das temporäre
Verzeichnis, das zum Zusammenbau des Dateibaums in einem Paket benutzt wird,
debian/\fIPaket\fR ist.
.PP
Manchmal wollen Sie möglicherweise ein anderes temporäres Vezeichnis
benutzen. Dies wird durch den Schalters \fB\-P\fR unterstützt. »\fBdh_installdocs
\&\-Pdebian/tmp\fR« wird zum Beispiel \fBdebian/tmp\fR als temporäres Verzeichnis
nutzen. Beachten Sie, falls Sie \fB\-P\fR verwenden, dass die
Debhelper-Programme nur auf ein einzelnes Paket auf einmal einwirken
kann. Falls Sie also ein Paket haben, das mehrere Binärpakete baut, müssen
Sie außerdem den Schalter \fB\-p\fR einsetzen, um anzugeben, auf welches
Binärpaket sich das Debhelper-Programm auswirkt.
.SS "Udebs"
.IX Subsection "Udebs"
Debhelper beinhaltet Unterstützung für Udebs. Um ein Udeb mit Debhelper zu
erstellen, fügen Sie dem Absatz des Pakets in \fIdebian/control\fR
»\fBPackage-Type: udeb\fR« hinzu. Debhelper wird versuchen, Udebs zu erstellen,
die der Debian-Installer-Richtlinie entsprechen, indem die erzeugten
Paketdateien mit \fI.udeb\fR enden, indem keine Dokumentation in ein Udeb
installiert wird und indem \fIpreinst\fR\-, \fIpostrm\fR\-, \fIprerm\fR\- und
\&\fIconfig\fR\-Skripte etc. übersprungen werden.
.SH "UMGEBUNGSVARIABLEN"
.IX Header "UMGEBUNGSVARIABLEN"
Die folgenden Umgebungsvariablen können das Verhalten von Debhelper
beeinflussen. Es ist wichtig, darauf hinzuweisen, dass dies tatsächlich
Umgebungsvariablen (nicht nur einfache \fIMakefile\fR\-Variablen) sein müssen,
damit dies korrekt funktioniert. Um sie ordnungsgemäß in \fIdebian/rules\fR
anzugeben, müssen sie sicherstellen, dass sie »\fBexport\fR«iert werden, zum
Beispiel »\fBexport \s-1DH_VERBOSE\s0\fR«.
.IP "\fB\s-1DH_VERBOSE\s0\fR" 4
.IX Item "DH_VERBOSE"
auf \fB1\fR gesetzt, um den Modus mit detailreicher Ausgabe zu
aktivieren. Debhelper wird jeden von ihm ausgeführten Befehl
ausgeben. Außerdem wird die detailreiche Ausgabe von Bauprotokollen für
einige Bausysteme wie Autoconf aktiviert.
.IP "\fB\s-1DH_QUIET\s0\fR" 4
.IX Item "DH_QUIET"
auf \fB1\fR gesetzt, um den detailarmen Modus zu aktivieren. Debhelper wird
weder Befehle ausgeben, die das Bausystem der Ursprungsautoren aufrufen,
noch wird Dh ausgeben, welche Unterbefehle aufgerufen werden. Abhängig vom
benutzten Bausystem wird auch dieses weniger Details ausgeben. Dadurch wird
es einfacher, wichtige Nachrichten zu erkennen, die Ausgabe wird jedoch als
Buildd-Protokoll ziemlich nutzlos. Falls \s-1DH_VERBOSE\s0 ebenfalls gesetzt ist,
wird diese Einstellung ignoriert.
.IP "\fB\s-1DH_COMPAT\s0\fR" 4
.IX Item "DH_COMPAT"
gibt vorübergehend an, auf welcher Kompatibilitätsstufe Debhelper ausgeführt
werden sollte und setzt dabei jeden Wert außer Kraft, der über Build-Depends
in Debhelper-compat oder über die Datei \fIdebian/compat\fR angegeben wurde.
.IP "\fB\s-1DH_NO_ACT\s0\fR" 4
.IX Item "DH_NO_ACT"
auf \fB1\fR gesetzt, um Modus ohne Aktion zu aktivieren.
.IP "\fB\s-1DH_OPTIONS\s0\fR" 4
.IX Item "DH_OPTIONS"
Alle Debhelper-Werkzeuge werden die in dieser Variable aufgeführten
Argumente vor irgendwelchen Befehlszeilenargumenten auswerten (als ob sie
den Befehlszeilenargumenten vorangestellt worden wären). Leider unterstützen
einige von Dritten bereitgestellte Werkzeuge diese Variable möglicherweise
nicht und werden diese Befehlszeilenargumente ignorieren.
.Sp
Wenn \fBdh\fR\|(1) benutzt wird, können ihm Optionen übergeben werden, die es an
jeden Debhelper-Befehl weitergibt, was im Allgemeinen besser ist, als
\&\s-1DH_OPTIONS\s0 zu verwenden.
.IP "\fB\s-1DH_ALWAYS_EXCLUDE\s0\fR" 4
.IX Item "DH_ALWAYS_EXCLUDE"
Falls gesetzt, fügt dies den Wert, auf den die Variable gesetzt ist, den
\&\fB\-X\fR\-Optionen aller Befehle hinzu, die die Option \fB\-X\fR
unterstützen. Außerdem wird \fBdh_builddeb\fR für alles, das dem Wert in Ihrem
Paketbaubaum entspricht, \fBrm \-rf\fR ausführen.
.Sp
Dies kann nützlich sein, falls Sie aus einem CVS-Quellverzeichnisbaum
bauen. In diesem Fall verhindert das Setzen von \fBDH_ALWAYS_EXCLUDE=CVS\fR,
dass irgendwelche CVS-Verzeichnisse sich in das Paket einschleichen, das Sie
bauen. Oder, falls ein Paket einen Quell-Tarball hat, der (unklugerweise)
CVS-Verzeichnisse enthält, möchten Sie möglicherweise
\&\fBDH_ALWAYS_EXCLUDE=CVS\fR in \fIdebian/rules\fR exportieren, damit es wirksam
ist, wo auch immer Ihr Paket gebaut wird.
.Sp
Mehrere Dinge, die ausgeschlossen werden sollen, können mit Doppelpunkten
getrennt werden, wie in \fBDH_ALWAYS_EXCLUDE=CVS:.svn\fR.
.IP "\fB\s-1DH_EXTRA_ADDONS\s0\fR" 4
.IX Item "DH_EXTRA_ADDONS"
Falls gesetzt, fügt dies die angegebenen Dh-Erweiterungen hinzu, die an den
entsprechenden Stellen in den Sequenzen von Befehlen ausgeführt werden. Dies
entspricht der Angabe der auszuführenden Erweiterung mit dem Schalter \-\-with
in der Datei »debian/rules«. Alle \-\-without\-Aufrufe, die in dieser
Umgebungsvariable eine Erweiterung festlegen, werden nicht ausgeführt.
.Sp
Dies ist für die Benutzung durch nachgeschaltete Distributionen oder
spezielle lokale Konfigurationen gedacht, die eine Debhelper-Erweiterung
benötigen, während mehrfachem Bauen ausgeführt werden, ohne ein große Anzahl
von Dateien ausbessern zu müssen. Falls überhaupt möglich, sollte dies
zugunsten eines \-\-with\-Schalters in der Datei »rules« vermieden werden.
.IP "\fB\s-1DH_COLORS\s0\fR, \fB\s-1DPKG_COLORS\s0\fR" 4
.IX Item "DH_COLORS, DPKG_COLORS"
Diese Variablen können benutzt werden, um zu steuern, ob Debhelper-Befehle
in ihrer Textausgabe Farben benutzen sollen. Sie können auf »always«, »auto«
(die Voreinstellung) oder »never« gesetzt werden.
.Sp
Beachten Sie, dass \fB\s-1DPKG_COLOR\s0\fR auch mehrere mit Dpkg verbunden Werkzeuge
beeinflusst und Debhelper es unter der Annahme benutzt, dass Sie dieselben
Farbeinstellungen für Dpkg und Debhelper benutzen wollen. In dem
unwahrscheinlichen Fall, dass Sie für Debhelper andere Farbeinstellungen
möchten, können Sie \fB\s-1DH_COLORS\s0\fR statt oder zusätzlich zu \fB\s-1DPKG_COLORS\s0\fR
verwenden.
.IP "\fB\s-1NO_COLOR\s0\fR" 4
.IX Item "NO_COLOR"
Falls nicht explizit um Farbe gebeten wurde (z.B. sowohl \fB\s-1DH_COLORS\s0\fR als
auch \fB\s-1DPKG_COLORS\s0\fR sind nicht gesetzt), führt das Vorliegen dieser
Umgebungsvariablen dazu, dass die Standardfarbeinstellung auf »never«
gesetzt wird.
.Sp
Die Variable ist gemäß <https://no\-color.org/> definiert. In diesem Projekt
werden die Umgebungsvariablen (wie \fB\s-1DH_COLORS\s0\fR) als explizite Farbanfrage
betrachtet.
.IP "\fB\s-1CFLAGS\s0\fR, \fB\s-1CPPFLAGS\s0\fR, \fB\s-1CXXFLAGS\s0\fR, \fB\s-1OBJCFLAGS\s0\fR, \fB\s-1OBJCXXFLAGS\s0\fR, \fB\s-1GCJFLAGS\s0\fR, \fB\s-1FFLAGS\s0\fR, \fB\s-1FCFLAGS\s0\fR, \fB\s-1LDFLAGS\s0\fR" 4
.IX Item "CFLAGS, CPPFLAGS, CXXFLAGS, OBJCFLAGS, OBJCXXFLAGS, GCJFLAGS, FFLAGS, FCFLAGS, LDFLAGS"
Standardmäßig (in jeder nicht missbilligten Kompatibilitätsstufe) wird
Debhelper diese Schalter automatisch mittels \fBdpkg\-buildflags\fR\|(1) setzen,
wenn sie nicht gesetzt sind. Falls Sie die voreingestellten Schalter ändern
wollen, benutzen Sie die Funktionalität von \fBdpkg\-buildflags\fR\|(1), um dies
zu tun (z.B. \fBDEB_BUILD_MAINT_OPTIONS=hardening=all\fR oder
\&\fBDEB_CPPFLAGS_MAINT_APPEND=\-DCUSTOM_MACRO=true\fR), anstatt die konkrete
Variable direkt zu setzen.
.IP "\fB\s-1HOME\s0\fR, \fBXDG_*\fR" 4
.IX Item "HOME, XDG_*"
In Kompatibilitätsstufe 13 und neuer werden diese Umgebungsvariable
zurückgesetzt, bevor das Baussystem der Ursprungsautoren über die
\&\fBdh_auto_*\fR\-Hilfsprogramme aufgerufen wird. Die Variablen \fB\s-1HOME\s0\fR und
\&\fB\s-1XDG_RUNTIME_DIR\s0\fR werden auf ein beschreibbares Verzeichnis gesetzt. Die
verbleibenden Variablen werden geleert.
.Sp
Die Verzeichnisse werden leer erzeugt, sie werden allerdings zwischen den
\&\fBdh_auto_*\fR\-Aufrufen weiter benutzt. Jeglicher Inhalt wird weiter bestehen,
bis er explizit gelöscht oder \fBdh_clean\fR aufgerufen wird.
.SH "SIEHE AUCH"
.IX Header "SIEHE AUCH"
.IP "\fI/usr/share/doc/debhelper/examples/\fR" 4
.IX Item "/usr/share/doc/debhelper/examples/"
eine Zusammenstellung von \fIdebian/rules\fR\-Beispieldateien, die Debhelper
benutzen
.IP "<http://joeyh.name/code/debhelper/>" 4
.IX Item "<http://joeyh.name/code/debhelper/>"
Debhelper-Website
.SH "ÜBERSETZUNG"
.IX Header "ÜBERSETZUNG"
Diese Übersetzung wurde mit dem Werkzeug
\&\fBpo4a\fR
<http://po4a.alioth.debian.org/>
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 <joeyh@debian.org>
