cowpoke

Autres langues

Langue: fr

Version: 28 avril 2008 (ubuntu - 24/10/10)

Section: 1 (Commandes utilisateur)

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=arch
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=dist
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 lenny) 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 ce nom est utilisé pour les chemins de fichier et pour trouver les anciens paquets utilisés pour les rapports de comparaison.
--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 toujours pas. 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é comme une erreur.
--dpkg-opts='opt1 opt2 ...'
Indiquer des options supplémentaires à fournir à dpkg-buildpackage(1). les différentes options sont séparées par des espaces. Ceci remplacera toute option fournie par la variable DEBBUILDOPTS du fichier pbuilderrc de la machine de construction.
--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 par défaut globales

Elles s'appliquent à chaque architecture et distribution lors d'une invocation de 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épertoire temporaire de construction se trouveront également sous ce chemin.
SIGN_KEYID
Si cette option est activée, elle doit contenir l'identifiant de la clé 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.
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.
BUILDD_ROOTCMD
La commande à utiliser pour obtenir les privilèges root 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 à utiliser des privilèges supplémentaires que pour l'exécution de cette commande. La ligne suivante dans sudoers permettra d'appeler cowbuilder sans avoir à forunir de mot de passe :
utilisateur ALL = NOPASSWD: /usr/sbin/cowbuilder
Autrement, vous pouvez utiliser ssh avec une clé 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.

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 (sources 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

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 surchargeront toute option 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éer 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 indiqué par UPLOAD_QUEUE.

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 est tant que root en utilisant BUILDD_ROOTCMD. Les clés 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 clés 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 root, cowpoke nécessite également certains des privilèges de root. Et toutes les horreurs qui peuvent arriver pourront vous arriver un jour. cowbuilder a été connu pour accidentellement écraser 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, réalisée par Nicolas François, Guillaume Delacour, Cyril Brulebois et Thomas Huriaux.

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.