.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" 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 .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . 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 2024-03-27 13.15.3 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 ist dafür da, 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 und Ihnen auf diese Weise Arbeit abzunehmen. Darüber hinaus können diese Werkzeuge bis zu einem gewissen Grad an etwaige Änderungen an der Debian-Richtlinie angepasst werden, sodass die Pakete, welche die Werkzeuge verwenden, lediglich neu erzeugt werden müssen, um der geänderten Richtlinie zu entsprechen. .PP Eine typische \fIdebian/rules\fR\-Datei, die Debhelper benutzt, ruft mehrere Debhelper-Befehle hintereinander auf oder verwendet \fBdh\fR\|(1), 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 probieren das Paket \fBdh-make\fR aus; dieses enthält einendh_make\-Befehl, welcher den Prozess teilweise automatisiert. Für eine behutsamere Einführung enthält das Paket uc\fBmaint-guide\fR ein Lernprogramm, mit dem Sie Ihr erstes Paket unter mit Hilfe von Debhelper erstellen. .PP Solange nichts anderes angegeben wird, gehen alle Debhelper-Werkzeuge davon aus, dass sie aus dem Wurzelverzeichnis eines entpackten Quellpakets ausgeführt werden. Dadurch können sie, 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 Pakets 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 korrigiert 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 Steuerdatei »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 DEBIAN. .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 richtet Maintscripts ein .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 PAM\-Unterstützungsdateien .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 Override-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" Start/Stopp/Neustart von Systemd-Unit-Dateien .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 dem notwendigen Umfang an 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_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. Welche Dateien die einzelnen Befehle heranziehen, ihre Namen und Formate, entnehmen Sie den entsprechenden Handbuchseiten. Im Allgemeinen sind diese Dateien Listen von Dateien, die bearbeitet werden, eine Datei pro Zeile. Einige Programme in Debhelper bedienen sich Paaren von Dateien und Zielen oder etwas kompiziertere Formate. .PP Note if there is only one binary package listed in \fIdebian/control\fR, then debhelper will use \fIdebian/foo\fR when there's no \fIdebian/package.foo\fR file. In compat levels before compat 15, this fallback also occurs for the first binary package listed in \fIdebian/control\fR when there are multiple binary packages. However, it is often a good idea to keep the \fIpackage.\fR prefix as it is more explicit and also required when upgrading to compat 15. .PP Additionally, there are some special cases where debhelper will always fallback to a prefix-less version. These are cases such as \fIdebian/copyright\fR and \fIdebian/changelog\fR, where the files are generally used and needed for all binary packages. .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.\fIARCHITEKTUR\fR oder debian/\fIPaket\fR.foo.\fIBETRIEBSSYSTEM\fR existieren, wobei \fIARCHITEKTUR\fR und \fIBETRIEBSSYSTEM\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, in den debhelper-Konfigurationsdateien einfache Ersetzungen für die folgenden Werkzeuge zu verwenden: .IP \(bu 4 dh_clean .IP \(bu 4 dh_install .IP \(bu 4 dh_installcatalogs .IP \(bu 4 dh_installdeb .IP \(bu 4 dh_installdirs .IP \(bu 4 dh_installdocs .IP \(bu 4 dh_installexamples .IP \(bu 4 dh_installinfo .IP \(bu 4 dh_installman .IP \(bu 4 dh_installvm .IP \(bu 4 dh_link .IP \(bu 4 dh_missing .IP \(bu 4 dh_ucf .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 Zweifelsfall ist die Variante \fBDEB_HOST_*\fR diejenige, die sowohl für natives Bauen als auch für andere Architekturen funktioniert. .Sp Aus Leistungsgründen versucht Debhelper, diese Namen aus der Umgebung aufzulösen, bevor es Rat bei \fBdpkg\-architecture\fR\|(1) sucht. Dies sei 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:\fR\f(BINAME\fR 4 .IX Item "env:NAME" expandiert zur Umgebungsvariable \fINAME\fR. Die Umgebungsvariable muss gesetzt sein (eine leere Zeichenkette reicht). .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 \fIFOO\fR gesetzt ist (eine leere Zeichenkette reicht). .PP \fIErsetzungsbeschränkungen\fR .IX Subsection "Ersetzungsbeschränkungen" .PP Um Endlosschleifen und Ressourcenverschwendung zu vermeiden, bricht Debhelper mit einer Fehlermeldung ab, 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). .PP \fISubstitution limitations: filtering\fR .IX Subsection "Substitution limitations: filtering" .PP The built-in substitution cannot be used to "filter" out content. Attempts to create "comments" or "empty lines" via substitution will result in those variables being considered a token in its own right with the content given. .PP If you want filtering, consider using an executable debhelper config file with \fBdh-exec\fR as interpreter. The \fBdh-exec\fR tool supports several features out of the box. Though keep in mind that \fBdh-exec\fR has its own substitution logic that can feature interact with the one from debhelper. .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 nutzen, markieren Sie die Konfigurationsdatei einfach als ausführbar (z.B. \fBchmod +x debian/\fR\f(BIPaket\fR\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 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 In compatibility level 13+, the output will be subject to substitutions (see "Substitutions in debhelper config files") where the tool support these. Remember to be careful if your generator \fIalso\fR provides substitutions as this can cause unnecessary confusion. Notably, the commonly used \fBdh-exec\fR tool has its own substitution support. .Sp Otherwise, the output will be used exactly as-is. Notably, debhelper will \fInot\fR expand wildcards or strip comments or strip whitespace in the output it reads. The \fBdh-exec\fR tool has an output filter on by default that will prune these things out. .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 Befehle, die das Paketbauverzeichnis ändern. .Sp Beachten Sie, dass der detailreiche Modus möglicherweise auch »interne« Befehle ausgibt, die das Paketbauverzeichnis nicht direkt betreffen. .IP \fB\-\-no\-act\fR 4 .IX Item "--no-act" tut nicht wirklich etwas. Falls es zusammen 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 \fBDEB_HOST_ARCH\fR gebaut werden sollen. .IP "\fB\-i\fR, \fB\-\-indep\fR" 4 .IX Item "-i, --indep" wirkt sich auf alle architektur\-unabhä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 ein zu verarbeitendes auflisten. .IP \fB\-\-remaining\-packages\fR 4 .IX Item "--remaining-packages" wirkt sich nicht auf die Pakete aus, die dieser Debhelper-Befehl bereits durchlaufen hat (d.h. falls der Befehl im Debhelper-Protokoll des Pakets auftaucht). Falls Sie zum Beispiel den Befehl nur bei einigen Binäraketen mit speziellen Optionen 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" \&\fBDeprecated\fR: This option has no practical use in compat 15 or later as the behaviour it affects is removed in compat 15. .Sp Diese selten benutzte Option ändert das Paket, welches Paket Debhelper als »Hauptpaket« ansieht, sprich als das Paket, welches zuerst in \fIdebian/control\fR aufgeführt wird und für das die \fIdebian/foo\fR\-Dateien anstelle 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 ganze Bündel von Optionen unterstützt,kommt er zum Tragen. Falls nicht, 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 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 ALLEN entsprechenden Paketen auswirken, nicht nur im ersten. .SH BAUSYSTEMOPTIONEN .IX Header "BAUSYSTEMOPTIONEN" Die folgenden Befehlszeilenoptionen werden von allen \fBdh_auto_\fR\fI*\fR\-Debhelper\-Programmen 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 alle \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 statt auf der obersten Verzeichnisebene des Debian-Quellpaketverzeichnisbaums liegt. .Sp \&\fBWarnung\fR: Für die \fB\-\-sourcedir\fR\-Variante gibt es aus historischen Gründen eine ähnlich benannte Option in \fBdh_install\fR und \fBdh_missing\fR (etc.). Obwohl ihre Namen identisch sind, dienen sie völlig unterschiedlichen Zwecken, somit können in einigen Fällen Fehler auftreten, wenn diese Variante an \fBdh\fR übergeben wird (und dieses sie seinerseits an alle anderen Werkzeuge weitergibt). .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 das 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 \fBDEB_BUILD_OPTIONS\fR ("Debian-Richtlinie, Abschnitt 4.9.1") 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 Zwecks 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 \fBDEB_BUILD_OPTIONS\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 Bau 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 höchste Stufe setzen, von der bekannt ist, dass sie funktioniert oder auf die, von der Sie wünschen, dass sie unterstützt wird. .Sp Übrigens bewirkt das Setzen des Maximums auf 1 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 Umgebungsvariablen 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 hilft in den sehr seltenen Fällen, in denen das Paket mehrere Bauvorgänge mit unterschiedlichen \fB…FLAGS\fR\-Optionen benötigt. Ein konkretes Beispiel wäre die Notwendigkeit, den Parameter \fB\-O\fR in \fBCFLAGS\fR beim zweiten Bauen abzuändern: .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 \fBDEB_CFLAGS_MAINT_APPEND\fR ignoriert werden, da \fBdh_auto_configure\fR\|(1) den von durch \fBdh\fR\|(1) zwischengespeicherten \fBCFLAGS\fR\-Wert benutzen würde. .Sp Diese Option ist mit \fBdebhelper (>= 12.7~)\fR nur 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 werden 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 sauber und übersichtlich wie möglich zu halten, denn die Bedürfnisse ändern sich bzw. sein Autor sammelt mehr Erfahrung. Um zu verhindern, dass solche wesentlichen Änderungen existierende Pakete beschädigen, ist das Konzept der Debhelper\-Kompatibilitätsstufen eingeführt worden. Sie müssen Debhelper mitteilen, welche Kompatibilitätsstufe es nutzen soll und sie ä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 v13 zu benutzen, stellen Sie sicher, dass \fIdebian/control\fR Folgendes enthält: .PP .Vb 1 \& Build\-Depends: debhelper\-compat (= 13) .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 Zwischenveröffentlichung von Debhelper (wie für die Veröffentlichung einer neuen Funktionalität oder einer Fehlerbehebung innerhalb einer Kompatibilitätsstufe). .PP Note that debhelper does not provide debhelper-compat for experimental or beta compatibility levels; packages experimenting with those compatibility levels should put the compat level in the \fBX\-DH-Compat\fR field of the source stanza of the \fIdebian/control\fR file (or, if only for selected commands, the \fBDH_COMPAT\fR environment variable). .PP Historically, debhelper required specifying the compatibility level in the file \fIdebian/compat\fR, and debhelper up to version 14 supports this for backward compatibility. To use this method, the \fIdebian/compat\fR file should contain the compatibility level as a single number, and no other content. If you specify the compatibility level by this method, your package will also need a versioned build dependency on a version of the debhelper package equal to (or greater than) the compatibility level your package uses. So, if you specify compatibility level 13 in \fIdebian/compat\fR, ensure \fIdebian/control\fR has: .PP .Vb 1 \& Build\-Depends: debhelper (>= 13~) .Ve .PP Note that you must use exactly one method for specifying the default debhelper compat level of the package. Whenever possible, the debhelper-compat build-dependency is recommended. .PP Falls nötig, kann die \fBDH_COMPAT\fR\-Umgebungsvariable dazu verwendet werden, die Kompatibilitätsstufe für einen bestimmten Befehl außer Kraft zu setzen. Diese Funktionalität eignet sich hauptsächlich für die vorübergehende Anhebung einiger Befehle auf eine neue Kompatibilitätsstufe oder zum selektiven Zurückhalten auf einer niedrigeren Stufe. Es sollte sparsam eingesetzt werden, weil es im Endeffekt zu Spezialfällen in der \fIdebian/rules\fR\-Datei führt, die für unangenehme Überraschungen für Betreuer und Prüfer sorgen können (oder auch langfristig bei Ihnen selbst). .PP Wenn nicht anders angegeben, geht sämtliche Debhelper-Dokumentation davon aus, dass Sie die aktuellste Kompatibilitätsstufe nutzen, und weist in den meisten Fällen nicht darauf hin, wenn sich dieses Verhalten von einer älteren Kompatibilitätsstufe unterscheidet. Sollten 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" The list of supported compatibility levels and the related upgrade check list has moved to \fBdebhelper\-compat\-upgrade\-checklist\fR\|(7). .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 die Debhelper-Programme standardmäßig 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 \fBDEB_HOST_ARCH\fR\-Architektur übereinstimmt, ausgeschlossen ("Debian Policy, Abschnitt 5.6.8"). .PP Außerdem können einige zusätzliche Paket basierend auf dem Inhalt der Umgebungsvariable \fBDEB_BUILD_PROFILES\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 . .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 ODER 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 ändern. .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 platzieren, an die der Kode hinzugefügt werden soll. \fB#DEBHELPER#\fR wird bei der Ausführung durch beliebigen automatisch erzeugten Kode ersetzt, wenn Sie \fBdh_installdeb\fR ausführen. .PP Falls ein Skript noch gar 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 ihn 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 dafür beschrieben (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 von Debhelpers Arbeitsweise abhängen, 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 sich entscheiden, keines davon 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, dass die Debhelper-Programme nur auf ein einzelnes Paket auf einmal einwirken können, wenn Sie \fB\-P\fR verwenden. Falls Sie ein Paket haben, das mehrere Binärpakete baut, müssen Sie zusätzlich 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, keine Dokumentation in ein Udeb installiert wird und \fIpreinst\fR\-, \fIpostrm\fR\-, \fIprerm\fR\- sowie \fIconfig\fR\-Skripte etc. übersprungen werden. .SH UMGEBUNGSVARIABLEN .IX Header "UMGEBUNGSVARIABLEN" Dieser Abschnitt beschreibt einige der Umgebungsvariablen, die das Verhalten von Debhelper beeinflussen oder mit denen Debhelper interagiert. .PP Es ist wichtig, darauf hinzuweisen, dass es echte 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 DH_VERBOSE\fR«. .IP \fBDH_VERBOSE\fR 4 .IX Item "DH_VERBOSE" Ist hier ein beliebiger (nicht-leerer) Wert gesetzt, arbeitet Debhelper im detailreichen Modus. Details finden Sie bei der Option \fB\-v\fR / \fB\-\-verbose\fR. .IP \fBDH_QUIET\fR 4 .IX Item "DH_QUIET" Ist hier ein nicht-leerer Wert gesetzt, arbeitet Debhelper im stillen Modus. Es wird wird weder Befehle ausgeben, die das Bausystem der Ursprungsautoren aufrufen, noch wird dh auflisten, 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. .Sp Wird ignoriert, wenn DH_VERBOSE ebenfalls gesetzt oder \fB\-v\fR / \fB\-\-verbose\fR übergeben wird. .IP \fBDH_COMPAT\fR 4 .IX Item "DH_COMPAT" Temporarily specifies what compatibility level debhelper should run at, overriding the default compat level of the source package. .IP \fBDH_NO_ACT\fR 4 .IX Item "DH_NO_ACT" auf \fB1\fR gesetzt, um Modus ohne Aktion zu aktivieren. .IP \fBDH_OPTIONS\fR 4 .IX Item "DH_OPTIONS" Alle Debhelper-Werkzeuge werden die in dieser Variable aufgeführten Argumente vor ihren eigenen 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 DH_OPTIONS zu verwenden. .IP \fBDH_ALWAYS_EXCLUDE\fR 4 .IX Item "DH_ALWAYS_EXCLUDE" Falls gesetzt, fügt dies den Wert der Variablen den \fB\-X\fR\-Optionen aller Befehle hinzu, welche die Option \fB\-X\fR unterstützen. Außerdem wird \fBdh_builddeb\fR für alles in Ihrem Paketbaubaum, das dem Wert entspricht, \fBrm \-rf\fR ausführen. .Sp Dies kann nützlich sein, wenn Sie aus einem CVS-Quellverzeichnisbaum bauen. In diesem Fall verhindert das Setzen von \fBDH_ALWAYS_EXCLUDE=CVS\fR, dass sich irgendwelche CVS-Verzeichnisse 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 \fBDH_EXTRA_ADDONS\fR 4 .IX Item "DH_EXTRA_ADDONS" Falls gesetzt, fügt dies die angegebenen Dh-Erweiterungen hinzu, die an den entsprechenden Stellen in den Befehlssequenzen 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 während mehrerer Bauvorgänge eine Debhelper-Erweiterung ausführen müssen, ohne dass eine große Anzahl von Regeldateien bearbeitet werden muss. Falls überhaupt möglich, sollte dies zugunsten eines \-\-with\-Schalters in der Datei »rules« vermieden werden. .IP "\fBDH_COLORS\fR, \fBDPKG_COLORS\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 \fBDPKG_COLOR\fR auch mehrere mit Dpkg verbunden Werkzeuge beeinflusst und Debhelper es unter der Annahme benutzt, dass Sie dieselbe Farbeinstellung für Dpkg und Debhelper benutzen wollen. In dem unwahrscheinlichen Fall, dass Sie für Debhelper eine andere Farbeinstellung möchten, können Sie \fBDH_COLORS\fR statt oder zusätzlich zu \fBDPKG_COLORS\fR verwenden. .IP \fBNO_COLOR\fR 4 .IX Item "NO_COLOR" Falls nicht explizit um Farbe gebeten wurde (sowohl \fBDH_COLORS\fR als auch \fBDPKG_COLORS\fR sind nicht gesetzt), führt die Anwesenheit dieser Umgebungsvariablen dazu, dass die Standardfarbeinstellung auf »never« gesetzt wird. .Sp Die Variable ist gemäß definiert. In diesem Projekt werden die Umgebungsvariablen (wie \fBDH_COLORS\fR) als explizite Farbanfrage betrachtet. .IP "\fBCFLAGS\fR, \fBCPPFLAGS\fR, \fBCXXFLAGS\fR, \fBOBJCFLAGS\fR, \fBOBJCXXFLAGS\fR, \fBGCJFLAGS\fR, \fBFFLAGS\fR, \fBFCFLAGS\fR, \fBLDFLAGS\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 dazu die Funktionalität von \fBdpkg\-buildflags\fR\|(1) (z.B. \fBDEB_BUILD_MAINT_OPTIONS=hardening=all\fR oder \fBDEB_CPPFLAGS_MAINT_APPEND=\-DCUSTOM_MACRO=true\fR) statt die konkrete Variable direkt zu setzen. .IP "\fBHOME\fR, \fBXDG_*\fR" 4 .IX Item "HOME, XDG_*" In Kompatibilitätsstufe 13 und darüber werden diese Umgebungsvariablen zurückgesetzt, bevor das Originalautoren-Bausystem via \fBdh_auto_*\fR angeworfen wird. Die \fBHOME\fR\- (\fBdh_auto_*\fR\-Hilfsprogramme) und die \fBXDG_RUNTIME_DIR\fR\-Variable (nur \fBdh_auto_test\fR) werden auf ein beschreibbares Verzeichnis gesetzt. Alle anderen Variablen und \fBXDG_RUNTIME_DIR\fR (außer während des \fBdh_auto_test\fR) werden geleert. .Sp Die Verzeichnisse werden leer erzeugt und zwischen den \fBdh_auto_*\fR\-Aufrufen wiederverwendet. Jeglicher Inhalt wird weiter bestehen, bis er explizit gelöscht oder \fBdh_clean\fR aufgerufen wird. .IP \fBDEB_BUILD_OPTIONS\fR 4 .IX Item "DEB_BUILD_OPTIONS" Die Beschreibung dieser Umgebungsvariable entnehmen Sie bitte "Unterstützte Optionen in DEB_BUILD_OPTIONS". .Sp Bitte beachten Sie, dass diese Variable von Paketbetreuern in ihren \fIdebian/rules\fR \fInicht\fR geändert werden sollte, um das Verhalten von Debhelper zu beeinflussen. Stattdessen sollen die fraglichen Funktionsmerkmale direkt abgeschaltet werden (etwa durch Außerkraftsetzen der betreffenden Werkzeuge). .IP \fBDEB_BUILD_MAINT_OPTIONS\fR 4 .IX Item "DEB_BUILD_MAINT_OPTIONS" Dies ist eine Dpkg-spezifische Umgebungsvariable (siehe \fBdpkg\-buildflags\fR\|(1)). Die Debhelper-Suite ignoriert sie kommentarlos. .Sp Sie ist hier dokumentiert, weil ihr Name \fBDEB_BUILD_OPTIONS\fR ähnelt, was zu der falschen Annahme verleiten kann, dass Debhelper die Variable genauso auf die Variable reagiert. .SS "Unterstützte Optionen in DEB_BUILD_OPTIONS" .IX Subsection "Unterstützte Optionen in DEB_BUILD_OPTIONS" Die Debhelper-Suite reagiert auf die folgenden Optionen in \fBDEB_BUILD_OPTIONS\fR: .IP dherroron=obsolete\-compat\-levels> 4 .IX Item "dherroron=obsolete-compat-levels>" \&\fIDieser Wert ist Debhelper-spezfisch.\fR .Sp Wenn \fBdherroron\fR vorhanden und auf \fBobsolete-compat-levels\fR gesetzt ist, werden die Debhelper-Werkzeuge die Missbilligungswarnungen für auf der Abschussliste stehenden Kompaitiblitätsstufen zu Fehlern erheben. .Sp Dies hilft bei automatischen Überprüfungen, ob Kode auf veralteten Kompatibilitätsstufen basiert, die bald entfernt werden sollen. .Sp Die Option ist für Testzwecke gedacht, aber nicht für Produktiveinsatz. .IP \fBnostrip\fR 4 .IX Item "nostrip" \&\fIDieser Wert ändert den Inhalt der Debs, die gebaut werden. Die .deb\-Pakete, die unter Anwesenheit dieses Werts gebaut werden, werden nicht Bit für Bit reproduzierbar sein, was bei einem gewöhnlichen Paket der Regelfall ist.\fR .Sp Durch diesen Wert werden die offiziellen Debhelper-Werkzeuge dazu gebracht, Aktionen und Hilfsprogramme zum Entfernen, Abkoppeln oder Deduplizieren von Fehlersuchsymbolen in ELF\-Binärdateien zu überspringen. .Sp Dieser Wert betrifft \fBdh_dwz\fR\|(1) und \fBdh_strip\fR\|(1). .IP \fBnocheck\fR 4 .IX Item "nocheck" Dieser Wert führt dazu, dass die offiziellen Debhelper-Bausysteme die Ausführung von Test-Suiten der Originalautoren überspringen. .Sp Paketbetreuer, die versuchen, diese Tests zu umgehen, sollten sich hierauf \fBnicht\fR verlassen. Stattdessen können sie ein leeres Override-Ziel angeben, um \fBdh_auto_test\fR zu überspringen. .Sp Dieser Wert betrifft \fBdh_auto_test\fR\|(1). .IP \fBnodoc\fR 4 .IX Item "nodoc" \&\fIDieser Wert ändert den Inhalt der Debs, die gebaut werden. Die .deb\-Pakete, die unter Anwesenheit dieses Werts gebaut werden, werden nicht Bit für Bit reproduzierbar sein, was bei einem gewöhnlichen Paket der Regelfall ist.\fR .Sp Dieser Wert wird mehrere Debhelper-Tools anweisen, die Installation von Dokumentation wie Handbuchseiten oder von den Originalautoren bereitgestellte Dokumentation auszulassen. Außerdem werden die Werkzeuge es ignorieren, wenndie deklarierte Dokumentation fehlt, unter der Annahme, dass sie nicht gebaut wurde. .Sp Dieser Wert betrifft Werkzeuge \fIwie\fR \fBdh_installdocs\fR\|(1), welches \fIweiß\fR, dass es mit Dokumentation arbeitet. .IP \fBnotrimdch\fR 4 .IX Item "notrimdch" \&\fIDieser Wert ändert den Inhalt der Debs, die gebaut werden. Die .deb\-Pakete, die unter Anwesenheit dieses Werts gebaut werden, werden nicht Bit für Bit reproduzierbar sein, was bei einem gewöhnlichen Paket der Regelfall ist.\fR .Sp This value will cause \fBdh_installchangelogs\fR\|(1) to act as if it had been passed the \fB\-\-no\-trim\fR option, forcing it to forgo removing older entries from changelogs. .IP "\fBnoautodbgsym\fR, \fBnoddebs\fR" 4 .IX Item "noautodbgsym, noddebs" \&\fIDer offizielle Name ist noautodbgsym. Die noddebs-Variante wird aus historischen Gründen akzeptiert.\fR .Sp Dieser Wert veranlasst Debhelper, die automatische Erzeugung der Fehlersuchsymbol-Pakete zu unterlassen. .Sp Dieser Wert beeinflusst \fBdh_strip\fR\|(1). .IP \fBparallel=N\fR 4 .IX Item "parallel=N" Dieser Wert erlaubt es Debhelper, bis zu \fBN\fR Threads oder Prozesse (eingeschränkt durch Parameter wie \fB\-\-no\-parallel\fR und \fB\-\-max\-parallel=M\fR) zu verwenden. Nicht alle Debhelper-Werkzeuge arbeiten parallel und können die Anfrage daher kommentarlos ignorieren. .Sp Dieser Wert betrifft viele Debhelper-Werkzeuge. Vor allem \fBdh_auto_*\fR wird versuchen, das zugrundeliegende Bausystem der Originalautoren mit dieser Anzahl an Threads auszuführen. .IP \fBterse\fR 4 .IX Item "terse" Dieser Wert wird die offiziellen Debhelper-Bausysteme zu einer knappen, weniger ausführlichen (daher »terse«) Ausgabe animieren. Seine Wirkung hängt davon ab, inwieweit das Bausystem der Originalautoren und das von Debhelper solche Funktionsmerkmale unterstützen. .Sp This value affects most \fBdh_auto_*\fR tools directly. For commands provided by the debhelper package, it also causes the tools to act like the \fBDH_QUIET\fR environment variable was non-empty. .PP Unbekannte Schalter werden stillschweigend ignoriert. .PP Beachten Sie, dass Debhelper\-ähnliche Werkzeuge oder Bausysteme von Drittherstellern unterschiedlich auf die oben genannten Schalter reagieren. Das hängt davon ab, wie die Werkzeuge im Detail implementiert sind. .SH "SIEHE AUCH" .IX Header "SIEHE AUCH" .IP \fBdebhelper\-compat\-upgrade\-checklist\fR\|(7) 4 .IX Item "debhelper-compat-upgrade-checklist" Liste der unterstützten Kompatibilitätsstufen und eine Upgrade\-Prüfliste für jede davon. .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 4 .IX Item "" Debhelper-Website. .SH ÜBERSETZUNG .IX Header "ÜBERSETZUNG" Diese Übersetzung wurde mit dem Werkzeug \&\fBpo4a\fR durch Chris Leick \&\fIc.leick@vollbio.de\fR und das deutsche Debian\-Übersetzer\-Team im Dezember 2011 erstellt. .PP Bitte melden Sie alle Fehler in der Übersetzung an \&\fIdebian\-l10n\-german@lists.debian.org\fR oder als Fehlerbericht an das Paket \&\fIdebhelper\fR. .PP Sie können mit dem folgenden Befehl das englische Original anzeigen man\ \-L\ en\ Abschnitt\ Handbuchseite .SH AUTOR .IX Header "AUTOR" Joey Hess