Einen buildd aufsetzen

Hier finden Sie einen Spickzettel zum Aufsetzen eines buildds für Debian. Dieses Dokument wurde von Andreas Barth aufgeschrieben, während er buildds für Experimental und backports.org aufsetzte, daher kann es sein, dass es nicht konsistent mit den Debian-Einstellungen ist, die die Entwicklermaschinen als Autobuilder verwenden.

Für buildd können Sie entweder den buildd, der sich auf db.debian.org befindet, verwenden, oder Sie extrahieren ihn aus den wanna-build-Quellen. Falls Sie die db.debian.org-Version verwenden wollen, ergänzen Sie deb http://db.debian.org debian-admin/ in Ihrer sources.list und installieren Sie buildd.

Ergänzend benötigen Sie ein aktuelles debootstrap, um Chroots für Testing und Unstable aufzusetzen. Daher benötigen Sie u.U. eine Rückportierung. Sie können diese entweder vom Backports-Depot holen oder sie einfach selbst aus den Quellen bauen.

Sie müssen die folgenden Verzeichnisse (unter /org/buildd/) erstellen:

install -d build mqueue -o buildd -g buildd
install -d chroots -m 755
install -d logs stats -o buildd -g buildd
install -d secret -o buildd -g adm -m 2770
install -d /var/debbuild/srcdep-lock -o buildd
install -d /var/lib/sbuild/srcdep-lock -o buildd
install -d chroots/sid/var/debbuild/srcdep-lock -o buildd
install -d chroots/sid/build/buildd -m 777
install -d chroots/woody-backports/var/debbuild/srcdep-lock -o buildd
install -d chroots/woody-backports/build/buildd -m 777
install -d bin -o buildd -g adm -m 775
cp /etc/passwd chroots/sid/etc/
cp /etc/passwd chroots/woody-backports/etc/
ln -s source-dependencies-unstable /etc/source-dependencies-sid-nonfree
sudo ln -s source-dependencies-stable /etc/source-dependencies-woody-backports.org

Und dann die Chroots:

sudo debootstrap --variant=buildd sid chroots/sid http://ftp.debian.org/debian
sudo ln -s /org/buildd/chroots/sid/ build/chroot-unstable

Dann das Upgrade durchführen und die benötigten Pakete installieren:

sudo chroot chroots/sid apt-get update
sudo chroot chroots/sid apt-get install fakeroot build-essential sudo debfoster
sudo chroot chroots/sid debfoster

Auch für Woody-Backports:

sudo debootstrap --variant=buildd woody chroots/woody-backports http://ftp.debian.org/debian
sudo ln -s /org/buildd/chroots/woody-backports/ build/chroot-woody-backports.org

Editieren Sie chroots/woody-backports/etc/apt/sources.list:

deb http://ftp.debian.org/debian woody main non-free contrib
deb-src http://ftp.debian.org/debian woody main non-free contrib
deb-src ftp://linux.mathematik.tu-darmstadt.de/pub/linux/distributions/debian-backports/debian woody all

Und führen Sie nun ein Upgrade durch und installieren Sie etwas:

sudo chroot chroots/woody-backports apt-get update
sudo chroot chroots/woody-backports apt-get install fakeroot build-essential sudo debfoster
sudo chroot chroots/woody-backports debfoster

Ok, erstellen Sie jetzt .sbuildrc:

$mailto = 'wohin auch immer Sie wollen';

$maintainer_name='was in changes sein soll';

$fakeroot='/usr/bin/fakeroot';

%dist_order = ( 'oldstable-security' => 0, stable => 1, 'stable-security' => 1, testing => 2, 'testing-security' => 2, unstable => 3, 'woody-backports.org' => 5, 'sarge-backports.org' => 6, experimental => 7 );

Vergessen Sie nicht, den buildd-Benutzer zu der sudo-Konfigurationsdatei hinzuzufügen, so dass er die Werkzeuge ohne Einschränkungen benutzen kann.

Ok, testen Sie jetzt: Gehen Sie nach ~buildd/build und bauen ein Paket:

sbuild -d unstable -v netpbm-nonfree_2:9.20-2
sbuild -d woody-backports.org -v arj_3.10.19-1.backports.org.1

Ergänzen Sie |/usr/bin/buildd-mail-wrapper in ~buildd/.forward, so dass wir die E-Mails vom buildd beantworten können.

Sie müssen auch die ~buildd/buildd.conf justieren – bitte entschuldigen Sie, wir haben keinen Spickzettel dafür, da dies von Ihrem wanna-build abhängt.

Sie können hier weitere Informationen über die Details der buildd-Zustände erhalten. Sie sollten die E-Mails des buildd entweder mit der signierten changes-Datei beantworten, oder mit give-back, retry, dep-wait oder failed oder dep-wait <Abhängigkeiten> oder failed\n<Grund für Fehlschlag>.

Sie können die folgenden Aufgaben als Cronjobs verwenden:

@reboot        touch ~buildd/NO-DAEMON-PLEASE
17 * * * * /usr/bin/buildd-watcher
47 * * * * /usr/bin/buildd-uploader