.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "debhelper 7" .TH debhelper 7 "2016-07-24" "9.20150101+deb8u2" "Debhelper" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" debhelper \- Ensemble d'outils regroupés sous le nom de debhelper .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBdh_\fR\fI*\fR [\fB\-v\fR] [\fB\-a\fR] [\fB\-i\fR] [\fB\-s\fR] [\fB\-\-no\-act\fR] [\fB\-p\fR\fIpaquet\fR] [\fB\-N\fR\fIpaquet\fR] [\fB\-P\fR\fItmpdir\fR] .SH "DESCRIPTION" .IX Header "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 \fIdebian/rules\fR 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. .PP Un fichier \fIdebian/rules\fR typique, exploitant debhelper, appellera séquentiellement plusieurs des commandes de debhelper ou bien utilisera \&\fIdh\fR\|(1) pour automatiser ce processus. Des exemples de fichiers debian/rules qui exploitent debhelper se trouvent dans \&\fI/usr/share/doc/debhelper/examples/\fR .PP 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 \fBdh-make\fR qui contient une commande dh_make automatisant partiellement le processus. Pour se familiariser avec ces concepts, le paquet Debian \fBmaint-guide\fR contient un cours sur la construction d'un premier paquet avec debhelper. .SH "COMMANDES DE DEBHELPER" .IX Header "COMMANDES DE DEBHELPER" Voici la liste des commandes debhelper disponibles. Consulter leurs pages de manuel respectives pour obtenir des informations complémentaires. .IP "\fIdh_auto_build\fR\|(1)" 4 .IX Item "dh_auto_build" Construire automatiquement un paquet .IP "\fIdh_auto_clean\fR\|(1)" 4 .IX Item "dh_auto_clean" Faire le ménage automatiquement après une construction de paquet .IP "\fIdh_auto_configure\fR\|(1)" 4 .IX Item "dh_auto_configure" Configurer automatiquement un paquet préalablement à sa construction .IP "\fIdh_auto_install\fR\|(1)" 4 .IX Item "dh_auto_install" Lancer automatiquement make install ou équivalent .IP "\fIdh_auto_test\fR\|(1)" 4 .IX Item "dh_auto_test" Exécuter automatiquement le jeu d'essai d'un paquet .IP "\fIdh_bugfiles\fR\|(1)" 4 .IX Item "dh_bugfiles" Installer les fichiers de personnalisation de rapports de bogue dans les répertoires des paquets construits .IP "\fIdh_builddeb\fR\|(1)" 4 .IX Item "dh_builddeb" Construire des paquets binaires Debian .IP "\fIdh_clean\fR\|(1)" 4 .IX Item "dh_clean" Nettoyer les répertoires de construction du paquet .IP "\fIdh_compress\fR\|(1)" 4 .IX Item "dh_compress" Compresser les fichiers dans le répertoire de construction du paquet et modifier les liens symboliques en conséquence .IP "\fIdh_fixperms\fR\|(1)" 4 .IX Item "dh_fixperms" Ajuster les droits sur les fichiers du répertoire de construction du paquet .IP "\fIdh_gconf\fR\|(1)" 4 .IX Item "dh_gconf" Installer les fichiers par défaut de GConf et inscrit les schémas .IP "\fIdh_gencontrol\fR\|(1)" 4 .IX Item "dh_gencontrol" Produire et installer le fichier de contrôle .IP "\fIdh_icons\fR\|(1)" 4 .IX Item "dh_icons" Update caches of Freedesktop icons .IP "\fIdh_install\fR\|(1)" 4 .IX Item "dh_install" Installer les fichiers dans le répertoire de construction du paquet .IP "\fIdh_installcatalogs\fR\|(1)" 4 .IX Item "dh_installcatalogs" Installer et inscrire les catalogues \s-1SGML\s0 .IP "\fIdh_installchangelogs\fR\|(1)" 4 .IX Item "dh_installchangelogs" Installer les journaux de suivi des modifications (changelog) dans les répertoires de construction du paquet .IP "\fIdh_installcron\fR\|(1)" 4 .IX Item "dh_installcron" Installer les scripts cron dans etc/cron.* .IP "\fIdh_installdeb\fR\|(1)" 4 .IX Item "dh_installdeb" Installer des fichiers dans le répertoire \s-1DEBIAN\s0 .IP "\fIdh_installdebconf\fR\|(1)" 4 .IX Item "dh_installdebconf" Installer les fichiers utilisés par debconf dans les répertoires de construction du paquet .IP "\fIdh_installdirs\fR\|(1)" 4 .IX Item "dh_installdirs" Créer des sous\-répertoires dans le répertoire de construction du paquet .IP "\fIdh_installdocs\fR\|(1)" 4 .IX Item "dh_installdocs" Installer la documentation dans le répertoire de construction du paquet .IP "\fIdh_installemacsen\fR\|(1)" 4 .IX Item "dh_installemacsen" Inscrire un paquet additionnel Emacs .IP "\fIdh_installexamples\fR\|(1)" 4 .IX Item "dh_installexamples" Installer les fichiers d'exemples dans le répertoire de construction du paquet .IP "\fIdh_installifupdown\fR\|(1)" 4 .IX Item "dh_installifupdown" Installer les accroches (hooks) if-up et if-down .IP "\fIdh_installinfo\fR\|(1)" 4 .IX Item "dh_installinfo" Installer les fichiers info .IP "\fIdh_installinit\fR\|(1)" 4 .IX Item "dh_installinit" Installer les fichiers de service « init » dans le répertoire de construction du paquet .IP "\fIdh_installlogcheck\fR\|(1)" 4 .IX Item "dh_installlogcheck" Installer les fichiers de règles de vérification des journaux (logcheck rulefiles) dans etc/logcheck/ .IP "\fIdh_installlogrotate\fR\|(1)" 4 .IX Item "dh_installlogrotate" Installer les fichiers de configuration de la rotation des journaux (logrotate) .IP "\fIdh_installman\fR\|(1)" 4 .IX Item "dh_installman" Installer les pages de manuel dans le répertoire de construction du paquet .IP "\fIdh_installmenu\fR\|(1)" 4 .IX Item "dh_installmenu" Installer les fichiers du menu Debian dans le répertoire de construction du paquet .IP "\fIdh_installmime\fR\|(1)" 4 .IX Item "dh_installmime" Installer les fichiers « mime » dans le répertoire de construction du paquet .IP "\fIdh_installmodules\fR\|(1)" 4 .IX Item "dh_installmodules" register kernel modules .IP "\fIdh_installpam\fR\|(1)" 4 .IX Item "dh_installpam" Installer les fichiers de support de \s-1PAM\s0 .IP "\fIdh_installppp\fR\|(1)" 4 .IX Item "dh_installppp" Installer les fichiers ppp.ip\-up et ppp.ip\-down .IP "\fIdh_installudev\fR\|(1)" 4 .IX Item "dh_installudev" Installer les fichiers de règles udev .IP "\fIdh_installwm\fR\|(1)" 4 .IX Item "dh_installwm" Inscrire un gestionnaire de fenêtre (window manager) .IP "\fIdh_installxfonts\fR\|(1)" 4 .IX Item "dh_installxfonts" Inscrire les polices de caractères graphiques (X fonts) .IP "\fIdh_link\fR\|(1)" 4 .IX Item "dh_link" Créer les liens symboliques dans le répertoire de construction du paquet .IP "\fIdh_lintian\fR\|(1)" 4 .IX Item "dh_lintian" Installer les fichiers « override » de lintian dans le répertoire de construction du paquet .IP "\fIdh_listpackages\fR\|(1)" 4 .IX Item "dh_listpackages" Énumérer les paquets binaires que debhelper va traiter .IP "\fIdh_makeshlibs\fR\|(1)" 4 .IX Item "dh_makeshlibs" Créer automatiquement le fichier shlibs et exécuter dpkg-gensymbols .IP "\fIdh_md5sums\fR\|(1)" 4 .IX Item "dh_md5sums" Créer le fichier DEBIAN/md5sums .IP "\fIdh_movefiles\fR\|(1)" 4 .IX Item "dh_movefiles" Déplacer des fichiers depuis debian/tmp dans des sous-paquets .IP "\fIdh_perl\fR\|(1)" 4 .IX Item "dh_perl" Déterminer les dépendances Perl et fait le ménage après MakeMaker .IP "\fIdh_prep\fR\|(1)" 4 .IX Item "dh_prep" Faire le ménage en vue de construire un paquet Debian .IP "\fIdh_shlibdeps\fR\|(1)" 4 .IX Item "dh_shlibdeps" Déterminer les dépendances envers les bibliothèques partagées .IP "\fIdh_strip\fR\|(1)" 4 .IX Item "dh_strip" Dépouiller les exécutables, les bibliothèques partagées, et certaines bibliothèques statiques .IP "\fIdh_testdir\fR\|(1)" 4 .IX Item "dh_testdir" Vérifier le répertoire avant de construire un paquet Debian .IP "\fIdh_testroot\fR\|(1)" 4 .IX Item "dh_testroot" Vérifier que le paquet est construit par le superutilisateur (root) .IP "\fIdh_usrlocal\fR\|(1)" 4 .IX Item "dh_usrlocal" Migrer les répertoires usr/local dans les scripts de maintenance du paquet .SS "Commandes obsolètes" .IX Subsection "Commandes obsolètes" Quelques commandes debhelper sont obsolètes et ne devraient plus être utilisées. .IP "\fIdh_desktop\fR\|(1)" 4 .IX Item "dh_desktop" Obsolète, ne pas l'utiliser .IP "\fIdh_installmanpages\fR\|(1)" 4 .IX Item "dh_installmanpages" ancien programme d'installation des pages de manuel (obsolète) .IP "\fIdh_scrollkeeper\fR\|(1)" 4 .IX Item "dh_scrollkeeper" Obsolète, ne pas l'utiliser .IP "\fIdh_suidregister\fR\|(1)" 4 .IX Item "dh_suidregister" Programme d'inscription suid (obsolète) .IP "\fIdh_undocumented\fR\|(1)" 4 .IX Item "dh_undocumented" Programme de création de liens symboliques vers « undocumented.7 » (obsolète, ne pas l'utiliser) .SS "Autres commandes" .IX Subsection "Autres commandes" Si le nom d'un programme commence par \fBdh_\fR 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. .SH "FICHIERS DE CONFIGURATION DE DEBHELPER" .IX Header "FICHIERS DE CONFIGURATION DE DEBHELPER" Beaucoup de commandes de debhelper utilisent des fichiers du répertoire \&\fIdebian/\fR pour piloter leur fonctionnement. Outre les fichiers \&\fIdebian/changelog\fR et \fIdebian/control\fR, 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/\fIpaquet\fR.toto (où \fIpaquet\fR est, bien sûr, à remplacer par le nom du paquet concerné). .PP Par exemple, \fBdh_installdocs\fR utilise un fichier appelé \&\fIdebian/package.docs\fR 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. .PP Nota : pour le premier (ou le seul) paquet binaire énuméré dans le fichier \&\fIdebian/control\fR, debhelper exploitera \fIdebian/toto\fR quand aucun fichier \&\fIdebian/paquet.toto\fR n'est présent. .PP 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/\fIpaquet\fR.toto.\fI\s-1ARCH\s0\fR ou debian/\fIpaquet\fR.toto.\fI\s-1OS\s0\fR, dans lesquels \fI\s-1ARCH\s0\fR et \fI\s-1OS\s0\fR correspondent respectivement au résultat de « \fBdpkg-architecture\fR \-qDEB_HOST_ARCH » ou de « \fBdpkg-architecture\fR \-qDEB_HOST_ARCH_OS », alors ils seront utilisés de préférence aux autres fichiers plus généraux. .PP En général, ces fichiers de configuration sont employés pour indiquer des listes de 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) (\fB?\fR et \fB*\fR et \fB[\fR\fI..\fR\fB]\fR). Des commentaires peuvent être ajoutés dans ces fichiers : les lignes commençant par \fB#\fR sont ignorées. .PP La syntaxe de ces fichiers est volontairement gardée très simple pour les rendre faciles à lire, comprendre et modifier. Si vous préférez la puissance et la complexité, vous pouvez rendre le fichier exécutable, et écrire un programme qui affiche n'importe quel contenu approprié à la situation. Dans ce cas, la sortie n'est plus traitée pour développer les jokers (wildcards) ou supprimer les commentaires. .SH "OPTIONS PARTAGÉES DE DEBHELPER" .IX Header "OPTIONS PARTAGÉES DE DEBHELPER" Tous les programmes de debhelper acceptent les options suivantes. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Mode verbeux : affiche toutes les commandes qui modifient le répertoire de construction du paquet. .IP "\fB\-\-no\-act\fR" 4 .IX Item "--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. .IP "\fB\-a\fR, \fB\-\-arch\fR" 4 .IX Item "-a, --arch" Construit tous les paquets dépendants de l'architecture. .IP "\fB\-i\fR, \fB\-\-indep\fR" 4 .IX Item "-i, --indep" Construit tous les paquets indépendants de l'architecture. .IP "\fB\-p\fR\fIpaquet\fR, \fB\-\-package=\fR\fIpaquet\fR" 4 .IX Item "-ppaquet, --package=paquet" Construit le paquet nommé « paquet ». Cette option peut être répétée afin de faire agir debhelper sur plusieurs paquets. .IP "\fB\-s\fR, \fB\-\-same\-arch\fR" 4 .IX Item "-s, --same-arch" Cette option était plus intelligente que l'option \fB\-a\fR, mais l'option \fB\-a\fR est maintenant tout aussi intelligente. .IP "\fB\-N\fR\fIpaquet\fR, \fB\-\-no\-package=\fR\fIpaquet\fR" 4 .IX Item "-Npaquet, --no-package=paquet" Exclut le paquet indiqué du processus de construction, même si l'option \&\fB\-a\fR, \fB\-i\fR ou \fB\-p\fR l'impliquait. .IP "\fB\-\-remaining\-packages\fR" 4 .IX Item "--remaining-packages" Exclut du processus de construction les paquets qui ont déjà été construits 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. .IP "\fB\-\-ignore=\fR\fIfichier\fR" 4 .IX Item "--ignore=fichier" Ignore le fichier indiqué. Cela peut être utilisé si \fIdebian/\fR contient un fichier de configuration debhelper avec une commande qui ne doit pas être pris en compte. Nota : \fIdebian/compat\fR, \fIdebian/control\fR, et \&\fIdebian/changelog\fR ne peuvent pas être ignorés, mais il n'existe aucune raison valable de les ignorer. .Sp Par exemple, si vous récupérez en amont un fichier \fIdebian/init\fR que vous ne voulez pas que \fBdh_installinit\fR installe, utilisez \&\fB\-\-ignore=debian/init\fR .IP "\fB\-P\fR\fItmpdir\fR, \fB\-\-tmpdir=\fR\fItmpdir\fR" 4 .IX Item "-Ptmpdir, --tmpdir=tmpdir" Utilise le répertoire \fItmpdir\fR pour construire les paquets. Sinon, par défaut, le répertoire utilisé est « debian/\fIpaquet\fR » .IP "\fB\-\-mainpackage=\fR\fIpaquet\fR" 4 .IX Item "--mainpackage=paquet" Cette option, peu utilisée, indique à debhelper le nom du « paquet principal » pour lequel les fichiers \fIdebian/toto\fR peuvent être utilisés à la place des fichiers habituels \fIdebian/paquet.toto\fR. Par défaut, debhelper considère que le « paquet principal » est le premier paquet énuméré dans le fichier \fIdebian/control\fR. .IP "\fB\-O=\fR\fIoption\fR|\fIensemble\fR" 4 .IX Item "-O=option|ensemble" Cette option est utilisée par \fIdh\fR\|(1) pour passer une ou plusieurs options, indiquées par l'utilisateur, à toutes les commandes exécutées. Si la commande prend en charge l'option ou l'ensemble d'options, elle prendra effet. Si la commande n'accepte pas l'option (ou une partie de l'ensemble d'options), elle sera ignorée. .SH "OPTIONS COURANTES DE DEBHELPER" .IX Header "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. .IP "\fB\-n\fR" 4 .IX Item "-n" Ne pas modifier les scripts de maintenance du paquet (\fIpostinst\fR, \&\fIpostrm\fR, etc.). .IP "\fB\-X\fR\fIélément\fR, \fB\-\-exclude=\fR\fIélément\fR" 4 .IX Item "-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. L'\fIélément\fR est en général une partie du nom de fichier, et tous les fichier contenant le texte indiqué seront exclus. .IP "\fB\-A\fR, \fB\-\-all\fR" 4 .IX Item "-A, --all" Précise que les fichiers (ou autres éléments) indiqués dans la ligne de commande concernent \s-1TOUS\s0 les paquets construits et pas seulement le premier. .SH "OPTIONS DU PROCESSUS DE CONSTRUCTION" .IX Header "OPTIONS DU PROCESSUS DE CONSTRUCTION" Les programmes debhelper \fBdh_auto_\fR\fI*\fR 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 \fBdh_auto_\fR\fI*\fR acceptent les options suivantes, typiquement passées à \fIdh\fR\|(1), qui les passe ensuite à tous les programmes \&\fBdh_auto_\fR\fI*\fR. .IP "\fB\-S\fR\fIprocessus de construction\fR, \fB\-\-buildsystem=\fR\fIprocessus de construction\fR" 4 .IX Item "-Sprocessus de construction, --buildsystem=processus de construction" Oblige à utiliser le processus de construction indiqué au lieu de tenter de déterminer automatiquement celui qui pourrait être utilisable pour le paquet. .IP "\fB\-D\fR\fIrépertoire\fR, \fB\-\-sourcedirectory=\fR\fIrépertoire\fR" 4 .IX Item "-Drépertoire, --sourcedirectory=répertoire" Considère que les sources du paquet sont situées dans le \fIrépertoire\fR indiqué plutôt qu'au plus haut niveau de l'arborescence du paquet source. .IP "\fB\-B\fR[\fIrépertoire\fR], \fB\-\-builddirectory=\fR[\fIrépertoire\fR]" 4 .IX Item "-B[répertoire], --builddirectory=[répertoire]" Enable out of source building and use the specified \fIdirectory\fR as the build directory. If \fIdirectory\fR parameter is omitted, a default build directory will be chosen. .Sp Si cette option n'est pas indiqué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 \fB\-\-builddirectory\fR n'est pas indiqué. .Sp 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. .IP "\fB\-\-parallel\fR" 4 .IX Item "--parallel" Cette option active la construction parallèle si le système sous-jacent le permet. Le nombre de tâches parallèles est contrôlé, lors de la construction, par la variable d'environnement \fB\s-1DEB_BUILD_OPTIONS\s0\fR (\*(L"Charte Debian, section 4.9.1\*(R"). Ce nombre peut également être soumis aux limites spécifiques du système. .Sp Si cette option n'est pas indiquée, debhelper n'activera pas, par défaut, le parallélisme lors de la construction. .IP "\fB\-\-max\-parallel=\fR\fImaximum\fR" 4 .IX Item "--max-parallel=maximum" Cette option implique \fB\-\-parallel\fR et permet de limiter le nombre de tâches qui pourront être lancées lors d'une compilation parallèle. Si la construction du paquet est connue pour ne fonctionner qu'avec un certain niveau de parallélisme, il est possible de le régler à la valeur maximum censée fonctionner, ou que vous souhaitez mettre en œuvre. .IP "\fB\-\-list\fR, \fB\-l\fR" 4 .IX Item "--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 indiqué manuellement avec l'option \fB\-\-buildsystem\fR. .SH "NIVEAUX DE COMPATIBILITÉ" .IX Header "NIVEAUX DE COMPATIBILITÉ" Parfois, des modifications majeures de debhelper doivent être faites et vont briser la compatibilité ascendante. Ces modifications sont nécessaires pour conserver à debhelper ses qualités de conception et d'écriture, car les besoins changent et le savoir-faire de l'auteur s'améliore. Pour éviter que de tels changements ne cassent les paquets existants, un concept de niveau de compatibilité debhelper a été introduit. On précisera à debhelper le niveau de compatibilité qu'il doit employer, ce qui modifiera son comportement de diverses manières. .PP Pour indiquer à debhelper le niveau de compatibilité à utiliser il faut placer un nombre dans \fIdebian/compat\fR. Par exemple, pour exploiter la version 9 : .PP .Vb 1 \& % echo 9 > debian/compat .Ve .PP Le paquet nécessitera aussi une version de debhelper dans les dépendances de construction au moins égale au niveau de compatibilité utilisée pour la construction du paquet. Ainsi, si le paquet emploie le niveau 9 de compatibilité, \fIdebian/control\fR devra contenir : .PP .Vb 1 \& Build\-Depends: debhelper (>= 9) .Ve .PP Sauf indication contraire, toute la documentation de debhelper suppose l'utilisation du niveau de compatibilité le plus récent, et, dans la plupart des cas ne précise pas si le comportement est différent avec les niveaux de compatibilité antérieurs. De ce fait, si le niveau de compatibilité le plus récent n'est pas celui utilisé, il est fortement conseillé de lire les indications ci-dessous qui exposent les différences dans les niveaux de compatibilité antérieurs. .PP Les niveaux de compatibilité sont les suivants : .IP "v1" 4 .IX Item "v1" C'est le niveau initial de compatibilité de debhelper d'où son numéro 1. Dans ce mode, debhelper emploiera \fIdebian/tmp\fR comme répertoire de l'arborescence du premier paquet binaire énuméré dans le fichier \fIcontrol\fR et « debian/\fIpaquet\fR » pour tous les autres. .Sp Ce mode est déconseillé. .IP "v2" 4 .IX Item "v2" Dans ce mode, debhelper emploiera uniformément « debian/\fIpaquet\fR » comme répertoire de l'arborescence de chaque paquet construit. .Sp Ce mode est déconseillé. .IP "v3" 4 .IX Item "v3" Ce mode fonctionne comme v2 mais avec les ajouts suivants : .RS 4 .IP "\-" 8 Les fichiers de configuration de debhelper acceptent les jokers \fB*\fR et \fB?\fR lorsque cela a un sens. Pour désactiver cette substitution et utiliser ces caractères tels quels, il suffit de les préfixer avec une barre contre-oblique (backslash). .IP "\-" 8 Les scripts de maintenance du paquet (\fIpostinst\fR et \fIpostrm\fR) feront appel à \fBldconfig\fR quand \fBdh_makeshlibs\fR sera lancé. .IP "\-" 8 Chaque fichier de \fIetc/\fR est automatiquement marqué par \fBdh_installdeb\fR comme un fichier de configuration. .RE .RS 4 .Sp Ce mode est déconseillé. .RE .IP "v4" 4 .IX Item "v4" Les changements par rapport à la version 3 sont : .RS 4 .IP "\-" 8 \&\fBdh_makeshlibs \-V\fR n'inclura pas la partie Debian du numéro de version dans la ligne de dépendance produite dans le fichier shlibs. .IP "\-" 8 Il est fortement conseillé de mettre le nouveau \fB${misc:Depends}\fR dans \&\fIdebian/control\fR pour compléter le champs \fB${shlibs:Depends}\fR. .IP "\-" 8 \&\fBdh_fixperms\fR rendra exécutables tous les fichiers des répertoires \fIbin/\fR et \fIetc/init.d\fR. .IP "\-" 8 \&\fBdh_link\fR corrigera les liens existants pour les rendre conformes à la Charte Debian. .RE .RS 4 .Sp Ce mode est déconseillé. .RE .IP "v5" 4 .IX Item "v5" Les changements par rapport à la version 4 sont : .RS 4 .IP "\-" 8 Les commentaires sont ignorés dans les fichiers de configuration de debhelper. .IP "\-" 8 \&\fBdh_strip \-\-dbg\-package\fR indique maintenant le nom du paquet qui doit recevoir les symboles de mise au point et non plus les paquets d'où proviennent ces symboles. .IP "\-" 8 \&\fBdh_installdocs\fR saute l'installation des fichiers vides. .IP "\-" 8 \&\fBdh_install\fR génère des erreurs si les jokers (wildcards) ne correspondent à rien. .RE .RS 4 .RE .IP "v6" 4 .IX Item "v6" Les changements par rapport à la version 5 sont : .RS 4 .IP "\-" 8 Les commandes qui génèrent des lignes de codes de maintenance les mettront dans l'ordre inverse dans les scripts \fIprerm\fR et \fIpostrm\fR. .IP "\-" 8 \&\fBdh_installwm\fR installera un lien vers une page de manuel esclave pour \&\fIx\-window\-manager.1.gz\fR s'il voit la page de manuel dans le répertoire \&\fIusr/share/man/man1\fR du répertoire de construction du paquet. .IP "\-" 8 \&\fBdh_builddeb\fR, préalablement, ne supprimait pas les associations crées avec \&\fB\s-1DH_ALWAYS_EXCLUDE\s0\fR s'il était configuré sur une liste d'éléments tels que \&\fB\s-1CVS:\s0.svn:.git\fR. Maintenant il le fait. .IP "\-" 8 \&\fBdh_installman\fR permet d'écraser les pages de manuel existantes dans le répertoire de construction du paquet. Préalablement, il refusait en silence de le faire. .RE .RS 4 .RE .IP "v7" 4 .IX Item "v7" Les changements par rapport à la version 6 sont : .RS 4 .IP "\-" 8 \&\fBdh_install\fR cherchera récursivement les fichiers dans \fIdebian/tmp\fR s'il ne les trouve pas dans le répertoire courant (ou dans le répertoire indiqué par \fB\-\-sourcedir\fR). Cela permet à \fBdh_install\fR d'interopérer avec \&\fBdh_auto_install\fR, qui place les fichiers dans \fIdebian/tmp\fR, sans nécessiter de paramètres particuliers. .IP "\-" 8 \&\fBdh_clean\fR lit le répertoire \fIdebian/clean\fR et supprime les fichiers qui y sont mentionnés. .IP "\-" 8 \&\fBdh_clean\fR supprime les fichiers \fI*\-stamp\fR. .IP "\-" 8 \&\fBdh_installchangelogs\fR déterminera à quel fichier correspond le changelog amont si rien n'est indiqué. .RE .RS 4 .RE .IP "v8" 4 .IX Item "v8" Les changements par rapport à la version 7 sont : .RS 4 .IP "\-" 8 Les commandes échoueront plutôt que de produire une alerte lorsqu'elles recevront des options inconnues. .IP "\-" 8 \&\fBdh_makeshlibs\fR va exécuter le programme \fBdpkg-gensymbols\fR sur toutes les bibliothèques partagées qu'il génère pour les fichiers shlibs. \fB\-X\fR peut alors être utilisé pour exclure certaines bibliothèques. En outre, les bibliothèques rangées à des emplacements inhabituels que \fBpkg-gensymbols\fR n'aurait pas traitées avant qu'elles ne lui soient transmises, induisent un changement de comportement qui peut causer l'échec de la construction de certains paquets. .IP "\-" 8 \&\fBdh\fR exige que la séquence à exécuter soit indiquée en tant que premier paramètre. Tous les commutateurs doivent venir après. C'est à dire qu'il faut écrire « \fBdh\fR $@ \-\-toto », et non « \fBdh\fR \-\-toto $@ » .IP "\-" 8 \&\fBdh_auto_*\fR utilise préférentiellement \fBModule::Build\fR de Perl au lieu de \&\fIMakefile.PL\fR. .RE .RS 4 .RE .IP "v9" 4 .IX Item "v9" C'est la version dont l'usage est recommandé. .Sp Les changements par rapport à la version 8 sont : .RS 4 .IP "\-" 8 Prise en charge multiarchitecture. En particulier \fBdh_auto_configure\fR passe les répertoires multiarchitectures à \fBautoconf\fR dans \fB\-\-libdir\fR et \&\fB\-\-libexecdir\fR. .IP "\-" 8 \&\fBdh\fR connaît les dépendances classiques entre les cibles de \&\fIdebian/rules\fR. Donc « \fBdh\fR binary » exécutera toutes les cibles build, build-arch, build-indep, install, etc. présentes dans le fichier \&\fIrules\fR. Il n'est pas nécessaire de définir une cible binary avec des dépendances explicites sur les autres cibles. .IP "\-" 8 \&\fBdh_strip\fR compresse les fichiers de symboles de mise au point pour réduire la taille d'installation des paquets \-dbg. .IP "\-" 8 \&\fBdh_auto_configure\fR n'inclut pas le nom du paquet source dans \&\fB\-\-libexecdir\fR en utilisant \fBautoconf\fR. .IP "\-" 8 \&\fBdh\fR n'active pas \fB\-\-with=python\-support\fR par défaut. .IP "\-" 8 Tous les programmes debhelper \fBdh_auto_\fR\fI*\fR et \fBdh\fR configurent les variables d'environnement renvoyées par \fBdpkg-buildflags\fR, sauf si elles sont déjà configurées. .IP "\-" 8 \&\fBdh_auto_configure\fR passe les \s-1CFLAGS, CPPFLAGS\s0 et \s-1LDFLAGS\s0 de \&\fBdpkg-buildflags\fR à \fIMakefile.PL\fR et \fIBuild.PL\fR de Perl. .IP "\-" 8 \&\fBdh_strip\fR place les symboles de mise au point séparés à un endroit en fonction de leur identifiant de construction (build-id). .IP "\-" 8 Les fichiers de configuration exécutables de debhelper sont exécutés et leur sortie est utilisée comme configuration. .RE .RS 4 .RE .IP "v10" 4 .IX Item "v10" Ce niveau de compatibilité est encore en développement, à utiliser avec précaution. .Sp Les changements par rapport à la version 9 sont : .RS 4 .IP "\-" 8 \&\fBdh_installinit\fR will no longer install a file named debian/\fIpackage\fR as an init script. .IP "\-" 8 \&\fBdh_installdocs\fR will error out if it detects links created with \-\-link\-doc between packages of architecture \*(L"all\*(R" and non\-\*(L"all\*(R" as it breaks binNMUs. .IP "\-" 8 \&\fBdh\fR no longer creates the package build directory when skipping running debhelper commands. This will not affect packages that only build with debhelper commands, but it may expose bugs in commands not included in debhelper. .RE .RS 4 .RE .SH "REMARQUES" .IX Header "REMARQUES" .SS "Prise en charge de plusieurs paquets binaires" .IX Subsection "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 \fIdebian/rules\fR, et les paquets indépendants de l'architecture dans « binary-indep ». .PP To facilitate this, as well as give you more control over which packages are acted on by debhelper programs, all debhelper programs accept the \fB\-a\fR, \&\fB\-i\fR, \fB\-p\fR, and \fB\-s\fR parameters. These parameters are cumulative. If none are given, debhelper programs default to acting on all packages listed in the control file, with the exceptions below. .PP First, any package whose \fBArchitecture\fR field in \fBdebian/control\fR does not match the build architecture will be excluded (\*(L"Debian Policy, section 5.6.8\*(R"). .PP Also, some additional packages may be excluded based on the contents of the \&\fB\s-1DEB_BUILD_PROFILES\s0\fR environment variable and \fBBuild-Profiles\fR fields in binary package stanzas in \fBdebian/control\fR, according to the draft policy at . .SS "Génération automatique des scripts Debian de maintenance du paquet" .IX Subsection "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 \fB#DEBHELPER#\fR à l'endroit où les lignes de code générées devront être insérées. \fB#DEBHELPER#\fR sera remplacé, par les lignes de code générées automatiquement, lors de l'exécution de \fBdh_installdeb\fR. .PP 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. .PP 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). .PP 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 \f(CW$1\fR, \f(CW$2\fR, etc. sont bien définis par la commande set.) : .PP .Vb 5 \& my $temp="set \-e\enset \-\- @ARGV\en" . << \*(AqEOF\*(Aq; \& #DEBHELPER# \& EOF \& system ($temp) / 256 == 0 \& or die "Problème avec le script de S $!"; .Ve .SS "Génération automatique des diverses dépendances." .IX Subsection "Génération automatique des diverses dépendances." Certaines commandes de debhelper peuvent nécessiter des dépendances entre le paquet construit et d'autres paquets. Par exemple, si \&\fIdh_installdebconf\fR\|(1) est employé, le paquet devra dépendre de debconf. Si \&\fIdh_installxfonts\fR\|(1) est employé, le paquet deviendra dépendant d'une version particulière de xutils. Maintenir ces dépendances induites peut être pénible puisqu'elles découlent de la façon dont debhelper travaille. C'est pourquoi debhelper offre une solution d'automatisation. .PP Toutes les commandes de ce type, outre qu'elles documentent, dans leur page de manuel, les dépendances qu'elle induisent, généreront automatiquement une variable de substitution nommée \fB${misc:depends}\fR. Si cette variable est exploitée dans le dossier \fIdebian/control\fR, il sera automatiquement enrichi des dépendances induites par debhelper. .PP Ce processus est entièrement indépendant de \fB${shlibs:Depends}\fR standard, produite par \fIdh_makeshlibs\fR\|(1), et de \fB${perl:Depends}\fR produite par \&\fIdh_perl\fR\|(1). Il est également possible de choisir de ne pas les utiliser si les conjectures de debhelper ne correspondent pas à la réalité. .SS "Répertoires de construction du paquet" .IX Subsection "Répertoires de construction du paquet" Par défaut, tous les programmes de debhelper supposent que le répertoire temporaire utilisé pour construire l'arborescence des fichiers d'un paquet est debian/\fIpaquet\fR. .PP Parfois, il peut être souhaitable d'utiliser un autre répertoire temporaire. C'est obtenu grâce à l'attribut \fB\-P\fR. Par exemple, \&\fBdh_installdocs \-Pdebian/tmp\fR utilisera \fBdebian/tmp\fR comme répertoire temporaire. Nota : L'usage de \fB\-P\fR implique que les programmes de debhelper ne construisent qu'un seul paquet à la fois. De ce fait, si le paquet source génère plusieurs paquets binaires, il faudra employer également le paramètre \&\fB\-p\fR pour préciser l'unique paquet binaire à construire. .SS "udebs" .IX Subsection "udebs" Debhelper prend en charge la construction des udebs. Pour créer un udeb avec debhelper, il faut ajouter « \fBPackage-Type:\fR udeb » aux lignes de paquet dans \fIdebian/control\fR. Debhelper essayera de construire des udebs, conformément aux règles de l'installateur Debian, en suffixant les fichiers de paquets générés avec \fI.udeb\fR, en n'installant aucune documentation dans un udeb, en omettant les scripts \fIpreinst\fR, \fIpostrm\fR, \fIprerm\fR et \&\fIconfig\fR, etc. .SH "VARIABLES D'ENVIRONNEMENT" .IX Header "VARIABLES D'ENVIRONNEMENT" .IP "\fB\s-1DH_VERBOSE\s0\fR" 4 .IX Item "DH_VERBOSE" Set to \fB1\fR to enable verbose mode. Debhelper will output every command it runs. Also enables verbose build logs for some build systems like autoconf. .IP "\fB\s-1DH_COMPAT\s0\fR" 4 .IX Item "DH_COMPAT" Indique temporairement le niveau de compatibilité auquel debhelper doit fonctionner. Cette valeur supplante la valeur précisée dans \&\fIdebian/compat\fR. .IP "\fB\s-1DH_NO_ACT\s0\fR" 4 .IX Item "DH_NO_ACT" Mettre cette variable à \fB1\fR pour activer le mode simulation (no-act). .IP "\fB\s-1DH_OPTIONS\s0\fR" 4 .IX Item "DH_OPTIONS" Tout ce qui est indiqué dans cette variable sera passé en argument à toutes les commandes debhelper. .Sp En utilisant \fIdh\fR\|(1), des options peuvent être passées à chaque commande debhelper, ce qui est généralement mieux que d'utiliser \fB\s-1DH_OPTIONS\s0\fR. .IP "\fB\s-1DH_ALWAYS_EXCLUDE\s0\fR" 4 .IX Item "DH_ALWAYS_EXCLUDE" Si cette variable possède une valeur, elle sera ajoutée à l'option \fB\-X\fR de toutes les commandes qui admettent cette option. De plus, \fBdh_builddeb\fR fera un \fBrm \-rf\fR quelque chose, correspondant à la valeur dans l'arbre de construction de paquet. .Sp Cela peut être utile pour construire un paquet à partir d'une arborescence \&\s-1CVS.\s0 Dans ce cas, le réglage de \fBDH_ALWAYS_EXCLUDE=CVS\fR empêchera les répertoires \s-1CVS\s0 d'interférer subrepticement dans le paquet en construction. Ou, si un paquet possède une source compressée, (maladroitement) présente dans un répertoire \s-1CVS,\s0 il peut être utile d'exporter \fBDH_ALWAYS_EXCLUDE=CVS\fR dans \fIdebian/rules\fR, pour que cette variable soit prise en compte quel que soit l'endroit où le paquet est construit. .Sp Des exclusions multiples peuvent être séparées avec des caractères deux points, comme dans \fIDH_ALWAYS_EXCLUDE=CVS:.svn\fR. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" .IP "\fI/usr/share/doc/debhelper/examples/\fR" 4 .IX Item "/usr/share/doc/debhelper/examples/" Un ensemble d'exemples de fichiers \fIdebian/rules\fR qui utilisent debhelper. .IP "" 4 .IX Item "" Le site internet de debhelper. .SH "AUTEUR" .IX Header "AUTEUR" Joey Hess .SH "TRADUCTION" .IX Header "TRADUCTION" Valéry Perrin le 17 septembre 2005. Dernière mise à jour le 3 avril 2011. .PP L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. .PP 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. .PP La version originale anglaise de ce document est toujours consultable via la commande man \-L en nom_du_man. .PP N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.