Scroll to navigation

debhelper(7) Debhelper debhelper(7)

NAME

debhelper-compat-upgrade-checklist - Upgrade checklist for supported debhelper compat levels

ÜBERSICHT

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).

BESCHREIBUNG

Upgrade checklist for supported compatibility levels

Folgende Kompatibilitätsstufen sind verfügbar:

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).

Ä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.

Ä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.

Ä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.

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.

Ä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.
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 ...
        
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 build system now uses meson install instead of ninja 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.
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.

SIEHE AUCH

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.

ÜBERSETZUNG

Diese Übersetzung wurde mit dem Werkzeug po4a <http://po4a.alioth.debian.org/> durch Chris Leick c.leick@vollbio.de und das deutsche Debian-Übersetzer-Team im Dezember 2011 erstellt.

Bitte melden Sie alle Fehler in der Übersetzung an debian-l10n-german@lists.debian.org oder als Fehlerbericht an das Paket debhelper.

Sie können mit dem folgenden Befehl das englische Original anzeigen man -L en Abschnitt Handbuchseite

AUTOREN

Niels Thykier <niels@thykier.net>

Joey Hess

2022-08-30 13.9.1