debhelper-compat-upgrade-checklist - Upgrade checklist for supported debhelper
compat levels
This document is an upgrade checklist of all the supported debhelper compat
levels. It also lists all the support debhelper compat levels.
Information about how to declare the compat level is in "COMPATIBILITY
LEVELS" in
debhelper(7).
If you are upgrading from a (now) obsolete compat level, then please refer to
debhelper-obsolete-compat(7).
Folgende Kompatibilitätsstufen sind verfügbar:
- v15
- Diese Kompatibilitätsstufe ist immer noch für
die Entwicklung offen. Verwenden Sie sie mit Vorsicht.
Changes from v14 are:
- -
- The dh_auto_install tool no longer defaults to
--destdir=debian/ package for source packages
only producing a single binary. If this behaviour is wanted, the package
should explicitly activate the single-binary dh addon (e.g., by
adding dh-sequence-single-binary to Build-Depends) or pass
--destdir to dh_auto_install.
The rationale for this change to avoid "surprises" when adding a
second binary package later. Previously, debhelper would silently change
behaviour often resulting in empty binary packages being uploaded to the
archive by mistake. With the new behaviour, the single-binary addon
will detect the mismatch and warn the maintainer of what is about to
happen.
- v14
- Diese Kompatibilitätsstufe ist immer noch für
die Entwicklung offen. Verwenden Sie sie mit Vorsicht.
Änderungen gegenüber v13 sind:
- -
- The cmake buildsystem now passes
-DCMAKE_BUILD_RPATH_USE_ORIGIN=ON to cmake(1) to avoid some
reproducibility issues.
- -
- The tool dh_installsysusers is now included in the
default sequence. This helper tool will process systemd sysusers
files.
- -
- Use of the dh_gconf command in override and hook
targets now causes an error. The dh_gconf command has been a no-op
for years and was removed in debhelper 13.4.
- -
- The dh sequencer will warn if the
single-binary addon is implicitly activated to warn maintainers of
the pending compat 15 change in dh_auto_install.
Maintainers are urged to either explicitly activate the single-binary
addon to preserve the existing behaviour (e.g., by adding
dh-sequence-single-binary to Build-Depends), or explicitly passing
--destdir to dh_auto_install if used and then passing
--without single-binary to dh (the latter to silence the
warning).
The rationale for this change to avoid "surprises" when adding a
second binary package later. Previously, debhelper would silently change
behaviour often resulting in empty binary packages being uploaded to the
archive by mistake. With the new behaviour, the single-binary addon
will detect the mismatch and warn the maintainer of what is about to
happen.
- -
- The dh_installalternatives tool will now be run
after dh_link rather than after dh_installinitramfs in the
default dh sequence.
- -
- The dh_installpam tool will now install PAM
configuration files under /usr/lib/pam.d/package
instead of /etc/pam.d/package.
Please consider using the "rm_conffile" feature from
dh_installdeb(1) to ensure the proper removal of previous PAM
files.
- -
- The meson+ninja and cmake build systems now
use meson install and cmake --install, respectively, instead
of ninja install and make install in the
dh_auto_install(1) call. Any override of dh_auto_install
that passes extra parameters to the upstream build system should be
reviewed.
- v13
- Dies ist der empfohlene Betriebsmodus.
Die Änderungen gegenüber v12 sind:
- -
- Das Bausystem meson+ninja benutzt anstelle von
ninja test nun meson test, wenn die Testsuite
ausgeführt wird. Alles, was dh_auto_test außer Kraft
setzt und zusätzliche Parameter an das
Testausführungsprogramm der Ursprungsautoren übergibt,
sollte überprüft werden, da meson test auf der
Befehlszeile nicht mit ninja test kompatibel ist.
- -
- Alle Debhelper-ähnlichen Werkzeuge, die auf der
offiziellen Debhelper-Bibliothek basieren (einschließlich dh
und den offiziellen dh_*-Werkzeugen) akzeptieren keine
abgekürzten Befehlsparameter mehr. Gleichzeitig sortiert dh
nun Aufrufe zu überflüssigen dh_*-Hilfsprogrammen
sogar dann aus, wenn lange Befehlszeilenoptionen angegeben werden.
- -
- Die ELF-bezogenen Debhelper-Werkzeuge (dh_dwz,
dh_strip, dh_makeshlibs, dh_shlibdeps) werden nun
standardmäßig nur noch für
architekturabhängige Pakete ausgeführt (d. h. sie werden von
*-indep-Zielen ausgeschlossen und standardmäßig mit
-a übergeben). Falls Sie sie für *-indep-Ziele
benötigen, können Sie eine explizite Build-Depends in
dh-sequence-elf-tools hinzufügen.
- -
- Das Drittanbieterbausystem gradle (aus dem Paket
gradle-debian-helper) führt nun automatisch eine von den
Ursprungsautoren bereitgestellte Testsuite aus. Setzen Sie
dh_auto_test außer Kraft, um dieses Verhalten zu
unterbinden.
- -
- Das Werkzeug dh_installman beendet sich vorzeitig,
falls es widersprüchliche Definitionen einer Handbuchseite
entdeckt. Dies kommt üblicherweise vor, wenn das Bausystem der
Ursprungsautoren eine komprimierte Version installiert und das Paket eine
nicht komprimierte Version der Handbuchseite in
debian/package .manpages auflistet. Meist ist die
einfachste Lösung, die Handbuchseite aus
debian/package .manpages zu entfernen (davon
ausgehend, dass beide Versionen identisch sind).
- -
- Die dh_auto_*-Hilfsprogramme setzen nun die
Umgebungsvariablen HOME und gebräuchliche
XDG_*-Variablen zurück. Wie damit umgegangen wird,
können Sie Sie der Beschreibung für die Umgebungsvariablen
in "ENVIRONMENT" entnehmen.
Dieses Funktionsmerkmal hat sich zwischen Debhelper 13 und Debhelper
13.2 geändert.
- -
- Der Befehl dh wird nun einen Fehler ausgeben, falls
ein Override- oder Hook-Ziel für einen veralteten Befehl in
debian/rules (z.B. override_dh_systemd_enable:) vorhanden
ist.
- -
- Der Befehl dh_missing wird nun auf
--fail-missing voreingestellt. Dies lässt sich zu einer
nicht-fatalen Warnung zurückändern, indem explizit
--list-missing übergeben wird, wie es in
Kompatibilitätsstufe 12 war.
Falls Sie die Warnung gar nicht wollen, lassen Sie bitte den Aufruf von
dh_missing weg. Falls Sie den Befehlssequenzer dh benutzen,
dann können Sie dies mit einem leeren Override-Ziel in der Datei
debian/rules oder dem passenden Paket erledigen. Zum Beispiel:
# Disable dh_missing
override_dh_missing:
- -
- Der Befehlssequenzer dh führt nun in der
Standardsequenz dh_installtmpfiles aus. dh_installtmpfiles
übernimmt die Handhabung von tmpfiles.d-Konfigurationsdateien.
Diesbezügliche Funktionalität in dh_installsystemd
ist nun deaktiviert.
Beachten Sie, dass dh_installtmpfiles auf
debian/Paket.tmpfiles reagiert, wo
dh_installsystemd einen Nahmen ohne das nachfolgende
»s« benutzt hat.
- -
- Viele dh_*-Werkzeuge unterstützen nun eine
eingeschränkte Variablenexpandierung per ${foo}-Syntax. In
vielen Fällen kann dies benutzt werden, um Pfade zu referenzieren,
die entweder Leerzeichen oder dpkg-architecture(1)-Werte enthalten.
Obwohl es den Bedarf an dh-exec(1) in einigen Fällen
vermindern kann, ist es im Allgemeinen kein Ersatz für
dh-exec(1). Falls Sie filtern, umbenennen usw. möchten, wird
das Paket weiterhin dh-exec(1) benötigt.
Bitte lesen Sie "Ersetzungen in Debhelper-Konfigurationsdateien",
um mehr über die Syntax und verfügbare Ersetzungsvariablen
zu erfahren. An Verfasser von dh_*-Werkzeugen: Die Ersetzung und
Expandierung ist Teil der Funktionen filearray und
filedoublearray.
- -
- Der Befehlssequenzer dh wird jetzt alle Hooks und
Override-Ziele für dh_auto_test, dh_dwz und
dh_strip überspringen, wenn DEB_BUILD_OPTIONS die
maßgeblichen nocheck-/nostrip-Optionen
aufführt.
Alle Pakete, die sich darauf verlassen, dass diese Ziele immer
ausgeführt werden, sollten die betroffene Logik aus diesen Zielen
heraus verschieben. Z. B. müsste nicht-testbezogener
Paketierungscode von override_dh_auto_test nach
execute_after_dh_auto_build oder
execute_before_dh_auto_install verschoben werden.
- -
- Das cmake-Bausystem übergibt nun
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON an cmake(1), um den
automatischen Installationsprozess zu beschleunigen. Falls Sie aus
irgendeinem Grund beim alten Verhalten bleiben möchten,
übersteuern Sie den Schalter:
dh_auto_configure -- -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF ...
- v12
- Änderungen gegenüber v11 sind:
- -
- Das Werkzeug dh_makeshlibs erzeugt nun
standardmäßig Shlibs-Dateien mit versionierter
Abhängigkeit. Das bedeutet, dass -VUpstream-Version (alias
-V) nun die Voreinstellung ist.
Falls eine nicht versionierte Abhängigkeit in der Shlibs-Datei
gewünscht wird, kann dies stattdessen durch Übergabe von
-VNone erreicht werden. Siehe aber auch dh_makeshlibs(1)
für die Vorbehalte gegen nicht versionierte
Abhängigkeiten.
- -
- Die Option -s (--same-arch) wurde entfernt.
Bitte verwenden Sie stattdessen -a (--arch).
- -
- Der Aufruf von dh_clean -k verursacht jetzt einen
Fehler statt einer Warnung, es sei missbilligt.
- -
- Die Option --no-restart-on-upgrade in
dh_installinit wurde entfernt. Bitte verwenden Sie den neuen Namen
--no-stop-on-upgrade.
- -
- Es gab einen Fehler in den doit- und
ähnlichen Funktionen 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.
- -
-
--list-missing und --fail-missing in
dh_install wurden entfernt. Bitte verwenden Sie dh_missing
und die zugehörigen Optionen, die die durch andere Hilfsprogramme
installierten Dateien ebenfalls sehen können.
- -
- Das Hilfsprogramm dh_installinit installiert die
Konfiguration für das Init-System Upstart nicht mehr. Stattdessen
bricht es das Bauen ab, wenn es eine alte Upstart-Konfigurationsdatei
findet. Der Fehler soll den Paketbetreuer daran erinnern, sicherzugehen,
dass die mit vorherigen Versionen des Pakets mitgelieferten Konfigdateien
(falls vorhanden) sauber entfernt werden.
- -
- Das Werkzeug dh_installdeb wird die
Grundprüfung einiger dpkg-maintscript-helper(1)-Befehle
durchführen und sich mit einer Fehlermeldung beenden, falls die
Befehle ungültig zu sein scheinen.
- -
- Das Werkzeug dh_missing wird nun auf
--list-missing voreingestellt.
- -
- Das Werkzeug dh_makeshlibs wird jetzt nur
Bibliotheken an dpkg-gensymbols(1) übergeben, falls die
ELF-Binärdatei einen SONAME hat (enthält
».so«).
- -
- Das Werkzeug dh_compress komprimiert keine Beispiele
mehr (d. h. alles, was in
</usr/share/doc/Paket/examples> installiert
ist).
- -
- Die Standardsequenz in dh enthält nun
standardmäßig dh_dwz und dh_installinitramfs.
Dies macht die Sequenzen dwz und installinitramfs
überflüssig und sie werden mit einem Fehler scheitern. Falls
Sie diese Befehle überspringen wollen, fügen Sie bitte ein
leeres Override-Ziel in debian/rules ein (z.B.
override_dh_dwz:).
- -
- Die Bausysteme Meson und Autoconf setzen die
Variable --libexecdir nicht mehr explizit und verlassen sich auf
die Voreinstellung des Bausystems – diese sollte
/usr/libexec sein (per FHS 3.0, angenommen in der Debian-Richtlinie
4.1.5).
Falls ein spezielles Paket der Ursprungsautoren nicht die korrekte
Voreinstellung benutzt, kann der Parameter oft manuell per
dh_auto_configure(1) übergeben werden, etwa wie im folgenden
Beispiel:
override_dh_auto_configure:
dh_auto_configure -- --libexecdir=/usr/libexec
Beachten Sie das -- vor dem Parameter --libexecdir.
- -
-
Retroactively removed in debhelper/13.5:
The dh_installdeb tool would no longer installs the maintainer
provided conffiles file as it was deemed unnecessary. However, the
remove-on-upgrade from dpkg/1.20 made the file relevant again and
dh_installdeb now installs it again in compat levels 12+.
- -
- Das Werkzeug dh_installsystemd beruht nicht mehr auf
dh_installinit, um Systemd-Dienste zu handhaben, die über
eine SysVinit-Alternative verfügen. In einem solchen Fall
müssen jetzt beide Werkzeuge benutzt werden, um sicherzustellen,
dass der Dienst sowohl unter SysVinit als auch unter Systemd sauber
gestartet wird.
Falls Sie eine Methode haben, dh_installinit außer Kraft zu
setzen (z. B. indem Sie es mit --no-start aufrufen), dann werden
Sie jetzt wahrscheinlich auch eine für dh_installsystemd
benötigen.
Diese Änderung lässt dh_installinit ein
misc:Pre-Depends für init-system-helpers (>=
1.54~) einspeisen. Bitte stellen Sie sicher, dass das Paket
${misc:Pre-Depends} in seinem Feld Pre-Depends
aufführt, bevor Sie ein Upgrade auf Kompatibilitätsstufe 12
durchführen.
- -
- Das Drittherstellerwerkzeug dh_golang (aus dem Paket
dh-golang) akzeptiert jetzt standardmäßig die
Variable DH_GOLANG_EXCLUDES für die Quelleninstallation in
-dev-Paketen und das nicht nur während des Bauprozesses. Bitte
setzen Sie DH_GOLANG_EXCLUDES_ALL auf »false«, um zum
vorherigen Verhalten zurückzukehren. Einzelheiten und Beispiele
finden Sie unter
Debian::Debhelper::Buildsystem::golang(3pm).
- -
-
dh_installsystemduser ist nun per Voreinstellung in
der Standard- dh-Sequenz enthalten.
- -
- Das Bausystem python-distutils ist jetzt entfernt
worden. Bitte verwenden Sie stattdessen das Drittanbieterbausystem
pybuild.
- v11
- Von diesem Modus wird abgeraten.
Von der Kompatibilitätsstufe 11 wird für neue Pakete
abgeraten, da sie vvon Funktionalitätswechselwirkungen zwischen
dh_installinit und dh_installsystemd betroffen ist, die dazu
führen, dass in manchen Fällen Dienste nicht korrekt laufen.
Bitte erwägen Sie, stattdessen die Kompatibilitätsstufen 10
oder 12 zu benutzen. Weitere Einzelheiten über das Thema sind in
Debian#887904 und
<https://lists.debian.org/debian-release/2019/04/msg01442.html>
verfügbar.
Änderungen gegenüber v10 sind:
- -
-
dh_installinit installiert keine service-
oder tmpfile-Dateien mehr. Es erstellt auch keine Betreuerskripte
dafür. Bitte verwenden Sie das neue Hilfsprogramm
dh_installsystemd.
- -
- Die Hilfsprogramme dh_systemd_enable und
dh_systemd_start wurden durch das neue Hilfsprogramm
dh_installsystemd ersetzt. Aus demselben Grund wurde auch die
systemd-Sequenz für dh entfernt. Wenn Sie das
Hilfswerkzeug dh_installsystemd deaktivieren möchten,
verwenden Sie bitte ein leeres Override-Ziel.
Bitte beachten Sie, dass sich das Werkzeug dh_installsystemd in
manchen Fällen (z.B. bei der Verwendung des Parameters
--name) geringfügig anders verhält.
- -
-
dh_installdirs erstellt keine
debian/Paket-Verzeichnisse mehr, es sei denn, dies wird
ausdrücklich verlangt (oder es muss ein Unterverzeichnis darin
erstellt werden).
Die große Mehrheit aller Pakete wird von dieser Änderung nicht
betroffen sein.
- -
- Das makefile-Bausystem übergibt nun
INSTALL="install --strip-program=true" an make(1).
Davon abgeleitete Bausysteme (z. B. configure oder cmake)
sind von dieser Änderung nicht betroffen.
- -
- Das autoconf-Bausystem übergibt nun
--runstatedir=/run an ./configure.
- -
- Das cmake-Bausystem übergibt nun
-DCMAKE_INSTALL_RUNSTATEDIR=/run an cmake(1).
- -
-
dh_installman wird nun vorzugsweise die Sprache
anhand des Pfadnamens statt der Erweiterung bestimmen.
- -
-
dh_auto_install wird jetzt 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 Programmfehler in Befehlen offenlegen, die nicht in
Debhelper enthalten sind.
- -
- Die Hilfsprogramme dh_installdocs,
dh_installexamples, dh_installinfo und dh_installman
beenden sich jetzt mit Fehlermeldung, falls ihre Konfiguration ein Muster
aufweist, das zu nichts passt oder sich auf einen Pfad bezieht, den es
nicht gibt.
Bekannte Ausnahmen umfassen das Bauen mit dem Profil nodoc, bei dem
die obigen Werkzeuge stillschweigend fehlschlagende Suchen mit Mustern
erlauben,welche zur Angabe von Dokumentation verwendet werden.
- -
- Die Hilfsprogramme dh_installdocs,
dh_installexamples, dh_installinfo und dh_installman
akzeptieren nun den Parameter --sourcedir mit derselben Bedeutung
wie dh_install. Überdies fallen sie jetzt, so wie
dh_install, auf debian/tmp zurück.
Migrationshinweis: Ein Fehler in Debhelper 11 bis 11.1.5 führte
fälschlicherweise dazu, dass dh_installinfo
--sourcedir ignoriert hat.
- -
- Die Bausysteme perl-makemaker und perl-build
übergeben -I. nicht mehr an Perl. Pakete, die dieses
Verhalten immer noch benötigen, können es durch Verwendung
der Umgebungsvariable PERL5LIB emulieren, z. B. durch Eintragen von
export PERL5LIB=. in ihre »debian/rules«-Datei (oder
dergleichen).
- -
-
PERL_USE_UNSAFE_INC wird jetzt von dh oder
den dh_auto_*-Werkzeugen nicht mehr gesetzt. Sie diente als
Übergangslösung, um zu verhindern, dass das gleichzeitige
Bauen vieler Pakete scheitert.
Beachten Sie, dass sie irgendwann komplett hinfällig wird, da die
Ursprungsautoren beabsichtigen, die Unterstützung für die
Umgebungsvariable PERL_USE_UNSAFE_INC einzustellen. Wenn es so weit
ist, wird diese Variable nachträglich auch aus bestehenden
Kompatibilitätsstufen entfernt.
- -
- Das Hilfsprogramm dh_makeshlibs wird nun mit einer
Fehlermeldung beendet, falls Objdump nach der Auswertung einer gegebenen
Datei einen Rückgabewert ungleich null zurückliefert.
- -
- Die Werkzeuge dh_installdocs und
dh_installexamples können jezt die meiste
Dokumentation in einem anderen Pfad installieren, um die Empfehlung der
Debian-Richtlinien §12.3 (seit Version 3.9.7) zu erfüllen.
Beachten Sie, dass diese Änderung nicht für dieses Quellpaket
relevant ist und Sie zur nächsten Änderung springen
können, falls ein angegebenes Quellpaket nur ein einziges
Binärpaket in debian/control enthält oder keine
-doc-Pakete dabei sind.
Standardmäßig werden diese Werkzeuge nun versuchen, ein
»Hauptpaket für die Dokumentation« (ab hier
Hauptdokumentationspaket genannt) für jedes
-doc-Paket zu bestimmen. Falls sie ein derartiges
Hauptdokumentationspaket finden, werden sie nun die Dokumentation
in den Pfad /usr/share/doc/Hauptdokumentationspaket
im angegebenen Dokumentationspaket installieren. Das heißt, der
Pfad kann sich ändern, aber die Dokumentation wird immer noch im
-doc-Paket mitgeliefert.
Die Option --doc-main-package 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.
Manche Dokumentation wird von dieser Änderung nicht beeinflusst.
Diese Ausnahmen umfassen die Copyright-Dateien, README.Debian usw. Diese
Dateien werden weiterhin im Pfad /usr/share/doc/Paket
installiert.
- -
- Die Werkzeuge dh_strip und dh_shlibdeps
verwenden keine Dateinamenmuster mehr, um zu bestimmen, welche Dateien
verarbeitet werden. Stattdessen öffnen sie die Datei und suchen
nach einem ELF-Header, um zu bestimmen, ob eine übergebene Datei
ein gemeinsam benutztes Objekt oder ein ausführbares binäres
Programm ist.
Diese Änderung kann dazu führen, dass mehr Dateien als vorher
verarbeitet werden.
- v10
- Änderungen gegenüber v9 sind:
- -
-
dh_installinit wird keine Datei namens
debian/Paket mehr als Init-Skript installieren.
- -
-
dh_installdocs wird mit einem Fehler fehlschlagen,
falls es Links entdeckt, die mit --link-doc zwischen Paketen der
Architektur »all« und nicht-»all« erzeugt
wurden, da d binNMUs beschädigt.
- -
-
dh_installdeb installiert keine vom Paketbetreuer
bereitgestellte debian/ Paket.shlibs-Datei mehr. Dies wird
stattdessen von dh_makeshlibs erledigt.
- -
-
dh_installwm weigert sich, ein beschädigtes
Paket zu erstellen, falls keine Handbuchseite gefunden wird (erforderlich,
um die Alternative zum X-Window-Manager zu registrieren).
- -
-
--parallel ist Debhelpers Voreinstellung für
alle Bausysteme, die paralleles Bauen unterstützen. Dies kann
entweder durch Verwendung von --no-parallel oder durch
Übergabe von --max-parallel mit einem Wert von 1 deaktiviert
werden.
- -
- Der Befehl dh wird keinen der veralteten Parameter
zur »manuellen Sequenzsteuerung« ( --before,
--after, etc.) akzeptieren. Bitte verwenden Sie stattdessen
Aufhebungsziele (override targts).
Nachträglich auf frühere Kompatibilitätsstufen
angewandt: dh akzeptiert seit Debhelper/12.4 nichts davon
mehr.
- -
- Der Befehl dh wird keine Logdateien mehr benutzen,
um zu protokollieren, welche Befehle ausgeführt worden sind. Er
wird aber trotzdem nachverfolgen, ob er selbst schon einmal in der
Bausequenz gelaufen ist und sie ggf. überspringen.
Die wichtigsten Auswirkungen davon sind:
- -
- Hierdurch wird die Fehlersuche bei den Sequenzen
install und/oder binary einfacher, da sie nun einfach erneut
ausgeführt werden können (ohne, dass ein
vollständiger »Aufräum- und Neubau«-Durchgang
erforderlich ist).
- -
- Der Pferdefuß hier liegt darin, dass dh_* nun
nur noch nachverfolgt, was in einem einzelnen Override-Ziel geschieht.
Wenn alle Aufrufe eines angegebenen dh_cmd-Befehls im selben
Override-Ziel stattfinden, wird alles wie zuvor funktionieren.
Beispiel, bei dem es schiefgehen kann:
override_dh_foo:
dh_foo -pmein-Paket
override_dh_bar:
dh_bar
dh_foo --remaining
In diesem Fall wird der Aufruf von dh_foo --remaining
außerdem mein-Paket enthalten, da dh_foo
-pmein-Paket in einem separaten Override-Ziel ausgeführt wird.
Dieses Problem ist nicht auf --remaining begrenzt, es umfasst
außerdem -a, -i, etc.
- -
- Der Befehl dh_installdeb maskiert nun die Zeilen in
der Konfigurationsdatei maintscript 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. das Setzen von Dateinamen in
Anführungszeichen).
- -
- Voreinstellung für den Befehl dh_installinit
ist nun --restart-after-upgrade. Für Pakete, die das
vorhergehende Verhalten erfordern, verwenden Sie bitte
--no-restart-after-upgrade.
- -
- Die autoreconf-Sequenz ist nun
standardmäßig aktiviert. Bitte übergeben Sie
--without autoreconf an dh, falls dies für ein
angegebenes Paket nicht erwünscht ist.
- -
- Die systemd-Sequenz ist nun
standardmäßig aktiviert. Bitte übergeben Sie
--without systemd an dh, falls dies für ein
angegebenes Paket nicht erwünscht ist.
- -
-
Nachträglich entfernt: dh 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.
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 in den fünf Jahren ihres Bestehens keine Berichte zu Problemen
gab, die von diesem Fehler verursacht wurden, wurde sie nicht
überarbeitet, sondern entfernt.
- v9
- Änderungen gegenüber v8 sind:
- -
- Multiarch-Unterstützung. Insbesondere gibt
dh_auto_configure Multiarch-Verzeichnisse an Autoconf in --libdir
and --libexecdir weiter.
- -
- dh kennt die üblichen Abhängigkeiten zwischen
den Zielen in debian/rules. Daher wird »dh binary« alle
»build«-, »build-arch«-,
»build-indep«-, »install«-Ziele etc.
ausführen, die in der Regeldatei stehen. Es ist nicht nötig,
explizit ein binäres Ziel mit expliziten Abhängigkeiten zu
den anderen Zielen zu definieren.
- -
-
dh_strip komprimiert Debug-Symboldateien, um die
Größe der installierten »-dbg«-Paketen zu
verringern.
- -
-
dh_auto_configure enthält keinen
Quellpaketnamen in --libexecdir, wenn Autoconf benutzt wird.
- -
- Standardmäßig aktiviert dh nicht
--with=python-support.
(Hinfällig, da das Werkzeug dh_pysupport aus Debian Stretch
entfernt wurde. Seit Debhelper/10.3 aktiviert dh diese
Sequenzerweiterung unabhängig von der Kompatibilitätsstufe
nicht mehr.)
- -
- Alle dh_auto_*-Debhelper-Programme und
dh setzen Umgebungsvariablen, die durch dpkg-buildflags
aufgelistet werden, sofern sie nicht bereits gesetzt sind.
- -
-
dh_auto_configure übergibt CFLAGS, CPPFLAGS
und LDFLAGS von dpkg-buildflags an Perls Makefile.PL und
Build.PL.
- -
-
dh_strip legt getrennte Fehlersuchsymbole an einer
Stelle ab, die auf ihrer Baukennzahl basiert.
- -
- Ausführbare Debhelper-Konfigurationsdateien werden
ausgeführt und ihre Ausgabe wird als Konfiguration benutzt.
Dieser Modus ist missbilligt.
- v8
- Änderungen gegenüber v7 sind:
- -
- Befehle werden fehlschlagen anstatt zu warnen, wenn ihnen
unbekannte Optionen übergeben werden.
- -
-
dh_makeshlibs führt dpkg-gensymbols
auf allen gemeinsamen Bibliotheken aus, für die es Shlib-Dateien
generiert, wobei Bibliotheken mit -X ausgeschlossen werden
können. Außerdem werden dpkg-gensymbols Bibliotheken
an unüblichen Orten übergeben, ohne dass es diese vorher
verarbeitet haben wird, was dazu führen kann, dass sich einige
Pakete nicht bauen lassen.
- -
-
dh erfordert, dass die auszuführende Sequenz
als erster Parameter angegeben wird und sämtliche Schalter danach
kommen. Das heißt, Sie schreiben nicht » dh --foo
$@«, sondern » dh $@ --foo«.
- -
-
dh_auto_* bevorzugt Perls
Module::Build gegenüber Makefile.PL.
Dieser Modus ist missbilligt.
- v7
- Dieser Modus ist missbilligt.
Dies ist die unterste unterstützte Kompatibilitätsstufe.
Falls Sie ein Upgrade von einer vorhergehenden Kompatibilitätsstufe
durchführen, überprüfen Sie bitte
debhelper-obsolete-compat(7).
-
debhelper-obsolete-compat(7)
- Upgrading from a (now) obsolete compatibility level? This
document covers the upgrade checklist up to the earliest supported
level.
-
debhelper(7)
- General information about the debhelper framework. This
document also covers how to declare your chosen debhelper compat
level.
Diese Übersetzung wurde mit dem Werkzeug
po4a
<
http://po4a.alioth.debian.org/> durch Chris Leick
[email protected] und das deutsche Debian-Übersetzer-Team im
Dezember 2011 erstellt.
Bitte melden Sie alle Fehler in der Übersetzung an
[email protected] oder als Fehlerbericht an das Paket
debhelper.
Sie können mit dem folgenden Befehl das englische Original anzeigen
man -L en Abschnitt Handbuchseite
Niels Thykier <
[email protected]>
Joey Hess