Provided by: devscripts_2.23.6_all bug

NOM

       cowpoke - Construire un paquet source Debian dans une instance de cowbuilder distante

SYNOPSIS

       cowpoke [options] paquet.dsc

DESCRIPTION

       Envoyer  un  paquet  source Debian à un hôte cowbuilder et construire le paquet. Le paquet
       résultant peut également être signé et envoyé dans une file d'attente.

OPTIONS

       Les options suivantes sont disponibles :

       --arch=architecture
              Indiquer la ou les  architectures  Debian  pour  lesquelles  le  paquet  doit  être
              construit.  Une  liste  d'architectures séparées par des espaces peut être utilisée
              pour construire le paquet pour toutes ces architectures en  une  seule  passe.  Les
              noms  d'architecture  supportés  sont  ceux  renvoyés par dpkg-architecture(1) pour
              DEB_BUILD_ARCH.

       --dist=distribution
              Indiquer la ou les  distributions  Debian  pour  lesquelles  le  paquet  doit  être
              construit.  Une  liste de distributions séparées par des espaces peut être utilisée
              pour construire le paquet pour toutes ces distributions en  une  seule  passe.  Des
              noms  de code (comme sid ou squeeze) ou des noms de distribution (comme unstable ou
              experimental) peuvent être utilisés, mais vous devriez toujours utiliser un type de
              noms  ou l'autre parce que c'est ce nom qui est utilisé pour les chemins de fichier
              et pour trouver les anciens paquets utilisés pour les rapports de comparaison.

              Utiliser des noms définis localement  est  maintenant  aussi  possible  avec  cette
              option,  quand elle est utilisée conjointement à l’option BASE_DIST dans un fichier
              de configuration. Cela  permet  la  maintenance  et  l’utilisation  de  chroots  de
              construction  configurés  spécialement, afin par exemple de fournir les dépendances
              de paquet des archives de rétroportages ou d’un dépôt  local,  ou  de  définir  des
              options de configuration non habituelles, sans polluer les chroots propres utilisés
              pour les constructions de paquet à destination des dépôts principaux. Consultez  la
              description de BASE_DIST ci-dessous.

       --buildd=hôte
              Indiquer l'hôte distant sur lequel se fera la construction.

       --buildd-user=nom
              Indiquer l'utilisateur distant à utiliser pour la construction.

       --create
              Créer  la  racine  cowbuilder distante si elle n'existe pas encore. Si cette option
              n'est pas fournie, une  distribution  ou  architecture  (indiquées  par  --dist  ou
              --arch) qui n'aurait pas de racine cowbuilder sera considérée comme une erreur.

              L’utilisateur indiqué par --buildd-user doit avoir le droit de créer RESULT_DIR sur
              l’hôte de construction, sinon un administrateur avec les  droits  nécessaires  doit
              d’abord  le  créer et donner à cet utilisateur (ou à un groupe dont il fait partie)
              accès en écriture à ce répertoire, afin que cette option réussisse.

       --return=[chemin]
              Copier les fichiers résultant de la construction vers chemin. Si aucun chemin n'est
              indiqué,  ils  sont  alors renvoyés vers le répertoire actuel. Le chemin donné doit
              exister, il ne sera pas créé.

       --no-return
              Ne pas copier le résultat de la construction  vers  RETURN_DIR  (écrase  le  chemin
              configuré dans les fichiers de configuration).

       --dpkg-opts='opt1 opt2 ...'
              Indiquer   des  options  supplémentaires  à  fournir  à  dpkg-buildpackage(1).  les
              différentes options sont séparées par des espaces.  Cela  remplacera  toute  option
              fournie  par  la  variable  DEBBUILDOPTS  du  fichier  pbuilderrc  de la machine de
              construction.

       --create-opts='option de cowbuilder'
              Indiquer des arguments supplémentaires à passer directement à cowbuilder  quand  un
              chroot est créé (en utilisant l’option --create précédente). Si plusieurs arguments
              doivent être passés, cette option devrait être indiquée séparément pour chacun.

              Par exemple, --create-opts "--othermirror" --create-opts "deb http:// ..."

              Cette option remplacera toutes les CREATE_OPTS indiquées pour un  chroot  dans  les
              fichiers de configuration de cowpoke.

       --update-opts='option de cowbuilder'
              Indiquer des arguments supplémentaires à passer directement à cowbuilder si la base
              du chroot est mise à jour. Si plusieurs arguments doivent être passés, cette option
              devrait être indiquée séparément pour chacun.

              Cette  option  remplacera  toutes les UPDATE_OPTS indiquées pour un chroot dans les
              fichiers de configuration de cowpoke.

       --build-opts='option de cowbuilder'
              Indiquer des arguments supplémentaires à passer directement à cowbuilder  quand  un
              paquet  est  construit.  Si  plusieurs  arguments doivent être passés, cette option
              devrait être indiquée séparément pour chacun.

              Cette option remplacera toutes les BUILD_OPTS indiquées pour  un  chroot  dans  les
              fichiers de configuration de cowpoke.

       --sign=identifiant_clef
              Indiquer  la  clef  à  utiliser pour signer les paquets. Cela remplacera toutes les
              SIGN_KEYID indiquées pour un chroot dans les fichiers de configuration de cowpoke.

       --upload=file
              Indiquer la file dput à utiliser pour envoyer les paquets signés.  Cela  remplacera
              toutes les UPLOAD_QUEUE indiquées pour un chroot dans les fichiers de configuration
              de cowpoke.

       --help Afficher un bref résumé des options disponibles et de la configuration en cours.

       --version
              Afficher les informations sur la version.

OPTIONS DE CONFIGURATION

       Quand cowpoke est exécuté, les options  de  configuration  suivantes  sont  lues  dans  le
       fichier de configuration global, celui de l'utilisateur et du projet, s'ils sont présents.
       Les chemins peuvent être indiqués de façon absolue ou relative (les  chemins  étant  alors
       relatifs  au  répertoire  personnel  de  l'utilisateur  BUILDD_USER).  Les  chemins  étant
       généralement fournis entre guillemets, l'expansion des tildes ne sera pas réalisée.

   Valeurs globales par défaut
       Elles s'appliquent à chaque architecture et distribution lors d'un appel à cowpoke.

       BUILDD_HOST
              L'adresse  réseau  ou  le  nom  complètement  qualifié  (FQDN)  de  la  machine  de
              construction  où cowbuilder est configuré. Elle peut être modifiée avec l'option en
              ligne de commande --buildd.

       BUILDD_USER
              Le nom de l'utilisateur, non privilégié, sur la machine de construction. Le nom par
              défaut  est  le  nom  de  l'utilisateur  local  qui  exécute  cowpoke  (ou  le  nom
              d'utilisateur précisé dans la  configuration  SSH  pour  BUILDD_HOST),  et  le  nom
              fournit   par   la  variable  d'environnement  peut  être  remplacé  avec  l'option
              --buildd-user en ligne de commande.

       BUILDD_ARCH
              La ou les architectures Debian pour lesquelles il faut construire les paquets. Cela
              doit  correspondre à la valeur de DEB_BUILD_ARCH du chroot de construction utilisé.
              La valeur par défaut est l'architecture de la  machine  sur  laquelle  cowpoke  est
              exécutée,  et  l'architecture  peut être remplacée avec l'option --arch en ligne de
              commande. Une  liste  d'architectures  séparées  par  des  espaces  (il  peut  être
              nécessaire  de fournir le tout entre guillemets) peut être utilisée pour construire
              les paquets pour toutes ces architectures en une seule passe.

       BUILDD_DIST
              La ou les distributions Debian pour lesquelles il faut construire les paquets.  Une
              liste de distributions séparées par des espaces (il peut être nécessaire de fournir
              le tout entre guillemets) peut être  utilisée  pour  construire  les  paquets  pour
              toutes  ces  architectures en une seule passe. La ou les distributions peuvent être
              remplacées avec l'option --dist en ligne de commande.

       INCOMING_DIR
              Le chemin du répertoire sur la machine de construction où sont placés  initialement
              les  paquets  source.  Il  doit  être  accessible  en  écriture  par  l'utilisateur
              BUILDD_USER.

       PBUILDER_BASE
              La racine du système de fichiers  pour  tous  les  fichiers  CoW  et  les  fichiers
              résultats.  Des sous-répertoires spécifiques aux architectures et aux distributions
              seront normalement créés sous cette racine.  Le  cache  d'apt  et  les  répertoires
              temporaires de construction se trouveront également sous ce chemin.

       SIGN_KEYID
              Si  cette  option  est  activée,  elle doit contenir l'identifiant de la clef GPG à
              fournir à debsign(1) si les paquets doivent être signés sur la machine distante. Il
              vous  sera  demandé  si  vous  souhaitez  signer  les  paquets après que toutes les
              constructions sont finies. Si cette option n'est pas activée ou  si  elle  contient
              une  chaîne  vide,  aucune tentative de signature ne sera effectuée. Elle peut être
              remplacée de façon spécifique à une architecture et une distribution avec  l’option
              arch_dist_SIGN_KEYID  décrite ci-dessous, ou par invocation avec l’option --sign en
              ligne de commande.

       UPLOAD_QUEUE
              Si cette option est activée, elle doit contenir une indication d'hôte pour  dput(1)
              qui  sera  utilisée  pour  envoyer les paquets après qu'ils ont été signés. Il vous
              sera demandé de confirmer si vous souhaitez envoyer les paquets  après  qu'ils  ont
              été  signés. Si cette option n'est pas activée ou si elle contient une chaîne vide,
              aucune tentative d'envoi ne sera effectuée. Si SIGN_KEYID n'est pas activée,  cette
              option  sera  complètement  ignorée. Elle peut être remplacée de façon spécifique à
              une architecture et une distribution avec l’option  arch_dist_UPLOAD_QUEUE  décrite
              ci-dessous, ou par invocation avec l’option --upload en ligne de commande.

       BUILDD_ROOTCMD
              La  commande  à utiliser pour obtenir les droits du superutilisateur sur la machine
              distante de construction. Si elle n'est pas définie, la  commande  par  défaut  est
              sudo(8).  Elle  n'est  nécessaire  que  pour  appeler  cowbuilder  et lui permettre
              d'entrer dans son chroot. Vous pouvez donc n'autoriser cet utilisateur  à  acquérir
              des  droits  supplémentaires  que  pour  l'exécution  de  cette  commande. La ligne
              suivante dans sudoers permettra d'appeler cowbuilder sans avoir à fournir de mot de
              passe :

                      utilisateur ALL = NOPASSWD: /usr/sbin/cowbuilder

              Autrement,  vous  pouvez  utiliser  SSH  avec  une  clef  ou  tout  autre mécanisme
              correspondant à votre politique locale. su -c n'est  pas  vraiment  utilisable  ici
              parce qu'il nécessite de placer des guillemets autour, contrairement aux autres.

       DEBOOTSTRAP
              L'utilitaire  à  utiliser  pour  créer  une  nouvelle  racine  de construction. Les
              possibilités sont debootstrap ou cdebootstrap.

       RETURN_DESTDIR
              Si elle est définie, les fichiers de paquet issus de la construction seront  copiés
              à  l'endroit  (local  ou  distant) configuré, une fois la construction terminée. Le
              chemin doit exister, il ne sera pas créé. Cette option n'est pas définie par défaut
              et peut être écrasée par --return ou --no-return.

   Options spécifiques à des architectures ou distributions
       Ce  sont  des  variables de la forme $arch_$dist_VAR qui ne s'appliquent qu'à une cible de
       construction spécifique à une architecture et à une distribution.

       arch_dist_RESULT_DIR
              Le chemin du répertoire de la machine de construction  où  les  paquets  résultants
              (source  et  binaires)  seront  trouvés, et où les versions ultérieures des paquets
              ayant été précédemment construits pourront être trouvées. Si  des  anciens  paquets
              sont  trouvés, debdiff sera utilisé pour comparer le nouveau paquet avec la version
              précédente une fois la construction finie, et  le  résultat  se  trouvera  dans  le
              journal  de  construction.  Les  fichiers  du  répertoire doivent être lisibles par
              BUILDD_USER pour les vérifications par lintian(1) et debdiff(1) ainsi que pour  les
              envois  par  dput(1). Si cette option n'est pas définie pour certaines combinaisons
              d'architectures  et  de  distributions,   alors   le   chemin   par   défaut   sera
              $PBUILDER_BASE/$arch/$dist/result

       arch_dist_BASE_PATH
              Le  répertoire  ou les fichiers CoW maîtres se trouvent (ou là où ils sont créés si
              l'option en ligne de commande --create est utilisée). Si  cette  option  n'est  pas
              définie pour une combinaison d'architecture et de distribution, alors le chemin par
              défaut est $PBUILDER_BASE/$arch/$dist/base.cow

       arch_dist_BASE_DIST
              Le nom de code à passer à l’option --distribution de cowbuilder à la place de dist.
              C’est  nécessaire  quand  dist  est  un nom localement significatif utilisé pour un
              chroot   de   construction    configuré    spécialement,    comme    par    exemple
              "wheezy_backports",  et  non  le  nom  de suite formel d’une distribution connue de
              debootstrap. Cette option  ne  peut  pas  être  remplacée  en  ligne  de  commande,
              puisqu’il  n’y pas vraiment de raison de la modifier pour les appels individuels de
              cowpoke. Si cette option n’est pas indiquée pour une combinaison d’architecture  et
              de distribution, alors la distribution est utilisée par défaut.

       arch_dist_CREATE_OPTS
              Un  tableau  bash  contenant  des  options  supplémentaires  à passer directement à
              cowbuilder quand un  chroot  est  créé  (en  utilisant  l’option  --create).  C’est
              pratique  quand  des  options  comme  --othermirror  sont  voulues  pour  créer des
              configurations spéciales de  chroot,  comme  par  exemple  "wheezy_backports".  Par
              défaut  il  n’est  pas  défini.  Toutes les valeurs définie dans ce tableaux seront
              ignorées si l’option --create-opts est passée en ligne de commande.

              Chaque élément de ce tableau correspond à un seul argument (dans le sens  de  ARGV)
              qui  sera  passé à cowbuilder. Cela permet à ces arguments, qui pourraient contenir
              des espaces, avoir  des  besoins  de  protection  bizarre  ou  d’autres  caractères
              spéciaux, de pas ne pas être déformés avant d’atteindre cowbuilder.

              Les tableaux bash sont initialisés un utilisant le format suivant :

                  OPTS=( "arg1" "arg 2" "--option" "valeur" "--opt=val" "etc." )

       arch_dist_UPDATE_OPTS
              Un  tableau  bash  contenant  des  options  supplémentaires  à passer directement à
              cowbuilder à chaque fois que la base de ce chroot est mise à jour. Le  comportement
              est  similaire  à l’option CREATE_OPTS précédente, à part qu’il est déclenché quand
              le chroot est mis à jour.

       arch_dist_BUILD_OPTS
              Un tableau bash contenant  des  options  supplémentaires  à  passer  directement  à
              cowbuilder  quand  un paquet est construit. C’est pratique pour utiliser une option
              comme --twice que cowpoke n’a pas besoin de gérer directement. Le comportement  est
              sinon  similaire  à  l’option  UPDATE_OPTS  précédente,  à part qu’il est déclenché
              pendant la phase de construction par cowbuilder.

       arch_dist_SIGN_KEYID
              Un remplacement  facultatif  de  l’option  SIGN_KEYID  globale,  spécifique  à  une
              architecture et une distribution.

       arch_dist_UPLOAD_QUEUE
              Un  remplacement  facultatif  de  l’option  UPLOAD_QUEUE  globale, spécifique à une
              architecture et une distribution.

FICHIERS DE CONFIGURATION

       /etc/cowpoke.conf
              Options de configuration globales. Elles remplaceront les valeurs par défaut codées
              en dur.

       ~/.cowpoke
              Options  de  configuration  de  l'utilisateur.  Elles  remplaceront les valeurs des
              options de configuration globales.

       .cowpoke
              Options de configuration du projet. Elles remplaceront les valeurs des  options  de
              configuration  globale  ou  de  l'utilisateur  si  cowpoke  est  appelé  depuis  le
              répertoire où se trouve le fichier.

              Si la variable d'environnement COWPOKE_CONF est définie, elle indique un fichier de
              configuration  supplémentaire qui remplacera tous les autres. Les options utilisées
              explicitement sur la  ligne  de  commande  remplacent  les  options  provenant  des
              fichiers de configuration.

CONFIGURATION DE COWBUILDER

       Il  n'y  a  rien  de  particulier  à faire pour configurer une instance de cowbuilder pour
       qu'elle puisse être utilisée avec cowpoke. Créez-la simplement  telle  que  vous  en  avez
       besoin  avec  "cowbuilder  --create"  en  suivant  la  documentation  de  cowbuilder, puis
       configurez cowpoke avec les informations sur l'utilisateur, l'architecture  et  le  chemin
       nécessaire  pour  y  accéder  sur  les machines où vous souhaitez l'appeler (ou configurez
       cowpoke avec les  informations  sur  le  chemin,  l'architecture  et  la  distribution  et
       fournissez lui l'option --create lors du premier appel). L'hôte de construction sur lequel
       cowbuilder tourne n'a pas besoin que cowpoke soit installé localement.

       La machine de construction doit avoir les paquets lintian et devscripts installés pour les
       vérifications  en  fin  de construction. Une fois la construction finie, un journal et les
       résultats des tests automatiques seront enregistrés dans INCOMING_DIR. Si  vous  souhaitez
       envoyer  des  paquets  signés,  dput(1)  devra  également  être installé sur la machine de
       construction et devra être configuré pour utiliser l'alias hôte indiqué par  UPLOAD_QUEUE.
       Si  rsync(1) est disponible à la fois sur la machine locale et la machine de construction,
       alors il peut être utilisé pour transférer le  paquet  source  (cela  permet  d'économiser
       quelques échanges de orig.tar.* lors de la construction des révisions Debian suivantes).

       L'utilisateur  qui exécute cowpoke doit avoir un accès SSH à la machine de construction en
       tant que BUILDD_USER. Cet  utilisateur  doit  pouvoir  exécuter  cowbuilder  en  tant  que
       superutilisateur  en  utilisant  BUILDD_ROOTCMD.  Les  clefs pour les signatures n'ont pas
       nécessairement à être installées sur la machine de construction (et elles seront  ignorées
       si elles le sont). Si un paquet est signé, les clefs seront nécessaires sur la machine qui
       exécute cowpoke.

       Quand cowpoke est appelé, il cherche d'abord à mettre à jour l'image  cowbuilder  si  cela
       n'a  pas  déjà  été  fait  le  même  jour. Cette vérification se base sur la présence d'un
       fichier cowbuilder-$arch-$dist-update-log-$date  dans  le  répertoire  INCOMING_DIR.  Vous
       pouvez  déplacer, renommer ou toucher ce fichier si vous souhaitez que l'image soit mise à
       jour plus ou moins souvent. Son contenu liste les sorties de cowbuilder pendant la mise  à
       jour (ou la création) de la racine de construction.

NOTES

       Puisque  cowbuilder crée un chroot, et qu'il faut pour cela être superutilisateur, cowpoke
       nécessite également certains des droits du superutilisateur. Et toutes  les  horreurs  qui
       peuvent  arriver  à  cause  de ça pourront vous arriver un jour. cowbuilder est connu pour
       avoir accidentellement écrasé des systèmes de fichiers  montés  avec  l'option  "bind"  en
       dehors  de  son  chroot,  et  pire  encore  peut  arriver.  Soyez  prudents, conservez des
       sauvegardes de ce que vous ne souhaitez pas perdre sur vos  machines  de  construction  et
       utilisez  cowpoke  pour  isoler  tous  ces  problèmes  sur une machine qui n'est pas votre
       machine de développement avec vos quelques heures de travail non committé.

VOIR AUSSI

       cowbuilder(1), pbuilder(1), ssh-agent(1), sudoers(5)

AUTEUR

       cowpoke a été écrit par Ron <ron@debian.org>.

TRADUCTION

       Ce document est une traduction, maintenue à l'aide de l'outil po4a <https://po4a.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.

                                          28 avril 2008                                COWPOKE(1)