2092 lines
77 KiB
HTML
2092 lines
77 KiB
HTML
|
||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
<HTML><HEAD><TITLE>Man page of debhelper</TITLE>
|
||
</HEAD><BODY>
|
||
<H1>debhelper</H1>
|
||
Section: Debhelper (7)<BR>Updated: 2020-03-27<BR><A HREF="#index">Index</A>
|
||
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<A NAME="lbAB"> </A>
|
||
<H2>NAME</H2>
|
||
|
||
debhelper - die Debhelper-Werkzeugsammlung
|
||
<A NAME="lbAC"> </A>
|
||
<H2>ÜBERSICHT</H2>
|
||
|
||
|
||
|
||
<B>dh_</B><I>*</I> [<B>-v</B>] [<B>-a</B>] [<B>-i</B>] [<B>--no-act</B>] [<B>-p</B><I>Paket</I>]
|
||
[<B>-N</B><I>Paket</I>] [<B>-P</B><I>temporäres_Verzeichnis</I>]
|
||
<A NAME="lbAD"> </A>
|
||
<H2>BESCHREIBUNG</H2>
|
||
|
||
|
||
|
||
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 <I>debian/rules</I>
|
||
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.
|
||
<P>
|
||
|
||
Eine typische <I>debian/rules</I>-Datei, die Debhelper benutzt, wird mehrere
|
||
Debhelper-Befehle hintereinander aufrufen oder <B><A HREF="/cgi-bin/man/man2html?1+dh">dh</A></B>(1) verwenden, um diesen
|
||
Prozess zu automatisieren. Beispiele für Regeldateien, die Debhelper
|
||
einsetzen, liegen in <I>/usr/share/doc/debhelper/examples/</I>.
|
||
<P>
|
||
|
||
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 <B>dh-make</B> ausprobieren, das einen
|
||
dh_make-Befehl enthält, der den Prozess teilweise
|
||
automatisiert. Für eine behutsamere Einführung enthält das Paket
|
||
<B>maint-guide</B> ein Lernprogramm, wie Sie Ihr erstes Paket unter Verwendung
|
||
von Debhelper erstellen.
|
||
<P>
|
||
|
||
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 <I>debian/control</I> finden.
|
||
<A NAME="lbAE"> </A>
|
||
<H2>DEBHELPER-BEFEHLE</H2>
|
||
|
||
|
||
|
||
Hier ist die Liste der Debhelper-Befehle, die Sie benutzen
|
||
können. Zusätzliche Dokumentation finden Sie in deren Handbuchseiten.
|
||
<DL COMPACT>
|
||
<DT id="1"><B><A HREF="/cgi-bin/man/man2html?1+dh_auto_build">dh_auto_build</A></B>(1)<DD>
|
||
|
||
|
||
baut ein Paket automatisch
|
||
<DT id="2"><B><A HREF="/cgi-bin/man/man2html?1+dh_auto_clean">dh_auto_clean</A></B>(1)<DD>
|
||
|
||
|
||
räumt nach dem Bauen automatisch auf
|
||
<DT id="3"><B><A HREF="/cgi-bin/man/man2html?1+dh_auto_configure">dh_auto_configure</A></B>(1)<DD>
|
||
|
||
|
||
konfiguriert das Paket automatisch vor dem Bauen.
|
||
<DT id="4"><B><A HREF="/cgi-bin/man/man2html?1+dh_auto_install">dh_auto_install</A></B>(1)<DD>
|
||
|
||
|
||
führt »make install« oder Ähnliches aus
|
||
<DT id="5"><B><A HREF="/cgi-bin/man/man2html?1+dh_auto_test">dh_auto_test</A></B>(1)<DD>
|
||
|
||
|
||
führt automatisch die Test-Suites eines Programms aus
|
||
<DT id="6"><B><A HREF="/cgi-bin/man/man2html?1+dh_bugfiles">dh_bugfiles</A></B>(1)<DD>
|
||
|
||
|
||
installiert Dateien zur Anpassung von Fehlerberichten in
|
||
Bauverzeichnisse von Paketen.
|
||
<DT id="7"><B><A HREF="/cgi-bin/man/man2html?1+dh_builddeb">dh_builddeb</A></B>(1)<DD>
|
||
|
||
|
||
baut binäre Debian-Pakete
|
||
<DT id="8"><B><A HREF="/cgi-bin/man/man2html?1+dh_clean">dh_clean</A></B>(1)<DD>
|
||
|
||
|
||
räumt die Bauverzeichnisse des Pakets auf
|
||
<DT id="9"><B><A HREF="/cgi-bin/man/man2html?1+dh_compress">dh_compress</A></B>(1)<DD>
|
||
|
||
|
||
komprimiert Dateien und feste symbolische Links in
|
||
Bauverzeichnissen von Paketen
|
||
<DT id="10"><B><A HREF="/cgi-bin/man/man2html?1+dh_dwz">dh_dwz</A></B>(1)<DD>
|
||
|
||
|
||
optimiert DWARF-Fehlersuchinformationen in ELF-Binärdateien über
|
||
dwz
|
||
<DT id="11"><B><A HREF="/cgi-bin/man/man2html?1+dh_fixperms">dh_fixperms</A></B>(1)<DD>
|
||
|
||
|
||
korrigiert Zugriffsrechte von Dateien in Bauverzeichnissen
|
||
<DT id="12"><B><A HREF="/cgi-bin/man/man2html?1+dh_gencontrol">dh_gencontrol</A></B>(1)<DD>
|
||
|
||
|
||
erzeugt und installiert die Datei »control«
|
||
<DT id="13"><B><A HREF="/cgi-bin/man/man2html?1+dh_icons">dh_icons</A></B>(1)<DD>
|
||
|
||
|
||
aktualisiert die Zwischenspeicher von Freedesktop-Symbolen
|
||
<DT id="14"><B><A HREF="/cgi-bin/man/man2html?1+dh_install">dh_install</A></B>(1)<DD>
|
||
|
||
|
||
installiert Dateien in Bauverzeichnisse von Paketen
|
||
<DT id="15"><B><A HREF="/cgi-bin/man/man2html?1+dh_installcatalogs">dh_installcatalogs</A></B>(1)<DD>
|
||
|
||
|
||
installiert und registriert SGML-Kataloge
|
||
<DT id="16"><B><A HREF="/cgi-bin/man/man2html?1+dh_installchangelogs">dh_installchangelogs</A></B>(1)<DD>
|
||
|
||
|
||
installiert Changelogs in die Paketbauverzeichnisse
|
||
<DT id="17"><B><A HREF="/cgi-bin/man/man2html?1+dh_installcron">dh_installcron</A></B>(1)<DD>
|
||
|
||
|
||
installiert Cron-Skripte in etc/cron.*
|
||
<DT id="18"><B><A HREF="/cgi-bin/man/man2html?1+dh_installdeb">dh_installdeb</A></B>(1)<DD>
|
||
|
||
|
||
installiert Dateien in das Verzeichnis <FONT SIZE="-1">DEBIAN.</FONT>
|
||
<DT id="19"><B><A HREF="/cgi-bin/man/man2html?1+dh_installdebconf">dh_installdebconf</A></B>(1)<DD>
|
||
|
||
|
||
installiert Dateien, die von Debconf im
|
||
Paketbauverzeichnis benutzt werden
|
||
<DT id="20"><B><A HREF="/cgi-bin/man/man2html?1+dh_installdirs">dh_installdirs</A></B>(1)<DD>
|
||
|
||
|
||
erstellt Unterverzeichnisse in den Paketbauverzeichnissen
|
||
<DT id="21"><B><A HREF="/cgi-bin/man/man2html?1+dh_installdocs">dh_installdocs</A></B>(1)<DD>
|
||
|
||
|
||
installiert Dokumentation in Paketbauverzeichnisse
|
||
<DT id="22"><B><A HREF="/cgi-bin/man/man2html?1+dh_installemacsen">dh_installemacsen</A></B>(1)<DD>
|
||
|
||
|
||
registriert ein Emacs-Add-on-Paket
|
||
<DT id="23"><B><A HREF="/cgi-bin/man/man2html?1+dh_installexamples">dh_installexamples</A></B>(1)<DD>
|
||
|
||
|
||
installiert Beispieldateien in die
|
||
Paketbauverzeichnisse.
|
||
<DT id="24"><B><A HREF="/cgi-bin/man/man2html?1+dh_installifupdown">dh_installifupdown</A></B>(1)<DD>
|
||
|
||
|
||
installiert »if-up«- und »if-down«-Hooks.
|
||
<DT id="25"><B><A HREF="/cgi-bin/man/man2html?1+dh_installinfo">dh_installinfo</A></B>(1)<DD>
|
||
|
||
|
||
installiert Info-Dateien
|
||
<DT id="26"><B><A HREF="/cgi-bin/man/man2html?1+dh_installinit">dh_installinit</A></B>(1)<DD>
|
||
|
||
|
||
installiert Dienstinitialisierungsdateien in
|
||
Paketbauverzeichnisse
|
||
<DT id="27"><B><A HREF="/cgi-bin/man/man2html?1+dh_installinitramfs">dh_installinitramfs</A></B>(1)<DD>
|
||
|
||
|
||
installiert Initramfs-Hooks und
|
||
Einrichtungsverwaltungsskripte
|
||
<DT id="28"><B><A HREF="/cgi-bin/man/man2html?1+dh_installlogcheck">dh_installlogcheck</A></B>(1)<DD>
|
||
|
||
|
||
installiert Regeldateien zur Protokollprüfung in
|
||
etc/logcheck/
|
||
<DT id="29"><B><A HREF="/cgi-bin/man/man2html?1+dh_installlogrotate">dh_installlogrotate</A></B>(1)<DD>
|
||
|
||
|
||
installiert Konfigurationsdateien von Logrotate
|
||
<DT id="30"><B><A HREF="/cgi-bin/man/man2html?1+dh_installman">dh_installman</A></B>(1)<DD>
|
||
|
||
|
||
installiert Handbuchseiten in Paketbauverzeichnisse
|
||
<DT id="31"><B><A HREF="/cgi-bin/man/man2html?1+dh_installmenu">dh_installmenu</A></B>(1)<DD>
|
||
|
||
|
||
installiert Debian-Menü-Dateien in Paketbauverzeichnisse
|
||
<DT id="32"><B><A HREF="/cgi-bin/man/man2html?1+dh_installmime">dh_installmime</A></B>(1)<DD>
|
||
|
||
|
||
installiert MIME-Dateien in Paketbauverzeichnisse
|
||
<DT id="33"><B><A HREF="/cgi-bin/man/man2html?1+dh_installmodules">dh_installmodules</A></B>(1)<DD>
|
||
|
||
|
||
registriert Kernel-Module
|
||
<DT id="34"><B><A HREF="/cgi-bin/man/man2html?1+dh_installpam">dh_installpam</A></B>(1)<DD>
|
||
|
||
|
||
installiert <FONT SIZE="-1">PAM</FONT> unterstützende Dateien
|
||
<DT id="35"><B><A HREF="/cgi-bin/man/man2html?1+dh_installppp">dh_installppp</A></B>(1)<DD>
|
||
|
||
|
||
installiert PPP-ip-up- und -ip-down-Dateien
|
||
<DT id="36"><B><A HREF="/cgi-bin/man/man2html?1+dh_installudev">dh_installudev</A></B>(1)<DD>
|
||
|
||
|
||
installiert udev-Regeldateien
|
||
<DT id="37"><B><A HREF="/cgi-bin/man/man2html?1+dh_installwm">dh_installwm</A></B>(1)<DD>
|
||
|
||
|
||
registriert einen Fenstermanager
|
||
<DT id="38"><B><A HREF="/cgi-bin/man/man2html?1+dh_installxfonts">dh_installxfonts</A></B>(1)<DD>
|
||
|
||
|
||
registriert X-Schriften
|
||
<DT id="39"><B><A HREF="/cgi-bin/man/man2html?1+dh_link">dh_link</A></B>(1)<DD>
|
||
|
||
|
||
erzeugt symbolische Links in Paketbauverzeichnisse
|
||
<DT id="40"><B><A HREF="/cgi-bin/man/man2html?1+dh_lintian">dh_lintian</A></B>(1)<DD>
|
||
|
||
|
||
installiert außer Kraft setzende Dateien für Lintian in
|
||
Paketbauverzeichnisse
|
||
<DT id="41"><B><A HREF="/cgi-bin/man/man2html?1+dh_listpackages">dh_listpackages</A></B>(1)<DD>
|
||
|
||
|
||
listet Binärpakete auf, auf die Dephelper einwirken wird
|
||
<DT id="42"><B><A HREF="/cgi-bin/man/man2html?1+dh_makeshlibs">dh_makeshlibs</A></B>(1)<DD>
|
||
|
||
|
||
erstellt automatisch die Shlibs-Datei und ruft
|
||
dpkg-gensymbols auf
|
||
<DT id="43"><B><A HREF="/cgi-bin/man/man2html?1+dh_md5sums">dh_md5sums</A></B>(1)<DD>
|
||
|
||
|
||
erzeugt die Datei DEBIAN/md5sums
|
||
<DT id="44"><B><A HREF="/cgi-bin/man/man2html?1+dh_movefiles">dh_movefiles</A></B>(1)<DD>
|
||
|
||
|
||
verschiebt Dateien aus debian/tmp in Unterpakete
|
||
<DT id="45"><B><A HREF="/cgi-bin/man/man2html?1+dh_perl">dh_perl</A></B>(1)<DD>
|
||
|
||
|
||
berechnet Perl-Abhängigkeiten und räumt nach MakeMaker auf
|
||
<DT id="46"><B><A HREF="/cgi-bin/man/man2html?1+dh_prep">dh_prep</A></B>(1)<DD>
|
||
|
||
|
||
führt Säuberungsaktionen als Vorbereitung des Baus von
|
||
Binärpaketen durch
|
||
<DT id="47"><B><A HREF="/cgi-bin/man/man2html?1+dh_shlibdeps">dh_shlibdeps</A></B>(1)<DD>
|
||
|
||
|
||
berechnet Abhängigkeiten gemeinsam benutzter Bibliotheken
|
||
<DT id="48"><B><A HREF="/cgi-bin/man/man2html?1+dh_strip">dh_strip</A></B>(1)<DD>
|
||
|
||
|
||
entfernt Symbole aus Programmen, gemeinsam benutzten Bibliotheken
|
||
und einigen statischen Bibliotheken
|
||
<DT id="49"><B><A HREF="/cgi-bin/man/man2html?1+dh_systemd_enable">dh_systemd_enable</A></B>(1)<DD>
|
||
|
||
|
||
aktiviert/deaktiviert Systemd-Unit-Dateien
|
||
<DT id="50"><B><A HREF="/cgi-bin/man/man2html?1+dh_systemd_start">dh_systemd_start</A></B>(1)<DD>
|
||
|
||
|
||
startet/stoppt oder startet Systemd-Unit-Dateien erneut
|
||
<DT id="51"><B><A HREF="/cgi-bin/man/man2html?1+dh_testdir">dh_testdir</A></B>(1)<DD>
|
||
|
||
|
||
Verzeichnis vor dem Bauen des Debian-Pakets testen
|
||
<DT id="52"><B><A HREF="/cgi-bin/man/man2html?1+dh_testroot">dh_testroot</A></B>(1)<DD>
|
||
|
||
|
||
stellt sicher, dass ein Paket mit der notwendigen Stufe von
|
||
Root-Rechten gebaut wird.
|
||
<DT id="53"><B><A HREF="/cgi-bin/man/man2html?1+dh_usrlocal">dh_usrlocal</A></B>(1)<DD>
|
||
|
||
|
||
migriert usr/local-Verzeichnisse zu Betreuerskripten
|
||
</DL>
|
||
<A NAME="lbAF"> </A>
|
||
<H3>Missbilligte Befehle</H3>
|
||
|
||
|
||
|
||
Ein paar Debhelper-Befehle sind veraltet und sollten nicht benutzt werden.
|
||
<DL COMPACT>
|
||
<DT id="54"><B><A HREF="/cgi-bin/man/man2html?1+dh_gconf">dh_gconf</A></B>(1)<DD>
|
||
|
||
|
||
installiert Standard-GConf-Dateien und registriert Schemen
|
||
(missbilligt)
|
||
<DT id="55"><B><A HREF="/cgi-bin/man/man2html?1+dh_installmanpages">dh_installmanpages</A></B>(1)<DD>
|
||
|
||
|
||
Handbuchseiteninstallationsprogramm im alten Stil
|
||
(veraltet)
|
||
</DL>
|
||
<A NAME="lbAG"> </A>
|
||
<H3>Weitere Befehle</H3>
|
||
|
||
|
||
|
||
Falls ein Programmname mit <B>dh_</B> 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.
|
||
<A NAME="lbAH"> </A>
|
||
<H2>DEBHELPER-KONFIGURATIONSDATEIEN</H2>
|
||
|
||
|
||
|
||
Viele Debhelper-Befehle machen von den Dateien in <I>debian/</I> Gebrauch, um zu
|
||
steuern, was sie tun. Neben den üblichen <I>debian/changelog</I> und
|
||
<I>debian/control</I>, 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/<I>Paket</I>.foo (wobei <I>Paket</I> natürlich
|
||
durch das Paket ersetzt wird, auf das es sich auswirkt).
|
||
<P>
|
||
|
||
<B>dh_installdocs</B> benutzt beispielsweise Dateien mit dem Namen
|
||
<I>debian/package.docs</I>, 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.
|
||
<P>
|
||
|
||
Beachten Sie, dass Debhelper für das erste (oder einzige) in
|
||
<I>debian/control</I> aufgeführte Binärpaket <I>debian/foo</I> benutzen wird, wenn
|
||
es keine <I>debian/Paket.foo</I>-Datei gibt. Oft ist es jedoch eine gute
|
||
Idee, das Präfix <I>Paket.</I> 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
|
||
<I>debian/copyright</I> oder <I>debian/changelog</I>).
|
||
<P>
|
||
|
||
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/<I>Paket</I>.foo.<I></I><FONT SIZE="-1"><I>ARCHITEKTUR</I></FONT><I></I> oder
|
||
debian/<I>Paket</I>.foo.<I></I><FONT SIZE="-1"><I>BETRIEBSSYSTEM</I></FONT><I></I> existieren, wobei <I></I><FONT SIZE="-1"><I>ARCHITEKTUR</I></FONT><I></I> und
|
||
<I></I><FONT SIZE="-1"><I>BETRIEBSSYSTEM</I></FONT><I></I> der Ausgabe von »<B>dpkg-architecture -qDEB_HOST_ARCH_OS</B>«
|
||
entsprechen, dann werden sie gegenüber anderen, allgemeineren Dateien,
|
||
bevorzugt.
|
||
<P>
|
||
|
||
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 (<B>?</B>, <B>*</B> und <B>[</B><I>..</I><B>]</B>-Zeichenklassen). Sie können
|
||
außerdem Kommentare in diese Dateien einfügen; Zeilen, die mit <B>#</B>
|
||
beginnen, werden ignoriert.
|
||
<P>
|
||
|
||
Die Syntax dieser Dateien ist absichtlich sehr einfach gehalten, um sie
|
||
leicht lesbar, verständlich und änderbar zu machen.
|
||
<A NAME="lbAI"> </A>
|
||
<H3>Ersetzungen in Debhelper-Konfigurationsdateien</H3>
|
||
|
||
|
||
|
||
In Kompatibilitätsstufe 13 und neuer ist es möglich, einfache Ersetzungen in
|
||
<I>einigen</I> Debhelper-Konfigurationsdateien zu benutzen (insbesondere in
|
||
Konfigurationsdateien für <B><A HREF="/cgi-bin/man/man2html?1+dh_install">dh_install</A></B>(1)).
|
||
<P>
|
||
|
||
Alle Ersetzungsvariablen haben die Form <I>${foo}</I> 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.
|
||
<P>
|
||
|
||
Falls Sie ein Dollarzeichen benötigen, das kein Ersetzen auslösen kann,
|
||
können Sie entweder die <B>${Dollar}</B>-Ersetzung oder die Sequenz <B>${}</B>
|
||
verwenden.
|
||
<P>
|
||
|
||
Die folgenden Expandierungen sind verfügbar:
|
||
<DL COMPACT>
|
||
<DT id="56"><B>DEB_HOST_*</B>, <B>DEB_BUILD_*</B>, <B>DEB_TARGET_*</B><DD>
|
||
|
||
|
||
expandiert auf den passenden <B><A HREF="/cgi-bin/man/man2html?1+dpkg-architecture">dpkg-architecture</A></B>(1)-Wert (ähnlich
|
||
<I>dpkg-architecture -qVARIABLE_HIER</I>).
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Im Zweifel ist die Variante <B>DEB_HOST_*</B> diejenige, die sowohl für natives
|
||
als auch für Bauen für andere Architekturen funktioniert.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Aus Leistungsgründen wird Debhelper versuchen, diese Namen aus der Umgebung
|
||
aufzulösen, bevor es Rat bei <B><A HREF="/cgi-bin/man/man2html?1+dpkg-architecture">dpkg-architecture</A></B>(1) sucht. Dies ist
|
||
hauptsächlich der Vollständigkeit halber erwähnt und hat in den meisten
|
||
Fällen keine Bedeutung.
|
||
<DT id="57"><B>Dollar</B><DD>
|
||
|
||
|
||
expandiert auf ein einzelnes <B>$</B>-Symbol. Dieses Symbol wird <I>niemals</I> als
|
||
Teil der Ersetzungsvariable angesehen. Dies bedeutet:
|
||
|
||
|
||
<P>
|
||
|
||
|
||
|
||
|
||
<PRE>
|
||
# löst einen Fehler aus
|
||
${KEINE_DERARTIGE_MARKIERUNG}
|
||
# expandiert auf den genauen Wert »${KEINE_DERARTIGE_MARKIERUNG}«
|
||
${Dollar}{KEINE_DERARTIGE_MARKIERUNG}
|
||
|
||
</PRE>
|
||
|
||
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Diese Variable entspricht der Sequenz <B>${}</B> und beides kann synonym benutzt
|
||
werden.
|
||
<DT id="58"><B>Newline</B>, <B>Space</B>, <B>Tab</B><DD>
|
||
|
||
|
||
expandiert auf einen einzelnen ASCII-Zeilenumbruch, Leerzeichen
|
||
beziehungsweise Tabulator.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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.
|
||
<DT id="59"><B>env:</B><FONT SIZE="-1">NAME</FONT><B></B><DD>
|
||
|
||
|
||
expandiert die Umgebungsvariable <I></I><FONT SIZE="-1"><I>NAME</I></FONT><I></I>. Die Umgebungsvariable muss gesetzt
|
||
sein (kann aber auf eine leere Zeichenkette gesetzt sein).
|
||
</DL>
|
||
<P>
|
||
|
||
Beachten Sie, dass alle Variablen auf einen definierten Wert expandiert
|
||
werden müssen. Wenn Debhelper beispielsweise <I>${env:FOO}</I> sieht, wird es
|
||
darauf bestehen, dass die Umgebungsvariable <I></I><FONT SIZE="-1"><I>FOO</I></FONT><I></I> gesetzt ist (sie kann auf
|
||
eine leere Zeichenkette gesetzt werden).
|
||
<P>
|
||
|
||
<I>Ersetzungsbeschränkungen</I>
|
||
|
||
|
||
<P>
|
||
|
||
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).
|
||
<A NAME="lbAJ"> </A>
|
||
<H3>Ausführbare Debhelper-Konfigurationsdateien</H3>
|
||
|
||
|
||
|
||
Falls Sie zusätzliche Flexibilität benötigen, unterstützen viele
|
||
Debhelper-Werkzeuge (z.B. <B><A HREF="/cgi-bin/man/man2html?1+dh_install">dh_install</A></B>(1)) die Ausführung einer
|
||
Konfigurationsdatei als Skript.
|
||
<P>
|
||
|
||
Um diese Funktionalität zu benutzen, markieren Sie die Konfigurationsdatei
|
||
einfach als ausführbar (z.B. <B>chmod +x debian/</B>Paket<B>.install</B>) und
|
||
das Werkzeug wird versuchen, es auszuführen und die Ausgabe des Skripts zu
|
||
verwenden. In vielen Fällen können Sie auch <B><A HREF="/cgi-bin/man/man2html?1+dh-exec">dh-exec</A></B>(1) als Interpreter
|
||
der Konfigurationsdatei verwenden, um das Meiste der Originalsyntax
|
||
beizubehalten, obwohl Sie die zusätzliche Flexibilität wie gewünscht
|
||
erhalten.
|
||
<P>
|
||
|
||
Wenn Sie ausführbare Debhelper-Konfigurationsdateien verwenden, sollten Sie
|
||
bitte Folgendes wissen:
|
||
<DL COMPACT>
|
||
<DT id="60">•<DD>
|
||
Die ausführbare Konfigurationsdatei <B>muss</B> erfolgreich enden (d.h. der
|
||
Rückgabewert sollte einen Erfolg anzeigen).
|
||
<DT id="61">•<DD>
|
||
Auf Kompatibilitätsstufen über 13 unterliegt die Ausgabe Ersetzungen (siehe
|
||
``Ersetzungen in Debhelper-Konfigurationsdateien''), wenn das Werkzeug diese
|
||
unterstützt. Denken Sie daran, dass Sie vorsichtig sein müssen, falls Ihr
|
||
Generator <I>auch</I> Ersetzungen bereitstellt, da dies zu unnötiger Verwirrung
|
||
führen kann.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Andernfalls wird die Ausgabe exakt so benutzt, wie sie ist. Insbesondere
|
||
wird Debhelper Platzhalter <I>nicht</I> expandieren oder Kommentare und
|
||
Leerzeichen aus der Ausgabe entfernen.
|
||
</DL>
|
||
<P>
|
||
|
||
Falls Sie das Paket auf einem Dateisystem bauen, auf dem Sie das
|
||
Ausführungsbit nicht deaktivieren können, können Sie <B><A HREF="/cgi-bin/man/man2html?1+dh-exec">dh-exec</A></B>(1) und sein
|
||
Skript <B>strip-output</B> verwenden.
|
||
<A NAME="lbAK"> </A>
|
||
<H2>GEMEINSAM BENUTZTE DEBHELPER-OPTIONEN</H2>
|
||
|
||
|
||
|
||
Die folgenden Befehlszeilenoptionen werden von allen Debhelper-Programmen
|
||
unterstützt.
|
||
<DL COMPACT>
|
||
<DT id="62"><B>-v</B>, <B>--verbose</B><DD>
|
||
|
||
|
||
Detailreicher Modus: zeigt alle Befehle, die das Paketbauverzeichnis ändern
|
||
<DT id="63"><B>--no-act</B><DD>
|
||
|
||
|
||
tut nicht wirklich etwas. Falls es mit -v benutzt wird, wird als Ergebnis
|
||
ausgegeben, was der Befehl getan hätte.
|
||
<DT id="64"><B>-a</B>, <B>--arch</B><DD>
|
||
|
||
|
||
wirkt sich auf architekturabhängige Pakete aus, die für die Architektur
|
||
<B></B><FONT SIZE="-1"><B>DEB_HOST_ARCH</B></FONT><B></B> gebaut werden sollen.
|
||
<DT id="65"><B>-i</B>, <B>--indep</B><DD>
|
||
|
||
|
||
wirkt sich auf alle architekturunabhängigen Pakete aus.
|
||
<DT id="66"><B>-p</B><I>Paket</I>, <B>--package=</B><I>Paket</I><DD>
|
||
|
||
|
||
wirkt sich auf das Paket mit Namen <I>Paket</I> aus. Diese Option kann mehrfach
|
||
angegeben werden, damit Debhelper mit einer Zusammenstellung von Paketen
|
||
arbeitet.
|
||
<DT id="67"><B>-s</B>, <B>--same-arch</B><DD>
|
||
|
||
|
||
missbilligter Alias von <B>-a</B>.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Die Option wurde in Kompatibilitätsstufe 12 entfernt.
|
||
<DT id="68"><B>-N</B><I>Paket</I>, <B>--no-package=</B><I>Paket</I><DD>
|
||
|
||
|
||
verhindert Auswirkungen auf das angegebene Paket, sogar wenn die Optionen
|
||
<B>-a</B>, <B>-i</B> oder <B>-p</B> das Paket als zu verarbeiten auflisten.
|
||
<DT id="69"><B>--remaining-packages</B><DD>
|
||
|
||
|
||
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.
|
||
<DT id="70"><B>-P</B><I>temporäres_Verzeichnis</I>, <B>--tmpdir=</B><I>temporäres_Verzeichnis</I><DD>
|
||
|
||
|
||
benutzt <I>temporäres_Verzeichnis</I> als Bauverzeichnis des
|
||
Pakets. Voreinstellung ist debian/<I>Paket</I>.
|
||
<DT id="71"><B>--mainpackage=</B><I>Paket</I><DD>
|
||
|
||
|
||
Diese selten benutzte Option ändert, welches Paket Debhelper als
|
||
»Hauptpaket« ansieht, sprich das erste in <I>debian/control</I> aufgeführte und
|
||
das, für das <I>debian/foo</I>-Dateien, statt der üblichen
|
||
<I>debian/Paket.foo</I>-Dateien, verwandt werden können.
|
||
<DT id="72"><B>-O=</B><I>Option</I>|<I>Bündel</I><DD>
|
||
|
||
|
||
Dies wird von <B><A HREF="/cgi-bin/man/man2html?1+dh">dh</A></B>(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.
|
||
</DL>
|
||
<A NAME="lbAL"> </A>
|
||
<H2>HÄUFIGE DEBHELPER-OPTIONEN</H2>
|
||
|
||
|
||
|
||
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.
|
||
<DL COMPACT>
|
||
<DT id="73"><B>-n</B><DD>
|
||
|
||
|
||
verändert keine <I>postinst</I>-, <I>postrm</I>- etc. Skripte
|
||
<DT id="74"><B>-X</B><I>Element</I>, <B>--exclude=</B><I>Element</I><DD>
|
||
|
||
|
||
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.
|
||
<DT id="75"><B>-A</B>, <B>--all</B><DD>
|
||
|
||
|
||
bewirkt, dass Dateien oder andere Elemente, die auf der Befehlszeile
|
||
angegeben wurden, sich in <FONT SIZE="-1">ALLEN</FONT> entsprechenden Paketen auswirken, nicht nur
|
||
im ersten.
|
||
</DL>
|
||
<A NAME="lbAM"> </A>
|
||
<H2>BAUSYSTEMOPTIONEN</H2>
|
||
|
||
|
||
|
||
Die folgenden Befehlszeilenoptionen werden von allen
|
||
<B>dh_auto_</B><I>*</I>-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 <B><A HREF="/cgi-bin/man/man2html?1+dh">dh</A></B>(1) übergeben, das sie dann an all
|
||
die <B>dh_auto_</B><I>*</I>-Programme übergibt.
|
||
<DL COMPACT>
|
||
<DT id="76"><B>-S</B><I>Bausystem</I>, <B>--buildsystem=</B><I>Bausystem</I><DD>
|
||
|
||
|
||
erzwingt die Benutzung des angegebenen <I>Bausystem</I>s, anstatt zu versuchen,
|
||
automatisch eins auszuwählen, das für das Paket geeignet sein könnte.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
übergibt <B>none</B> als <I>Bausystem</I>, um automatisches Auswählen zu
|
||
deaktivieren.
|
||
<DT id="77"><B>-D</B><I>Verzeichnis</I>, <B>--sourcedir=</B><I>Verzeichnis</I>, <B>--sourcedirectory=</B><I>Verzeichnis</I><DD>
|
||
|
||
|
||
geht davon aus, dass der Quellverzeichnisbaum des Originalpakets im
|
||
angegebenen <I>Verzeichnis</I>, anstatt auf der obersten Verzeichnisebene des
|
||
Debian-Quellpaketverzeichnisbaums, liegt.
|
||
<DT id="78"><B>-B</B>[<I>Verzeichnis</I>], <B>--builddir</B>[<I>=Verzeichnis</I>], <B>--builddirectory=</B>[<I>Verzeichnis</I>]<DD>
|
||
|
||
|
||
aktiviert das Bauen aus dem Quelltext und benutzt das angegebene
|
||
<I>Verzeichnis</I>] als Bauverzeichnis. Falls der Parameter <I>Verzeichnis</I>]
|
||
weggelassen wurde, wird ein Vorgabebauverzeichnis ausgewählt.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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 <B>--builddirectory</B>
|
||
angegeben wurde.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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.
|
||
<DT id="79"><B>--parallel</B>, <B>--no-parallel</B><DD>
|
||
|
||
|
||
prüft, ob parallel gebaut werden soll, falls das zugrundeliegende Bausystem
|
||
dies unterstützt. Die Anzahl paralleler Aufgaben wird zur Bauzeit durch die
|
||
Umgebungsvariable <B></B><FONT SIZE="-1"><B>DEB_BUILD_OPTIONS</B></FONT><B></B> (``Debian-Richtlinie, Abschnitt
|
||
4.9.1'') gesteuert, Sie könnte außerdem Gegenstand einer
|
||
bausystemspezifischen Begrenzung sein.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Falls keine der Optionen angegeben wurde, ist die Voreinstellung von
|
||
Debhelper derzeit <B>--parallel</B> in Kompatibilitätsversion 10 (oder höher)
|
||
und andernfalls <B>--no-parallel</B>.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Als Optimierung wird <B>Dh</B> 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
|
||
<B></B><FONT SIZE="-1"><B>DEB_BUILD_OPTIONS</B></FONT><B></B> keinen <I>parallel</I>-Parameter hat (oder dessen Wert 1
|
||
ist).
|
||
<DT id="80"><B>--max-parallel=</B><I>Maximum</I><DD>
|
||
|
||
|
||
Diese Option impliziert <B>--parallel</B> 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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Bemerkenswerterweise ist das Setzen des Maximums auf 1 tatsächlich dasselbe
|
||
wie die Verwendung von <B>--no-parallel</B>.
|
||
<DT id="81"><B>--reload-all-buildenv-variables</B><DD>
|
||
|
||
|
||
Standardmäßig wird <B><A HREF="/cgi-bin/man/man2html?1+dh">dh</A></B>(1) mehrere Umgebungen berechnen (z.B. mittels
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-buildflags">dpkg-buildflags</A></B>(1)) und sie zwischenspeichern, um zu verhindern, dass
|
||
alle <B>dh_auto_*</B>-Werkzeuge sie erneut berechnen.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Wenn diese Option übergeben wird, wird das konkrete <B>dh_auto_*</B>-Werkzeug
|
||
den Zwischenspeicher von <B><A HREF="/cgi-bin/man/man2html?1+dh">dh</A></B>(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 <B>…FLAGS</B>-Optionen
|
||
benötigt. Ein konkretes Beispiel wäre die Notwendigkeit der Änderung des
|
||
Parameters <B>-O</B> in <B></B><FONT SIZE="-1"><B>CFLAGS</B></FONT><B></B> beim zweiten Bauen:
|
||
|
||
|
||
<P>
|
||
|
||
|
||
|
||
|
||
<PRE>
|
||
export DEB_CFLAGS_MAINT_APPEND=-O3
|
||
|
||
%:
|
||
dh $@
|
||
|
||
override_dh_auto_configure:
|
||
dh_auto_configure -Bbuild-deb ...
|
||
DEB_CFLAGS_MAINT_APPEND=-Os dh_auto_configure \
|
||
--reload-all-buildenv-variables -Bbuild-udeb ...
|
||
|
||
</PRE>
|
||
|
||
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Ohne <B>--reload-all-buildenv-variables</B> im zweiten Aufruf von
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dh_auto_configure">dh_auto_configure</A></B>(1) würde die Änderung in <B></B><FONT SIZE="-1"><B>DEB_CFLAGS_MAINT_APPEND</B></FONT><B></B>
|
||
ignoriert, da <B><A HREF="/cgi-bin/man/man2html?1+dh_auto_configure">dh_auto_configure</A></B>(1) den zwischengespeicherten Wert von
|
||
<B></B><FONT SIZE="-1"><B>CFLAGS</B></FONT><B></B>, der durch <B><A HREF="/cgi-bin/man/man2html?1+dh">dh</A></B>(1) gesetzt wurde, benutzen.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Diese Option ist nur mit <B>debhelper (>= 12.7~)</B> verfügbar, wenn das
|
||
Paket Kompatibilitätsstufe 9 oder neuer verwendet.
|
||
<DT id="82"><B>--list</B>, <B>-l</B><DD>
|
||
|
||
|
||
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 <B>--buildsystem</B>
|
||
manuell angegeben wird.
|
||
</DL>
|
||
<A NAME="lbAN"> </A>
|
||
<H2>KOMPATIBILITÄTSSTUFEN</H2>
|
||
|
||
|
||
|
||
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.
|
||
<P>
|
||
|
||
Im aktuellen Debhelper können Sie die Kompatibilitätsstufe in
|
||
<I>debian/control</I> 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
|
||
<I>debian/control</I> Folgendes enthält:
|
||
<P>
|
||
|
||
|
||
|
||
<PRE>
|
||
Build-Depends: debhelper-compat (>= 12)
|
||
|
||
</PRE>
|
||
|
||
|
||
<P>
|
||
|
||
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).
|
||
<P>
|
||
|
||
Beachten Sie, dass Debhelper Debhelper-Compat nicht für experimentelle oder
|
||
Beta-Kompatibilitätsstufen bereitstellt. Pakete, die mit diesen
|
||
Kompatibilitätsstufen experimentieren, sollten <I>debian/compat</I> oder
|
||
<B></B><FONT SIZE="-1"><B>DH_COMPAT</B></FONT><B></B> verwenden.
|
||
<P>
|
||
|
||
Frühere Versionen von Debhelper benötigten die Angabe der
|
||
Kompatibilitätsstufe in der Datei <I>debian/compat</I> 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
|
||
<I>debian/compat</I> 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 <I>debian/compat</I>
|
||
angeben, sicherstellen, dass <I>debian/control</I> Folgendes enthält:
|
||
<P>
|
||
|
||
|
||
|
||
<PRE>
|
||
Build-Depends: debhelper (>= 12~)
|
||
|
||
</PRE>
|
||
|
||
|
||
<P>
|
||
|
||
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.
|
||
<A NAME="lbAO"> </A>
|
||
<H3>Unterstützte Kompatibilitätsstufen</H3>
|
||
|
||
|
||
|
||
Folgende Kompatibilitätsstufen sind verfügbar:
|
||
<DL COMPACT>
|
||
<DT id="83">v5<DD>
|
||
|
||
|
||
Dies ist die unterste unterstützte Kompatibilitätsstufe.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Falls Sie ein Upgrade von einer vorhergehenden Kompatibilitätsstufe
|
||
durchführen, überprüfen Sie bitte <B><A HREF="/cgi-bin/man/man2html?7+debhelper-obsolete-compat">debhelper-obsolete-compat</A></B>(7).
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Dieser Modus ist missbilligt.
|
||
<DT id="84">v6<DD>
|
||
|
||
|
||
Änderungen gegenüber v5 sind:
|
||
<DL COMPACT><DT id="85"><DD>
|
||
<DL COMPACT>
|
||
<DT id="86">-<DD>
|
||
Befehle, die Fragmente von Betreuerskripten erzeugen, werden die Fragmente
|
||
für die <I>prerm</I>- und <I>postrm</I>-Skripte in umgekehrter Reiherfolge anordnen.
|
||
<DT id="87">-<DD>
|
||
<B>dh_installwm</B> wird einen untergeordneten Handbuchseiten-Link für
|
||
<I>x-window-manager.1.gz</I> installieren. falls es die Handbuchseite in
|
||
<I>usr/share/man/man1</I> im Bauverzeichnis des Pakets entdeckt.
|
||
<DT id="88">-<DD>
|
||
<B>dh_builddeb</B> löschte vorher nichts, was auf <B></B><FONT SIZE="-1"><B>DH_ALWAYS_EXCLUDE</B></FONT><B></B> passte,
|
||
aber es wurde auf eine Liste von Dingen gesetzt, die ausgeschlossen werden
|
||
sollen, wie <B></B><FONT SIZE="-1"><B>CVS:</B></FONT><B>.svn:.git</B>. Nun tut es dies.
|
||
<DT id="89">-<DD>
|
||
<B>dh_installman</B> erlaubt das Überschreiben existierender Handbuchseiten im
|
||
Bauverzeichnis des Pakets. In vorhergehenden Kompatibilitätsstufen lehnte es
|
||
lautlos ab, dies zu tun.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="90"><DD>
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Dieser Modus ist missbilligt.
|
||
</DL>
|
||
|
||
<DT id="91">v7<DD>
|
||
|
||
|
||
Änderungen gegenüber v6 sind:
|
||
<DL COMPACT><DT id="92"><DD>
|
||
<DL COMPACT>
|
||
<DT id="93">-<DD>
|
||
<B>dh_install</B> wird darauf zurückgreifen, in <I>debian/tmp</I> nach Dateien zu
|
||
suchen, falls es sie nicht im aktuellen Verzeichnis findet (oder wo auch
|
||
immer Sie es unter Benutzung von <B>--sourcedir</B> vorgeben). Dies ermöglicht
|
||
<B>dh_install</B> mit <B>dh_auto_install</B> zusammenzuarbeiten, das nach
|
||
<I>debian/tmp</I> installiert, ohne irgendwelche besonderen Parameter zu
|
||
benötigen.
|
||
<DT id="94">-<DD>
|
||
<B>dh_clean</B> wird <I>debian/clean</I> lesen und die dort aufgeführten Dateien
|
||
löschen.
|
||
<DT id="95">-<DD>
|
||
<dh_clean> wird die <I>*-stamp</I>-Dateien der obersten Ebene löschen.
|
||
<DT id="96">-<DD>
|
||
<B>dh_installchangelogs</B> wird abschätzen, in welcher Datei das Changelog der
|
||
Originalautoren liegt, falls keines angegeben wurde.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="97"><DD>
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Dieser Modus ist missbilligt.
|
||
</DL>
|
||
|
||
<DT id="98">v8<DD>
|
||
|
||
|
||
Änderungen gegenüber v7 sind:
|
||
<DL COMPACT><DT id="99"><DD>
|
||
<DL COMPACT>
|
||
<DT id="100">-<DD>
|
||
Befehle werden fehlschlagen, anstatt zu warnen, wenn ihnen unbekannte
|
||
Optionen übergeben werden.
|
||
<DT id="101">-<DD>
|
||
<B>dh_makeshlibs</B> wird <B>dpkg-gensymbols</B> auf allen gemeinsam benutzten
|
||
Bibliotheken ausführen, für die es Shlib-Dateien erzeugt. Daher kann <B>-X</B>
|
||
verwandt werden, um Bibliotheken auszuschließen. Außerdem würden
|
||
<B>dpkg-gensymbols</B> Bibliotheken an unüblichen Orten übergeben, die es
|
||
ansonsten nicht verarbeiten würde. Solche Verhaltensänderung kann den Bau
|
||
einiger Pakete zum Scheitern bringen.
|
||
<DT id="102">-<DD>
|
||
<B>dh</B> erfordert, dass die auszuführende Sequenz als erster Parameter
|
||
angegeben wird und sämtliche Schalter danach kommen. »<B>dh $@ --foo</B>« nicht
|
||
»<B>dh --foo $@</B>«.
|
||
<DT id="103">-<DD>
|
||
<B>dh_auto_</B><I>*</I> bevorzugt Perls <B>Module::Build</B> gegenüber <I>Makefile.PL</I>.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="104"><DD>
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Dieser Modus ist missbilligt.
|
||
</DL>
|
||
|
||
<DT id="105">v9<DD>
|
||
|
||
|
||
Änderungen gegenüber v8 sind:
|
||
<DL COMPACT><DT id="106"><DD>
|
||
<DL COMPACT>
|
||
<DT id="107">-<DD>
|
||
Multiarch-Unterstützung. Insbesondere gibt <B>dh_auto_configure</B>
|
||
Multiarch-Verzeichnisse an Autoconf in --libdir and --libexecdir weiter.
|
||
<DT id="108">-<DD>
|
||
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.
|
||
<DT id="109">-<DD>
|
||
<B>dh_strip</B> komprimiert Debug-Symboldateien, um die installierte Größe von
|
||
»-dbg«-Paketen zu verringern.
|
||
<DT id="110">-<DD>
|
||
<B>dh_auto_configure</B> enthält nicht den Quellpaketnamen in --libexecdir, wenn
|
||
Autoconf benutzt wird.
|
||
<DT id="111">-<DD>
|
||
Standardmäßig aktiviert <B>dh</B> nicht --with=python-support.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
(hinfällig, da das Werkzeug <B>dh_pysupport</B> aus Debian Stretch entfernt
|
||
wurde) Seit Debhelper/10.3 aktiviert <B>dh</B> diese Sequenzerweiterung
|
||
unabhängig von der Kompatibilitätsstufe nicht mehr.
|
||
<DT id="112">-<DD>
|
||
Alle <B>dh_auto_</B><I>*</I>-Debhelper-Programme und <B>dh</B> setzen
|
||
Umgebungsvariablen, die durch <B>dpkg-buildflags</B> aufgelistet werden, sofern
|
||
sie nicht bereits gesetzt sind.
|
||
<DT id="113">-<DD>
|
||
<B>dh_auto_configure</B> übergibt <FONT SIZE="-1">CFLAGS, CPPFLAGS</FONT> und <FONT SIZE="-1">LDFLAGS</FONT> von
|
||
<B>dpkg-buildflags</B> an Perls <I>Makefile.PL</I> und <I>Build.PL.</I>
|
||
<DT id="114">-<DD>
|
||
<B>dh_strip</B> legt getrennte Fehlersuchsymbole an einer Stelle ab, die auf
|
||
ihrer Baukennzahl basiert.
|
||
<DT id="115">-<DD>
|
||
Ausführbare Debhelper-Konfigurationsdateien werden ausgeführt und ihre
|
||
Ausgabe wird als Konfiguration benutzt.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="116"><DD>
|
||
</DL>
|
||
|
||
<DT id="117">v10<DD>
|
||
|
||
|
||
Änderungen gegenüber v9 sind:
|
||
<DL COMPACT><DT id="118"><DD>
|
||
<DL COMPACT>
|
||
<DT id="119">-<DD>
|
||
<B>dh_installinit</B> wird nicht mehr eine Datei namens debian/<I>Paket</I> als
|
||
Init-Skript installieren.
|
||
<DT id="120">-<DD>
|
||
<B>dh_installdocs</B> 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.
|
||
<DT id="121">-<DD>
|
||
<B>dh_installdeb</B> installiert keine vom Paketbetreuer bereitgestellte
|
||
debian/<I>Paket</I>.shlibs-Datei mehr. Dies wird stattdessen von
|
||
<B>dh_makeshlibs</B> erledigt.
|
||
<DT id="122">-<DD>
|
||
<B>dh_installwm</B> weigert sich, ein beschädigtes Paket zu erstellen, falls
|
||
keine Handbuchseite gefunden wird (erforderlich, um die Alternative zum
|
||
X-Window-Manager zu registrieren).
|
||
<DT id="123">-<DD>
|
||
<B>--parallel</B> ist Debhelpers Voreinstellung für alle Bausysteme, die
|
||
paralleles Bauen unterstützen. Dies kann entweder durch Verwendung von
|
||
<B>--no-parallel</B> oder durch Übergabe von <B>--max-parallel</B> mit einem Wert
|
||
von 1 deaktiviert werden.
|
||
<DT id="124">-<DD>
|
||
Der Befehl <B>dh</B> wird keinen der veralteten Parameter zur »manuellen
|
||
Sequenzsteuerung« (<B>--before</B>, <B>--after</B>, etc.) akzeptieren. Bitte
|
||
verwenden Sie stattdessen Aufhebungsziele.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
<B>Nachträglich auf frühere Kompatibilitätsstufen angewandt</B>: <B>dh</B>
|
||
akzeptiert seit Debhelper/12.4 nichts davon mehr.
|
||
<DT id="125">-<DD>
|
||
Der Befehl <B>dh</B> wird zur Verfolgung, welche Befehle ausgeführt wurden,
|
||
nicht länger Protokolldateien benutzen. Der Befehl <B>dh</B> verfolgt
|
||
<I>weiterhin</I>, ob die »Bau«-Sequenz ausgeführt wurde und überspringt sie in
|
||
diesem Fall.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Die wichtigsten Auswirkungen davon sind:
|
||
<DL COMPACT><DT id="126"><DD>
|
||
<DL COMPACT>
|
||
<DT id="127">-<DD>
|
||
Hierdurch wird die Fehlersuche bei den Sequenzen <I>install</I> und/oder
|
||
<I>binary</I> einfacher, da sie nun einfach erneut ausgeführt werden können
|
||
(ohne, dass ein vollständiger »Aufräum- und Neubau«-Durchgang erforderlich
|
||
ist).
|
||
<DT id="128">-<DD>
|
||
Der Pferdefuss hier liegt darin, dass <B>dh_*</B> nun nur noch nachverfolgt, was
|
||
in einem einzelnen außer Kraft setzenden Ziel geschieht. Wenn alle Aufrufe
|
||
eines angegebenen <B>dh_cmd</B>-Befehls im selben außer Kraft setzenden Ziel
|
||
stattfinden, wird alles wie zuvor funktionieren.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Beispiel, bei dem es schiefgehen kann:
|
||
|
||
|
||
<P>
|
||
|
||
|
||
|
||
|
||
<PRE>
|
||
override_dh_foo:
|
||
dh_foo -pmein-Paket
|
||
|
||
override_dh_bar:
|
||
dh_bar
|
||
dh_foo --remaining
|
||
|
||
</PRE>
|
||
|
||
|
||
|
||
|
||
<P>
|
||
|
||
|
||
In diesem Fall wird der Aufruf von <B>dh_foo --remaining</B> <I>außerdem</I>
|
||
<I>mein-Paket</I> enthalten, da <B>dh_foo -pmein-Paket</B> in einem separaten außer
|
||
Kraft setzenden Ziel ausgeführt wird. Dieses Problem ist nicht auf
|
||
<B>--remaining</B> begrenzt, es umfasst außerdem <B>-a</B>, <B>-i</B>, etc.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="129"><DD>
|
||
</DL>
|
||
|
||
<DT id="130">-<DD>
|
||
Der Befehl <B>dh_installdeb</B> maskiert nun die Zeilen in der
|
||
Konfigurationsdatei <I>maintscript</I> 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).
|
||
<DT id="131">-<DD>
|
||
Voreinstellung für den Befehl <B>dh_installinit</B> ist nun
|
||
<B>--restart-after-upgrade</B>. Verwenden Sie bitte für Pakete, die das
|
||
vorhergehende Verhalten erfordern, <B>--no-restart-after-upgrade</B>.
|
||
<DT id="132">-<DD>
|
||
Die <B>autoreconf</B>-Sequenz ist nun standardmäßig aktiviert. Bitte übergeben
|
||
Sie <B>--without autoreconf</B> an <B>dh</B>, falls dies für ein angegebenes Paket
|
||
nicht gewünscht wird.
|
||
<DT id="133">-<DD>
|
||
Die <B>systemd</B>-Sequenz ist nun standardmäßig aktiviert. Bitte übergeben Sie
|
||
<B>--without systemd</B> an <B>dh</B>, falls dies für ein angegebenes Paket nicht
|
||
gewünscht wird.
|
||
<DT id="134">-<DD>
|
||
<B>Nachträglich entfernt</B>: <B>dh</B> 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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="135"><DD>
|
||
</DL>
|
||
|
||
<DT id="136">v11<DD>
|
||
|
||
|
||
Von diesem Modus wird abgeraten.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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
|
||
<<A HREF="https://lists.debian.org/debian-release/2019/04/msg01442.html">https://lists.debian.org/debian-release/2019/04/msg01442.html</A>> verfügbar.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Änderungen gegenüber v10 sind:
|
||
<DL COMPACT><DT id="137"><DD>
|
||
<DL COMPACT>
|
||
<DT id="138">-<DD>
|
||
<B>dh_installinit</B> installiert keine <I>service</I>- oder <I>tmpfile</I>-Dateien
|
||
mehr. Es erstellt auch keine Betreuerskripte dafür. Bitte verwenden Sie das
|
||
neue Hilfsprogramm <B>dh_installsystemd</B>.
|
||
<DT id="139">-<DD>
|
||
Die Hilfsprogramme <B>dh_systemd_enable</B> und <B>dh_systemd_start</B> wurden durch
|
||
das neue Hilfsprogramm <B>dh_installsystemd</B> ersetzt. Aus demselben Grund
|
||
wurde auch die <B>systemd</B>-Sequenz für <B>dh</B> entfernt. Wenn Sie das
|
||
Hilfswerkzeug <B>dh_installsystemd</B> deaktivieren möchten, verwenden Sie bitte
|
||
ein leeres außer Kraft setzendes Ziel.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Bitte beachten Sie, dass sich das Werkzeug <B>dh_installsystemd</B> in manchen
|
||
Fällen (z.B. bei der Verwendung des Parameters <B>--name</B>) geringfügig anders
|
||
verhält.
|
||
<DT id="140">-<DD>
|
||
<B>dh_installdirs</B> erstellt keine debian/<I>Paket</I>-Verzeichnisse mehr, es sei
|
||
denn, dies wird ausdrücklich verlangt (oder es muss ein Unterverzeichnis
|
||
darin erstellt werden).
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Die große Mehrheit aller Pakete wird von dieser Änderung nicht betroffen
|
||
sein.
|
||
<DT id="141">-<DD>
|
||
Das <B>makefile</B>-Bausystem übergibt nun <B>INSTALL=``install
|
||
--strip-program=true''</B> an <B><A HREF="/cgi-bin/man/man2html?1+make">make</A></B>(1). Davon abgeleitete Bausysteme
|
||
(z.B. <B>configure</B> oder <B>cmake</B>) sind von dieser Änderung nicht betroffen.
|
||
<DT id="142">-<DD>
|
||
Das <B>autoconf</B>-Bausystem übergibt nun <B>--runstatedir=/run</B> an
|
||
<I>./configure</I>.
|
||
<DT id="143">-<DD>
|
||
Das <B>cmake</B>-Bausystem übergibt nun <B>-DCMAKE_INSTALL_RUNSTATEDIR=/run</B> an
|
||
<B><A HREF="/cgi-bin/man/man2html?1+cmake">cmake</A></B>(1).
|
||
<DT id="144">-<DD>
|
||
<B>dh_installman</B> wird nun vorzugsweise die Sprache anhand des Pfadnamens
|
||
statt der Erweiterung bestimmen.
|
||
<DT id="145">-<DD>
|
||
<B>dh_auto_install</B> 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.
|
||
<DT id="146">-<DD>
|
||
Die Hilfsprogramme <B>dh_installdocs</B>, <B>dh_installexamples</B>,
|
||
<B>dh_installinfo</B> und <B>dh_installman</B> geben nun Fehlermeldungen aus, falls
|
||
ihre Konfiguration ein Muster aufweist, das zu nichts passt oder sich auf
|
||
einen Pfad bezieht, den es nicht gibt.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Bekannte Ausnahmen umfassen das Bauen mit dem Profil <B>nodoc</B>, wobei obige
|
||
Werkzeuge stillschweigend fehlschlagende Suchen erlauben, wobei die
|
||
Suchmuster zur Angabe von Dokumentation benutzt werden.
|
||
<DT id="147">-<DD>
|
||
Die Hilfsprogramme <B>dh_installdocs</B>, <B>dh_installexamples</B>,
|
||
<B>dh_installinfo</B> und <B>dh_installman</B> akzeptieren nun den Parameter
|
||
<B>--sourcedir</B> mit derselben Bedeutung wie für <B>dh_install</B>. Überdies
|
||
fallen sie nun auch auf <I>debian/tmp</I> wie <B>dh_install</B> zurück.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Migrationshinweis: Ein Fehler in Debhelper 11 bis 11.1.5 führte
|
||
fälschlicherweise dazu, dass <B>dh_installinfo</B> <B>--sourcedir</B> ingorierte.
|
||
<DT id="148">-<DD>
|
||
Die Bausysteme <B>perl-makemaker</B> und <B>perl-build</B> übergeben nicht mehr
|
||
<B>-I.</B> an Perl. Pakete, die dieses Verhalten immer noch benötigen, können es
|
||
durch Verwendung der Umgebungsvariable <B></B><FONT SIZE="-1"><B>PERL5LIB</B></FONT><B></B> emulieren, z.B. durch
|
||
Hinzufügen von <B>export PERL5LIB=.</B> in ihre »debian/rules«-Datei (oder
|
||
dergleichen).
|
||
<DT id="149">-<DD>
|
||
Die Umgebungsvariable <B></B><FONT SIZE="-1"><B>PERL_USE_UNSAFE_INC</B></FONT><B></B> wird nicht mehr durch <B>dh</B>
|
||
oder eins der <B>dh_auto_*</B>-Werkzeuge gesetzt. Sie wurde vorübergehend als
|
||
Behelfslösung gesetzt, um zu verhindern, dass das gleichzeitige Bauen vieler
|
||
Pakete scheitert.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Beachten Sie, dass dieses Element eventuell hinfällig wird, da die
|
||
Ursprungsautoren beabsichtigen, die Unterstützung für die Umgebungsvariable
|
||
<B></B><FONT SIZE="-1"><B>PERL_USE_UNSAFE_INC</B></FONT><B></B> einzustellen. Wenn Perl die Unterstützung dafür
|
||
einstellt, wird diese Variable nachträglich auch aus bestehenden
|
||
Kompatibilitätsstufen entfernt.
|
||
<DT id="150">-<DD>
|
||
Das Hilfsprogramm <B>dh_makeshlibs</B> wird nun mit einer Fehlermeldung beendet,
|
||
falls Objdump einen Rückgabewert ungleich Null von der Auswertung einer
|
||
übergebenen Datei zurückgibt.
|
||
<DT id="151">-<DD>
|
||
Die Werkzeuge <B>dh_installdocs</B> und <B>dh_installexamples</B> installieren nun
|
||
möglicherweise die <I>meiste</I> Dokumentation in einem anderen Pfad, um die
|
||
Empfehlung der Debian-Richtlinien §12.3 (seit Version 3.9.7) zu erfüllen.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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 <I>debian/control</I> enthält oder keine Pakete
|
||
<I>-doc</I>-Pakete sind.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Standardmäßig werden diese Werkzeuge nun versuchen, ein »Hauptpaket für die
|
||
Dokumentation« (ab hier <I>Hauptdokumentationspaket</I> genannt) für jedes
|
||
<I>-doc</I>-Paket zu bestimmen. Falls sie ein derartiges
|
||
<I>Hauptdokumentationspaket</I> finden, werden sie nun die Dokumentation in den
|
||
Pfad <I>/usr/share/doc/Hauptdokumentationspaket</I> im angegebenen
|
||
Dokumentationspaket installieren. D.h. der Pfad kann sich ändern, aber die
|
||
Dokumentation wird immer noch im <I>-doc</I>-Paket mitgeliefert.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Die Option <B>--doc-main-package</B> 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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Manche Dokumentation wird von dieser Änderung nicht beeinflusst. Diese
|
||
Ausnahmen umfassen die Copyright-Dateien, <FONT SIZE="-1">README</FONT>.Debian usw. Diese Dateien
|
||
werden weiterhin im Pfad <I>/usr/share/doc/Paket</I> installiert.
|
||
<DT id="152">-<DD>
|
||
Die Werkzeuge <B>dh_strip</B> und <B>dh_shlibdeps</B> 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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Diese Änderung kann dazu führen, dass mehr Dateien als vorher verarbeitet
|
||
werden.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="153"><DD>
|
||
</DL>
|
||
|
||
<DT id="154">v12<DD>
|
||
|
||
|
||
Dies ist der empfohlene Betriebsmodus.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Änderungen gegenüber v11 sind:
|
||
<DL COMPACT><DT id="155"><DD>
|
||
<DL COMPACT>
|
||
<DT id="156">-<DD>
|
||
Das Werkzeug <B>dh_makeshlibs</B> erzeugt nun standardmäßig Shlibs-Dateien mit
|
||
versionierter Abhängigkeit. Dies bedeutet, dass <B>-VUpstream-Version</B> (alias
|
||
<B>-V</B>) nun die Voreinstellung ist.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Falls ein nicht versionierte Abhängigkeit in der Shlibs-Datei gewünscht
|
||
wird, kann dies stattdessen durch Übergabe von <B>-VNone</B> erreicht
|
||
werden. Siehe aber auch <B><A HREF="/cgi-bin/man/man2html?1+dh_makeshlibs">dh_makeshlibs</A></B>(1) für die Vorbehalte gegen nicht
|
||
versionierte Abhängigkeiten.
|
||
<DT id="157">-<DD>
|
||
Die Option <B>-s</B> (<B>--same-arch</B>) wurde entfernt. Bitte verwenden Sie
|
||
stattdessen <B>-a</B> (<B>--arch</B>).
|
||
<DT id="158">-<DD>
|
||
Der Aufruf von <B>dh_clean -k</B> verursacht jetzt einen Fehler statt einer
|
||
Warnung, es sei missbilligt.
|
||
<DT id="159">-<DD>
|
||
Die Option <B>--no-restart-on-upgrade</B> in <B>dh_installinit</B> wurde
|
||
entfernt. Bitte verwenden Sie den neuen Namen <B>--no-stop-on-upgrade</B>.
|
||
<DT id="160">-<DD>
|
||
Es gab einen Fehler in den <B>doit</B>-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.
|
||
<DT id="161">-<DD>
|
||
<B>--list-missing</B> und <B>--fail-missing</B> in <B>dh_install</B> wurden
|
||
entfernt. Bitte verwenden Sie <B>dh_missing</B> und die zugehörigen Optionen,
|
||
die die durch andere Hilfsprogramme installierten Dateien ebenfalls sehen
|
||
können.
|
||
<DT id="162">-<DD>
|
||
Das Hilfsprogramm <B>dh_installinit</B> 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.
|
||
<DT id="163">-<DD>
|
||
Das Werkzeug <B>dh_installdeb</B> wird die Grundprüfung einiger
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-maintscript-helper">dpkg-maintscript-helper</A></B>(1)-Befehle durchführen und eine Fehlermeldung
|
||
ausgeben, falls die Befehle ungültig zu sein scheinen.
|
||
<DT id="164">-<DD>
|
||
Das Werkzeug <B>dh_missing</B> wird nun auf <B>--list-missing</B> voreingestellt.
|
||
<DT id="165">-<DD>
|
||
Das Werkzeug <B>dh_makeshlibs</B> wird nun nur Bibliotheken an
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-gensymbols">dpkg-gensymbols</A></B>(1) übergeben, falls die ELF-Binärdatei einen <FONT SIZE="-1">SONAME</FONT> hat
|
||
(enthält ».so«).
|
||
<DT id="166">-<DD>
|
||
Das Werkzeug <B>dh_compress</B> komprimiert keine Beispiele mehr (d.h. alles was
|
||
in <I></usr/share/doc/Paket/examples</I>> installiert ist.)
|
||
<DT id="167">-<DD>
|
||
Die Standardsequenz in <B>dh</B> enthält nun standardmäßig <B>dh_dwz</B> und
|
||
<B>dh_installinitramfs</B>. Dies macht die Sequenzen <B>dwz</B> und
|
||
<B>installinitramfs</B> ü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 <I>debian/rules</I> ein
|
||
(z.B. <I>override_dh_dwz:</I>).
|
||
<DT id="168">-<DD>
|
||
Die Bausysteme <B>Meson</B> und <B>Autoconf</B> setzen die Variable <B>--libexecdir</B>
|
||
nicht mehr explizit und verlassen sich daher auf die Voreinstellung des
|
||
Bausystems, die <B>/usr/libexec</B> sein sollte (per <FONT SIZE="-1">FHS 3.0,</FONT> angenommen in der
|
||
Debian-Richtlinie 4.1.5).
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Falls ein spezielles Paket der Ursprungsautoren nicht die korrekte
|
||
Voreinstellung benutzt, kann der Parameter oft manuell per
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dh_auto_configure">dh_auto_configure</A></B>(1) übergeben werden, z.B. wie im folgenden Beispiel:
|
||
|
||
|
||
<P>
|
||
|
||
|
||
|
||
|
||
<PRE>
|
||
override_dh_auto_configure:
|
||
dh_auto_configure -- --libexecdir=/usr/libexec
|
||
|
||
</PRE>
|
||
|
||
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Beachten Sie das <B>--</B> vor dem Parameter <B>--libexecdir</B>.
|
||
<DT id="169">-<DD>
|
||
Das Werkzeug <B>dh_installdeb</B> installiert nicht mehr die vom Paketbetreuer
|
||
bereitgestellte <I>conffiles</I>-Datei. Die Datei war seit Kompatibilitätsstufe
|
||
3 meist überflüssig, als <B>dh_installdeb</B> anfing, die resultierende
|
||
<I>conffiles</I>-Steuerdatei automatisch selbst zu berechnen.
|
||
<DT id="170">-<DD>
|
||
Das Werkzeug <B>dh_installsystemd</B> beruht nicht mehr auf <B>dh_installinit</B>,
|
||
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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Falls Sie etwas haben, was <B>dh_installinit</B> außer Kraft setzt (z.B. um es
|
||
mit <B>--no-start</B> aufzurufen), dann werden Sie wahrscheinlich auch etwas für
|
||
<B>dh_installsystemd</B> benötigen.)
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Diese Änderung lässt <B>dh_installinit</B> ein <I>misc:Pre-Depends</I> für <B>init-system-helpers (>= 1.54~)</B> einspeisen. Bitte stellen Sie sicher, dass
|
||
das Paket <B>${misc:Pre-Depends}</B> in seinem Feld <B>Pre-Depends</B> aufführt,
|
||
bevor Sie ein Upgrade auf Kompatibilitätsstufe 12 durchführen.
|
||
<DT id="171">-<DD>
|
||
Das Drittherstellerwerkzeug <B>dh_golang</B> (aus dem Paket <B>dh-golang</B>)
|
||
akzeptiert nun standardmäßig die Variable <B></B><FONT SIZE="-1"><B>DH_GOLANG_EXCLUDES</B></FONT><B></B> für die
|
||
Quelleninstallation in -dev-Paketen und nicht nur während des
|
||
Bauprozesses. Bitte setzen Sie <B></B><FONT SIZE="-1"><B>DH_GOLANG_EXCLUDES_ALL</B></FONT><B></B> auf »false«, um zum
|
||
vorherigen Verhalten zurückzukehren. Einzelheiten und Beispiele finden Sie
|
||
unter <B><A HREF="/cgi-bin/man/man2html?3pm+Debian::Debhelper::Buildsystem::golang">Debian::Debhelper::Buildsystem::golang</A>(3pm)</B>.
|
||
<DT id="172">-<DD>
|
||
<B>dh_installsystemduser</B> ist nun per Voreinstellung in der
|
||
Standard-<B>dh</B>-Sequenz enthalten.
|
||
<DT id="173">-<DD>
|
||
Das Bausystem <B>python-distutils</B> wurde nun entfernt. Bitte verwenden Sie
|
||
stattdessen das Drittanbieterbausystem <B>pybuild</B>.
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="174"><DD>
|
||
</DL>
|
||
|
||
<DT id="175">v13<DD>
|
||
|
||
|
||
Diese Kompatibilitätsstufe ist immer noch für die Entwicklung
|
||
offen. Verwenden Sie sie mit Vorsicht.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Änderungen gegenüber v12 sind:
|
||
<DL COMPACT><DT id="176"><DD>
|
||
<DL COMPACT>
|
||
<DT id="177">-<DD>
|
||
Das Bausystem <B>meson+ninja</B> benutzt nun <B>meson test</B> anstelle von <B>ninja
|
||
test</B>, wenn die Testsuite ausgeführt wird. Alles, was <B>dh_auto_test</B> außer
|
||
Kraft setzt und zusätzliche Parameter an das Testausführungsprogramm der
|
||
Ursprungsautoren übergibt, sollte überprüft werden, da <B>meson test</B> auf der
|
||
Befehlszeile nicht mit <B>ninja test</B> kompatibel ist.
|
||
<DT id="178">-<DD>
|
||
Alle Debhelper-ähnlichen Werkzeuge, die auf der offiziellen
|
||
Debhelper-Bibliothek basieren (einschließlich <B>dh</B> und den offiziellen
|
||
<B>dh_*</B>-Werkzeugen) akzeptieren keine abgekürzten Befehlsparameter
|
||
mehr. Gleichzeitig sortiert <B>dh</B> nun Aufrufe zu überflüssigen
|
||
<B>dh_*</B>-Hilfsprogrammen sogar dann aus, wenn lange Befehlszeilenoptionen
|
||
angegeben werden.
|
||
<DT id="179">-<DD>
|
||
Die ELF-bezogenen Debhelper-Werkzeuge (<B>dh_dwz</B>, <B>dh_strip</B>,
|
||
<B>dh_makeshlibs</B>, <B>dh_shlibdeps</B>) werden nun standardmäßig nur noch für
|
||
architekturabhängige Pakete ausgeführt (d.h. sie werden von
|
||
<B>*-indep</B>-Zielen ausgeschlossen und standardmäßig mit <B>-a</B>
|
||
übergeben). Falls Sie sie für <B>*-indep</B>-Ziele benötigen, können Sie eine
|
||
explizite Build-Depends in <B>dh-sequence-elf-tools</B> hinzufügen.
|
||
<DT id="180">-<DD>
|
||
Das Drittanbieterbausystem <B>gradle</B> (aus dem Paket <B>gradle-debian-helper</B>)
|
||
führt nun automatisch eine von den Ursprungsautoren bereitgestellte
|
||
Testsuite aus. Setzen Sie <B>dh_auto_test</B> außer Kraft, um dieses Verhalten
|
||
zu unterbinden.
|
||
<DT id="181">-<DD>
|
||
Das Werkzeug <B>dh_installman</B> 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 <I>debian/package.manpages</I> auflistet. Meist ist die
|
||
einfachste Lösung, die Handbuchseite aus <I>debian/package.manpages</I>
|
||
zu entfernen (davon ausgehend, dass beide Versionen identisch sind).
|
||
<DT id="182">-<DD>
|
||
Die <B>dh_auto_*</B>-Hilfsprogramme setzen nun die Umgebungsvariablen <B></B><FONT SIZE="-1"><B>HOME</B></FONT><B></B>
|
||
und gebräuchliche <B>XDG_*</B>-Variablen zurück. <B></B><FONT SIZE="-1"><B>HOME</B></FONT><B></B> und <B></B><FONT SIZE="-1"><B>XDG_RUNTIME_DIR</B></FONT><B></B>
|
||
sind jeweils auf ein separates, schreibbares Verzeichnis gesetzt. Die
|
||
restlichen Umgebungsvariablen werden geleert.
|
||
<DT id="183">-<DD>
|
||
Der Befehl <B>dh</B> wird nun einen Fehler ausgeben, falls ein außer Kraft
|
||
setzendes oder Hook-Ziel für einen veralteten Befehl in <I>debian/rules</I>
|
||
(z.B. <B>override_dh_systemd_enable:</B>) vorhanden ist.
|
||
<DT id="184">-<DD>
|
||
Der Befehl <B>dh_missing</B> wird nun auf <B>--fail-missing</B> voreingestellt. Dies
|
||
kann zu einer nicht fatalen Warnung zurück geändert werden, indem explizit
|
||
<B>--list-missing</B> übergeben wird, wie es in Kompatibilitätsstufe 12 war.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Falls Sie die Warnung gar nicht wollen, lassen Sie bitte den Aufruf von
|
||
<B>dh_missing</B> weg. Falls Sie den Befehlssequenzer <B>dh</B> benutzen, dann
|
||
können Sie dies mit einem leeren außer Kraft setzenden Ziel in der Datei
|
||
<I>debian/rules</I> oder dem passenden Paket erledigen. Zum Beispiel:
|
||
|
||
|
||
<P>
|
||
|
||
|
||
|
||
|
||
<PRE>
|
||
# Disable dh_missing
|
||
override_dh_missing:
|
||
|
||
</PRE>
|
||
|
||
|
||
<DT id="185">-<DD>
|
||
Der Befehlssequenzer <B>dh</B> führt nun in der Standardsequenz
|
||
<B>dh_installtmpfiles</B> aus. <B>dh_installtmpfiles</B> übernimmt die Handhabung
|
||
von tmpfiles.d-Konfigurationsdateien. Diesbezügliche Funktionalität in
|
||
<B>dh_installsystemd</B> ist nun deaktiviert.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Note that <B>dh_installtmpfiles</B> responds to <I>debian/package.tmpfiles</I> where <B>dh_installsystemd</B> used a name without the trailing ``s''.
|
||
<DT id="186">-<DD>
|
||
Viele <B>dh_*</B>-Werkzeuge unterstützen nun eingeschränkte
|
||
Variablenexpandierung per <B>${foo}</B>-Syntax. In vielen Fällen kann dies
|
||
benutzt werden, um Pfade zu referenzieren, die entweder Leerzeichen oder
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-architecture">dpkg-architecture</A></B>(1)-Werte enthalten. Obwohl es den Bedarf an
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dh-exec">dh-exec</A></B>(1) in einigen Fällen vermindern kann, ist es im Allgemeinen
|
||
<B>kein</B> Ersatz für <B><A HREF="/cgi-bin/man/man2html?1+dh-exec">dh-exec</A></B>(1). Falls Sie filtern, umbenennen
|
||
usw. möchten, wird das Paket weiterhin <B><A HREF="/cgi-bin/man/man2html?1+dh-exec">dh-exec</A></B>(1) benötigt.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Bitte lesen Sie ``Ersetzungen in Debhelper-Konfigurationsdateien'', um mehr
|
||
über die Syntax und verfügbare Ersetzungsvariablen zu erfahren. An Verfasser
|
||
von <B>dh_*</B>-Werkzeugen: Die Ersetzung und Expandierung erfolgt als Teil der
|
||
Funktionen <B>filearray</B> und <B>filedoublearray</B>.
|
||
<DT id="187">-<DD>
|
||
Der Befehlssequenzer <B>dh</B> wird nun alle Hooks und außer Kraft setzenden
|
||
Ziele für <B>dh_auto_test</B>, <B>dh_dwz</B> und <B>dh_strip</B> überspringen, wenn
|
||
<B></B><FONT SIZE="-1"><B>DEB_BUILD_OPTIONS</B></FONT><B></B> die maßgeblichen <B>nocheck</B>-/<B>nostrip</B>-Optionen
|
||
aufführt.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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
|
||
<B>override_dh_auto_test</B> nach <B>execute_after_dh_auto_build</B> oder
|
||
<B>execute_before_dh_auto_install</B> verschoben werden.
|
||
<DT id="188">-<DD>
|
||
The <B>cmake</B> buildsystem now passes
|
||
<B>-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON</B> to <B><A HREF="/cgi-bin/man/man2html?1+cmake">cmake</A></B>(1) to speed up
|
||
automatic installation process. If for some reason you need previous
|
||
behavior, override the flag:
|
||
|
||
|
||
<P>
|
||
|
||
|
||
|
||
|
||
<PRE>
|
||
dh_auto_configure -- -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF ...
|
||
|
||
</PRE>
|
||
|
||
|
||
</DL>
|
||
</DL>
|
||
|
||
<DL COMPACT><DT id="189"><DD>
|
||
</DL>
|
||
|
||
</DL>
|
||
<A NAME="lbAP"> </A>
|
||
<H2>ANMERKUNGEN</H2>
|
||
|
||
|
||
|
||
<A NAME="lbAQ"> </A>
|
||
<H3>Unterstützung mehrerer Binärpakete</H3>
|
||
|
||
|
||
|
||
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
|
||
<I>debian/rules</I>-Ziel »binary-arch« erzeugen müssen und die unabhängigen
|
||
Pakete im <I>debian/rules</I>-Ziel »binary-indep«.
|
||
<P>
|
||
|
||
Um dies zu erleichtern sowie Ihnen mehr Kontrolle darüber zu geben, auf
|
||
welche Pakete Debhelper-Programme einwirken, akzeptieren alle
|
||
Debhelper-Programme die Parameter <B>-a</B>, <B>-i</B>, <B>-p</B> und <B>-s</B>. 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.
|
||
<P>
|
||
|
||
Zuerst werden alle Pakete, deren <B>Architecture</B>-Feld in <B>debian/control</B>
|
||
nicht mit der <B></B><FONT SIZE="-1"><B>DEB_HOST_ARCH</B></FONT><B></B>-Architektur übereinstimmt, ausgeschlossen
|
||
(``Debian Policy, Abschnitt 5.6.8'').
|
||
<P>
|
||
|
||
Außerdem können einige zusätzliche Paket basierend auf dem Inhalt der
|
||
Umgebungsvariable <B></B><FONT SIZE="-1"><B>DEB_BUILD_PROFILES</B></FONT><B></B> und den Feldern <B>Build-Profiles</B> in
|
||
den Absätzen für binäre Pakete in <B>debian/control</B> ausgeschlossen
|
||
werden. Dies geschieht gemäß der Entwurfrichtlinie unter
|
||
<<A HREF="https://wiki.debian.org/BuildProfileSpec">https://wiki.debian.org/BuildProfileSpec</A>>.
|
||
<P>
|
||
|
||
<I>Zusammenspiel zwischen Paketauswahl und Bauprofilen</I>
|
||
|
||
|
||
<P>
|
||
|
||
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.
|
||
<DL COMPACT>
|
||
<DT id="190">-a/--arch, -i/--indep <FONT SIZE="-1">ODER</FONT> keine Auswahloptionen (ein roher »dh_X«-Aufruf)<DD>
|
||
|
||
|
||
Das durch Bauprofile deaktivierte Paket wird stillschweigend aus der Auswahl
|
||
ausgeschlossen.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Beachten Sie, dass Sie eine Warnung bekommen, falls <I>alle</I> zu dieser
|
||
Auswahl gehörenden Pakete deaktiviert werden. In diesem Fall ist der Bau im
|
||
Allgemeinen überhaupt sinnlos.
|
||
<DT id="191">-N <I>Paket</I> / --no-package <I>Paket</I><DD>
|
||
|
||
|
||
Die Option wird akzeptiert und hat keine Wirkung.
|
||
<DT id="192">-p <I>Paket</I> / --package <I>Paket</I><DD>
|
||
|
||
|
||
Die Option wird akzeptiert, aber Debhelper wird nichts an dem Paket
|
||
vornehmen.
|
||
</DL>
|
||
<P>
|
||
|
||
Beachten Sie, dass es keine Rolle spielt, ob das Paket standardmäßig
|
||
aktiviert oder deaktiviert ist.
|
||
<A NAME="lbAR"> </A>
|
||
<H3>Automatisches Erzeugen von Debian-Installationsskripten</H3>
|
||
|
||
|
||
|
||
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
|
||
<B>#DEBHELPER#</B> an der Stelle hinzufügen, an die der Kode hinzugefügt werden
|
||
soll. <B>#DEBHELPER#</B> wird bei der Ausführung durch irgendeinen automatisch
|
||
erzeugten Kode ersetzt.
|
||
<P>
|
||
|
||
Falls ein Skript überhaupt noch nicht existiert und Debhelper etwas darin
|
||
hinzufügen muss, dann wird Debhelper das komplette Skript erstellen.
|
||
<P>
|
||
|
||
Alle Debhelper-Befehle, die auf diese Art automatisch Kode erzeugen, lassen
|
||
dies durch den Parameter -n deaktiviert (siehe oben).
|
||
<P>
|
||
|
||
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
|
||
<TT>$1</TT>, <TT>$2</TT>, etc. gesetzt sind):
|
||
<P>
|
||
|
||
|
||
|
||
<PRE>
|
||
my $temp="set -e\nset -- @ARGV\n" . << 'EOF';
|
||
#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}");
|
||
}
|
||
}
|
||
|
||
</PRE>
|
||
|
||
|
||
<A NAME="lbAS"> </A>
|
||
<H3>Automatisches Erzeugen verschiedener Abhängigkeiten</H3>
|
||
|
||
|
||
|
||
Einige Debhelper-Befehle könnten dazu führen, dass das erzeugte Paket von
|
||
einigen anderen Paketen abhängt. Falls Sie beispielsweise
|
||
<B><A HREF="/cgi-bin/man/man2html?1+dh_installdebconf">dh_installdebconf</A></B>(1) benutzen, wird Ihr Paket von Debconf abhängen
|
||
müssen. Oder, falls Sie <B><A HREF="/cgi-bin/man/man2html?1+dh_installxfonts">dh_installxfonts</A></B>(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.
|
||
<P>
|
||
|
||
Für jeden Befehl werden die benötigten Abhängigkeiten in den Handbuchseiten
|
||
dokumentiert. Daneben wird automatisch eine »substvar« erzeugt, die
|
||
<B>${misc:Depends}</B> genannt wird. Falls Sie eine Markierung in Ihre
|
||
<I>debian/control</I>-Datei schreiben, wird es sie zu den Abhängigkeiten
|
||
expandieren, von denen Debhelper findet, dass Sie sie benötigen.
|
||
<P>
|
||
|
||
Dies ist gänzlich unabhängig von dem vorgegebenen <B>${shlibs:Depends}</B>, das
|
||
durch <B><A HREF="/cgi-bin/man/man2html?1+dh_makeshlibs">dh_makeshlibs</A></B>(1) erzeugt wurde und den durch <B><A HREF="/cgi-bin/man/man2html?1+dh_perl">dh_perl</A></B>(1)
|
||
erzeugten <B>${perl:Depends}</B>. Sie können auswählen, keines davon zu
|
||
benutzen, falls die Einschätzung von Debhelper nicht der Wirklichkeit
|
||
entspricht.
|
||
<A NAME="lbAT"> </A>
|
||
<H3>Paketbauverzeichnisse</H3>
|
||
|
||
|
||
|
||
Standardmäßig gehen alle Debhelper-Programme davon aus, dass das temporäre
|
||
Verzeichnis, das zum Zusammenbau des Dateibaums in einem Paket benutzt wird,
|
||
debian/<I>Paket</I> ist.
|
||
<P>
|
||
|
||
Manchmal wollen Sie möglicherweise ein anderes temporäres Vezeichnis
|
||
benutzen. Dies wird durch den Schalters <B>-P</B> unterstützt. »<B>dh_installdocs
|
||
-Pdebian/tmp</B>« wird zum Beispiel <B>debian/tmp</B> als temporäres Verzeichnis
|
||
nutzen. Beachten Sie, falls Sie <B>-P</B> 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 <B>-p</B> einsetzen, um anzugeben, auf welches
|
||
Binärpaket sich das Debhelper-Programm auswirkt.
|
||
<A NAME="lbAU"> </A>
|
||
<H3>Udebs</H3>
|
||
|
||
|
||
|
||
Debhelper beinhaltet Unterstützung für Udebs. Um ein Udeb mit Debhelper zu
|
||
erstellen, fügen Sie dem Absatz des Pakets in <I>debian/control</I>
|
||
»<B>Package-Type: udeb</B>« hinzu. Debhelper wird versuchen, Udebs zu erstellen,
|
||
die der Debian-Installer-Richtlinie entsprechen, indem die erzeugten
|
||
Paketdateien mit <I>.udeb</I> enden, indem keine Dokumentation in ein Udeb
|
||
installiert wird und indem <I>preinst</I>-, <I>postrm</I>-, <I>prerm</I>- und
|
||
<I>config</I>-Skripte etc. übersprungen werden.
|
||
<A NAME="lbAV"> </A>
|
||
<H2>UMGEBUNGSVARIABLEN</H2>
|
||
|
||
|
||
|
||
Die folgenden Umgebungsvariablen können das Verhalten von Debhelper
|
||
beeinflussen. Es ist wichtig, darauf hinzuweisen, dass dies tatsächlich
|
||
Umgebungsvariablen (nicht nur einfache <I>Makefile</I>-Variablen) sein müssen,
|
||
damit dies korrekt funktioniert. Um sie ordnungsgemäß in <I>debian/rules</I>
|
||
anzugeben, müssen sie sicherstellen, dass sie »<B>export</B>«iert werden, zum
|
||
Beispiel »<B>export </B><FONT SIZE="-1"><B>DH_VERBOSE</B></FONT><B></B>«.
|
||
<DL COMPACT>
|
||
<DT id="193"><B></B><FONT SIZE="-1"><B>DH_VERBOSE</B></FONT><B></B><DD>
|
||
|
||
|
||
auf <B>1</B> 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.
|
||
<DT id="194"><B></B><FONT SIZE="-1"><B>DH_QUIET</B></FONT><B></B><DD>
|
||
|
||
|
||
auf <B>1</B> 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 <FONT SIZE="-1">DH_VERBOSE</FONT> ebenfalls gesetzt ist,
|
||
wird diese Einstellung ignoriert.
|
||
<DT id="195"><B></B><FONT SIZE="-1"><B>DH_COMPAT</B></FONT><B></B><DD>
|
||
|
||
|
||
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 <I>debian/compat</I> angegeben wurde.
|
||
<DT id="196"><B></B><FONT SIZE="-1"><B>DH_NO_ACT</B></FONT><B></B><DD>
|
||
|
||
|
||
auf <B>1</B> gesetzt, um Modus ohne Aktion zu aktivieren.
|
||
<DT id="197"><B></B><FONT SIZE="-1"><B>DH_OPTIONS</B></FONT><B></B><DD>
|
||
|
||
|
||
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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Wenn <B><A HREF="/cgi-bin/man/man2html?1+dh">dh</A></B>(1) benutzt wird, können ihm Optionen übergeben werden, die es an
|
||
jeden Debhelper-Befehl weitergibt, was im Allgemeinen besser ist, als
|
||
<FONT SIZE="-1">DH_OPTIONS</FONT> zu verwenden.
|
||
<DT id="198"><B></B><FONT SIZE="-1"><B>DH_ALWAYS_EXCLUDE</B></FONT><B></B><DD>
|
||
|
||
|
||
Falls gesetzt, fügt dies den Wert, auf den die Variable gesetzt ist, den
|
||
<B>-X</B>-Optionen aller Befehle hinzu, die die Option <B>-X</B>
|
||
unterstützen. Außerdem wird <B>dh_builddeb</B> für alles, das dem Wert in Ihrem
|
||
Paketbaubaum entspricht, <B>rm -rf</B> ausführen.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Dies kann nützlich sein, falls Sie aus einem CVS-Quellverzeichnisbaum
|
||
bauen. In diesem Fall verhindert das Setzen von <B>DH_ALWAYS_EXCLUDE=CVS</B>,
|
||
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
|
||
<B>DH_ALWAYS_EXCLUDE=CVS</B> in <I>debian/rules</I> exportieren, damit es wirksam
|
||
ist, wo auch immer Ihr Paket gebaut wird.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Mehrere Dinge, die ausgeschlossen werden sollen, können mit Doppelpunkten
|
||
getrennt werden, wie in <B>DH_ALWAYS_EXCLUDE=CVS:.svn</B>.
|
||
<DT id="199"><B></B><FONT SIZE="-1"><B>DH_EXTRA_ADDONS</B></FONT><B></B><DD>
|
||
|
||
|
||
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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
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.
|
||
<DT id="200"><B></B><FONT SIZE="-1"><B>DH_COLORS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>DPKG_COLORS</B></FONT><B></B><DD>
|
||
|
||
|
||
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.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Beachten Sie, dass <B></B><FONT SIZE="-1"><B>DPKG_COLOR</B></FONT><B></B> 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 <B></B><FONT SIZE="-1"><B>DH_COLORS</B></FONT><B></B> statt oder zusätzlich zu <B></B><FONT SIZE="-1"><B>DPKG_COLORS</B></FONT><B></B>
|
||
verwenden.
|
||
<DT id="201"><B></B><FONT SIZE="-1"><B>NO_COLOR</B></FONT><B></B><DD>
|
||
|
||
|
||
Falls nicht explizit um Farbe gebeten wurde (z.B. sowohl <B></B><FONT SIZE="-1"><B>DH_COLORS</B></FONT><B></B> als
|
||
auch <B></B><FONT SIZE="-1"><B>DPKG_COLORS</B></FONT><B></B> sind nicht gesetzt), führt das Vorliegen dieser
|
||
Umgebungsvariablen dazu, dass die Standardfarbeinstellung auf »never«
|
||
gesetzt wird.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Die Variable ist gemäß <<A HREF="https://no-color.org/">https://no-color.org/</A>> definiert. In diesem Projekt
|
||
werden die Umgebungsvariablen (wie <B></B><FONT SIZE="-1"><B>DH_COLORS</B></FONT><B></B>) als explizite Farbanfrage
|
||
betrachtet.
|
||
<DT id="202"><B></B><FONT SIZE="-1"><B>CFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>CPPFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>CXXFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>OBJCFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>OBJCXXFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>GCJFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>FFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>FCFLAGS</B></FONT><B></B>, <B></B><FONT SIZE="-1"><B>LDFLAGS</B></FONT><B></B><DD>
|
||
|
||
|
||
Standardmäßig (in jeder nicht missbilligten Kompatibilitätsstufe) wird
|
||
Debhelper diese Schalter automatisch mittels <B><A HREF="/cgi-bin/man/man2html?1+dpkg-buildflags">dpkg-buildflags</A></B>(1) setzen,
|
||
wenn sie nicht gesetzt sind. Falls Sie die voreingestellten Schalter ändern
|
||
wollen, benutzen Sie die Funktionalität von <B><A HREF="/cgi-bin/man/man2html?1+dpkg-buildflags">dpkg-buildflags</A></B>(1), um dies
|
||
zu tun (z.B. <B>DEB_BUILD_MAINT_OPTIONS=hardening=all</B> oder
|
||
<B>DEB_CPPFLAGS_MAINT_APPEND=-DCUSTOM_MACRO=true</B>), anstatt die konkrete
|
||
Variable direkt zu setzen.
|
||
<DT id="203"><B></B><FONT SIZE="-1"><B>HOME</B></FONT><B></B>, <B>XDG_*</B><DD>
|
||
|
||
|
||
In Kompatibilitätsstufe 13 und neuer werden diese Umgebungsvariable
|
||
zurückgesetzt, bevor das Baussystem der Ursprungsautoren über die
|
||
<B>dh_auto_*</B>-Hilfsprogramme aufgerufen wird. Die Variablen <B></B><FONT SIZE="-1"><B>HOME</B></FONT><B></B> und
|
||
<B></B><FONT SIZE="-1"><B>XDG_RUNTIME_DIR</B></FONT><B></B> werden auf ein beschreibbares Verzeichnis gesetzt. Die
|
||
verbleibenden Variablen werden geleert.
|
||
|
||
|
||
<P>
|
||
|
||
|
||
Die Verzeichnisse werden leer erzeugt, sie werden allerdings zwischen den
|
||
<B>dh_auto_*</B>-Aufrufen weiter benutzt. Jeglicher Inhalt wird weiter bestehen,
|
||
bis er explizit gelöscht oder <B>dh_clean</B> aufgerufen wird.
|
||
</DL>
|
||
<A NAME="lbAW"> </A>
|
||
<H2>SIEHE AUCH</H2>
|
||
|
||
|
||
|
||
<DL COMPACT>
|
||
<DT id="204"><I>/usr/share/doc/debhelper/examples/</I><DD>
|
||
|
||
|
||
eine Zusammenstellung von <I>debian/rules</I>-Beispieldateien, die Debhelper
|
||
benutzen
|
||
<DT id="205"><<A HREF="http://joeyh.name/code/debhelper/">http://joeyh.name/code/debhelper/</A>><DD>
|
||
|
||
|
||
Debhelper-Website
|
||
</DL>
|
||
<A NAME="lbAX"> </A>
|
||
<H2>ÜBERSETZUNG</H2>
|
||
|
||
|
||
|
||
Diese Übersetzung wurde mit dem Werkzeug
|
||
<B>po4a</B>
|
||
<<A HREF="http://po4a.alioth.debian.org/">http://po4a.alioth.debian.org/</A>>
|
||
durch Chris Leick
|
||
<I><A HREF="mailto:c.leick@vollbio.de">c.leick@vollbio.de</A></I>
|
||
und das deutsche Debian-Übersetzer-Team im
|
||
Dezember 2011 erstellt.
|
||
<P>
|
||
|
||
Bitte melden Sie alle Fehler in der Übersetzung an
|
||
<I><A HREF="mailto:debian-l10n-german@lists.debian.org">debian-l10n-german@lists.debian.org</A></I>
|
||
oder als Fehlerbericht an das Paket
|
||
<I>debhelper</I>.
|
||
<P>
|
||
|
||
Sie können mit dem folgenden Befehl das englische
|
||
Original anzeigen
|
||
man -L en Abschnitt Handbuchseite
|
||
<A NAME="lbAY"> </A>
|
||
<H2>AUTOR</H2>
|
||
|
||
|
||
|
||
Joey Hess <<A HREF="mailto:joeyh@debian.org">joeyh@debian.org</A>>
|
||
<P>
|
||
|
||
<HR>
|
||
<A NAME="index"> </A><H2>Index</H2>
|
||
<DL>
|
||
<DT id="206"><A HREF="#lbAB">NAME</A><DD>
|
||
<DT id="207"><A HREF="#lbAC">ÜBERSICHT</A><DD>
|
||
<DT id="208"><A HREF="#lbAD">BESCHREIBUNG</A><DD>
|
||
<DT id="209"><A HREF="#lbAE">DEBHELPER-BEFEHLE</A><DD>
|
||
<DL>
|
||
<DT id="210"><A HREF="#lbAF">Missbilligte Befehle</A><DD>
|
||
<DT id="211"><A HREF="#lbAG">Weitere Befehle</A><DD>
|
||
</DL>
|
||
<DT id="212"><A HREF="#lbAH">DEBHELPER-KONFIGURATIONSDATEIEN</A><DD>
|
||
<DL>
|
||
<DT id="213"><A HREF="#lbAI">Ersetzungen in Debhelper-Konfigurationsdateien</A><DD>
|
||
<DT id="214"><A HREF="#lbAJ">Ausführbare Debhelper-Konfigurationsdateien</A><DD>
|
||
</DL>
|
||
<DT id="215"><A HREF="#lbAK">GEMEINSAM BENUTZTE DEBHELPER-OPTIONEN</A><DD>
|
||
<DT id="216"><A HREF="#lbAL">HÄUFIGE DEBHELPER-OPTIONEN</A><DD>
|
||
<DT id="217"><A HREF="#lbAM">BAUSYSTEMOPTIONEN</A><DD>
|
||
<DT id="218"><A HREF="#lbAN">KOMPATIBILITÄTSSTUFEN</A><DD>
|
||
<DL>
|
||
<DT id="219"><A HREF="#lbAO">Unterstützte Kompatibilitätsstufen</A><DD>
|
||
</DL>
|
||
<DT id="220"><A HREF="#lbAP">ANMERKUNGEN</A><DD>
|
||
<DL>
|
||
<DT id="221"><A HREF="#lbAQ">Unterstützung mehrerer Binärpakete</A><DD>
|
||
<DT id="222"><A HREF="#lbAR">Automatisches Erzeugen von Debian-Installationsskripten</A><DD>
|
||
<DT id="223"><A HREF="#lbAS">Automatisches Erzeugen verschiedener Abhängigkeiten</A><DD>
|
||
<DT id="224"><A HREF="#lbAT">Paketbauverzeichnisse</A><DD>
|
||
<DT id="225"><A HREF="#lbAU">Udebs</A><DD>
|
||
</DL>
|
||
<DT id="226"><A HREF="#lbAV">UMGEBUNGSVARIABLEN</A><DD>
|
||
<DT id="227"><A HREF="#lbAW">SIEHE AUCH</A><DD>
|
||
<DT id="228"><A HREF="#lbAX">ÜBERSETZUNG</A><DD>
|
||
<DT id="229"><A HREF="#lbAY">AUTOR</A><DD>
|
||
</DL>
|
||
<HR>
|
||
This document was created by
|
||
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
||
using the manual pages.<BR>
|
||
Time: 00:04:58 GMT, March 31, 2021
|
||
</BODY>
|
||
</HTML>
|