Provided by:
debhelper_8.9.0ubuntu1_all 
NOM
dh - automate de commandes debhelper
SYNOPSIS
dh sequence [--with rajout[,rajout ...]] [--list] [--until commande]
[--before commande] [--after commande] [--remaining]
[optionsdedebhelper]
DESCRIPTION
dh execute une suite de commandes debhelper. Les suites acceptees
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.
Les commandes des sequences build-indep, install-indep et binary-indep
sont appelees avec l'option -i pour etre certain qu'elles ne
s'accompliront que sur des paquets independants de l'architecture.
Symetriquement les commandes des sequences build-arch, install-arch et
binary-arch sont appelees avec l'option -a pour etre certain qu'elles
ne s'accompliront que sur des paquets dependants de l'architecture.
Si le fichier debian/rules comporte un bloc avec un nom comme
override_dh_command, alors dh executera ce bloc au lieu d'executer
dh_command, comme il l'aurait fait sinon. La commande executee peut
etre la meme commande avec des options additionnelles ou une commande
entierement differente. Nota: pour utiliser cette possibilite, il est
necessaire d'etre dependant (Build-Depend) de la version 7.0.50 ou
superieure de debhelper.
OPTIONS
--with rajout[,rajout ...]
Ajoute les commandes debhelper indiquees par les rajouts au bon
endroit dans la sequence executee. Cette option peut etre presente
plusieurs fois ou bien plusieurs rajouts peuvent etre indiques en
les separant par des virgules. Cela est utile lorsqu'un paquet
tiers fournit des commandes debhelper. Consulter le fichier
PROGRAMMING pour obtenir des informations a propos de l'interface
de ces rajouts.
--without rajout
Le contraire de --with. Desactive l'utilisation des rajouts
indiques.
--list, -l
Liste tous les rajouts disponibles.
--until commande
Execute les commandes de la sequence jusqu'a la commande specifiee,
l'execute puis s'arrete.
--before commande
Execute les commandes de la sequence situees avant la commande
specifiee puis s'arrete.
--after commande
Execute les commandes de la sequence situees apres la commande
specifiee.
--remaining
Execute toutes les commandes de la sequence qui n'ont pas encore
ete executees.
--no-act
Affiche les commandes qui seraient utilisees pour une sequence
donnee, sans les executer.
Toute autre option fournie a dh est passee en parametre a chaque
commande executee. Cela est utile tant pour les options comme -v, -X ou
-N que pour des options plus specialisees.
Dans les options ci-dessus, commande peut etre soit le nom complet de
la commande debhelper, soit une sous-chaine de ce nom. dh cherchera
d'abord, dans la sequence, une commande portant le nom exact pour
eviter toute ambiguite. Si plusieurs commandes correspondent a la
sous-chaine la derniere de la sequence sera prise en compte.
EXEMPLES
Pour voir quelles commandes sont presentes dans une sequence, sans rien
faire:
dh binary-arch --no-act
C'est un fichier rules tres simple, pour les paquets ou les sequences
de commandes par defaut fonctionnent sans aucune option particuliere.
#!/usr/bin/make -f
%:
dh $@
Il est frequent de vouloir passer une option a une commande debhelper.
Le moyen le plus simple de le faire consiste a surcharger la commande
par defaut par celle que vous desirez. #!/usr/bin/make -f
%: dh $@
override_dh_strip:
dh_strip -Xfoo
override_dh_installdocs:
dh_installdocs README TODO
Parfois les automatismes de dh_auto_configure(1) et de dh_auto_build(1)
n'arrivent pas a deviner ce qu'il faut faire pour certains paquets
tordus. Voici comment indiquer vos propres commandes plutot 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 a vouloir faire quelque chose avant ou
apres l'execution d'une certaine commande debhelper.
#!/usr/bin/make -f
%:
dh $@
override_dh_fixperms:
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
Si le paquet est un paquet Python, dh utilisera dh_pysupport par
defaut. Voici comment utiliser dh_pycentral a la place :
#!/usr/bin/make -f
%:
dh $@ --with python-central
Si le paquet utilise << autotools >> et que vous voulez rafraichir 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 tache, comme ci-dessous:
#!/usr/bin/make -f
%:
dh $@ --with autotools_dev
Voici comment forcer l'utilisation du processus de construction
Module::Build, propre a Perl, qui pourra etre indispensable si
debhelper detectait, a tort, que le paquet utilise MakeMaker.
#!/usr/bin/make -f
%:
dh --buildsystem=perl_build $@
Pour patcher un paquet en utilisant << quilt >>, il faut demander a dh
d'utiliser la sequence dh propre a << quilt >>. Voici comment faire:
#!/usr/bin/make -f
%:
dh $@ --with quilt
Voici un exemple de remplacement ou les commandes dh_auto_* cherchent
la source du paquet car elle est situee dans un sous-repertoire.
#!/usr/bin/make -f
%:
dh $@ --sourcedirectory=src
Voici un exemple d'utilisation des commandes dh_auto_* pour realiser la
construction dans un sous-repertoire, qui sera ensuite supprime lors du
clean :
#!/usr/bin/make -f
%:
dh $@ --builddirectory=build
Si le paquet peut etre construit en parallele, vous pouvez activer le
parallelisme comme ci-dessous. Alors dpkg-buildpackage-j fonctionnera.
#!/usr/bin/make -f
%:
dh $@ --parallel
Voici un moyen d'empecher dh d'executer plusieurs commandes, en
definissant 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<executer :>
override_dh_auto_test override_dh_compress override_dh_fixperms:
Parfois, il peut etre utile de substituer une commande seulement lors
de la construction d'un paquet particulier. Ceci est realisable a
l'aide de dh_listpackages(1) pour connaitre le paquet en cours de
construction. Par exemple:
#!/usr/bin/make -f
%:
dh $@
override_dh_fixperms:
dh_fixperms
ifneq (,$(filter toto, $(shell dh_listpackages)))
chmod 4755 debian/toto/usr/bin/toto
endif
Finally, remember that you are not limited to using override targets in
the rules file when using dh. You can also explicitly define any of the
regular rules file targets when it makes sense to do so. A common
reason to do this is when your package needs different build-arch and
build-indep targets. For example, a package with a long document build
process can put it in build-indep.
#!/usr/bin/make -f
%:
dh $@
build-indep:
$(MAKE) docs
build-arch:
$(MAKE) bins
Note that in the example above, dh will arrange for "debian/rules
build" to call your build-indep and build-arch targets. You do not need
to explicitly define the dependencies in the rules file when using dh
with compatability level v9. This example would be more complicated
with earlier compatability levels.
FONCTIONNEMENT INTERNE
Si vous etes curieux de connaitre le fonctionnement interne de dh,
voici ce qu'il y a sous le capot.
Chaque commande debhelper, qui s'accomplit correctement, est
journalisee dans debian/package.debhelper.log (que dh_clean
supprimera). Ainsi dh peut determiner quelles commandes ont deja ete
executees et pour quels paquets. De cette maniere il pourra passer
outre l'execution de ces commandes ulterieurement.
Chaque fois que dh est execute, il examine le journal et recherche la
derniere commande executee dans la sequence specifiee. Puis il execute
la commande suivante dans cette sequence. Les options --until,
--before, --after et --remaining permettent de modifier ce
comportement.
A sequence can also run dependent targets in debian/rules. For
example, the "binary" sequence runs the "install" target.
dh sets environment variables listed by dpkg-buildflags, unless they
are already set. It supports DEB_BUILD_OPTIONS=noopt too.
dh utilise la variable d'environnement DH_INTERNAL_OPTIONS pour
transmettre des informations aux commandes debhelper executees au sein
des blocs surcharges. Le contenu (et l'existence meme) de cette
variable d'environnement, comme son nom l'indique, est sujet a des
modifications permanentes.
VOIR AUSSI
debhelper(7)
Ce programme fait partie de debhelper.
AUTEUR
Joey Hess <joeyh@debian.org>
TRADUCTION
Valery Perrin <valery.perrin.debian@free.fr> le 17 septembre 2005.
Derniere mise a jour le 3 avril 2011.
L'equipe de traduction a fait le maximum pour realiser une adaptation
francaise de qualite.
Cette traduction est geree dynamiquement par po4a. Certains paragraphes
peuvent, eventuellement, apparaitre en anglais. Ils correspondent a des
modifications ou des ajouts recents du mainteneur, non encore
incorpores dans la traduction francaise.
La version originale anglaise de ce document est toujours consultable
via la commande man-Lennom_du_man.
N'hesitez pas a signaler a l'auteur ou au traducteur, selon le cas,
toute erreur dans cette page de manuel.