Cowbuilder is an auto-build environment that uses copy-on-write semantics to make a very fast build environment. Rather than having to first copy (or untar) the entire build environment before compilation can commence, cowbuilder works in an overlay image.
The initial announcement about cowbuilder can be found in the debian-devel archives.
Unfortunately, you normally use tools like cowbuilder to compile packages for "sid", but the cowdancer package in etch is unable to successfully contain a sid chroot. (Many .ilist errors are seen, similar to those described in bug #441463.)
A sid cowbuilder under etch
To create a sid cowbuilder under etch, you will need to backport the current sid cowbuilder.
# apt-get build-dep cowdancer # aptitude install fakeroot $ fakeroot apt-get source -b cowdancer # dpkg -i /tmp/cowdancer_0.44_i386.deb
Once installed, you should edit
and edit the
MIRRORSITE option in particular.
You may also wish to include a local repository of other packages
that you have been building.
You can then create or update the new cowbuilder:
# cowbuilder --create # cowbuilder --update
Note that creating a new sid pbuilder environment doesn't always succeed...
sometimes you need to come back in a few days and try again.
If it stalls at
P: Configuring helper cdebootstrap-helper-apt,
then you are seeing
which you can work around by using debootstrap rather than cdebootstrap:
cowbuilder --create --debootstrap debootstrap
Backporting cdebootstrap from sid should also work around this problem.
Building packages can be done with the usual tools. There's probably an easier way than this (perhaps set PDEBUILD_PBUILDER=cowbuilder in /etc/pbuilderrc?), but this works:
svn-buildpackage --svn-builder='\''pdebuild --pbuilder cowbuilder --buildresult .. --auto-debsign --debsign-k firstname.lastname@example.org'\''
Obviously, setting up an alias for this is a good plan...
Last edited: Monday March 31, 2008
Copyright © 1996-2010 Stuart Prescott