This is a step by step tutorial about Build services setup for Wanna-build.
Contents
Setup up Buildd and Sbuild
INSTALL buildd
0. Installing sbuild
- In order to build packages, buildd uses sbuild so the first thing we're going to do is install sbuild and its dependencies.
apt-get install sbuild schroot debootstrap
sbuild uses schroot to build packages. We'll create a directory for it and configure sbuild to use it.
mkdir -p /srv/chroot/<distribution>-<architecture>-sbuild debootstrap wheezy /srv/chroot/<distribution>-<architecture>-sbuild chown -R buildd:buildd /srv/chroot/<distribution>
Lets configure the chroot:
vim /etc/schroot/schroot.conf
The schroot's configuration file:
[wheezy] description=Debian wheezy (testing) directory=/srv/chroot/wheezy-amd64-sbuild users=buildd groups=buildd root-groups=buildd aliases=testing,default
Configuring sbuild is explained here: http://wiki.debian.org/sbuild
vim /etc/sbuild/sbuild.conf sbuild-update --keygen sbuild-createchroot --keyring=/etc/apt/trusted.gpg --arch=$arch $dist /srv/chroot/$dist-$arch-sbuild $mirror vim /etc/fstab mount -a
We'll now configure the schroot environment. We'll create two users and edit the sources.list file
usersfile=/srv/chroot/<distribution>/root/users echo "#!/bin/sh" > "$usersfile" echo "groupadd -g $(id -g buildd) buildd" >> "$usersfile" echo "useradd -u $(id -u buildd) -g $(id -g buildd) buildd" >> "$usersfile" echo "groupadd -g $(id -g sbuild) sbuild" >> "$usersfile" echo "useradd -u $(id -u sbuild) -g $(id -g sbuild) sbuild" >> "$usersfile" chmod a+x "$usersfile" chroot /srv/chroot/<distribution> /root/users vim /etc/apt/sources.list
1. Disabling sbuild environment filters
vim /usr/share/perl5/Sbuild/Chroot.pm
2. Install buildd and sudo
apt-get install buildd sudo
3. Patching buildd # patch buildd.patch
This file:
/var/lib/buildd/build/SBUILD-GIVEN-BACK
contains packages that will be skipped because the've already failed
Entropy tip
If while generating gpg-key there's not enough entropy, here's a command that can be useful for generating entropy:
find /usr /var /tmp /opt -type f -print0 | xargs -0 cat > /dev/null