Provided by:
devscripts_2.9.10_i386 
NOM
debuild - construit un paquet Debian
SYNOPSIS
debuild [options_debuild] [options_dpkg-buildpackage] [--lintian-opts
options_lintian] [--linda-opts options_linda]
debuild [options_debuild] binary|binary-arch|binary-indep|clean ...
DESCRIPTION
debuild crée tous les fichiers nécessaires pour télécharger un paquet
vers l’archive Debian. Il exécute dans un premier temps
dpkg-buildpackage, puis lintian et/ou linda avec le fichier .changes
créé (en supposant que lintian et/ou linda sont installés), enfin il
signe les fichiers .changes et/ou .dsc appropriés (en utilisant
debsign(1) plutôt que dpkg-buildpackage(1) ; toutes les options
relatives à la signature lui sont passées). Des paramètres peuvent être
fournis à dpkg-buildpackage, lintian et linda, en utilisant
respectivement les options --lintian-opts et --linda-opts pour ces deux
derniers. Les options --lintian et --no-lintian permettent de forcer ou
d’empêcher l’exécution de lintian, tout comme les options --linda et
--no-linda pour linda. Par défaut, lintian est exécuté, mais pas linda.
Il y a également d’autres options permettant de positionner ou
conserver des variables d’environnement, comme décrit dans la section
« VARIABLES D’ENVIRONNEMENT ». Cette façon d’exécuter debuild permet
également d’obtenir un journal de la construction du paquet dans
../<paquet>_<version>_<arch>.build.
Une autre façon d’utiliser debuild est d’utiliser un (ou plus) des
paramètres binary, binary-arch, binary-indep et clean. Dans ce cas,
debuild cherchera à obtenir les privilèges root et à exécuter
debian/rules avec ce(s) paramètres(s). Les options
-rootcmd=commande_pour_devenir_root ou -rcommande_pour_devenir_root
peuvent être utilisées. La commande_pour_devenir_root est en règle
générale une de celles-ci : fakeroot, sudo ou super. Voyez ci-dessous
pour une discussion plus approfondie sur ce point. Encore une fois, les
options permettant de préserver l’environnement peuvent être utilisées.
Dans ce cas, debuild cherchera également à exécuter dans un premier
temps dpkg-checkbuilddeps ; ceci peut être explicitement demandé ou
empêché avec les options -D et -d, respectivement. Notez également que
si une de ces options ou si l’option -r est spécifiée dans la variable
DEBUILD_DPKG_BUILDPACKAGE_OPTS du fichier de configuration, elle sera
reconnue, même avec cette façon d’exécuter debuild.
debuild lit aussi les fichiers de configuration de devscripts décrits
ci-dessous. Ceci permet de fournir des options à utiliser par défaut.
Vérification du nom du répertoire
Comme certains autres scripts du paquet devscripts, debuild parcourt
une arborescence de répertoires jusqu’à ce qu’il trouve un fichier
debian/changelog avnt de construire le paquet. Pour éviter les
problèmes posés par les fichiers égarés, il examine le nom du
répertoire parent une fois qu’il a trouvé le fichier debian/changelog,
et vérifie que le nom du répertoire correspond au nom du paquet La
façon précise utilisée est contrôlée par les deux variables du fichier
de configuration DEVSCRIPTS_CHECK_DIRNAME_LEVEL et
DEVSCRIPTS_CHECK_DIRNAME_REGEX, et les options en ligne de commande
associées --check-dirname-level et --check-dirname-regex.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL peut prendre les valeurs suivantes :
0 Ne vérifie jamais le nom du répertoire.
1 Ne vérifie le nom du répertoire que s’il a fallu changer de
répertoire pour trouver le fichier debian/changelog. C’est le
comportement par défaut.
2 Vérifie toujours le nom du répertoire.
Le nom du répertoire est vérifié en testant si le nom du répertoire
courant (donné par pwd(1)) correspond à l’expression rationnelle donnée
par la variable DEVSCRIPTS_CHECK_DIRNAME_REGEX du fichier de
configuration ou par l’option --check-dirname-regex regex. Il s’agit
d’une expression rationnelle Perl (voir perlre(1)), qui sera ancrée Ã
son début et sa fin. Si elle contient un « / », alors elle doit
correspondre au chemin complet. Si elle contient la chaîne « PACKAGE »,
cette chaîne sera remplacée par le nom du paquet source déterminé par
le fichier changelog. La valeur par défaut de cette expression
rationnelle est « PACKAGE(-.*)? », ce qui correspond aux répertoires
nommés PACKAGE ou PACKAGE-version.
VARIABLES Dâ€â€™ENVIRONNEMENT
Comme les variables d’environnement peuvent affecter la construction
d’un paquet, souvent de façon non volontaire, debuild nettoie
l’environnement en enlevant toutes les variables d’environnement, Ã
l’exception de TERM, HOME, LOGNAME, GNUPGHOME, PGPPATH, GPG_AGENT_INFO,
FAKEROOTKEY, DEB_* et les paramètres régionaux LANG et LC_*. la
variable TERM est positionnée à « dumb », si elle n’est pas
positionnée, et PATH est positionnée Ã
« /usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11 ».
Si une variable d’environnement ne doit pas être modifiée pour la
construction d’un paquet, il est possible d’utiliser --preserve-envvar
var (ou -e var). L’environnement peut aussi ne pas être modifié en
utilisant l’option --preserve-env. Cependant, même dans ce cas le PATH
est remis à la valeur précisée ci-dessus. Le seul moyen d’empêcher le
PATH d’être remis à zéro est d’utiliser une option --preserve-envvar
PATH. Mais soyez conscient qu’utiliser des programmes d’un emplacement
non standard peut facilement résulter en un paquet cassé, puisqu’il ne
sera pas possible de la construire sur des systèmes standard.
Il est également possible d’éviter d’avoir à écrire quelque chose comme
TOTO=titi debuild -e TOTO en écrivant debuild -e TOTO=titi ou la forme
longue debuild --set-envvar TOTO=titi.
ACQUISITION DES PRIVILÈGES DU SUPERUTILISATEUR
debuild doit être exécuté en tant que superutilisateur pour fonctionner
correctement. Il y a trois façons fondamentalement différentes de faire
cela. La première, et celle qui est conseillée, est d’utiliser une
commande permettant de devenir root. La meilleur d’entre elles est
probablement fakeroot(1), puisqu’elle ne nécessite pas d’accorder
véritablement de privilèges. super(1) et sudo(1) sont d’autres
possibilités. Si aucune option -r (ou --rootcmd) n’est donnée
(rappelez-vous que dpkg-buildpackage accepte également une option -r)
et qu’aucune des méthodes suivantes n’est utilisée, alors -rfakeroot
sera supposé.
La deuxième méthode est d’utiliser une commande comme su(1) pour
devenir root, et ensuite de réaliser toutes les opérations en tant que
root. Notez cependant que lintian s’arrêtera s’il est exécuté en tant
que root ou setuid root ; ceci peut être contourné en utilisant
l’option --allow-root de lintian si vous êtes sûr de vous.
La troisième méthode consiste à installer debuild setuid root. Ce n’est
pas la méthode par défaut, et nécessitera l’installation en tant que
tel par l’administrateur système. Il faut aussi être conscient que
toute personne pouvant exécuter debuild en tant que root ou setuid root
a un accès complet au système. Cette méthode n’est pas recommandée,
mais fonctionnera. debuild peut être installé avec les permissions
4754, de façon à ce que seul les membres de son groupe puissent
l’exécuter. L’inconvénient de cette méthode est que les autres
utilisateurs ne pourront plus alors utiliser ce programme. D’autres
variantes consistent à avoir plusieurs copies de debuild ou d’utiliser
des programmes comme sudo ou super pour autoriser sélectivement des
privilèges root à certains utilisateurs. Si l’administrateur veut
utiliser cette méthode, il devra utiliser le programme
dpkg-statoverride pour modifier les permissions de /usr/bin/debuild.
Ceci permettra de conserver les permissions après les mises à jour.
OPTIONS
Pour plus de détails, voir ci-dessus.
--no-conf, --noconf
Ne lit aucun fichier de configuration. L’option ne peut être
utilisée qu’en première position de la ligne de commande.
--rootcmd=commande-pour-devenir-root, -rcommande-pour-devenir-root
Commande pour obtenir (ou simuler) les privilèges root.
--preserve-env
Ne nettoie pas l’environnement, à l’exception du PATH.
--preserve-envvar=var, -evar
Ne nettoie pas la variable d’environnement var.
--set-envvar=var=valeur, -evar=valeur
Positionne la variable d’environnement var à valeur et ne
l’enlève pas de l’environnement.
--lintian
Exécute lintian après dpkg-buildpackage. C’est le comportement
par défaut. Cette option permet de remplacer une directive
contraire placée dans un fichier de configuration.
--no-lintian
N’exécute pas lintian après dpkg-buildpackage.
--linda
Exécute linda après dpkg-buildpackage.
--no-linda
N’exécute pas linda après dpkg-buildpackage, ce qui est le
comportement par défaut.
--check-dirname-level N
Veuillez consulter la section « Vérification du nom du
répertoire » pour une explication de cette option.
--check-dirname-regex regex
Veuillez consulter la section « Vérification du nom du
répertoire » pour une explication de cette option.
-d N’exécute pas dpkg-checkbuilddeps pour vérifier les dépendances
de construction du paquet (« build dependencies »).
-D Exécute dpkg-checkbuilddeps pour vérifier les dépendances de
construction.
VARIABLES DE CONFIGURATION
Les deux fichiers de configuration /etc/devscripts.conf et
~/.devscripts sont évalués dans cet ordre par un interpréteur de
commande (« shell ») pour placer les variables de configuration. Des
options de ligne de commande peuvent être utilisées pour neutraliser
les paramètres des fichiers de configuration. Les paramètres des
variables d’environnement sont ignorés à cette fin. Si la première
option donnée en ligne de commande est --noconf, alors ces fichiers ne
sont pas évalués. Les variables actuellement identifiées sont :
DEBUILD_PRESERVE_ENV
Si elle est positionnée à yes, alors c’est comme si l’option
--preserve-env était utilisée.
DEBUILD_PRESERVE_ENVVARS
Définie les variables d’environnement à conserver. Elle est
constituée d’une liste de variables d’environnement séparées par
des virgules. Ceci correspond à utiliser plusieurs fois les
options --preserve-envvar ou -e.
DEBUILD_SET_ENVVAR_var=valeur
Équivaut à utiliser --set-envvar=var=value.
DEBUILD_ROOTCMD
Positionner cette variable à prog équivaut à utiliser -rprog.
DEBUILD_DPKG_BUILDPACKAGE_OPTS
Voici les options qui devraient être passées à l’invocation de
dpkg-buildpackage. Elles sont données avant toute option en
ligne de commande. À cause des problèmes de guillemets avec les
interpréteurs de commandes, pour les paramètres contenant un
espace, il sera nécessaire d’ajouter des guillemets
supplémentaires. Par exemple, le fichier de configuration pourra
contenir :
DEBUILD_DPKG_BUILDPACKAGE_OPTS="-k’Julian Gilbey <jdg@debian.org>’ -sa"
ce qui fournit exactement deux options. Sans les guillemets
supplémentaires, dpkg-buildpackage se serait plaint (à juste
titre) que Gilbey n’est pas une option reconnue (elle ne
commence pas par un signe « - »).
Également, si ce paramètre contient une (ou plusieurs) des
options -r, -d ou -D, elle sera toujours prise en compte par
debuild. Notez que l’option -r placée ici écrasera le paramètre
DEBUILD_ROOTCMD.
DEBUILD_LINTIAN
Si elle est positionnée à no, alors lintian ne sera pas exécuté.
DEBUILD_LINTIAN_OPTS
Ce sont les options qui doivent être passées lors de
l’invocation de lintian. Elles sont données avant toute option
en ligne de commande, et l’utilisation de cette option est la
même que celle décrite pour la variable
DEBUILD_DPKG_BUILDPACKAGE_OPTS.
DEBUILD_LINDA
Si elle est positionnée à yes, alors linda sera exécuté.
DEBUILD_LINDA_OPTS
Ce sont les options qui doivent être passées lors de
l’invocation de linda. Elles sont données avant toute option en
ligne de commande, et l’utilisation de cette option est la même
que celle décrite pour la variable
DEBUILD_DPKG_BUILDPACKAGE_OPTS.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL, DEVSCRIPTS_CHECK_DIRNAME_REGEX
Veuillez consulter la section « Vérification du nom du
répertoire » ci-dessus pour une explication de ces variables.
Notez que ce sont des variables de configuration pour tous les
outils du paquet devscripts ; elles impacteront tous les scripts
qui les utilisent, comme indiqué dans leurs pages de manuel
respectives et dans devscripts.conf(5).
VOIR AUSSI
dpkg-buildpackage(1), dpkg-checkbuilddeps(1), debsign(1), fakeroot(1),
lintian(1), linda(1), chmod(1), dpkg-statoverride(8), su(1), sudo(1),
super(1) et devscripts.conf(5).
AUTEUR
Le programme debuild a été écrit par Christoph Lameter
<clameter@debian.org>. La version actuelle a été écrite par Julian
Gilbey <jdg@debian.org>.
TRADUCTION
Ce document est une traduction, réalisée par Nicolas FRANÇOIS le 21
janvier 2005.
L’équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité.
La version anglaise la plus à jour de ce document est toujours
consultable en ajoutant l’option « -L C » à la commande man.
N’hésitez pas à signaler à l’auteur ou à la liste de traduction
<debian-l10-french@lists.debian.org>, selon le cas, toute erreur dans
cette page de manuel.