Differences between revisions 10 and 11
Revision 10 as of 2012-07-18 06:26:51
Size: 2683
Editor: ?Alexander Pashaliyski
Revision 11 as of 2012-07-18 06:35:15
Size: 2656
Editor: ?Alexander Pashaliyski
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
== Setup up a Buildd == == Setup up Buildd and Sbuild==
Line 13: Line 13:


This is a step by step tutorial about Build services setup for Wanna-build.

Translation(s): none

(!) ?Discussion


== 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:

description=Debian wheezy (testing)

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

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>
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:


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