De l'usage de pbuilder
Au lieu d'utiliser des chroot de différentes distribs debian pour valider la construction de vos paquets vous pouvez tout simplement utiliser pbuilder, c'est dans cette direction que je me suis lancé cette après-midi.
- Installation du paquet pbuilder
apt-get install pbuilder
- modifier le /etc/pbuilderrc ou votre ~/.pbuilderrc
BASETGZ=/usr/src/pbuilder/base.tgz #EXTRAPACKAGES=gcc3.0-athlon-builder #export DEBIAN_BUILDARCH=athlon BUILDPLACE=/usr/src/pbuilder/build MIRRORSITE=http://ftp.ipv6.opentransit.net/debian NONUSMIRRORSITE=http://ftp.ipv6.opentransit.net/debian-non-US #OTHERMIRROR="deb http://www.home.com/updates/ ./" export http_proxy=http://proxy:3128/ USEPROC=yes USEDEVPTS=yes USEDEVFS=no BUILDRESULT=/usr/src/pbuilder/result # specifying the distribution forces the distribution on "pbuilder update" DISTRIBUTION=sarge #specify the cache for APT APTCACHE="/usr/src/pbuilder/aptcache/" APTCACHEHARDLINK="yes" REMOVEPACKAGES="lilo" #HOOKDIR="/usr/lib/pbuilder/hooks" HOOKDIR="" # make debconf not interact with user export DEBIAN_FRONTEND="noninteractive" DEBEMAIL="eric.seigne@ryxeo.com" #for pbuilder debuild BUILDSOURCEROOTCMD="fakeroot" PBUILDERROOTCMD="sudo" #default is to build everything. Passed on to dpkg-buildpackage #DEBBUILDOPTS="-b" DEBBUILDOPTS="" APTCONFDIR="" # the username and ID used by pbuilder, inside chroot. Needs fakeroot, really BUILDUSERID=erics #BUILDUSERNAME=pbuilder # BINDMOUNTS is a space separated list of things to mount # inside the chroot. BINDMOUNTS=""
- Pour créer votre base.tgz:
sudo pbuilder create --distribution sarge
- pour tester un paquet, s'il manque des dépendances ça risque de vous le dire
sudo pbuilder build --basetgz /usr/src/pbuilder/base.tgz abuledu-mulot_1.10.8.5-4.dsc
Ce qui est tout simplement génial par rapport au chroot que j'avais avant c'est que le base.tgz est vraiment toujours propre, il est utilisé comme base du chroot, et ensuite il apt-get build-dep en fonction de ce qu'il y a dans votre paquet debian, ça vous permet ainsi de bien vérifier que vos build-depends sont corrects.
ubuntu
Pour pouvoir utiliser une ubuntu dans le pbuilder (et builder les paquets aussi pour hoary par exemple) il suffit de lire ce qui est indiqué sur le wiki d'ubuntu.