How to create a build farm.
Installation/Preparation
Install the necessary base packages
sudo aptitude install pbuilder cowdancer reprepro rebuildd
- pbuilder: package to build Debian packages
- cowdancer: speed up pbuilder builds
- reprepro: Create repository from built packages
- rebuildd: manager for rebuilding packages
Install the latest debootstrap available. That means for building packages for Debian only, just take the latest one from sid, if you want to build both Debian and Ubuntu packages take the latest one from Ubuntu, since this extends the Debian one. Usually, this can be installed simply by e.g.
sudo dpkg -i debootstrap_1.0.3build1_all.deb
Try to find it here for Ubuntu
[13]
Create a build user
sudo adduser dbuild
and log in as this user.
Make some directories:
cd $HOME; mkdir cow config result-deb build
Create a config file as described later under
1. Configuration files and create the build environment
fakeroot cowbuilder --create --configfile=config/cowbuilder-amd64-gutsy
Configuration files
These are pretty minimal configuration files:
Finally, here is the sid config file with annotation:
# which distribution?
DISTRIBUTION=sid
# where to place the final .deb packages
BUILDRESULT=$HOME/result-deb/$DISTRIBUTION
# where to build the packages
BUILDPLACE=$HOME/build/$DISTRIBUTION
# base path of cow (copy on write) master directory
BASEPATH=$HOME/cow/$DISTRIBUTION
# which mirror to use for downloading stuff
MIRRORSITE=http://ftp.de.debian.org/debian/
# which components are included?
COMPONENTS="main non-free contrib"
# correct the UID of final packages to
BUILDRESULTUID=1004
# where to store the already retrieved packages
APTCACHE=$HOME/aptcache/$DISTRIBUTION
APTCACHEHARDLINK=yes