Provided by: devscripts_2.25.5_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" "value" "--opt=val" "etc. 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)