Provided by: debhelper_13.18ubuntu2.1_all bug

NOM

       debhelper-compat-upgrade-checklist – Liste de contrôle de mise à niveau des niveaux de
       compatibilité de debhelper pris en charge

SYNOPSIS

       Ce document est une liste de contrôle de mise à niveau de tous les niveaux de
       compatibilité de debhelper pris en charge. Il liste aussi tous les niveaux de
       compatibilité de debhelper pris en charge.

       Vous trouverez des informations sur la manière de déclarer le niveau de compatibilité dans
       "NIVEAUX DE COMPATIBILITÉ" in debhelper(7).

       Si vous mettez à jour depuis un niveau de compatibilité (maintenant) obsolète, veuillez
       consulter debhelper-obsolete-compat(7).

DESCRIPTION

   Liste de contrôle de mise à niveau des niveaux de compatibilité pris en charge.
       Les niveaux de compatibilité sont les suivants :

       v15 Ce niveau de compatibilité est encore en développement ; à utiliser avec précaution.

           Les changements par rapport à la version 14 sont :

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

           -       C'est maintenant une erreur d'utiliser des versions sans paquet des fichiers
                   de configuration de debhelper quand il y a deux de paquets binaires ou plus
                   listés dans debian/control dans la plupart des cas. Les anciens fichiers
                   doivent être renommés de debian/toto en debian/paquet.totopaquet est le
                   premier paquet binaire listé dans debian/control.

                   L'exception principale à cette modification sont des fichiers comme
                   debian/changelog, debian/NEWS et debian/copyright où le même fichier est
                   utilisé par défaut pour tous les paquets. Ces cas demeureront inchangés.

           -       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_installinit:
                       dh_installsystemd -p toto --name titi

                   Ensuite vous devez renommer debian/titi.service en debian/toto.titi.service.

       v14 Ce niveau de compatibilité est encore en développement ; à utiliser avec précaution.

           Les changements par rapport à la version 13 sont :

           -       L'outil dh_installpam installera désormais les fichiers de configuration de
                   PAM dans /usr/lib/pam.d/paquet plutôt que dans /etc/pam.d/paquet.

                   Veuillez utiliser la fonction « rm_conffile » de dh_installdeb(1) pour vous
                   assurer de la suppression correcte des fichiers PAM antérieurs.

           -       Les paquets utilisant l'automate de commandes dh doivent avoir connaissance
                   des modifications suivantes :

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

                   -   L'outil dh_installsysusers est maintenant inclus dans la séquence par
                       défaut. Cet outil d'assistance traitera les fichiers sysusers de systemd.

                   -   L'outil dh_installsystemduser activera par défaut les unités systemd de
                       l'utilisateur, les démarrera à l'installation, les redémarrera lors des
                       mises à niveau et les arrêtera lors la désinstallation du paquet.

                   -   Désormais l'utilisation de la commande dh_gconf dans les cibles de
                       réécriture et d'accroche provoque une erreur. La commande dh_gconf a été
                       sans effet pendant des années et a été supprimée dans debhelper 13.4.

                   -   L'outil dh_installalternatives sera maintenant exécuté après dh_link
                       plutôt qu'après dh_installinitramfs dans la séquence dh par défaut.

                   -   Cette fonction ne s'applique qu'aux paquets source qui n'ont qu'une seule
                       et unique section Package dans 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).

                   -   Cette fonction ne s'applique qu'aux paquets source qui n'ont qu'une seule
                       et unique section Package dans 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.

                       Les responsables sont encouragés soit à activer explicitement le rajout
                       single-binary pour conserver le comportement existant (par exemple en
                       ajoutant <dh-sequence-single-binary> à Build-Depends), ou en passant
                       explicitement --destdir à dh_auto_install, s'il est utilisé, puis en
                       passant --without single-binary à dh (cette dernière instruction pour
                       rendre l'avertissement silencieux).

                       La raison de cette modification est d'éviter des « surprises » lors de
                       l'ajout d'un second paquet binaire ultérieurement. Auparavant, debhelper
                       changeait silencieusement de comportement provoquant souvent l'envoi à
                       l'archive de paquets binaires vides par erreur. Avec ce nouveau
                       comportement, le rajout de single-binary détecte l'incohérence et avertit
                       le responsable de ce qui va se passer.

           -       L'outil dh_control applique désormais automatiquement les variables de
                   substitution de relation aux champs concernés. Cela signifie que plusieurs
                   variables de substitution telles que ${misc:Depends} et ${shlibs:Depends}
                   n'ont plus besoin d'être explicitement mentionnées dans debian/control. Cela
                   s'applique à toutes les variables de substitution nommées d'après un champ que
                   la version installée de dpkg considère comme un champ de relation ou de type
                   dépendance. Au moment de l'écriture de cette page, cette liste comprend :

                   -   Pre-Depends

                   -   Depends

                   -   Recommends

                   -   Suggests

                   -   Enhances

                   -   Conflicts

                   -   Breaks

                   -   Replaces

                   -   Provides

                   -   Built-Using

                   -   Static-Built-Using

                   Cela signifie que Depends: toto, ${misc:Depends} dans debian/control peut se
                   réduire à Depends: toto et Depends: ${misc:Depends}, ${shlibs:Depends} peut
                   être complètement supprimé de exemples de comment la fonction agit.

                   Notez que d'autres variables de substitution telles que ${binary:Version} ne
                   sont pas affectées par ce changement et doivent encore être utilisées
                   explicitement lorsque cela est nécessaire. De plus, pour les paquets
                   Essential: yes qui promeuvent manuellement ${shlibs:Depends} dans le champ
                   Pre-Depends, dh_shlibdeps gérera aussi cela automatiquement (voir l'item de
                   compatibilité suivant).

                   Consultez <https://lists.debian.org/debian-devel/2024/02/msg00230.html> pour
                   des détails sur cette proposition. Le résumé dans
                   <https://lists.debian.org/debian-devel/2024/03/msg00030.html> traite aussi des
                   cas où les variables de substitution nécessitent un ajustement. Le cas le plus
                   fréquent concerne l'utilisation de l'option -d à partir de dpkg-shlibdeps
                   vraisemblablement au moyen de dh_shlibdeps.

                   Remarque : cette modification provoquera des faux positifs à partir d'une
                   version de lintian non corrigée. Veuillez consulter le bogue
                   <https://bugs.debian.org/1067653> sur la prise en charge par lintian de ce
                   changement.

           -       L'outil dh_shlibdeps utilise maintenant ${shlibs:Pre-Depends} par défaut pour
                   les paquets qui sont Essential: yes.

                   Notez que du fait de la modification de dh_gencontrol vue plus haut, tout
                   paquet utilisant dh_gencontrol n'aura rien à faire pour cette migration.

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

                   -   Désormais, il déclenchera un avertissement pour l'utilisation des versions
                       sans paquet des fichiers de configuration de debhelper quand il y a deux
                       paquets binaires ou plus listés dans debian/control dans la plupart des
                       cas. Les anciens fichiers doivent être renommés de debian/toto en
                       debian/paquet.totopaquet est le premier paquet binaire listé dans
                       debian/control.

                       Les exceptions principales à cette modification sont des fichiers comme
                       debian/changelog, debian/NEWS et debian/copyright où le même fichier est
                       utilisé par défaut pour tous les paquets. Ces cas demeureront inchangés.
                       L'outil debhelper utilisant ces fichiers déclenchera des avertissements
                       s'ils sont utilisés.

                       Dans compat 15 (ou ultérieur), cela devient une erreur.

                   -   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_installinit:
                           dh_installsystemd -p toto --name titi

                       Ensuite vous devez renommer debian/titi.service en
                       debian/toto.titi.service.

                       Dans compat 15 (ou ultérieur), cela devient une erreur.

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

           -       Pour les paquets utilisant le système de construction cmake, il faut avoir
                   conscience des modifications suivantes :

                   -   Le système de construction cmake passe maintenant l'option
                       -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON à cmake(1) pour éviter des problèmes de
                       reproductibilité.

                   -   Le système de construction cmake définit maintenant la variable
                       d'environnement ASMFLAGS quand elle ne l'est pas et qu'ASFLAGS est
                       présent. L'ancien nom (ASMFLAGS) est le nom que cmake attend, tandis que
                       le nouveau nom est celui que dpkg-buildpackage(1) utilise.

                   -   Les systèmes de construction cmake utilisent désormais cmake --install à
                       la place de make install dans l'appel dh_auto_install(1). Chaque
                       réécriture de dh_auto_install qui passe des paramètres supplémentaires au
                       système de construction amont devrait être vérifiée.

           -       Pour les paquets utilisant le système de construction meson, il faut avoir
                   conscience des modifications suivantes :

                   -   Le système de construction meson passe maintenant l'option
                       --auto-features=enabled à meson.

                   -   Le système de construction meson+ninja utilise maintenant meson install à
                       la place de ninja install dans l'appel dh_auto_install(1). Chaque
                       réécriture de dh_auto_install qui passe des paramètres supplémentaires au
                       système de construction amont devrait être vérifiée.

           -       Le fichier debian/compat n'est plus accepté comme source pour spécifier le
                   niveau de compatibilité de debhelper. Mettre le niveau de compatibilité dans
                   le champ X-DH-Compat de la section Source du fichier debian/control.

                   Notez que pour éviter de casser des paquets qui ont déjà migré vers compat 14
                   immédiatement alors qu'il était expérimental, cette modification n'est
                   appliquée que lorsque compat 14 devient stable.

           -       L'outil dh_installtmpfiles est maintenant exécuté avec --remove lors de la
                   suppression d'un paquet et --purge lors de la purge du paquet. La version 256
                   de systemd est requise pour cette dernière option.

       v13 C'est la version dont l'usage est recommandé.

           Les changements par rapport à la version 12 sont :

           -       Le système de construction meson+ninja utilise maintenant meson test à la
                   place de ninja test pour la suite de tests. Chaque réécriture de dh_auto_test
                   qui passe des paramètres supplémentaires aux tests amont devrait être
                   vérifiée, car meson test n'est pas compatible avec ninja test.

           -       Tous les outils dans le style de debhelper basés sur la bibliothèque debhelper
                   officielle (y compris dh et les outils officiels dh_*) n'acceptent plus les
                   paramètres de commande abrégés. En même temps, dh optimise maintenant les
                   appels aux outils redondants dh_* même quand ils passent de longues options de
                   ligne de commande.

           -       Les outils de debhelper liés à ELF (dh_dwz, dh_strip, dh_makeshlibs,
                   dh_shlibdeps) sont désormais seulement exécutés pour les paquets dépendant de
                   l'architecture par défaut (c'est-à-dire qu'ils sont exclus des cibles *-indep
                   et sont passés avec l'option -a par défaut). Si vous avez besoin d'eux pour
                   des cibles *-indep, vous pouvez ajouter un Build-Depends explicite à dh-
                   sequence-elf-tools.

           -       Le système de construction tiers gradle (issu du paquet gradle-debian-helper)
                   exécute maintenant la suite de tests fournie par l'amont automatiquement. Pour
                   supprimer ce type de comportement, surchargez dh_auto_test.

           -       L'outil dh_installman s'interrompt maintenant s'il voit des définitions
                   contradictoires d'une page de manuel. Cela se produit habituellement si le
                   système de construction amont installe une version compressée et que le paquet
                   liste une version non compressée de la page de manuel dans
                   debian/paquet.manpages. La correction la plus simple est de supprimer la page
                   de manuel de debian/paquet.manpages (en considérant que les deux versions sont
                   identiques).

           -       Les outils dh_auto_* réinitialisent désormais les variables d'environnement
                   HOME et la variable commune XDG_*. Veuillez consulter la description des
                   variables d'environnement dans "ENVIRONNEMENT" in debhelper(1) pour voir
                   comment elles sont gérées.

                   Cette fonctionnalité a changé entre debhelper 13 et debhelper 13.2.

           -       La commande dh produira maintenant une erreur si une cible de réécriture ou
                   d'accroche pour une commande obsolète est présente dans debian/rules (par
                   exemple, override_dh_systemd_enable:).

           -       La commande dh_missing aura l'option --fail-missing par défaut. Il est
                   possible de revenir à un avertissement non fatal en passant explicitement
                   l'option --list-missing comme dans le niveau de compatibilité 12.

                   Si vous ne voulez pas non plus de l'avertissement, veuillez omettre l'appel à
                   dh_missing. Si l'automate de commandes dh est utilisé, vous pouvez faire cela
                   en insérant une cible de réécriture vide dans le fichier debian/rules du
                   paquet correspondant. Comme dans l’exemple :

                       # Désactive dh_missing
                       override_dh_missing:

           -       L'automate de commandes dh exécute maintenant dh_installtmpfiles dans la
                   séquence par défaut. dh_installtmpfiles se charge de la gestion des fichiers
                   de configuration de tmpfiles.d. La fonctionnalité apparentée dans
                   dh_installsystemd est désormais désactivée.

                   Notez que dh_installtmpfiles répond à debian/paquet.tmpfiles là où
                   dh_installsystemd utilisait un nom sans le « s » final.

           -       Beaucoup d'outils dh_* prennent en charge un développement de variables limité
                   au moyen de la syntaxe ${toto}. Dans de nombreux cas, cela peut être utilisé
                   pour référencer des chemins qui contiennent soit des espaces, soit des valeurs
                   dpkg-architecture(1). Bien que cela puisse réduire le besoin de dh-exec(1)
                   dans certains cas, ce n'est pas une alternative à dh-exec(1) en général. Si un
                   filtrage, un renommage, etc., est nécessaire, le paquet aura encore besoin de
                   dh-exec(1).

                   Veuillez consulter "Substitutions dans les fichiers de configuration de
                   debhelper" pour la syntaxe et les variables de substitution disponibles. Pour
                   ceux qui écrivent des outils dh_*, le développement de substitution intervient
                   comme élément des fonctions filearray et filedoublearray.

           -       L'automate de commandes dh omettra toutes les cibles d'accroche et de
                   substitution pour dh_auto_test, dh_dwz et dh_strip quand DEB_BUILD_OPTIONS
                   liste les options nocheck ou nostrip correspondantes.

                   Tout paquet comptant sur ces cibles pour être toujours exécuté devrait plutôt
                   déplacer la logique correspondante de ces cibles. Par exemple, le code
                   d’empaquetage non lié aux tests provenant de override_dh_auto_test devrait
                   avoir été déplacé dans execute_after_dh_auto_build ou
                   execute_before_dh_auto_install.

           -       Le système de construction cmake passe désormais l'option
                   -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON à cmake(1) pour accélérer le processus
                   d'installation automatique. Si pour une raison quelconque vous avez besoin de
                   revenir au comportement antérieur, réécrivez le paramètre :

                       dh_auto_configure -- -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF ...

       v12 Les changements par rapport à la version 11 sont :

           -       dh_makeshlibs génère maintenant des fichiers shlibs avec des dépendances
                   versionnées par défaut. Cela veut dire que -VUpstream-Version (ou -V) est
                   maintenant le comportement par défaut.

                   Si une dépendance non versionnée est requise, cela peut être obtenu en passant
                   -VNone à la place. Veuillez tout de même consulter dh_makeshlibs(1) pour
                   l'utilisation des dépendances non versionnées.

           -       L'option -s (--same-arch) est supprimée. Veuillez utiliser -a (--arch) à la
                   place.

           -       Appeler dh_clean -k provoque maintenant une erreur à la place de
                   l'avertissement d'obsolescence.

           -       L'option --no-restart-on-upgrade de dh_installinit a été supprimée. Veuillez
                   utiliser le nouveau nom --no-stop-on-upgrade.

           -       Il y avait un bogue dans les fonctions doit (et équivalent) de
                   Debian::Debhelper::Dh_Lib qui créait un shell dans une circonstance
                   particulière. Ce bogue est maintenant supprimé et provoquera une erreur de
                   type « commande non trouvée » dans les outils qui l'utilisaient.

           -       Les options --list-missing et --fail-missing de dh_install ont été supprimées.
                   Veuillez utiliser dh_missing et ses options correspondantes, qui peuvent aussi
                   voir les fichiers installés par les autres outils.

           -       L'outil dh_installinit n'installe plus de configuration pour upstart. À la
                   place, il abandonnera la construction s'il trouve un ancien fichier de
                   configuration upstart. Cela pour rappeler au mainteneur de s'assurer de
                   correctement supprimer les anciens fichiers de configuration livrés dans les
                   anciennes versions du paquet.

           -       L'outil dh_installdeb valide basiquement quelques commandes
                   dpkg-maintscript-helper(1) et renvoie une erreur si la commande semble
                   incorrecte.

           -       Le comportement par défaut de dh_missing est maintenant --list-missing.

           -       dh_makeshlibs passera maintenant les bibliothèques à dpkg-gensymbols(1) si le
                   binaire ELF a un SONAME (contenant « .so »).

           -       dh_compress ne compresse plus les exemples (c'est-à-dire tout ce qui est
                   installé dans </usr/share/doc/paquet/examples>).

           -       La séquence standard de dh comprend maintenant dh_dwz et dh_installinitramfs
                   par défaut. Cela rend les séquences dwz et installinitramfs obsolètes et elles
                   échoueront avec une erreur. Si vous souhaitez sauter ces commandes, veuillez
                   insérer des cibles de réécriture vides pour elles dans debian/rules (par
                   exemple override_dh_dwz:).

           -       Les systèmes de construction meson et autoconf ne positionnent plus
                   explicitement la variable --libexecdir, et s'appuient donc sur le système de
                   construction par défaut – qui devrait être /usr/libexec (selon la FHS 3.0,
                   adoptée dans la Charte Debian 4.1.5).

                   Si un paquet amont particulier n'utilise pas la bonne valeur par défaut, le
                   paramètre peut souvent être passé manuellement avec dh_auto_configure(1). Par
                   exemple :

                       override_dh_auto_configure:
                           dh_auto_configure -- --libexecdir=/usr/libexec

                   Remarquez le -- avant le paramètre --libexecdir.

           -       Retiré de façon rétroactive de debhelper/13.5 :

                   L'outil dh_installdeb ne devrait plus installer le fichier conffiles fourni
                   par le responsable parce qu'il est considéré comme inutile. Néanmoins, la
                   commande remove-on-upgrade de dpkg/1.20 rend de nouveau pertinent ce fichier
                   et dh_installdeb l'installe désormais dans les niveaux de compatibilité
                   supérieurs à 12.

           -       dh_installsystemd ne s'appuie plus sur dh_installinit pour s'occuper des
                   services systemd qui ont une alternative pour sysvinit. Les deux outils
                   doivent maintenant être utilisés dans ce cas pour s'assurer que le service est
                   démarré correctement, à la fois avec systemd et sysvinit.

                   Si vous avez une réécriture pour dh_installinit (par exemple pour l'appeler
                   avec --no-start), vous en aurez sûrement besoin d'une pour dh_installsystemd
                   aussi.

                   Ce changement amène dh_installinit à injecter un champ misc:Pre-Depends sur
                   init-system-helpers (>= 1.54~). Veuillez vous assurer que le paquet utilise
                   ${misc:Pre-Depends} dans son champ Pre-Depends avant de mettre à niveau vers
                   la compat 12.

           -       L'outil tiers dh_golang (du paquet dh-golang) utilise maintenant la variable
                   DH_GOLANG_EXCLUDE pour l'installation des sources dans les paquets -dev, et
                   plus uniquement lors de la construction. Veuillez positionner
                   DH_GOLANG_EXCLUDES_ALL à faux pour obtenir le comportement précédent.
                   Consultez Debian::Debhelper::Buildsystem::golang(3pm) pour plus de détails et
                   des exemples.

           -       dh_installsystemduser est maintenant inclus par défaut dans la séquence dh
                   standard.

           -       Le système de construction python-distutils est supprimé. Veuillez utiliser le
                   système tiers pybuild à la place.

       v11 Ce mode est déconseillé.

           Le niveau de compatibilité 11 est déconseillé pour les nouveaux paquets parce qu'il
           souffre d'une interaction de fonctionnalités entre dh_installinit et dh_installsystemd
           faisant que les services ne fonctionnent pas correctement dans certains cas. Vous
           devriez envisager l'utilisation à la place des modes de compatibilité 10 ou 12. Plus
           de détails sur ce problème sont disponibles dans le bogue Debian n° 887904 et dans le
           message <https://lists.debian.org/debian-release/2019/04/msg01442.html>.

           Les changements par rapport à la version 10 sont :

           -       dh_installinit n'installe plus de fichiers service ou tmpfile, ni ne crée de
                   scripts de maintenance pour ces fichiers. Veuillez utiliser le nouvel
                   assistant dh_installsystemd à la place.

           -       Les outils dh_systemd_enable et dh_systemd_start ont été remplacés par un
                   nouvel assistant dh_installsystemd. Pour la même raison, la séquence systemd
                   de dh a aussi été retirée. Si vous avez besoin de désactiver
                   dh_installsystemd, veuillez utiliser une cible de réécriture vide.

                   Veuillez noter que dh_installsystemd a un comportement légèrement différent
                   dans certains cas (par exemple lors de l'utilisation du paramètre --name).

           -       dh_installdirs ne crée plus les répertoires debian/paquet sans qu'on le lui
                   demande explicitement (ou il doit créer un sous-répertoire à l'intérieur).

                   La grande majorité des paquets ne seront pas affectés par ce changement.

           -       Le système de construction makefile passe maintenant les options
                   INSTALL="install --strip-program=true" à make(1). Les systèmes dérivés (comme
                   configure ou cmake) ne sont pas affectés par ce changement.

           -       Le système de construction autoconf passe maintenant l'option
                   --runstatedir=/run à ./configure.

           -       Le système de construction cmake passe maintenant l'option
                   -DCMAKE_INSTALL_RUNSTATEDIR=/run à cmake(1).

           -       dh_installman préfère maintenant détecter le langage à partir du chemin plutôt
                   que de l'extension.

           -       dh_auto_install crée maintenant uniquement le répertoire de destination
                   nécessaire. Auparavant, le répertoire de construction de chaque paquet était
                   créé. Cela n'affectera pas les paquets qui se construisent uniquement avec
                   debhelper, mais pourrait faire apparaître des bogues dans les commandes qui ne
                   sont pas incluses avec debhelper.

           -       Les outils dh_installdocs, dh_installexamples, dh_installinfo et dh_installman
                   renvoient maintenant une erreur si leur configuration contient un motif qui ne
                   correspond à rien ou qui référence un chemin qui n'existe pas.

                   Les exceptions connues incluent la construction avec le profil nodoc, où les
                   outils ci-dessus permettront un échec silencieux de la correspondance lorsque
                   le motif est utilisé pour spécifier la documentation.

           -       Les outils dh_installdocs, dh_installexamples, dh_installinfo et dh_installman
                   acceptent maintenant le paramètre --sourcedir avec la même signification que
                   dans dh_install. De plus, ils se rabattent sur debian/tmp comme dh_install.

                   Note de migration : un bogue dans debhelper 11 jusqu'à 11.1.5 faisait que
                   dh_installinfo ignorait --sourcedir de manière incorrecte.

           -       Les systèmes de construction perl-makemaker et perl-build ne passent plus
                   l'option -I. à Perl. Les paquets qui dépendent de ce comportement peuvent
                   souvent utiliser la variable d'environnement PERL5LIB comme substitut. Par
                   exemple en ajoutant export PERL5LIB=. dans leur fichier debian/rules (ou
                   équivalent).

           -       La variable d'environnement PERL_USE_UNSAFE_INC n'est plus définie par dh, ni
                   aucun des outils dh_auto_*. Cela avait été ajouté comme contournement
                   temporaire, pour éviter les échecs de construction d’un grand nombre de
                   paquets en même temps.

                   De plus, cette fonction deviendra peut-être obsolète car l'amont a l'intention
                   de retirer la prise en charge de la variable d'environnement
                   PERL_USE_UNSAFE_INC. Lorsque ce sera le cas, cette variable sera aussi
                   supprimée rétroactivement des niveaux de compatibilité existants.

           -       L'assistant dh_makeshlibs termine maintenant sur une erreur si objdump renvoie
                   une valeur de sortie différente de zéro lors de l'analyse d'un fichier.

           -       Les outils dh_installdocs et dh_installexamples pourraient maintenant
                   installer la plupart de la documentation dans un répertoire différent, pour
                   satisfaire les recommandations de la Charte Debian §12.3 (depuis la
                   version 3.9.7).

                   Si un paquet source contient un seul paquet binaire dans debian/control, ou si
                   aucun des paquets n'est un paquet -doc, alors ce changement n'a pas d'effet
                   pour ce paquet source, et vous pouvez aller au changement suivant.

                   Par défaut, ces outils essaient maintenant de déterminer un « paquet principal
                   pour la documentation » (que l'on appellera doc-main-package) pour chaque
                   paquet -doc. S'ils trouvent un tel doc-main-package, ils installeront la
                   documentation sous /usr/share/doc/doc-main-package pour le paquet considéré.
                   C'est-à-dire que le chemin peut changer, mais la documentation est toujours
                   fournie par le paquet -doc.

                   L'option --doc-main-package peut être utilisée si la détection automatique est
                   insuffisante, ou pour réinitialiser le chemin à sa valeur précédente s'il y a
                   une raison de diverger des recommandations de la Charte Debian.

                   Quelques documents ne sont pas affectés par ce changement. En particulier le
                   fichier copyright, les fichiers changelog, README.Debian, etc. Ces fichiers
                   seront toujours installés sous /usr/share/doc/package.

           -       Les outils dh_strip et dh_shlibdeps n'utilisent plus les motifs de noms de
                   fichiers pour déterminer les fichiers à traiter. À la place, ils ouvrent le
                   fichier et cherchent un en-tête ELF pour déterminer si ce fichier est un objet
                   partagé ou un exécutable ELF.

                   Ce changement peut forcer les outils à traiter plus de fichiers qu'avant.

       v10 Les changements par rapport à la version 9 sont :

           -       dh_installinit n'installe plus de fichier nommé debian/<paquet> comme script
                   d'initialisation.

           -       dh_installdocs renverra une erreur s'il détecte des liens créés avec
                   --link-doc entre des paquets de l'architecture « all » et non-« all » car cela
                   casse les binNMUs (envois de binaires par quelqu'un d'autre que le
                   responsable).

           -       dh_installdeb n'installe plus de fichier debian/<paquet>.shlibs fourni par le
                   responsable du paquet. Cela est maintenant effectué par dh_makeshlibs.

           -       dh_installwm refuse de créer un paquet cassé si aucune page de manuel ne peut
                   être trouvée (requis pour l'inscription de l'alternative x-window-manager).

           -       Debhelper active par défaut la parallélisation pour tous les systèmes de
                   construction qui le gèrent. Cela peut être désactivé en utilisant l'option
                   --no-parallel ou en passant la valeur 1 à l'option --max-parallel.

           -       La commande dh n'acceptera aucun des paramètres obsolètes de « manual sequence
                   control » (--before, --after, etc.). Veuillez utiliser les cibles de
                   réécritures à la place.

                   Application rétroactive aux niveaux de compatibilité antérieurs : dh n'accepte
                   plus aucun de ces paramètres depuis debhelper 12.4.

           -       La commande dh n'utilisera plus les fichiers journaux pour enregistrer quelles
                   commandes ont été exécutées. La commande dh se souvient toujours si la
                   séquence « build » a été effectuée et l'omet si c'est le cas.

                   Les principales conséquences de cela sont :

                   -   Il est maintenant plus facile de déboguer les séquences install et binary
                       parce qu'elles peuvent maintenant être facilement re-exécutées (sans avoir
                       à refaire un cycle complet de « clean & rebuild »)

                   -   La principale précaution est que dh_* enregistre uniquement ce qui s'est
                       passé dans une unique cible de réécriture. Lorsque tous les appels à une
                       commande dh_cmd donnée arrivent dans la même cible de réécriture, tout
                       fonctionnera comme avant.

                       Exemple de ce qui pourrait mal se passer :

                         override_dh_toto:
                           dh_toto -pmon_paquet

                         override_dh_titi:
                           dh_titi
                           dh_toto --remaining

                       Dans ce cas, l'appel à dh_foo --remaining inclura aussi mon_paquet, car
                       dh_foo -pmon_paquet a été exécuté dans une cible de réécriture différente.
                       Ce problème n'est pas limité à --remaining et concerne aussi -a, -i, etc.

           -       À présent, la commande dh_installdeb échappe les caractères du shell dans les
                   lignes du fichier de config maintscript. C'était l'intention originale mais
                   cela n'a jamais fonctionné correctement et les paquets ont commencé à compter
                   sur l'échappement incomplet (p. ex. en encadrant les noms de fichiers de
                   guillemets).

           -       La commande dh_installinit utilise maintenant --restart-after-upgrade par
                   défaut. Les paquets nécessitant le comportement précédent devraient utiliser
                   l'option --no-restart-after-upgrade.

           -       La séquence autoreconf est maintenant activée par défaut. Veuillez passer
                   l'option --without autoreconf à dh si cela n'est pas voulu pour certains
                   paquets.

           -       La séquence systemd est maintenant activée par défaut. Veuillez passer
                   l'option --without systemd à dh si cela n'est pas voulu pour certains paquets.

           -       Supprimé rétroactivement : dh ne crée plus le répertoire de construction du
                   paquet lors de l'omission des commandes de debhelper en cours. Cela
                   n'affectera pas les paquets qui se construisent uniquement avec debhelper,
                   mais pourrait faire apparaître des bogues dans les commandes qui ne sont pas
                   incluses avec debhelper.

                   Cette fonctionnalité de compatibilité avait un bogue depuis sa création dans
                   debhelper/9.20130516, qui la faisait échouer en compat 9 et précédent. Comme
                   il n'y a eu aucun rapport de problème causé par ce bogue en 5 ans, cela a été
                   supprimé plutôt que corrigé.

       v9  Les changements par rapport à la version 8 sont :

           -       Prise en charge multiarchitecture. En particulier, dh_auto_configure passe les
                   répertoires multiarchitectures à autoconf dans --libdir et --libexecdir.

           -       dh connaît les dépendances classiques entre les cibles de debian/rules. Donc
                   « dh binary » exécutera toutes les cibles build, build-arch, build-indep,
                   install, etc., présentes dans le fichier rules. Il n'est pas nécessaire de
                   définir une cible binary avec des dépendances explicites sur les autres
                   cibles.

           -       dh_strip compresse les fichiers de symboles de mise au point pour réduire la
                   taille d'installation des paquets -dbg.

           -       dh_auto_configure n'inclut pas le nom du paquet source dans --libexecdir en
                   utilisant autoconf.

           -       dh n'active pas --with=python-support par défaut.

                   (Obsolète puisque l'outil dh_pysupport a été retiré de Debian Stretch. Depuis
                   debhelper 10.3, dh n'active plus cette séquence quel que soit le niveau de
                   compatibilité)

           -       Tous les programmes debhelper dh_auto_* et dh configurent les variables
                   d'environnement renvoyées par dpkg-buildflags, sauf si elles sont déjà
                   configurées.

           -       dh_auto_configure passe les CFLAGS, CPPFLAGS et LDFLAGS de dpkg-buildflags à
                   Makefile.PL et Build.PL de Perl.

           -       dh_strip place les symboles de mise au point séparés à un endroit en fonction
                   de leur identifiant de construction (build-id).

           -       Les fichiers de configuration exécutables de debhelper sont exécutés et leur
                   sortie est utilisée comme configuration.

           Ce mode est déconseillé.

       v8  Les changements par rapport à la version 7 sont :

           -       Les commandes échoueront plutôt que de produire une alerte lorsqu'elles
                   recevront des options inconnues.

           -       dh_makeshlibs va exécuter le programme dpkg-gensymbols sur toutes les
                   bibliothèques partagées qu'il génère pour les fichiers shlibs. -X peut alors
                   être utilisé pour exclure certaines bibliothèques. En outre, les bibliothèques
                   rangées à des emplacements inhabituels que pkg-gensymbols n'aurait pas
                   traitées avant qu'elles ne lui soient transmises, induisent un changement de
                   comportement qui peut causer l'échec de la construction de certains paquets.

           -       dh exige que la séquence à exécuter soit indiquée en tant que premier
                   paramètre. Tous les commutateurs doivent venir après. C'est-à-dire qu'il faut
                   écrire « dh $@ --toto », et non « dh --toto $@ »

           -       dh_auto_* utilise préférentiellement Module::Build de Perl au lieu de
                   Makefile.PL.

           Ce mode est déconseillé.

       v7  Ce mode est déconseillé.

           C'est le niveau de compatibilité le plus bas pris en charge.

           Si vous mettez à jour depuis un niveau de compatibilité antérieur, veuillez consulter
           debhelper-obsolete-compat(7).

VOIR AUSSI

       debhelper-obsolete-compat(7)
           Mettre à niveau à partir d'un niveau de compatibilité (maintenant) obsolète ? Ce
           document couvre la liste de contrôle de mise à niveau vers le niveau le plus ancien
           pris en charge.

       debhelper(7)
           Informations générales sur l'infrastructure debhelper. Ce document couvre aussi la
           manière de déclarer le niveau de compatibilité de debhelper que vous avez choisi.

AUTEURS

       Niels Thykier <niels@thykier.net>

       Joey Hess

TRADUCTION

       Cette traduction est maintenue à l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe francophone de traduction de Debian.

       Veuillez signaler toute erreur de traduction en écrivant à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet debhelper.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».