oracular (7) debhelper-compat-upgrade-checklist.7.gz

Provided by: debhelper_13.18ubuntu2.1_all bug

NAME

       debhelper-compat-upgrade-checklist - Upgrade-Prüfliste für unterstützte Debhelper-Kompatiblitätsstufen

ÜBERSICHT

       Dieses Dokument ist eine Upgrade-Prüfliste für alle unterstützten Debhelper-Kompatibilitätsstufen. Es
       listet darüber hinaus alle unterstützten Debhelper-Kompatibilitätsstufen auf.

       Informationen darüber, wie die Kompatibilitätsstufen deklariert werden, ist in "KOMPATIBILITÄTSSTUFEN" in
       debhelper(7) zu finden.

       Falls Sie ein Upgrade von einer (jetzt) überholten Kompatibilitätsstufe durchführen, schlagen Sie bitte
       in debhelper-obsolete-compat(7) nach.

BESCHREIBUNG

   Upgrade-Prüfliste für unterstützte Kompatibilitätsstufen.
       Folgende Kompatibilitätsstufen sind verfügbar:

       v15 Diese Kompatibilitätsstufe ist immer noch für die Entwicklung offen. Verwenden Sie sie mit Vorsicht.

           Änderungen gegenüber v14 sind:

           -       The single-binary add-on for dh is no longer implicitly activated by source packages that
                   have a single Package stanza in debian/control. If the package needs the short-cuts for
                   single-binary packages, it must explicitly activate the single-binary add-in.

                   This can be done via a Build-Depends on dh-sequence-single-binary.

                   Any --without single-binary passed to dh to avoid the warning in compat 14 can now be removed
                   to simplify debian/rules without triggering the warning.

           -       Jetzt ist es in den meisten Fällen ein Fehler, paketlose Versionen von Debhelper
                   Konfigurationsdateien zu verwenden, wenn zwei oder mehr Binärpakete in debian/control
                   aufgeführt sind. Veraltete Dateien sollten (von debian/foo) in debian/Paket.foo umbenannt
                   werden, wobei Paket das erste der in debian/control aufgeführten Binärpakete ist.

                   Die Hauptausnahme bei dieser Änderung sind Dateien wie debian/changelog, debian/NEWS und
                   debian/copyright, wo die gleiche Datei per Voreinstellung für alle Pakete verwendet wird.
                   Diese Fälle bleiben unverändert.

           -       It is now an error to use a packaging file without the package prefix for --name even if the
                   source package only produces one binary package. As example, if you had a debian/bar.service
                   with the following snippet in debian/rules:

                    override_dh_installsystemd:
                       dh_installsystemd -p foo --name bar

                   Then you need to rename debian/bar.service to debian/foo.bar.service.

       v14 Diese Kompatibilitätsstufe ist immer noch für die Entwicklung offen. Verwenden Sie sie mit Vorsicht.

           Änderungen gegenüber v13 sind:

           -       Das dh_installpam-Werkzeug wird die PAM-Konfigurationsdateien nicht mehr unter
                   /etc/pam.d/Paket, sondern unter /usr/lib/pam.d/Paket installieren.

                   Bitte prüfen Sie, ob Sie die »rm_conffile«-Funktion von dh_installdeb(1) einsetzen wollen, um
                   die gründliche Entfernung bestehender PAM-Dateien sicherzustellen.

           -       Pakete, die den dh-Sequenzer verwenden, sollten folgende Änderungen berücksichtigen:

                   -   The order and placement has changed for dh_strip_nondeterminism, dh_compress, and
                       dh_fixperm. Previously, these three commands were run in the listed order between
                       dh_installxfonts and dh_missing.

                       Their new placement is after dh_missing (arch:all) or dh_shlibdeps (arch:any) and before
                       dh_installdeb. Additionally, their new order is dh_fixperms, dh_strip_nondeterminism, and
                       then dh_compress.

                       This change may require updates to third-party add-ons that use either of these three
                       commands as anchor or to hook targets for any of these commands that made assumptions
                       about the command order.

                       Additionally, dh_strip_nondeterminism and dh_compress plus any commands added by third-
                       party add-ons using these as anchors will no longer be able to rely on the mode/ownership
                       normalization by dh_fixperms, which may expose bugs in the form of incorrect mode or
                       ownership in the resulting deb.

                       Please file any such bugs against the relevant tool. Feel free to include the debhelper
                       maintainers in CC.

                   -   Das Werkzeug dh_installsysusers ist jetzt in der Standardsequenz enthalten. Es
                       verarbeitet systemd-Sysuser-Dateien.

                   -   Das Werkzeug dh_installsystemduser aktiviert jetzt in der Voreinstellung Systemd-User-
                       Units, startet sie bei der Installation, startet sie bei Upgrades neu und stoppt sie bei
                       der Deinstallation eines Pakets.

                   -   Die Verwendung des dh_gconf-Befehls in Override- und Hook-Zielen führt jetzt zu einem
                       Fehler. Der dh_gconf-Befehl war seit Jahren ein Leerbefehl und ist in Debhelper 13.4
                       entfernt worden.

                   -   Das Werkzeug dh_installalternatives wird jetzt in der Standard-dh-Sequenz nach dh_link
                       und nicht mehr nach dh_installinitramfs ausgeführt.

                   -   This item only applies to source packages that have exactly one Package stanza in
                       debian/control.

                       The dh_auto_install command now unconditionally uses --destdir=debian/tmp by default. The
                       special-case for source packages building a single binary package is now moved to single-
                       binary dh addon. Note, this add-on is activated by default in compat 14 but not in compat
                       15 (see next bullet item).

                   -   This item only applies to source packages that have exactly one Package stanza in
                       debian/control.

                       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. The implicit activation
                       is a transitional feature to reduce the changes of risks with this change. In compat 15,
                       the implicit activation will no longer trigger.

                       Betreuern wird dringend geraten, die single-binary-Erweiterung entweder explizit zu
                       aktivieren, um das bisherige Verhalten beizubehalten (bspw. durch Hinzufügen von dh-
                       sequence-single-binary zu Build-Depends), oder dh_auto_install explizit mit --destdir
                       aufzurufen, wenn verwendet, und dann --without single-binary bei dh anzugeben (Letzteres
                       zum Abstellen der Warnung).

                       Der Zweck dieser Änderung besteht darin, »Überraschungen« beim späteren Hinzufügen eines
                       zweiten Binärpakets zu vermeiden. In der Vergangenheit hat Debhelper kommentarlos sein
                       Verhalten geändert, was dazu führte, dass versehentlich leere Pakete ins Archiv
                       hochgeladen wurden. Bei der neuen Vorgehensweise wird die single-binary-Erweiterung diese
                       Diskrepanz feststellen und den Betreuer vor dem, was passieren wird, warnen.

           -       Das Werkzeug dh_control wendet nun automatisch Ersetzungsvariable mit Beziehungen auf die
                   relevanten Felder an. Das bedeutet, dass viele Ersetzungsvariable wie ${misc:Depends} und
                   ${shlibs:Depends} nicht mehr explizit in debian/control aufgeführt werden müssen. Das
                   betrifft jede Ersetzungsvariable, die nach einem Feld benannt wird, das die installierte
                   Version von dpkg als eine Beziehung oder ein abhängigkeitsähnliches Feld versteht. Zur Zeit
                   der Erstellung des Dokuments besteht diese Liste aus:

                   -   Pre-Depends

                   -   Depends

                   -   Recommends

                   -   Suggests

                   -   Enhances

                   -   Conflicts

                   -   Breaks

                   -   Replaces

                   -   Provides

                   -   Built-Using

                   -   Static-Built-Using

                   Das bedeutet, dass zum Beispiel Depends: foo, ${misc:Depends} in debian/control zu Depends:
                   foo verkürzt werden kann. Ausserdem kann als Beispiel für diese Funktionalität Depends:
                   ${misc:Depends}, ${shlibs:Depends} komplett entfernt werden.

                   Beachten Sie, dass andere Ersetzungsvariable wie B${binary:Version} von dieser Änderung nicht
                   betroffen sind und weiterhin wenn notwendig explizit verwendet werden sollen. Bei Paketen,
                   bei denen Essential: yes gesetzt ist und bei denen manuell das Feld ${shlibs:Depends} in das
                   Feld Pre-Depends übertragen wurde, wird dh_shlibdeps dies ebenfalls automatisch handhaben
                   (siehe den nächsten Punkt zu Kompatibilitätsstufen).

                   Siehe <https://lists.debian.org/debian-devel/2024/02/msg00230.html> für Details zu diesem
                   Vorschlag. Die Zusammenfassung in
                   <https://lists.debian.org/debian-devel/2024/03/msg00030.html> behandelt auch die Fälle, bei
                   denen Ersetzungsvariable eine Anpassung benötigen. Der allgemeinste Fall beinhaltet die
                   Verwendung der Option -d von dpkg-shlibdeps, möglicherweise durch dh_shlibdeps.

                   Note: This change will cause false-positives from an unfixed lintian. Please check
                   <https://bugs.debian.org/1067653> for lintian support for this change.

           -       Das Werkzeug dh_shlibdeps verwendet in der Voreinstellung ${shlibs:Pre-Depends} für Pakete
                   mit Essential: yes.

                   Beachten Sie, dass durch die obige Änderung von dh_gencontrol jedes Paket, das dh_gencontrol
                   verwendet, nicht von dieser Migration betroffen ist.

           -       The debhelper configuration files are subject to the following changes:

                   -   Es veranlasst nun in den meisten Fällen eine Warnung, die paketlosen Versionen von
                       Debhelper-Konfigurationsdateien zu verwenden, wenn zwei oder mehr Binärpakete in
                       debian/control aufgeführt sind. Veraltete Dateien sollten (von debian/foo)  in
                       debian/Paket.foo umbenannt werden, wobei Paket das erste der in debian/control
                       aufgeführten Binärpakete ist.

                       Die Hauptausnahme bei dieser Änderung sind Dateien wie debian/changelog, debian/NEWS und
                       debian/copyright, wo die gleiche Datei per Voreinstellung für alle Pakete verwendet wird.
                       Diese Fälle bleiben unverändert. Das Werkzeug Debhelper wird bei Verwendung dieser
                       Dateien eine Warnung auslösen.

                       In Kompatibilitätsstufe 15 (oder neuer) ist das geändert zu einem Fehler.

                   -   It is now triggers a warning to use a packaging file without the package prefix for
                       --name even if the source package only produces one binary package. As example, if you
                       had a debian/bar.service with the following snippet in debian/rules:

                        override_dh_installsystemd:
                           dh_installsystemd -p foo --name bar

                       Then you need to rename debian/bar.service to debian/foo.bar.service.

                       In Kompatibilitätsstufe 15 (oder neuer) ist das geändert zu einem Fehler.

                   -   The default look up rules for Dh_Lib based tools now assumes that configuration files are
                       no longer named (--name) nor support architecture restrictions by default. If you work
                       with a third-party debhelper-like tool and need support for either of these features,
                       please file a bug against the tool asking it to declare its configuration file with the
                       relevant options in its pkgfile call.

                       Note that debhelper itself tweaked its rules for most of its tools as well based on
                       analysis of usage via codesearch.debian.org. Should you be relying on a feature like
                       architecture restrictions for a given config file that is no longer supported, please
                       file a feature request for the use-case and it might be restored.

           -       Pakete, die das Bausystem cmake verwenden, sollten die folgenden Änderungen beachten:

                   -   Das Bausystem cmake gibt jetzt -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON an cmake(1) weiter,
                       womit einige Reproduzierbarkeitsprobleme vermieden werden.

                   -   Das Bausystem cmake setzt nun die Umgebungsvariable ASMFLAGS falls sie nicht gesetzt ist
                       und ASFLAGS vorhanden ist. Der erstere Name (ASMFLAGS) ist der Name, den cmake erwartet,
                       während der letztere (ASFLAGS) der Name ist, den dpkg-buildpackage(1) verwendet.

                   -   Das Bausystem cmake verwendet im dh_auto_install(1)-Aufruf jetzt cmake --install anstelle
                       von ninja install. Jede Außerkraftsetzung von dh_auto_install, die Extra-Parameter an das
                       Bausystem der Originalautoren weiterreicht, sollte überprüft werden.

           -       Pakete, die das Bausystem meson verwenden, sollten die folgenden Änderungen beachten:

                   -   Das Bausystem meson übergibt nun --auto-features=enabled an meson.

                   -   Das Bausystem meson+ninja verwendet im dh_auto_install(1)-Aufruf jetzt meson install
                       anstelle von ninja install. Jede Außerkraftsetzung von dh_auto_install, die Extra-
                       Parameter an das Bausystem der Originalautoren weiterreicht, sollte überprüft werden.

           -       The debian/compat file is no longer accepted as a source for specifying the debhelper compat
                   level. Put the compat level in the X-DH-Compat field of the Source stanza of debian/control.

                   Beachten Sie, dass diese Änderung das erste Mal in Kraft gesetzt wird, wenn
                   Kompatibilitätsstufe 14 als stabil deklariert wird. Damit wird vermieden, Pakete zu
                   beschädigen, die schon zu Kompatibilitätsstufe 14 migriert wurden, während diese Änderung
                   noch experimentell war.

           -       The tool dh_installtmpfiles now runs with --remove on package removal, and --purge on package
                   purge. systemd v256 is required for the latter.

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

           -       The dh_auto_* helpers now reset the environment variables HOME and common XDG_* variable.
                   Please see description of the environment variables in "ENVIRONMENT" in debhelper(1) for how
                   this is handled.

                   Dieses Funktionalität 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 Bausystem cmake ü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.

           -       Rückwirkend in debhelper/13.5 entfernt:

                   The dh_installdeb tool would no longer install 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 von
           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 Bausystem makefile ü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 Bausystem autoconf übergibt nun --runstatedir=/run an ./configure.

           -       Das Bausystem cmake ü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.

           -       The perl-makemaker and perl-build build systems no longer pass -I. to perl. Packages that
                   relies on this behavior can often use the PERL5LIB environment variable as a substitute. E.g.
                   by adding export PERL5LIB=. in their debian/rules file (or similar).

           -       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 überholt 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 jetzt 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-Richtlinien 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 targets).

                   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 support. In particular, dh_auto_configure passes multiarch directories to autoconf
                   in --libdir and --libexecdir.

           -       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 does not include the source package name in --libexecdir when using
                   autoconf.

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

SIEHE AUCH

       debhelper-obsolete-compat(7)
           Führen Sie ein Upgrade von einer (jetzt) obsoleten Kompatibilitätsstufe aus? Dieses Dokument enthält
           die Upgrade-Prüflisten bis zur ältesten unterstützten Stufe.

       debhelper(7)
           Generelle Informationen über das Debhelper-Rahmenwerk. Dieses Dokument beschreibt auch, wie Sie die
           von Ihnen gewählte Debhelper-Kompatibilitätsstufe deklarieren.

Ü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