Provided by: devscripts_2.16.2ubuntu3_amd64 bug

NOM

       debuild - Construire un paquet Debian

SYNOPSIS

       debuild [options_debuild] [options_dpkg-buildpackage] [--lintian-opts options_lintian]
       debuild [options_debuild] binary|binary-arch|binary-indep|clean ...

DESCRIPTION

       debuild  crée  tous les fichiers nécessaires pour envoyer un paquet à l'archive Debian. Il
       exécute dans un premier temps dpkg-buildpackage, puis lintian  avec  le  fichier  .changes
       créé  (en  supposant que lintian est installé), 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 et lintian, en utilisant les paramètres de l'option --lintian-opts  pour
       ce  dernier.  Les  options  --lintian  et  --no-lintian permettent de forcer ou d'empêcher
       l'exécution de lintian. Par défaut, lintian est exécuté. Il y a également d'autres options
       permettant  de  définir  ou  conserver des variables d'environnement, comme décrit dans la
       section VARIABLES  D'ENVIRONNEMENT  ci-dessous.  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 droits du
       superutilisateur  et  à  exécuter  debian/rules  avec  ce(s)  paramètre(s).  Les   options
       --rootcmd=commande_pour_devenir_superutilisateur                                        ou
       -rcommande_pour_devenir_superutilisateur      peuvent       être       utilisées.       La
       commande_pour_devenir_superutilisateur  est en règle générale une de celles-ci : fakeroot,
       sudo ou super. Lisez 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 ;
       cela peut être explicitement demandé ou empêché avec les options -D et -d, respectivement.
       Remarquez également que si une de ces options ou si  l'option  -r  est  indiqué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.  Cela
       permet de fournir des options à utiliser par défaut.

Vérification du nom du répertoire

       Comme  plusieurs autres scripts du paquet devscripts, debuild parcourt une arborescence de
       répertoires jusqu'à trouver un fichier debian/changelog avant  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 le fichier debian/changelog trouvé, 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 jamais vérifier le nom du répertoire.

       1      Ne vérifier 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      Toujours vérifier le nom du répertoire.

       Le  nom  du  répertoire  est  vérifié en testant si le nom du répertoire actuel (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

       As  environment  variables  can  affect  the building of a package, often unintentionally,
       debuild sanitises the environment by removing all environment variables except  for  TERM,
       HOME,  LOGNAME, GNUPGHOME, PGPPATH, GPG_AGENT_INFO, DBUS_SESSION_BUS_ADDRESS, FAKEROOTKEY,
       DEB_*, the (C, CPP, CXX, LD and F)FLAGS variables and their _APPEND counterparts  and  the
       locale  variables  LANG and LC_*. TERM is set to `dumb' if it is unset, and PATH is set to
       "/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 être préservé 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 le construire sur des systèmes standards.

       Remarquez que des répertoire peuvent être ajoutés au début de la variable  d'environnement
       PATH  en  utilisant l'option --prepend-path. C'est utile quand on veut utiliser des outils
       comme ccache ou distcc pour la construction d'un paquet.

       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.

OBTENTION DES DROITS 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  superutilisateur.  La
       meilleure  d'entre  elles  est  probablement  fakeroot(1),  puisqu'elle  ne  nécessite pas
       d'accorder véritablement de droits. 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 implicitement considérée.

       La deuxième méthode est d'utiliser une commande comme su(1) pour devenir superutilisateur,
       et ensuite de réaliser toutes les  opérations  en  tant  que  superutilisateur.  Remarquez
       cependant  que  lintian s'arrêtera s'il est exécuté en tant que superutilisateur ou setuid
       root ; cela 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
       superutilisateur 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 seuls 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  accorder  sélectivement  des  droits  du
       superutilisateur à 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. Cela permettra de conserver les permissions après les mises à jour.

POINTS D'ACCROCHE

       debuild  gère  un  certain  nombre  de  points  d'accroche  (« hook »)  quand  il  exécute
       dpkg-buildpackage.  Remarquez  que  si  un  des  points  d'accroche  entre  clean-hook  et
       final-hook  (inclus)  est  utilisé,  debuild  émulera  certaines  sections  du   processus
       dpkg-buildpackage  plutôt  que  de les exécuter directement, puisque dpkg-buildpackage n'a
       pas de point d'accroche. Les points d'accroche disponibles sont les suivants :

       dpkg-buildpackage-hook
              S'exécute avant le début de dpkg-buildpackage en appelant dpkg-checkbuilddeps.

       clean-hook
              S'exécute avant que dpkg-buildpackage lance la règle clean du fichier  debian/rules
              pour nettoyer le source. (S'exécute même si le source n'est pas nettoyé car -nc est
              utilisée.)

       dpkg-source-hook
              S'exécute après  le  nettoyage  du  source  et  avant  l'exécution  de  dpkg-source
              (s'exécute même si dpkg-source n'est pas appelé car -b, -B, ou -A est utilisée).

       dpkg-build-hook
              S'exécute  après  dpkg-source  et  avant  l'appel  de  la  règle  build  du fichier
              debian/rules (s'exécute même si ce n'est qu'une construction du paquet source, donc
              que la règle build du fichier debian/rules n'est pas appelée).

       dpkg-binary-hook
              S'exécute   entre   les  appels  aux  règles  build  et  binary(-arch)  du  fichier
              debian/rules. Ne s'exécute que si un paquet binaire est construit.

       dpkg-genchanges-hook
              S'exécute  seulement  après  la  construction  du  paquet  et   avant   l'appel   à
              dpkg-genchanges.

       final-clean-hook
              S'exécute  après dpkg-genchanges et avant l'appel final à la règle clean du fichier
              debian/rules (s'exécute même si le source n'est pas nettoyé après la  construction,
              ce qui est le comportement par défaut).

       lintian-hook
              S'exécute  (une  fois)  avant  l'appel  à  lintian  (s'exécute même si aucun de ces
              programmes n'est appelé).

       signing-hook
              S'exécute seulement après l'appel à lintian et avant la signature  (s'exécute  même
              si rien n'est signé).

       post-dpkg-buildpackage-hook
              S'exécute quand tout est fini.

       Une  commande de point d'accroche peut être définie soit dans le fichier de configuration,
       par exemple avec DEBUILD_SIGNING_HOOK='toto' (notez que les tirets  ont  été  modifiés  en
       caractères  de soulignement), ou avec l'option en ligne de commande --signing-hook-foo. La
       commande sera en partie modifiée : %% deviendra un signe % simple, %p sera remplacé par le
       nom  du  paquet,  %v  par  le  numéro de version du paquet, %s par le numéro de version du
       source et %u par le numéro de version amont. Ni %s ni %u ne  contiendra  de  temps  absolu
       (« epoch »). %a sera 1 si l'action suivante doit être effectuée et 0 dans le cas contraire
       (par exemple, dans le crochet dpkg-source, %a sera 1 si dpkg-source doit être lancé  et  0
       sinon).  Elle  sera  alors passée à l'interpréteur de commandes pour être traitée, et peut
       donc inclure des redirections ou des choses du genre. Par exemple, pour ne lancer  que  le
       crochet  dpkg-source si dpkg-source doit être exécutée, le crochet peut ressemble à ceci :
       « if [ %a -eq 1 ]; then ...; fi ».

       Soyez prudent avec les points d'accroche, puisqu'une mauvaise utilisation peut empêcher le
       paquet  de  se  compiler  depuis  le  source.  Ils  peuvent  être  utiles pour prendre des
       instantanés, etc.

       Enfin, seuls dpkg-buildpackage-hook et les points d'accroche  avant  lintian-hook  peuvent
       être  utilisés si dpkg-cross est installé (cela est dû au fait que debuild réimplémente en
       interne  dpkg-buildpackage,  mais  n'essaie  pas  de  réimplémenter  le  remplacement   de
       dpkg-cross pour ce script).

OPTIONS

       Plus de précisions sont fournies ci-après.

       --no-conf, --noconf
              Ne  lire  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-superutilisateur, -rcommande-pour-devenir-superutilisateur
              Commande pour obtenir (ou simuler) les droits du superutilisateur.

       --preserve-env
              Ne pas nettoyer l'environnement, à l'exception du PATH.

       --preserve-envvar=var, -evar
              Ne pas nettoyer la variable d'environnement var.

              Si var se termine par un astérisque (« * ») alors toutes les variables qui ont  une
              correspondance avec la portion de var avant l'astérisque seront préservées.

       --set-envvar=var=valeur, -evar=valeur
              Définir   la   variable  d'environnement  var  à  valeur  et  ne  l'enlève  pas  de
              l'environnement.

       --prepend-path=valeur
              Une fois que PATH a été normalisé, ajouter valeur au début.

       --lintian
              Exécuter 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
              Ne pas exécuter lintian après dpkg-buildpackage.

       --no-tgz-check
              Même si dpkg-buildpackage est exécuté et que  le  numéro  de  version  possède  une
              révision  pour  Debian, ne pas vérifier si le fichier .orig.tar.gz ou le répertoire
              .orig existe avant de démarrer la construction.

       --tgz-check
              Si dpkg-buildpackage est exécuté et que le numéro de version possède  une  révision
              pour  Debian,  vérifier  si  le  fichier .orig.tar.gz ou le répertoire .orig existe
              avant de démarrer la construction. C'est le comportement par défaut.

       --username nom_utilisateur
              Pour les signatures, utiliser debrsign plutôt que debsign. nom_utilisateur  indique
              l'identifiant à utiliser.

       --toto-hook=accroche
              Définir  un  point d'accroche comme décrit ci-dessus. Si accroche est laissé blanc,
              le point d'accroche est annulé.

       --clear-hooks
              Supprimer tous les points d'accroche. Ils peuvent être réinstaurés par des  options
              ultérieures en ligne de commande.

       --check-dirname-level N
              Veuillez  consulter la section Vérification du nom du répertoire ci-dessus pour une
              explication de cette option.

       --check-dirname-regex regex
              Veuillez consulter la section Vérification du nom du répertoire ci-dessus pour  une
              explication de cette option.

       -d     Ne  pas  exécuter dpkg-checkbuilddeps pour vérifier les dépendances de construction
              du paquet (« build dependencies »).

       -D     Exécuter 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  commandes  (« 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
              Lui attribuer la valeur yes équivaut à utiliser l'option --preserve-env.

       DEBUILD_PRESERVE_ENVVARS
              Définit  les variables d'environnement à conserver. Elle est constituée d'une liste
              de variables d'environnement séparées par des virgules. Cela correspond à  utiliser
              plusieurs fois les options --preserve-envvar ou -e.

       DEBUILD_SET_ENVVAR_var=valeur
              Équivaut à utiliser --set-envvar=var=value.

       DEBUILD_PREPEND_PATH
              Équivaut à utiliser --prepend-path.

       DEBUILD_ROOTCMD
              Lui attribuer la valeur prog équivaut à utiliser -rprog.

       DEBUILD_TGZ_CHECK
              Lui  attribuer la valeur no équivaut à utiliser l'option --no-tgz-check en ligne de
              commande.

       DEBUILD_SIGNING_USERNAME
              Définir cette  variable  équivaut  à  utiliser  l'option  --username  en  ligne  de
              commande.

       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,
              pour  forcer  à  toujours  utiliser  votre clef GPG, même pour les envois parrainés
              (« sponsored upload »), 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. Remarquez que l'option -r placée
              ici écrasera le paramètre DEBUILD_ROOTCMD.

       DEBUILD_TOTO_HOOK
              La variable de point d'accroche pour le point d'accroche toto. Voyez la section sur
              les points d'accroche pour plus de détails. Par défaut, elle est non définie.

       DEBUILD_LINTIAN
              Lui attribuer la valeur no empêchera l'exécution de lintian.

       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.

       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. Remarquez 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).

EXEMPLES

       Pour construire votre propre paquet, lancez simplement debuild depuis l'arbre des sources.
       Des options de dpkg-buildpackage(1) peuvent être passées en ligne de commande.

       La  ligne de commande typiquement utilisée pour construire le(s) paquet(s) binaire(s) sans
       signer le fichier .changes (ou le fichier .dsc inexistant) est :

              debuild -i -us -uc -b

       Changez -b en -S pour ne construire qu'un paquet source.

       Voici un exemple appelant lintian (et lui  fournissant  des  options)  pour  vérifier  les
       paquets créés :

              debuild --lintian-opts -i

       Remarquez  bien  l'ordre  des  options :  d'abord  les  options de debuild, puis celles de
       dpkg-buildpackage et enfin celles de lintian (lintian est  appelé  par  défaut).  Si  vous
       utilisez  toujours  les  mêmes options de dpkg-buildpackage, vous pouvez utiliser l'option
       DEBUILD_DPKG_BUILDPACKAGE_OPTS du fichier de configuration, comme décrit plus haut.

       Pour construire un paquet  pour  un  envoi  parrainé  (« sponsored  upload »),  donné  par
       toto_1.0-1.dsc  et  les fichiers source respectifs, lancez quelque chose qui ressemblerait
       aux commandes suivantes :

              dpkg-source -x toto_1.0-1.dsc
              cd toto-1.0
              debuild -k0x12345678

       où 0x12345678 est remplacé par l'identifiant de votre clef GPG ou un autre identifiant  de
       clef  tel  que  votre  adresse  de  messagerie. De nouveau, vous pouvez également utiliser
       l'option du fichier de configuration DEBUILD_DPKG_BUILDPACKAGE_OPTS tel que  c'est  décrit
       plus  haut  pour  éviter  d'avoir  à taper l'option -k à chaque fois que vous effectuez un
       envoi parrainé.

VOIR AUSSI

       chmod(1),   debsign(1),   dpkg-buildpackage(1),    dpkg-checkbuilddeps(1),    fakeroot(1),
       lintian(1), su(1), sudo(1), super(1), devscripts.conf(5), dpkg-statoverride(8)

AUTEUR

       Le programme debuild a été initialement é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,   maintenue   à    l'aide    de    l'outil    po4a
       <https://po4a.alioth.debian.org/> par l'équipe de traduction francophone du projet Debian.

       Nicolas  François, Guillaume Delacour, Cyril Brulebois, Thomas Huriaux et David Prévot ont
       réalisé cette traduction.

       L'équipe de traduction a fait  le  maximum  pour  réaliser  une  adaptation  française  de
       qualité.    Veuillez    signaler    toute    erreur    de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet devscripts.

       La version anglaise la plus à jour de ce document est  toujours  consultable  en  ajoutant
       l'option « -L C » à la commande man.