Provided by: debhelper_9.20131227ubuntu1_all
NOM
dh - Automate de commandes debhelper
SYNOPSIS
dh suite [--with rajout[,rajout ...]] [--list] [options de debhelper]
DESCRIPTION
dh exécute une suite de commandes debhelper. Les suites acceptées correspondent aux blocs d'un fichier debian/rules : build-arch, build-indep, build, clean, install-indep, install- arch, install, binary-arch, binary-indep et binary.
CIBLES DE RÉÉCRITURE
Un fichier debian/rules utilisant dh peut réécrire la commande exécutée à n'importe quelle étape d'une séquence, en définissant une cible de réécriture. To override dh_command, add a target named override_dh_command to the rules file. When it would normally run dh_command, dh will instead call that target. The override target can then run the command with additional options, or run entirely different commands instead. See examples below. Les cibles de réécriture peuvent aussi être définies pour n'être exécutées que lors de la construction de paquets dépendants ou indépendants de l'architecture. Utilisez des cibles avec des noms comme override_dh_commande-arch et override_dh_commande-indep. Nota : pour utiliser cette possibilité, il est nécessaire d'ajouter une dépendance de construction (Build-Depends) sur la version 8.9.7 ou supérieure de debhelper.
OPTIONS
--with rajout[,rajout ...] Ajoute les commandes debhelper indiquées par les rajouts au bon endroit dans la séquence exécutée. Cette option peut être présente plusieurs fois ou bien plusieurs rajouts peuvent être indiqués en les séparant par des virgules. Cela est utile lorsqu'un paquet tiers fournit des commandes debhelper. Consulter le fichier PROGRAMMING pour obtenir des informations à propos de l'interface de ces rajouts. --without rajout L'inverse de --with, désactive le rajout donné. Cette option peut être présente plusieurs fois ou bien plusieurs rajouts peuvent être indiqués en les séparant par des virgules. --list, -l Liste tous les rajouts disponibles. --no-act Affiche les commandes qui seraient utilisées pour une séquence donnée, sans les exécuter. Note that dh normally skips running commands that it knows will do nothing. With --no-act, the full list of commands in a sequence is printed. Les autres options fournies à dh sont passées en paramètre à chaque commande exécutée. Cela est utile tant pour les options comme -v, -X ou -N que pour des options plus spécialisées.
EXEMPLES
Pour voir quelles commandes sont présentes dans une séquence, sans rien faire : dh binary-arch --no-act C'est un fichier rules très simple, pour les paquets où les séquences de commandes par défaut fonctionnent sans aucune option particulière. #!/usr/bin/make -f %: dh $@ Il est fréquent de vouloir passer une option à une commande debhelper. Le moyen le plus simple de le faire consiste à surcharger la commande par défaut par celle que vous désirez. #!/usr/bin/make -f %: dh $@ override_dh_strip: dh_strip -Xtoto override_dh_auto_configure: dh_auto_configure -- --with-toto --disable-titi Parfois les automatismes de dh_auto_configure(1) et de dh_auto_build(1) n'arrivent pas à deviner ce qu'il faut faire pour certains paquets tordus. Voici comment indiquer vos propres commandes plutôt que de laisser faire l'automatisme. #!/usr/bin/make -f %: dh $@ override_dh_auto_configure: ./mondoconfig override_dh_auto_build: make universe-explode-in-delight Un autre cas habituel consiste à vouloir faire quelque chose avant ou après l'exécution d'une certaine commande debhelper. #!/usr/bin/make -f %: dh $@ override_dh_fixperms: dh_fixperms chmod 4755 debian/truc/usr/bin/truc Si le paquet utilise « autotools » et que vous voulez rafraîchir les config.sub et les config.guess avec les nouvelles versions du paquet autotools-dev lors de la compilation, il est possible d'utiliser certaines commandes fournies dans autotools-dev afin d'automatiser cette tâche, comme ci-dessous : #!/usr/bin/make -f %: dh $@ --with autotools_dev Les outils Python ne sont pas exécutés par défaut par dh, à cause des modifications incessantes dans ce domaine (avant le niveau de compatibilité 9, dh exécute dh_pysupport). Voici comment utiliser dh_python2. #!/usr/bin/make -f %: dh $@ --with python2 Voici comment forcer l'utilisation du processus de construction Module::Build, propre à Perl, qui pourra être indispensable si debhelper détectait, à tort, que le paquet utilise MakeMaker. #!/usr/bin/make -f %: dh --buildsystem=perl_build $@ Voici un exemple de remplacement où les commandes dh_auto_* cherchent la source du paquet car elle est située dans un sous-répertoire. #!/usr/bin/make -f %: dh $@ --sourcedirectory=src Voici un exemple d'utilisation des commandes dh_auto_* pour réaliser la construction dans un sous-répertoire, qui sera ensuite supprimé lors du clean : #!/usr/bin/make -f %: dh $@ --builddirectory=build Si le paquet peut être construit en parallèle, vous pouvez activer le parallélisme comme ci-dessous. Alors dpkg-buildpackage -j fonctionnera. #!/usr/bin/make -f %: dh $@ --parallel Voici un moyen d'empêcher dh d'exécuter plusieurs commandes, en définissant des blocs de substitution vides pour chaque commande que vous ne voulez pas lancer. #!/usr/bin/make -f %: dh $@ # Commandes que l'on ne veut pas S<exécuter :> override_dh_auto_test override_dh_compress override_dh_fixperms: Un long processus de construction pour un paquet de documentation à part peut être séparé en utilisant des réécritures pour les paquets indépendants de l'architecture. Elles seront ignorées lors de l'exécution des suites build-arch et binary-arch. #!/usr/bin/make -f %: dh $@ override_dh_auto_build-indep: $(MAKE) -C docs # Aucun test nécessaire pour la documentation override_dh_auto_test-indep: override_dh_auto_install-indep: $(MAKE) -C docs install En plus de l'exemple précédent, il peut être nécessaire de modifier les droits d'un fichier, mais seulement lors de la construction du paquet dépendant de l'architecture, puisqu'il n'est pas présent lors de la construction de la documentation toute seule. override_dh_fixperms-arch: dh_fixperms chmod 4755 debian/truc/usr/bin/truc
FONCTIONNEMENT INTERNE
Si vous êtes curieux de connaître le fonctionnement interne de dh, voici ce qu'il y a sous le capot. Chaque commande debhelper, qui s'accomplit correctement, est journalisée dans debian/package.debhelper.log (que dh_clean supprimera). Ainsi dh peut déterminer quelles commandes ont déjà été exécutées et pour quels paquets. De cette manière il pourra passer outre l'exécution de ces commandes ultérieurement. Chaque fois que dh est exécuté, il examine le journal et recherche la dernière commande exécutée dans la séquence indiquée. Puis il exécute la commande suivante dans cette séquence. Les options --until, --before, --after et --remaining permettent de modifier ce comportement. Une suite peut aussi exécuter des cibles dépendantes dans debian/rules. Par exemple, la suite « binary » exécute la cible « install ». dh utilise la variable d'environnement DH_INTERNAL_OPTIONS pour transmettre des informations aux commandes debhelper exécutées au sein des blocs surchargés. Le contenu (et l'existence même) de cette variable d'environnement, comme son nom l'indique, est sujet à des modifications permanentes. Les commandes des séquences build-indep, install-indep et binary-indep sont appelées avec l'option -i pour être certain qu'elles ne s'accompliront que sur des paquets indépendants de l'architecture. Symétriquement les commandes des séquences build-arch, install-arch et binary-arch sont appelées avec l'option -a pour être certain qu'elles ne s'accompliront que sur des paquets dépendants de l'architecture.
OPTIONS OBSOLÈTES
Les options suivantes sont obsolètes. Il vaut mieux utiliser les cibles de réécritures à la place. --until commande Exécute les commandes de la suite jusqu'à la commande indiquée, l'exécute puis s'arrête. --before commande Exécute les commandes de la suite situées avant la commande indiquée puis s'arrête. --after commande Exécute les commandes de la suite situées après la commande indiquée. --remaining Exécute toutes les commandes de la suite qui n'ont pas encore été exécutées. Dans les options ci-dessus, commande peut être soit le nom complet de la commande debhelper, soit une sous-chaîne de ce nom. dh cherchera d'abord, dans la séquence, une commande portant le nom exact pour éviter toute ambiguïté. Si plusieurs commandes correspondent à la sous-chaîne la dernière de la séquence sera prise en compte.
VOIR AUSSI
debhelper(7) Ce programme fait partie de debhelper.
AUTEUR
Joey Hess <joeyh@debian.org>
TRADUCTION
Valéry Perrin <valery.perrin.debian@free.fr> le 17 septembre 2005. Dernière mise à jour le 3 avril 2011. L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. Cette traduction est gérée dynamiquement par po4a. Certains paragraphes peuvent, éventuellement, apparaître en anglais. Ils correspondent à des modifications ou des ajouts récents du mainteneur, non encore incorporés dans la traduction française. La version originale anglaise de ce document est toujours consultable via la commande man -L en nom_du_man. N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.