Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
pbuilder [Le 05/01/2008, 12:23] – s/create/--create/ Smarter | pbuilder [Le 11/04/2017, 09:54] (Version actuelle) – tags L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== P-Builder, ou comment bien construire des paquets ====== | ||
+ | |||
+ | Ce document décrit les étapes nécessaires pour mettre en place un environnement de construction sain pour construire des paquets Ubuntu. Cet outil est recommandé pour les mainteneurs Ubuntu comme pour toute personne utilisant Ubuntu et intéressée par la construction des paquets. | ||
+ | |||
+ | Il est possible de construire les paquets sans utiliser P-Builder, mais cela nécessite d' | ||
+ | |||
+ | =====Installation===== | ||
+ | |||
+ | [[: | ||
+ | sudo pbuilder --create | ||
+ | |||
+ | <note help> | ||
+ | Cette commande aura pour effet de créer un environnement isolé de votre système, appelé « chroot ». Cet environnement est en fait l' | ||
+ | </ | ||
+ | |||
+ | =====(Re)Construction d'un paquet===== | ||
+ | |||
+ | Construire le paquet « mon-paquet » se fait avec la commande suivante : | ||
+ | sudo pbuilder --build mon-paquet_1.0.dsc | ||
+ | |||
+ | <note help> | ||
+ | Le fichier .dsc est une partie du paquet source - que pbuilder va utiliser pour construire le paquet binaire - est généré avec la commande **debuild**. Ceci est expliqué en détails dans la page de tutoriel traitant de la [[tutoriel: | ||
+ | </ | ||
+ | |||
+ | Le ou les paquets seront disponibles dans le dossier **/ | ||
+ | |||
+ | <note tip> | ||
+ | Si vous obtenez l' | ||
+ | </ | ||
+ | |||
+ | =====Mise à jour du chroot===== | ||
+ | |||
+ | Il est recommandé de mettre à jour votre chroot avant chaque construction. Pour ce faire, utilisez la commande : | ||
+ | sudo pbuilder update | ||
+ | |||
+ | =====Support des dépôts Universe et Multiverse===== | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | COMPONENTS=" | ||
+ | </ | ||
+ | |||
+ | À chaque modification de votre pbuilder, il faut le mettre à jour en prenant en compte la nouvelle configuration : | ||
+ | sudo pbuilder update --override-config | ||
+ | |||
+ | |||
+ | =====Mise à niveau vers la dernière version en développement===== | ||
+ | |||
+ | Si vous êtes désireux de participer au cycle actuel de développement, | ||
+ | |||
+ | C'est le cas (actuellement pour Gutsy Gibbon). Voici donc la procédure : | ||
+ | * Créez un pbuilder Feisty : //sudo pbuilder create// | ||
+ | * Changez toutes les occurrences de **feisty** en **gutsy** dans **/ | ||
+ | * Mettez à jour le chroot : //sudo pbuilder update --override-config// | ||
+ | * Utilisez l' | ||
+ | |||
+ | =====Pbuilders multiples===== | ||
+ | |||
+ | Quand on travaille sur des paquets, il est souvent nécessaire de disposer de plusieurs pbuilders sur sa machine. Par exemple pour rétro-porter vers Dapper et Edgy alors que l'on développe sous Feisty, ou encore pour tester les paquets sur Debian Sid à la recherche de bogues. | ||
+ | |||
+ | Pour ce faire, le fichier **/ | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | # script from Jamin W. Collins | ||
+ | # name this script ' | ||
+ | |||
+ | OPERATION=$1 | ||
+ | DISTRIBUTION=`basename $0 | cut -f2 -d ' | ||
+ | PROCEED=false | ||
+ | BASE_DIR=" | ||
+ | case $OPERATION in | ||
+ | | ||
+ | PROCEED=true | ||
+ | ;; | ||
+ | esac | ||
+ | if ( $PROCEED == true ) then | ||
+ | | ||
+ | sudo pbuilder $OPERATION \ | ||
+ | --basetgz $BASE_DIR/ | ||
+ | --distribution $DISTRIBUTION \ | ||
+ | --buildresult $BASE_DIR/ | ||
+ | else | ||
+ | echo " | ||
+ | echo "Valid commands are:" | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | Copiez ce fichier dans **/ | ||
+ | Par exemple pour créer un pbuilder Dapper, vous le nommerez **pbuilder-dapper** : | ||
+ | sudo cp / | ||
+ | |||
+ | <note tip> | ||
+ | Ce même script renommé en pbuilder-edgy par exemple, créerai un pbuilder edgy. En effet, le script récupère le nom de distribution que vous avez mis après le tiret dans le nom de fichier. | ||
+ | </ | ||
+ | |||
+ | **Répertoire de base des pbuilders** | ||
+ | |||
+ | Le dossier utilisé par défaut pour les pbuilders est **/ | ||
+ | < | ||
+ | par | ||
+ | < | ||
+ | |||
+ | Enfin, n' | ||
+ | sudo chmod +x / | ||
+ | |||
+ | Enfin créez le chroot du pbuilder : | ||
+ | sudo pbuilder-dapper create | ||
+ | |||
+ | ===== Ressources ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ---- | ||
+ | inspirée de [[https:// | ||
+ | |||
+ | // |