Flashnux

GNU/Linux man pages

Livre :
Expressions régulières,
Syntaxe et mise en oeuvre :

ISBN : 978-2-7460-9712-4
EAN : 9782746097124
(Editions ENI)

debhelper(7)


debhelper

debhelper

NOM
SYNOPSIS
DESCRIPTION
COMMANDES DE DEBHELPER
FICHIERS DE CONFIGURATION DE DEBHELPER
OPTIONS PARTAGÉES DE DEBHELPER
OPTIONS COURANTES DE DEBHELPER
OPTIONS DU PROCESSUS DE CONSTRUCTION
REMARQUES
VARIABLES D’ENVIRONNEMENT
VOIR AUSSI
AUTEUR
TRADUCTION

NOM

debhelper − ensemble d’outils regroupés 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 compréhensibles qui seront exploités dans debian/rules pour automatiser les tâches courantes liées à la construction des paquets, d’où un travail allégé pour le responsable. Dans une certaine mesure, cela signifie également que ces outils peuvent être adaptés aux modifications éventuelles de la Charte Debian. Les paquets qui utiliseront debhelper ne nécessiteront qu’une simple reconstruction pour être conformes aux nouvelles règles.

Un fichier debian/rules typique, exploitant debhelper, appellera séquentiellement plusieurs des commandes de debhelper ou bien utilisera dh(1) pour automatiser ce processus. Des exemples de fichiers debian/rules qui exploitent debhelper se trouvent dans /usr/share/doc/debhelper/examples/

Pour créer un nouveau paquet Debian en utilisant debhelper, il suffit de copier un des fichiers d’exemple et de le modifier manuellement. Il est possible également 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 des commandes debhelper disponibles. Consulter leurs pages de manuel respectives pour obtenir des informations complémentaires.
dh_auto_build
(1)

construit automatiquement un paquet

dh_auto_clean(1)

fait le ménage automatiquement après une construction de paquet

dh_auto_configure(1)

configure automatiquement un paquet préalablement à sa construction

dh_auto_install(1)

lance automatiquement make install ou équivalent

dh_auto_test(1)

Exécute automatiquement le jeu d’essai d’un paquet

dh_bugfiles(1)

installe les fichiers de personnalisation de rapports de bogue dans les répertoires des paquets construits

dh_builddeb(1)

Construit des paquets binaires Debian

dh_clean(1)

nettoie les répertoires de construction du paquet

dh_compress(1)

comprime les fichiers dans le répertoire de construction du paquet et modifie les liens symboliques en conséquence

dh_desktop(1)

obsolète. Ne pas l’utiliser

dh_fixperms(1)

ajuste les droits sur les fichiers du répertoire de construction du paquet

dh_gconf(1)

install GConf defaults files and register schemas

dh_gencontrol(1)

produit et installe le fichier de contrôle

dh_icons(1)

Met à jour les caches des icônes Freedesktop

dh_install(1)

installe les fichiers dans le répertoire 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 répertoires de construction du paquet

dh_installcron(1)

installe les scripts cron dans etc/cron.*

dh_installdeb(1)

installe des fichiers dans le répertoire DEBIAN

dh_installdebconf(1)

installe les fichiers utilisés par debconf dans les répertoires de construction du paquet

dh_installdirs(1)

crée des sous−répertoires dans le répertoire de construction du paquet

dh_installdocs(1)

installe la documentation dans le répertoire de construction du paquet

dh_installemacsen(1)

inscrit un paquet additionnel emacs

dh_installexamples(1)

installe les fichiers d’exemples dans le répertoire de construction du paquet

dh_installifupdown(1)

installe les accroches (hooks) if-up et if-down

dh_installinfo(1)

installe les fichiers info

dh_installinit(1)

installe les tâches upstart et les scripts init dans le répertoire de construction du paquet

dh_installlogcheck(1)

installe les fichiers de règles de vérification 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 répertoire de construction du paquet

dh_installmanpages(1)

ancien programme d’installation des pages de manuel (obsolète)

dh_installmenu(1)

installe les fichiers du menu Debian dans le répertoire de construction du paquet

dh_installmime(1)

installe les fichiers « mime » dans le répertoire 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_installudev(1)

installe les fichiers de règles udev

dh_installwm(1)

inscrit un gestionnaire de fenêtre (window manager)

dh_installxfonts(1)

inscrit les polices de caractères graphiques (X fonts)

dh_link(1)

crée les liens symboliques dans le répertoire de construction du paquet

dh_lintian(1)

installe les fichiers « override » de lintian dans le répertoire de construction du paquet

dh_listpackages(1)

énumère les paquets binaires que debhelper va traiter

dh_makeshlibs(1)

crée automatiquement le fichier shlibs et exécute dpkg-gensymbols

dh_md5sums(1)

crée le fichier DEBIAN/md5sums

dh_movefiles(1)

déplace des fichiers depuis debian/tmp dans des sous-paquets

dh_perl(1)

détermine les dépendances Perl et fait le ménage après MakeMaker

dh_prep(1)

fait le ménage en vue de construire un paquet Debian

dh_python(1)

détermine les dépendances Python et ajoute des scripts de maintenance Python postinst et prerm (obsolète)

dh_scrollkeeper(1)

obsolète. Ne pas l’utiliser

dh_shlibdeps(1)

détermine les dépendances envers les bibliothèques partagées

dh_strip(1)

dépouille les exécutables, les bibliothèques partagées, et certaines bibliothèques statiques

dh_suidregister(1)

programme d’inscription suid (obsolète)

dh_testdir(1)

vérifie le répertoire avant de construire un paquet Debian

dh_testroot(1)

vérifie que le paquet est construit par le superutilisateur (root)

dh_undocumented(1)

programme de création de liens symboliques vers « undocumented.7 » (obsolète)

dh_usrlocal(1)

migre les répertoires usr/local dans les scripts de maintenance du paquet

Commandes obsolètes
Quelques commandes debhelper sont obsolètes et ne devraient plus être utilisées.

Autres commandes
Si le nom d’un programme commence par « dh_ » et qu’il n’est pas dans les listes ci-dessus, cela signifie qu’il ne fait pas partie de la suite debhelper. Cependant, il devrait tout de même fonctionner comme les autres programmes décrits dans cette page.

FICHIERS DE CONFIGURATION DE DEBHELPER

Beaucoup de commandes de debhelper utilisent des fichiers du répertoire 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 à configurer le comportement des commandes spécifiques de debhelper. Ces fichiers sont, en principe, nommés debian/paquet.toto (où « paquet » est, bien sür, à remplacer par le nom du paquet concerné).

Par exemple, dh_installdocs utilise un fichier appelé debian/package.docs pour énumérer les fichiers de documentation qu’il installera. Consulter les pages de manuel des différentes commandes pour connaître le détail des noms et des formats des fichiers employés. D’une façon générale, ces fichiers de configuration énumèrent les fichiers sur lesquels devra porter l’action, à raison d’un fichier par ligne. Quelques programmes de debhelper emploient des paires fichier/destination voire des formats légèrement plus compliqués.

Nota : Lorsqu’un paquet est le premier (ou le seul) paquet binaire énuméré dans le fichier debian/control, debhelper exploitera debian/toto si aucun fichier debian/paquet.toto n’est présent.

Dans quelques rares cas, il peut être utile d’exploiter différentes versions de ces fichiers pour des architectures ou des systèmes d’exploitation différents. S’il existe des fichiers appelés debian/paquet.toto.ARCH ou debian/paquet.toto.OS, dans lesquels «  ARCH  » et «  OS  » correspondent respectivement au résultat de dpkg-architecture −qDEB_HOST_ARCH ou de dpkg-architecture −qDEB_HOST_ARCH_OS, alors ils seront utilisés de préférence aux autres fichiers plus généraux.

Dans beaucoup de cas, ces fichiers de configuration sont employés pour indiquer divers types de fichiers. Documentation, fichiers d’exemples à installer, fichiers à déplacer et ainsi de suite. Lorsque cela se justifie, dans des cas comme ceux-ci, il est possible d’employer, dans ces fichiers, les jokers (wildcard) standard de l’interpréteur de commandes (shell) (« ? », « * » et « [..] »).

Il est également possible de placer des commentaires dans ces fichiers. Les lignes débutant par « # » sont ignorées.

OPTIONS PARTAGÉES DE DEBHELPER

Tous les programmes de debhelper acceptent les options suivantes :
−v
, −−verbose

Mode verbeux : affiche toutes les commandes qui modifient le répertoire de construction du paquet.

−−no−act

Empêche la construction de s’effectuer réellement. Si cette option est utilisée avec −v, le résultat sera l’affichage de ce que la commande aurait fait.

−a, −−arch

Construit tous les paquets dépendants de l’architecture.

−i, −−indep

Construit tous les paquets indépendants de l’architecture.

−ppaquet, −−package=paquet

Construit le paquet nommé « paquet ». Cette option peut être répétée afin de faire agir debhelper sur plusieurs paquets.

−s, −−same−arch

cette option était plus intelligente de l’option-a, mais l’option-a est maintenant tout aussi intelligente.

−Npaquet, −−no−package=paquet

Exclut le paquet spécifié du processus de construction, même si l’option −a, −i ou −p l’impliquait.

−−remaining−packages

Exclut du processus de construction les paquets qui ont déjà été construit préalablement par cette commande debhelper (c’est−à−dire, si la commande est présente dans le journal de debhelper du paquet). Par exemple, si vous avez besoin d’invoquer la commande avec des options spéciales seulement pour certains paquets binaires, utilisez cette option lors de la dernière invocation de la commande pour construire le reste des paquets avec les options par défaut.

−−ignore=fichier

Ignore le fichier spécifié. Ceci peut être utilisé si debian/ contient un fichier de configuration debhelper avec une commande qui ne doit pas être pris en compte. Nota : debian/compat, debian/control, et debian/changelog ne peuvent pas être ignorés, mais il n’existe aucune raison valable de les ignorer.

Par exemple, si vous récupérez en amont un fichier debian/init que vous ne voulez pas que dh_installinit installe, utilisez −−ignore=debian/init

−Ptmpdir, −−tmpdir=tmpdir

Utilise le répertoire « tmpdir » pour construire les paquets. Sinon, par défaut, le répertoire utilisé est « debian/paquet »

−−mainpackage=paquet

Cette option, peu utilisée, indique à debhelper le nom du paquet principal pour lequel les fichiers debian/toto peuvent être utilisés à la place des fichiers habituels debian/paquet.toto. Par défaut, debhelper considère que le paquet principal est le premier paquet énuméré dans le fichier debian/control.

−O=option|bundle

This is used by dh(1) when passing user-specified options to all the commands it runs. If the command supports the specified option or option bundle, it will take effect. If the command does not support the option (or any part of an option bundle), it will be ignored.

OPTIONS COURANTES DE DEBHELPER

Certains programmes de debhelper acceptent les options ci-dessous. Consulter la page de manuel de chaque programme pour une explication complète du rôle de ces options.

−n

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

−Xélément, −−exclude=élément

Permet d’exclure un élément du traitement. Cette option peut être employée plusieurs fois afin d’exclure plusieurs éléments.

−A, −−all

Précise que les fichiers (ou autres éléments) indiqués dans la ligne de commande concernent TOUS les paquets construits et pas seulement le premier.

OPTIONS DU PROCESSUS DE CONSTRUCTION

Les programmes debhelper dh_auto_* comportent plusieurs processus de construction et déterminent, de manière heuristique, lequel utiliser et comment. Il peut être utile de modifier ce comportement par défaut. Tous ces programmes dh_auto_* acceptent les options suivantes :
−S
processus de construction, −−buildsystem=processus de construction

Oblige à utiliser le processus de construction spécifié au lieu de tenter de déterminer automatiquement celui qui pourrait être utilisable pour le paquet.

−Drépertoire, −−sourcedirectory=répertoire

Considère que les sources du paquet sont situées dans le répertoire spécifié plutôt qu’au plus haut niveau de l’arborescence du paquet source.

−B[répertoire], −−builddirectory=[répertoire]

Permet de construire le paquet en dehors de la structure source en utilisant le répertoire spécifié comme répertoire de construction. Si le paramètre répertoire n’est pas spécifié, un répertoire de construction par défaut sera choisi.

Si cette option n’est pas spécifiée, la construction se fera dans l’arborescence source à moins que le processus exige ou préfère le faire en dehors de cette structure. Dans ce cas, le répertoire par défaut sera utilisé même si −−builddirectory n’est pas spécifié.

Même si le système préfère utiliser, pour la construction, un répertoire situé en dehors de l’arborescence source, il autorise quand même la construction dans l’arborescence source. Pour cela, il suffit d’utiliser un chemin d’accès au répertoire de construction identique au chemin d’accès au répertoire source.

−−parallel

Enable parallel builds if underlying build system supports them. The number of parallel jobs is controlled by the DEB_BUILD_OPTIONS environment variable ("Debian Policy, section 4.9.1") at build time. It might also be subject to a build system specific limit.

If this option is not specified, debhelper currently defaults to not allowing parallel package builds.

−−max−parallel=maximum

This option implies −−parallel and allows further limiting the number of jobs that can be used in a parallel build. If the package build is known to only work with certain levels of concurrency, you can set this to the maximum level that is known to work, or that you wish to support.

−−list, −l

Liste tous les processus de construction supporté par le système. Cette liste inclut à la fois les processus par défaut et les processus tiers (marqués comme tels). Cette option montre également le processus de construction automatiquement sélectionné ou celui spécifié manuellement avec l’option −−buildsystem.

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 dépendant de l’architecture, et un paquet indépendant de l’architecture, ce comportement ne conviendra pas. En effet, il convient de construire les paquets dépendants de l’architecture dans binary-arch de debian/rules, et les paquets indépendants de l’architecture dans binary-indep.

Pour résoudre ce problème, et pour un meilleur contrôle 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 précisée, les programmes de debhelper construisent tous les paquets énumérés dans le fichier de contrôle.

Génération automatique des scripts Debian de maintenance du paquet
Certaines commandes de debhelper produisent automatiquement des lignes de code de maintenance du paquet. Pour les inclure dans vos propres scripts de maintenance du paquet, il convient d’ajouter « #DEBHELPER# » à l’endroit où les lignes de code générées devront être insérées. « #DEBHELPER# » sera remplacé, par les lignes de code générées automatiquement, lors de l’exécution de dh_installdeb.

Si un script de maintenance n’existe pas et que debhelper doit y inclure quelque chose, alors debhelper créera le script de maintenance complètement.

Toutes les commandes de debhelper qui produisent automatiquement des lignes de code de cette façon peuvent inhiber cette production grâce à l’option −n (voir ci-dessus).

Nota : Les lignes de code insérées seront écrites dans le langage de l’interpréteur de commandes (shell). De ce fait, il est impossible de les placer directement dans un script Perl. Pour les insérer dans un script Perl, voici une solution. (S’assurer que $1, $2, etc. sont bien définis par la commande set.)

 my $temp="set −e\nset −− @ARGV\n" . << 'EOF';
 #DEBHELPER#
 EOF
 system ($temp) / 256 == 0
        or die "Probl&egrave;me avec le script de S<debhelper :> $!";

G&eacute;n&eacute;ration automatique des diverses d&eacute;pendances.
Certaines commandes de debhelper peuvent n&eacute;cessiter des d&eacute;pendances entre le paquet construit et d’autres paquets. Par exemple, si dh_installdebconf(1) est employ&eacute;, le paquet devra d&eacute;pendre de debconf. Si dh_installxfonts(1) est employ&eacute;, le paquet deviendra d&eacute;pendant d’une version particuli&egrave;re de xutils. Maintenir ces d&eacute;pendances induites peut &ecirc;tre p&eacute;nible puisqu’elles d&eacute;coulent de la fa&ccedil;on 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 d&eacute;pendances qu’elle induisent, g&eacute;n&eacute;reront automatiquement une variable de substitution nomm&eacute;e ${misc:depends}. Si cette variable est exploit&eacute;e dans le dossier debian/control, il sera automatiquement enrichi des d&eacute;pendances induites par debhelper.

Ce processus est enti&egrave;rement ind&eacute;pendant de ${shlibs:Depends} standard, produite par dh_makeshlibs(1), et de ${perl:Depends} produite par dh_perl(1). Il est &eacute;galement possible de choisir de ne pas les utiliser si les conjectures de debhelper ne correspondent pas &agrave; la r&eacute;alit&eacute;.

R&eacute;pertoires de construction du paquet
Par d&eacute;faut, tous les programmes de debhelper supposent que le r&eacute;pertoire temporaire utilis&eacute; pour construire l’arborescence des fichiers d’un paquet est debian/paquet.

Parfois, il peut &ecirc;tre souhaitable d’utiliser un autre r&eacute;pertoire temporaire. Ceci est obtenu gr&acirc;ce au param&egrave;tre −P. Par exemple, « dh_installdocs −Pdebian/tmp » utilisera debian/tmp comme r&eacute;pertoire temporaire. Nota : L’usage de −P implique que les programmes de debhelper ne construisent qu’un seul paquet &agrave; la fois. De ce fait, si le paquet source g&eacute;n&egrave;re plusieurs paquets binaires, il faudra employer &eacute;galement le param&egrave;tre −p pour pr&eacute;ciser l’unique paquet binaire &agrave; construire.

Niveaux de compatibilit&eacute; de debhelper
Parfois, des modifications majeures de debhelper doivent &ecirc;tre faites et vont briser la compatibilit&eacute; ascendante. Ces modifications sont n&eacute;cessaires pour conserver &agrave; debhelper ses qualit&eacute;s de conception et d’&eacute;criture, car les besoins changent et le savoir-faire de l’auteur s’am&eacute;liore. Pour &eacute;viter que de tels changements ne cassent les paquets existants, un concept de niveau de compatibilit&eacute; debhelper a &eacute;t&eacute; introduit. On pr&eacute;cisera &agrave; debhelper le niveau de compatibilit&eacute; qu’il doit employer ce qui modifiera son comportement de diverses mani&egrave;res.

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

  % echo 8 > debian/compat

Sauf indication contraire, toute la documentation de debhelper suppose l’utilisation du niveau de compatibilit&eacute; le plus r&eacute;cent, et, dans la plupart des cas ne pr&eacute;cise pas si le comportement est diff&eacute;rent avec les niveaux de compatibilit&eacute; ant&eacute;rieurs. De ce fait, si le niveau de compatibilit&eacute; le plus r&eacute;cent n’est pas celui utilis&eacute;, il est fortement conseill&eacute; de lire les indications ci-dessous qui exposent les diff&eacute;rences dans les niveaux de compatibilit&eacute; ant&eacute;rieurs.

Les niveaux de compatibilit&eacute; sont les suivants :

v1

C’est le niveau initial de compatibilit&eacute; de debhelper d’o&ugrave; son num&eacute;ro 1. Dans ce mode, debhelper emploiera debian/tmp comme r&eacute;pertoire de l’arborescence du premier paquet binaire &eacute;num&eacute;r&eacute; dans le fichier de contr&ocirc;le et debian/paquet pour tous les autres.

Ce mode est d&eacute;conseill&eacute;.

v2

Dans ce mode, debhelper emploiera uniform&eacute;ment debian/paquet comme r&eacute;pertoire de l’arborescence de chaque paquet construit.

Ce mode est d&eacute;conseill&eacute;.

v3

This mode works like v2, with the following additions:

Les fichiers de configuration de debhelper acceptent les jokers * et ? lorsque cela a un sens. Pour d&eacute;sactiver cette substitution et utiliser ces caract&egrave;res tels quels, il suffit de les pr&eacute;fixer avec une barre contre-oblique (backslash).

Les scripts de maintenance du paquet (postinst et postrm) feront appel &agrave; ldconfig quand dh_makeshlibs sera lanc&eacute;.

Chaque fichier de etc/ est automatiquement marqu&eacute; par dh_installdeb comme un fichier de configuration.

Ce mode est d&eacute;conseill&eacute;.

v4

Changes from v3 are:

dh_makeshlibs −V n’inclura pas la partie Debian du num&eacute;ro de version dans la ligne de d&eacute;pendance produite dans le fichier shlibs.

Il est fortement conseill&eacute; de mettre le nouveau ${misc:Depends} dans debian/control pour compl&eacute;ter le champs ${shlibs:Depends}.

dh_fixperms rendra ex&eacute;cutables tous les fichiers des r&eacute;pertoires bin/ et etc/init.d.

dh_link corrigera les liens existants pour les rendre conformes &agrave; la Charte Debian.

Ce mode est d&eacute;conseill&eacute;.

v5

Changes from v4 are:

Les commentaires sont ignor&eacute;s 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’o&ugrave; proviennent ces symboles.

dh_installdocs saute l’installation des fichiers vides.

dh_install g&eacute;n&egrave;re des erreurs si les jokers (wildcards) ne correspondent &agrave; rien.

v6

Changes from v5 are:

Les commandes qui g&eacute;n&egrave;rent des lignes de codes de maintenance les mettront dans l’ordre inverse dans les scripts postrm et prerm.

dh_installwm installera un lien vers une page de manuel esclave pour x−window−manager.1.gz s’il voit la page de manuel dans le r&eacute;pertoire usr/share/man/man1 du r&eacute;pertoire de construction du paquet.

dh_builddeb, pr&eacute;alablement, ne supprimait pas les associations cr&eacute;es avec DH_ALWAYS_EXCLUDE s’il &eacute;tait configur&eacute; sur une liste d’&eacute;l&eacute;ments tels que «  CVS: .svn:.git ». Maintenant il le fait.

Dh_installman permet d’&eacute;craser les pages de man existantes dans le r&eacute;pertoire de construction du paquet. Pr&eacute;alablement, il refusait en silence de le faire.

v7

Changes from v6 are:

dh_install cherchera r&eacute;cursivement les fichiers dans debian/tmp s’il ne les trouve pas dans le r&eacute;pertoire courant (ou dans le r&eacute;pertoire sp&eacute;cifi&eacute; par −−sourcedir). Cela permet &agrave; dh_install d’interop&eacute;rer avec dh_auto_install, qui place les fichiers dans debian/tmp, sans n&eacute;cessiter de param&egrave;tres particuliers.

dh_clean lit le r&eacute;pertoire debian/clean et supprime les fichiers qui y sont mentionn&eacute;s.

dh_clean supprime les fichiers *−stamp.

dh_installchangelogs d&eacute;terminera &agrave; quel fichier correspond le changelog amont si rien n’est sp&eacute;cifi&eacute;.

v8

C’est la version dont l’usage est recommand&eacute;.

Changes from v7 are:

Commands will fail rather than warning when they are passed unknown options.

dh_makeshlibs will run dpkg-gensymbols on all shared libraries that it generates shlibs files for. So −X can be used to exclude libraries. Also, libraries in unusual locations that dpkg-gensymbols would not have processed before will be passed to it, a behavior change that can cause some packages to fail to build.

dh requires the sequence to run be specified as the first parameter, and any switches come after it. Ie, use "dh $@ −−foo", not "dh −−foo $@"

dh_auto_* prefer to use perl’s Module::Build in preference to Makefile.PL.

udebs
Debhelper includes support for udebs. To create a udeb with debhelper, add "Package-Type: udeb" to the package’s stanza in debian/control, and build-depend on debhelper (>= 4.2). Debhelper will try to create udebs that comply with debian-installer policy, by making the generated package files end in ".udeb", not installing any documentation into a udeb, skipping over preinst, postrm, prerm, and config scripts, etc.

Autres remarques
G&eacute;n&eacute;ralement, si un programme de debhelper a besoin qu’un r&eacute;pertoire existe dans debian/, il le cr&eacute;era. Ce comportement n’est pas document&eacute; dans toutes les pages de manuel, mais, par exemple, le dh_installdeb sait qu’il doit cr&eacute;er le r&eacute;pertoire debian/paquet/DEBIAN/ avant de tenter de mettre des fichiers dedans. De m&ecirc;me, dh_installmenu sait qu’il est n&eacute;cessaire d’avoir un r&eacute;pertoire debian/paquet/usr/share/menu/ avant d’installer les fichiers menu, etc.

D&egrave;s qu’un paquet emploie debhelper pour sa construction, il faut v&eacute;rifier que debhelper a bien &eacute;t&eacute; ajout&eacute; &agrave; la ligne Build-Depends dans le fichier debian/control. Il convient &eacute;galement de s’assurer que la version de debhelper indiqu&eacute;e dans build-depend est au moins &eacute;gale au niveau de compatibilit&eacute; de debhelper utilis&eacute;e pour la construction du paquet. Ainsi si le paquet emploie le niveau 7 de compatibilit&eacute; :

 Build−Depends: debhelper (>= 7)

VARIABLES D’ENVIRONNEMENT

DH_VERBOSE

Mettre cette variable &agrave; 1 valide le mode verbeux. Debhelper affichera chaque commande ex&eacute;cut&eacute;e qui modifie des fichiers.

DH_COMPAT

Indique temporairement le niveau de compatibilit&eacute; auquel debhelper doit fonctionner. Cette valeur supplante la valeur pr&eacute;cis&eacute;e dans debian/compat.

DH_NO_ACT

Mettre cette variable &agrave; 1 pour activer le mode simulation (no-act).

DH_OPTIONS

Tout ce qui est indiqu&eacute; dans cette variable sera pass&eacute; en argument &agrave; toutes les commandes debhelper. Les options sp&eacute;cifiques &agrave; une commande seront ignor&eacute;es par les commandes qui n’exploitent pas cette option.

Ce comportement est utile dans quelques situations, par exemple, pour passer −p &agrave; toutes les commandes de debhelper qui seront ex&eacute;cut&eacute;es. Une bonne fa&ccedil;on d’employer DH_OPTIONS est d’utiliser des triplets « Cible−sp&eacute;cifique Variable Valeurs » dans le fichier debian/rules. Consulter la documentation de make pour obtenir des pr&eacute;cisions sur cette m&eacute;thode.

DH_ALWAYS_EXCLUDE

Si cette variable poss&egrave;de une valeur, elle sera ajout&eacute;e &agrave; l’option −X de toutes les commandes qui admettent cette option. De plus, dh_builddeb fera un rm −rf quelque chose, correspondant &agrave; la valeur dans l’arbre de construction de paquet.

Ceci peut &ecirc;tre utile pour construire un paquet &agrave; partir d’une arborescence CVS . Dans ce cas, le r&eacute;glage de DH_ALWAYS_EXCLUDE=CVS emp&ecirc;chera les r&eacute;pertoires CVS d’interf&eacute;rer subrepticement dans le paquet en construction. Ou, si un paquet poss&egrave;de une source compress&eacute;e, (maladroitement) pr&eacute;sente dans un r&eacute;pertoire CVS , il peut &ecirc;tre utile d’exporter DH_ALWAYS_EXCLUDE=CVS dans debian/rules, pour que cette variable soit prise en compte quel que soit l’endroit o&ugrave; le paquet est construit.

Des exclusions multiples peuvent &ecirc;tre s&eacute;par&eacute;es avec des caract&egrave;res 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

Val&eacute;ry Perrin <valery.perrin.debian@free.fr> le 17 septembre 2005. Derni&egrave;re mise &agrave; jour le 29 septembre 2009.

L’&eacute;quipe de traduction a fait le maximum pour r&eacute;aliser une adaptation fran&ccedil;aise de qualit&eacute;.

Cette traduction est g&eacute;r&eacute;e dynamiquement par po4a. Certains paragraphes peuvent, &eacute;ventuellement, appara&icirc;tre en anglais. Ils correspondent &agrave; des modifications ou des ajouts r&eacute;cents du mainteneur, non encore incorpor&eacute;s dans la traduction fran&ccedil;aise.

La version originale anglaise de ce document est toujours consultable via la commande man −L en nom_du_man.

N’h&eacute;sitez pas &agrave; signaler &agrave; l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.



debhelper(7)