Man page - debhelper-compat-upgrade-checklist(7)
Packages contains this manual
- dh_installsysusers(1)
- dh_installdeb(1)
- dh_compress(1)
- dh_md5sums(1)
- debhelper(7)
- dh_installsystemduser(1)
- dh_builddeb(1)
- debhelper-compat-upgrade-checklist(7)
- dh_testroot(1)
- dh_installcron(1)
- dh_clean(1)
- dh_bugfiles(1)
- dh_dwz(1)
- dh_installcatalogs(1)
- dh_auto_clean(1)
- dh_installchangelogs(1)
- dh_lintian(1)
- dh_installman(1)
- dh(1)
- dh_movetousr(1)
- dh_assistant(1)
- dh_installdirs(1)
- dh_installudev(1)
- dh_installwm(1)
- dh_installmodules(1)
- dh_link(1)
- dh_fixperms(1)
- dh_installlogrotate(1)
- dh_installdocs(1)
- dh_ucf(1)
- dh_installinitramfs(1)
- dh_systemd_start(1)
- dh_prep(1)
- dh_listpackages(1)
- dh_strip(1)
- dh_movefiles(1)
- dh_installxfonts(1)
- dh_installdebconf(1)
- dh_systemd_enable(1)
- dh_installalternatives(1)
- dh_usrlocal(1)
- dh_auto_configure(1)
- dh_missing(1)
- dh_installinfo(1)
- dh_installmenu(1)
- dh_gencontrol(1)
- dh_install(1)
- dh_update_autotools_config(1)
- dh_auto_build(1)
- dh_installmanpages(1)
- dh_shlibdeps(1)
- dh_testdir(1)
- dh_installifupdown(1)
- dh_perl(1)
- dh_installinit(1)
- dh_installexamples(1)
- dh_icons(1)
- dh_auto_install(1)
- dh_installppp(1)
- dh_installtmpfiles(1)
- dh_installemacsen(1)
- dh_makeshlibs(1)
- dh_installsystemd(1)
- debhelper-obsolete-compat(7)
- dh_installgsettings(1)
- dh_auto_test(1)
- dh_installpam(1)
- dh_installmime(1)
- dh_installlogcheck(1)
apt-get install debhelper
Available languages:
en fr pt deManual
debhelper
NOMSYNOPSIS
DESCRIPTION
Liste de contrÎle de mise à niveau des niveaux de compatibilité pris encharge.
VOIR AUSSI
AUTEURS
TRADUCTION
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 encharge.
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.toto oĂč paquet 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 binary package.
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_gencontrol 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 (1) non corrigĂ©e. Veuillez consulter le bogue <https://bugs.debian.org/1067653> sur la prise en charge par lintian (1) 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.
|
- |
When running dh_auto_install , debhelper provided build systems will now ensure all paths in the destdir have minimal user permissions ( chmod -R u+rwX ) to avoid weird permission denied errors during builds. |
Third-party provided debhelper build systems are recommended to support this as well. This can be done by running
$this->ensure_minimal_permissions($destdir) if not compat(13);
in the debhelper Buildsystem code from their sub install implementation after the upstream code has been run.
If you are not using dh_auto_install and you run into weird permission denied errors, you can often solve this by running chmod -R u+rwX DIRECTORY after running the install target from the upstream build system.
Please take care to check if your package has any special cases for permissions where files or directories for some reason must not have the "user write bit" set. Known cases are *.ali files and /etc/sudoers.d , which dh_fixperms will fix up by default.
The problem with uncommon permissions have always been present in theory. However, it has become considerable more visible with dh_fixperms being run later in the sequence as of compat 14 and with the move to remove fakeroot by default (which papered over some of these issues). This change is aimed at mitigating the problem.
|
- |
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.toto oĂč paquet 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 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 assume 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. |
||
|
- |
The dh_lintian tool no longer accepts architecture specific overrides files for packages with Multi-Arch: same in debian/control , since these would not be co-installable. Instances affected by this error should migrate to lintian (1) architecture specific overrides. |
||
|
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). |
||
|
- |
The dh_auto_* helpers now reset the environment variable HOME and the common XDG_* variables. Please see description of the environment variables in "ENVIRONMENT" in debhelper (1) for how this is handled. |
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> ».