Provided by: debhelper_7.0.13ubuntu1_all bug

NOM

       debhelper - ensemble d’outils regroupes sous le nom de debhelper

SYNOPSIS

       dh_* [-v] [-a] [-i] [-s] [--no-act] [-ppaquet] [-Npaquet] [-Ptmpdir]

DESCRIPTION

       Debhelper facilite la construction des paquets Debian. La philosophie
       qui sous-tend debhelper est de fournir une collection de petits outils
       simples et facilement comprehensibles qui seront exploites dans
       debian/rules pour automatiser les taches courantes liees a la
       construction des paquets, d’ou un travail allege pour le responsable.
       Dans une certaine mesure, cela signifie egalement que ces outils
       peuvent etre adaptes aux modifications eventuelles de la Charte Debian.
       Les paquets qui utiliseront debhelper ne necessiteront qu’une simple
       reconstruction pour etre conformes aux nouvelles regles.

       A typical debian/rules file that uses debhelper will call several
       debhelper commands in sequence, or use dh(1) to automate this process.
       Examples of rules files that use debhelper are in
       /usr/share/doc/debhelper/examples/

       Pour creer un nouveau paquet Debian en utilisant debhelper, il suffit
       de copier un des fichiers d’exemple et de le modifier manuellement. Il
       est possible egalement d’essayer le paquet dh-make qui contient une
       commande dh_make automatisant partiellement le processus. Pour se
       familiariser avec ces concepts, le paquet Debian maint-guide contient
       un cours sur la construction d’un premier paquet avec debhelper.

COMMANDES DE DEBHELPER

       Voici la liste complete de commandes debhelper disponibles. Consulter
       leurs pages de manuel respectives pour obtenir des informations
       complementaires.

       dh_builddeb(1)
           build debian binary packages

       dh_compress(1)
           comprime les fichiers dans le repertoire de construction du paquet
           et modifie les liens symboliques en consequence

       dh_desktop(1)
           inscrit les fichiers .desktop

       dh_fixperms(1)
           ajuste les droits sur les fichiers du repertoire de construction du
           paquet

       dh_gconf(1)
           produit les scripts d’enregistrement du schema GConf

       dh_gencontrol(1)
           produit et installe le fichier de controle

       dh_install(1)
           installe les fichiers dans le repertoire de construction du paquet

       dh_installcatalogs(1)
           installe et inscrit les catalogues SGML

       dh_installchangelogs(1)
           installe les journaux de suivi des modifications (changelog) dans
           les repertoires de construction du paquet

       dh_installcron(1)
           installe les scripts cron dans etc/cron.*

       dh_installdeb(1)
           installe des fichiers dans le repertoire DEBIAN

       dh_installdebconf(1)
           installe les fichiers utilises par debconf dans les repertoires de
           construction du paquet

       dh_installdirs(1)
           cree des sous-repertoires dans le repertoire de construction du
           paquet

       dh_installdocs(1)
           installe la documentation dans le repertoire de construction du
           paquet

       dh_installemacsen(1)
           inscrit un paquet additionnel emacs

       dh_installexamples(1)
           installe les fichiers d’exemples dans le repertoire de construction
           du paquet

       dh_installinfo(1)
           installe et inscrit les fichiers info

       dh_installinit(1)
           installe les scripts d’initialisation (init scripts) dans le
           repertoire de construction du paquet

       dh_installlogcheck(1)
           installe les fichiers de regles de verification des journaux
           (logcheck rulefiles) dans etc/logcheck/

       dh_installlogrotate(1)
           installe les fichiers de configuration de la rotation des journaux
           (logrotate)

       dh_installman(1)
           installe les pages de manuel dans le repertoire de construction du
           paquet

       dh_installmanpages(1)
           ancien programme d’installation des pages de manuel

       dh_installmenu(1)
           installe les fichiers du menu Debian dans le repertoire de
           construction du paquet

       dh_installmime(1)
           installe les fichiers X mime X dans le repertoire de construction
           du paquet

       dh_installmodules(1)
           inscrit les modules avec modutils

       dh_installpam(1)
           installe les fichiers de support de PAM

       dh_installppp(1)
           installe les fichiers ppp.ip-up et ppp.ip-down

       dh_installwm(1)
           inscrit un gestionnaire de fenetre (window manager)

       dh_installxfonts(1)
           inscrit les polices de caracteres graphiques (X fonts)

       dh_link(1)
           cree les liens symboliques dans le repertoire de construction du
           paquet

       dh_listpackages(1)
           enumere les paquets binaires que debhelper va traiter

       dh_makeshlibs(1)
           automatically create shlibs file and call dpkg-gensymbols

       dh_md5sums(1)
           cree le fichier DEBIAN/md5sums

       dh_movefiles(1)
           deplace des fichiers depuis debian/tmp dans des sous-paquets

       dh_perl(1)
           calculates perl dependencies and cleans up after MakeMaker

       dh_python(1)
           determine les dependances Python et ajoute des scripts de
           maintenance Python postinst et prerm

       dh_scrollkeeper(1)
           produit les scripts d’enregistrement ScrollKeeper

       dh_strip(1)
           depouille les executables, les bibliotheques partagees, et
           certaines bibliotheques statiques

       dh_suidregister(1)
           programme obsolete d’inscription suid

       dh_testdir(1)
           verifie le repertoire avant de construire un paquet Debian

       dh_testroot(1)
           verifie que le paquet est construit par le superutilisateur (root)

       dh_testversion(1)
           verifie que la bonne version de debhelper est installee

       dh_undocumented(1)
           programme obsolete de creation de liens symboliques vers
           X undocumented.7 X

       dh_usrlocal(1)
           migre les repertoires usr/local dans les scripts de maintenance du
           paquet

       Si le nom d’un programme commence par X dh_ X et qu’il n’est pas dans
       la liste ci-dessus, alors, c’est qu’il ne fait pas partie du paquet
       debhelper. Cependant, il devrait tout de meme fonctionner comme les
       autres programmes decrits dans cette page.

FICHIERS DE CONFIGURATION DE DEBHELPER

       Beaucoup de commandes de debhelper utilisent des fichiers du repertoire
       debian/ pour piloter leur fonctionnement. Outre les fichiers
       debian/changelog et debian/control, qui se trouvent dans tous les
       paquets, et pas seulement dans ceux qui emploient debhelper, d’autres
       fichiers peuvent servir a configurer le comportement des commandes
       specifiques de debhelper. Ces fichiers sont, en principe, nommes
       debian/paquet.toto (ou X paquet X est, bien sur, a remplacer par le nom
       du paquet concerne).

       Par exemple, dh_installdocs utilise un fichier appele
       debian/package.docs pour enumerer les fichiers de documentation qu’il
       installera. Consulter les pages de manuel des differentes commandes
       pour connaitre le detail des noms et des formats des fichiers employes.
       D’une facon generale, ces fichiers de configuration enumerent les
       fichiers sur lesquels devra porter l’action, a raison d’un fichier par
       ligne. Quelques programmes de debhelper emploient des paires
       fichier/destination voire des formats legerement plus compliques.

       Nota : Lorsqu’un paquet est le premier (ou le seul) paquet binaire
       enumere dans le fichier debian/control, debhelper exploitera
       debian/toto si aucun fichier debian/paquet.toto n’est present.

       In some rare cases, you may want to have different versions of these
       files for different architectures. If files named
       debian/package.foo.arch exist, where "arch" is the same as the output
       of "dpkg-architecture -qDEB_HOST_ARCH", then they will be used in
       preference to other, more general files.

       Dans beaucoup de cas, ces fichiers de configuration sont employes pour
       indiquer divers types de fichiers : documentation, fichiers d’exemples
       a installer, fichiers a deplacer et ainsi de suite. Lorsque cela se
       justifie, dans des cas comme ceux-ci, il est possible d’employer les
       jokers (wildcard) standard de l’interpreteur de commandes (shell)
       (X ? X, X * X et X [..] X).

       Il est egalement possible de placer des commentaires dans ces fichiers.
       Les lignes debutant par X # X sont ignorees.

OPTIONS PARTAGEES DE DEBHELPER

       Tous les programmes de debhelper acceptent les options suivantes :

       -v, --verbose
           Mode verbeux : affiche toutes les commandes qui modifient le
           repertoire de construction du paquet.

       --no-act
           Empeche la construction de s’effectuer reellement. Si cette option
           est utilisee avec -v, le resultat sera l’affichage de ce que la
           commande aurait fait.

       -a, --arch
           Construit tous les paquets dependants d’une architecture.

       -i, --indep
           Construit tous les paquets independants de l’architecture.

       -ppaquet, --package=paquet
           Construit le paquet nomme X paquet X. Cette option peut etre
           repetee afin de faire agir debhelper sur plusieurs paquets.

       -s, --same-arch
           Il s’agit d’une version plus astucieuse de l’option -a, employee
           dans quelques rares cas. Grace a cette option, si le fichier de
           controle du paquet comporte le champ X Architecture: i386 X,
           debhelper ne construira pas le paquet pour d’autres architectures.
           De cette facon, cette option construit tous les paquets marques
           XArchitecture: any X ainsi que tous les paquets dont l’architecture
           mentionnee correspond a l’architecture courante. Ce comportement
           est a l’oppose de l’option -a, qui construit seulement les paquets
           qui ne sont pas independants de l’architecture.

       -Npaquet, --no-package=paquet
           Exclut le paquet specifie du processus de construction, meme si
           l’option - a, -i ou -p l’impliquait.

       --ignore=file
           Ignore the specified file. This can be used if debian/ contains a
           debhelper config file that a debhelper command should not act on.
           Note that debian/compat, debian/control, and debian/changelog can’t
           be ignored, but then, there should never be a reason to ignore
           those files.

           For example, if upstream ships a debian/init that you don’t want
           dh_installinit to install, use --ignore=debian/init

       -Ptmpdir, --tmpdir=tmpdir
           Utilise le repertoire X tmpdir X pour construire les paquets.
           Sinon, par defaut, le repertoire utilise est X debian/paquet X

       --mainpackage=paquet
           Cette option, peu utilisee, indique a debhelper le nom du paquet
           principal pour lequel les fichiers debian/toto peuvent etre
           utilises a la place des fichiers habituels debian/paquet.toto. Par
           defaut, debhelper considere que le paquet principal est le premier
           paquet enumere dans le fichier debian/control.

OPTIONS COURANTES DE DEBHELPER

       Certains programmes de debhelper acceptent les options suivantes :
       Consulter la page de manuel de chaque programme pour une explication
       complete du role de ces options.

       -n  Ne pas modifier les scripts de maintenance du paquet (postinst,
           postrm, etc.).

       -Xelement, --exclude=element
           Permet d’exclure un element du traitement. Cette option peut etre
           employee plusieurs fois afin d’exclure plusieurs elements.

       -A, --all
           Precise que les fichiers (ou autres elements) indiques dans la
           ligne de commande concernent TOUS les paquets construits et pas
           seulement le premier.

REMARQUES

       Prise en charge de plusieurs paquets binaires

       Si le paquet source produit plus d’un paquet binaire, les programmes de
       debhelper construiront tous les paquets binaires. Si le paquet source
       doit construire un paquet dependant de l’architecture, et un paquet
       independant de l’architecture, ce comportement ne conviendra pas. En
       effet, il convient de construire les paquets dependants de
       l’architecture dans la cible binary-arch du fichier debian/rules, et
       les paquets independants de l’architecture dans la cible binary-indep.

       Pour resoudre ce probleme, et pour un meilleur controle sur la
       construction des paquets par debhelper, tous les programmes de
       debhelper acceptent les options -a, -i, -p, et -s. Ces options sont
       cumulatives. Si aucune n’est precisee, les programmes de debhelper
       construisent tous les paquets enumeres dans le fichier de controle.

       Generation automatique des scripts Debian de maintenance du paquet

       Certaines commandes de debhelper produisent automatiquement des lignes
       de codes de maintenance du paquet. Pour les inclure dans vos propres
       scripts de maintenance du paquet, il convient d’ajouter X #DEBHELPER# X
       a l’endroit ou les lignes de code generees devront etre inserees.
       X #DEBHELPER# X sera remplace, par les lignes de code generees
       automatiquement, lors de l’execution de dh_installdeb.

       Si un script de maintenance n’existe pas et que debhelper doit y
       inclure quelque chose, alors debhelper creera le script de maintenance
       completement.

       Toutes les commandes de debhelper qui produisent automatiquement des
       lignes de code de cette facon peuvent inhiber cette production grace a
       l’option -n (voir ci-dessus).

       Nota : Les lignes de code inserees seront ecrit dans le langage de
       l’interpreteur de commandes (shell). De ce fait, il est impossible de
       les placer directement dans un script Perl. Pour les inserer dans un
       script Perl, voici une solution. (S’assurer que $1, $2, etc. sont bien
       definis par la commande set.)

        my $temp="set -e\nset -- @ARGV\n" . << 'EOF';
        #DEBHELPER#
        EOF
        system ($temp) / 256 == 0
               or die "Probleme avec le script de debhelper : $!";

       Generation automatique des diverses dependances.

       Certaines commandes de debhelper peuvent necessiter des dependances
       entre le paquet construit et d’autres paquets. Par exemple, si
       dh_installdebconf(1) est employe, le paquet devra dependre de debconf.
       Si dh_installxfonts(1) est employe, le paquet deviendra dependant d’une
       version particuliere de xutils. Maintenir ces dependances induites peut
       etre penible puisqu’elles decoulent de la facon dont debhelper
       travaille. C’est pourquoi debhelper offre une solution
       d’automatisation.

       Toutes les commandes de ce type, outre qu’elles documentent, dans leur
       page de manuel, les dependances qu’elle induisent, genereront
       automatiquement une variable de substitution nommee ${misc:depends}. Si
       cette variable est exploitee dans le dossier debian/control, il sera
       automatiquement enrichi des dependances induites par debhelper.

       Ce processus est entierement independant de ${shlibs:Depends} standard,
       produite par dh_makeshlibs(1), et de ${perl:Depends} produite par
       dh_perl(1). Il est egalement possible de choisir de ne pas les utiliser
       si les conjectures de debhelper ne correspondent pas la realite.

       Repertoires de construction du paquet

       Par defaut, tous les programmes de debhelper supposent que le
       repertoire temporaire utilise pour construire l’arborescence des
       fichiers d’un paquet est debian/paquet.

       Parfois, il peut etre souhaitable d’utiliser un autre repertoire
       temporaire. Ceci est obtenu grace au parametre -P. Par exemple,
       X dh_installdocs -Pdebian/tmp X utilisera debian/tmp comme repertoire
       temporaire. Nota : L’usage de -P implique que les programmes de
       debhelper ne construisent qu’un seul paquet a la fois. De ce fait, si
       le paquet source genere plusieurs paquets binaires, il faudra employer
       egalement le parametre -p pour preciser l’unique paquet binaire a
       construire.

       Niveaux de compatibilite de debhelper

       Parfois, des modifications majeures de debhelper doivent etre faites et
       vont briser la compatibilite ascendante. Ces modifications sont
       necessaires pour conserver a debhelper ses qualites de conception et
       d’ecriture, car les besoins changent et le savoir-faire de l’auteur
       s’ameliore. Pour eviter que de tels changements ne cassent les paquets
       existants, un concept de niveau de compatibilite debhelper a ete
       introduit. On precisera a debhelper le niveau de compatibilite qu’il
       doit employer, et il modifiera son comportement de diverses manieres.

       Tell debhelper what compatibility level to use by writing a number to
       debian/compat. For example, to turn on V7 mode:

         % echo 7 > debian/compat

       Sauf indication contraire, toute la documentation de debhelper suppose
       l’utilisation du niveau de compatibilite le plus recent, et, dans la
       plupart des cas ne precise pas si le comportement est different avec
       les niveaux de compatibilite anterieurs. De ce fait, si le niveau de
       compatibilite le plus recent n’est pas celui utilise, il est fortement
       conseille de lire les indications ci-dessous qui exposent les
       differences dans les niveaux de compatibilite anterieurs.

       Les niveaux de compatibilite sont les suivants :

       V1  C’est le niveau initial de compatibilite de debhelper ainsi que la
           valeur par defaut. Dans ce mode, debhelper emploiera debian/tmp
           comme repertoire de l’arborescence du premier paquet binaire
           enumere dans le fichier de controle et debian/paquet pour tous les
           autres. Ce mode est deconseille.

           Ce mode est deconseille.

       V2  Dans ce mode, debhelper emploiera uniformement debian/paquet comme
           repertoire de l’arborescence de chaque paquet construit.

           Ce mode est deconseille.

       V3  Ce mode fonctionne comme V2 mais avec les ajouts suivants :

           -       Les fichiers de configuration de debhelper acceptent les
                   jokers * et ?  lorsque cela a un sens. Pour desactiver
                   cette substitution et utiliser ces caracteres tels quels,
                   il suffit de les prefixer avec une barre contre-oblique
                   (backslash).

           -       Les scripts de maintenance du paquet (postinst et postrm)
                   feront appel a ldconfig quand dh_makeshlibs sera lance.

           -       Chaque fichier de etc/ est automatiquement marque par
                   dh_installdeb comme un fichier de configuration.

           Ce mode est deconseille.

       V4  Les changements par rapport a la version 3 sont :

           -       dh_makeshlibs -V n’inclura pas la partie Debian du numero
                   de version dans la ligne de dependance produite dans le
                   fichier shlibs.

           -       Il est fortement conseille de mettre le nouveau
                   ${misc:Depends} dans debian/control pour completer
                   ${shlibs:Depends}.

           -       dh_fixperms rendra executables tous les fichiers des
                   repertoires bin/ et etc/init.d.

           -       dh_link corrigera les liens existants pour les rendre
                   conformes a la Charte Debian.

       V5  Changes from V4 are:

           -       Les commentaires sont ignores dans les fichiers de
                   configuration de debhelper.

           -       dh_strip --dbg-package indique maintenant le nom du paquet
                   qui doit recevoir les symboles de mise au point et non plus
                   les paquets d’ou proviennent ces symboles.

           -       dh_installdocs saute l’installation des fichiers vides.

           -       dh_install genere des erreurs si les jokers (wildcards) ne
                   correspondent a rien.

       V6  Changes from V5 are:

           -       Commands that generate maintainer script fragements will
                   order the fragements in reverse order for the prerm and
                   postrm scripts.

           -       dh_installwm will install a slave manpage link for
                   x-window-manager.1.gz, if it sees the man page in
                   usr/share/man/man1 in the package build directory.

           -       dh_builddeb did not previously delete everything matching
                   DH_ALWAYS_EXCLUDE, if it was set to a list of things to
                   exclude, such as "CVS:.svn:.git". Now it does.

           -       dh_installman allows overwriting existing man pages in the
                   package build directory. In previous compatibility levels
                   it silently refuses to do this.

       V7  This is the recommended mode of operation.

           Changes from V6 are:

           -       dh_install, will fall back to looking for files in
                   debian/tmp if it doesn’t find them in the current directory
                   (or wherever you tell it look using --srcdir). This allows
                   dh_install to interoperate with dh_auto_install, which
                   installs to debian/tmp, without needing any special
                   parameters.

           -       dh_clean will read debian/clean and delete files listed
                   there.

           -       dh_clean will delete toplevel *-stamp files.

           -       dh_installchangelogs will guess at what file is the
                   upstream changelog if none is specified.

       Liens symboliques vers le repertoire de documentation

       Parfois il est utile de construire un paquet qui ne contient pas de
       repertoire /usr/share/doc/paquet. On peut, a la place, creer un lien
       symbolique X en l’air X qui pointe sur un autre repertoire de
       documentation. La Charte Debian indique que c’est autorise si le paquet
       construit depend du paquet comportant la documentation. Pour obtenir ce
       resultat, il suffit d’omettre l’installation du repertoire de
       documentation dans le paquet et d’employer dh_link pour generer le lien
       symbolique (ou le faire manuellement). Dans ce cas debhelper devrait se
       comporter correctement, c’est-a-dire remarquer qu’il s’agit d’un lien
       symbolique X en l’air X et ne pas essayer d’installer un fichier
       copyright ou changelog.

       udebs

       Debhelper prend en charge la construction des udebs. Pour creer un udeb
       avec debhelper, il faut ajouter X XC-Package-Type: udeb X aux lignes de
       paquet dans debian/control, ainsi qu’une dependance vers
       debhelper (>= 4.2) dans la ligne build-depend. Debhelper essayera de
       construire des udebs, conformement aux regles de l’installateur Debian,
       en suffixant les fichiers de paquets generes avec X .udeb X, en
       n’installant aucune documentation, en omettant les scripts preinst,
       postrm et prerm ainsi que les scripts de configuration, etc.

       Autres remarques

       Generalement, si un programme de debhelper a besoin qu’un repertoire
       existe dans debian/, il le creera. Ce comportement n’est pas documente
       dans toutes les pages de manuel, mais, par exemple, le dh_installdeb
       sait qu’il doit creer le repertoire debian/paquet/DEBIAN/ avant de
       tenter de mettre des fichiers dedans. De meme, dh_installmenu sait
       qu’il est necessaire d’avoir un repertoire
       debian/paquet/usr/share/menu/ avant d’installer les fichiers menu, etc.

       Once your package uses debhelper to build, be sure to add debhelper to
       your Build-Depends line in debian/control. You should build-depend on a
       version of debhelper equal to (or greater than) the debhelper
       compatibility level your package uses. So if your package used
       compatibility level 7:

         Build-Depends: debhelper (>= 7)

VARIABLES DENVIRONNEMENT
       DH_VERBOSE
           Mettre cette variable a 1 valide le mode verbeux. Debhelper
           affichera chaque commande executee qui modifie des fichiers.

       DH_COMPAT
           Indique temporairement le niveau de compatibilite auquel debhelper
           doit fonctionner. Cette valeur supplante la valeur precisee dans
           debian/compat.

       DH_NO_ACT
           Mettre cette variable a 1 pour activer le mode simulation (no-act).

       DH_OPTIONS
           Le contenu de cette variable sera ajoute au debut des arguments de
           chaque ligne de commande de debhelper. Ce comportement est utile
           dans quelques situations, par exemple, pour passer -p a toutes les
           commandes de debhelper qui seront executees. Une bonne facon
           d’employer DH_OPTIONS est d’utiliser des triplets
           X Cible-specifique Variable Valeurs X dans le fichier debian/rules.
           Consulter la documentation de make pour obtenir des precisions sur
           cette methode.

       DH_ALWAYS_EXCLUDE
           Si cette variable possede une valeur, elle sera ajoutee a l’option
           -X de toutes les commandes qui admettent cette option. De plus,
           dh_builddeb fera un rm -rf quelque chose, correspondant a la valeur
           dans l’arbre de construction de paquet.

           Ceci peut etre utile pour construire un paquet a partir d’une
           arborescence CVS. Dans ce cas le reglage de DH_ALWAYS_EXCLUDE=CVS
           empechera les repertoires CVS d’interferer subrepticement dans le
           paquet en construction. Ou, si un paquet possede une source
           compressee, (maladroitement) presente dans un repertoire CVS, il
           peut etre utile d’exporter DH_ALWAYS_EXCLUDE=CVS dans debian/rules,
           pour que cette variable soit prise en compte quel que soit
           l’endroit ou le paquet est construit.

           Des exclusions multiples peuvent etre separees avec des deux
           points, comme dans DH_ALWAYS_EXCLUDE=CVS:.svn

VOIR AUSSI

       /usr/share/doc/debhelper/examples/
           Un ensemble d’exemples de fichiers debian/rules qui utilisent
           debhelper.

       <http://kitenet.net/~joey/code/debhelper/>
           Le site internet 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 19 novembre 2006.

       L’equipe de traduction a fait le maximum pour realiser une adaptation
       francaise de qualite

       La version anglaise la plus a jour de ce document est toujours
       consultable via la commande   man -L en nom_du_man .

       N’hesitez pas a signaler a l’auteur ou au traducteur, selon le cas,
       toute erreur dans cette page de manuel.