NOM
dh - automate de commandes debhelper
SYNOPSIS
dh sequence [--with rajout[,rajout,...]] [--list] [--until commande]
[--before commande] [--after commande] [--remaining]
[optionsdedebhelper]
dh excute squentiellement une srie de commande debhelper. Les squences
acceptes correspondent aux blocs d'un fichier debian/rules: build,
clean, install, binary-arch, binary-indep et binary.
Les commandes de la squence binary-indep sont appeles avec l'option -i
pour tre certain qu'elles ne s'accompliront que sur des paquets
indpendants de l'architecture. Symtriquement les commandes de la
squence binary-arch sont appeles avec l'option -a pour tre certain
qu'elles ne s'accompliront que sur des paquets dpendants de
l'architecture.
If debian/rules contains a target with a name like
"override_dh_command", then 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. (Note that to use this feature, you should
Build-Depend on debhelper 7.0.50 or above.)
OPTIONS
--with rajout[,rajout,...]
Ajoute les commandes debhelper indiques par les rajouts au bon
endroit dans la squence excute. Cette option peut tre prsente
plusieurs fois ou bien plusieurs rajouts peuvent tre indiqus en les
sparant 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
Le contraire de --with. Dsactive l'utilisation des rajouts indiqus.
--list, -l
Liste tous les rajouts disponibles.
--until commande
Excute les commandes de la squence jusqu' la commande spcifie,
l'excute puis s'arrte.
--before commande
Excute les commandes de la squence situes avant la commande spcifie
puis s'arrte.
--after commande
Excute les commandes de la squence situes aprs la commande spcifie.
--remaining
Excute toutes les commandes de la squence qui n'ont pas encore t
excutes.
--no-act
Affiche les commandes qui seraient utilises pour une squence donne,
sans les excuter.
Toute autre option fournie dh est passe en paramtre chaque commande
excute. Cela est utile pour les options comme -v, -X, -N aussi bien que
pour des options plus spcialises.
Dans les options ci-dessus, commande peut tre soit le nom complet de la
commande debhelper, soit une sous-chane de ce nom. dh cherchera
d'abord, dans la squence, une commande portant le nom exact pour viter
toute ambigut. Si plusieurs commandes correspondent la sous-chane la
dernire de la squence sera prise en compte.
EXEMPLES
Pour voir quelles commandes sont prsentes dans une squence, sans rien
faire:
dh binary-arch --no-act
C'est un fichier rules trs simple, pour les paquets o les squences de
commandes par dfaut fonctionnent sans aucune option particulire.
#!/usr/bin/make -f
%:
dh $@
Il est frquent de vouloir passer une option une commande debhelper.
Le moyen le plus simple de le faire consiste surcharger la commande
par dfaut par celle que vous dsirez. #!/usr/bin/make -f
%: dh $@
override_dh_strip:
dh_strip -Xfoo
override_dh_installdocs:
dh_installdocs README TODO
Sometimes the automated dh_auto_configure(1) and dh_auto_build(1) can't
guess what to do for a strange package. Here's how to avoid running
either and instead run your own commands.
#!/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
aprs l'excution 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 dfaut.
Voici comment utiliser dh_pycentral la place.
#!/usr/bin/make -f
%:
dh $@ --with python-central
Voici comment forcer l'utilisation du processus de construction
Module::Build, propre perl, qui pourra tre indispensable si debhelper
dtectait, tort, que le paquet utilise MakeMaker.
#!/usr/bin/make -f
%:
dh --buildsystem=perl_build $@
Pour patcher un paquet en utilisant quilt, il faut demander dh
d'utiliser la squence dh propre quilt. Voici comment faire:
#!/usr/bin/make -f
%:
dh $@ --with quilt
Voici un exemple de remplacement o les commandes dh_auto_* cherchent la
source du paquet car elle est situe dans un sous-rpertoire.
#!/usr/bin/make -f
%:
dh $@ --sourcedirectory=src
And here is an example of how to tell the dh_auto_* commands to build
in a subdirectory, which will be removed on clean.
#!/usr/bin/make -f
%:
dh $@ --builddirectory=build
If your package can be built in parallel, you can support parallel
building as follows. Then dpkg-buildpackage -j will work.
#!/usr/bin/make -f
%:
dh $@ --parallel
Here is a way to prevent dh from running several commands that you
don't want it to run, by defining empty override targets for each
command.
#!/usr/bin/make -f
%:
dh $@
# Commands not to run:
override_dh_auto_test override_dh_compress override_dh_fixperms:
Sometimes, you may need to make an override target only run commands
when a particular package is being built. This can be accomplished
using dh_listpackages(1) to test what is being built. For example:
#!/usr/bin/make -f
%:
dh $@
override_dh_fixperms:
dh_fixperms
ifneq (,$(findstring foo, $(shell dh_listpackages)))
chmod 4755 debian/foo/usr/bin/foo
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 if 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 to avoid build daemons redundantly
building the documentation.
#!/usr/bin/make -f
%:
dh $@
build: build-arch build-indep ;
build-indep:
$(MAKE) docs
build-arch:
$(MAKE) bins
INTERNALS
If you're curious about dh's internals, here's how it works under the
hood.
Chaque commande debhelper, qui s'accomplit correctement, est journalise
dans debian/package.debhelper.log (que dh_clean supprimera). Ainsi dh
peut dterminer quelles commandes ont dj t excutes et pour quels
paquets. De cette manire il pourra passer outre l'excution de ces
commandes ultrieurement.
Chaque fois que dh est excut, il examine le journal et recherche la
dernire commande excute dans la squence spcifie. Puis il excute la
commande suivante dans cette squence. Les options --until, --before,
--after et --remaining permettent de modifier ce comportement.
dh uses the DH_INTERNAL_OPTIONS environment variable to pass
information through to debhelper commands that are run inside override
targets. The contents (and indeed, existence) of this environment
variable, as the name might suggest, is subject to change at any time.
VOIR AUSSI
debhelper(7)
Ce programme fait partie de debhelper.
AUTEUR
Joey Hess <joeyh@debian.org>
TRADUCTION
Valry Perrin <valery.perrin.debian@free.fr> le 17 septembre 2005.
Dernire mise jour le 29 septembre 2009.
L'quipe de traduction a fait le maximum pour raliser une adaptation
franaise de qualit.
Cette traduction est gre dynamiquement par po4a. Certains paragraphes
peuvent, ventuellement, apparatre en anglais. Ils correspondent des
modifications ou des ajouts rcents du mainteneur, non encore incorpors
dans la traduction franaise.
La version originale anglaise de ce document est toujours consultable
via la commande man-Lennom_du_man.
N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.