Hier vind je een spiekbriefje voor het installeren van een Debian buildd. Dit document werd origineel geschreven door Andreas Barth tijdens het installeren van de buildd-machines voor experimental en backports.org, dus het is mogelijk dat het niet helemaal consistent is met de Debian setup die gebruikt wordt door de developer-machines die als autobuilder geïnstalleerd zijn.
Voor buildd kan je ofwel de buildd packages gebruiken die je op db.debian.org vindt, of ze uit de wanna-build-broncode halen. Als je de db.debian.org-versie wilt gebruiken, voeg dan deb http://db.debian.org debian-admin/ aan je sources.list toe, en installeer buildd.
Daarnaast heb je ook een actuele versie van debootstrap nodig om chroots voor testing en unstable te kunnen opzetten. Mogelijk heb je hier een backport voor nodig. Je kan deze ofwel uit de backports repository halen, ofwel ze gewoon voor jezelf compileren vanuit het bronpakket.
Je moet de volgende directories aanmaken (onder /org/buildd/):
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
En daarna de chroots:
sudo debootstrap --variant=buildd sid chroots/sid http://ftp.debian.org/debian sudo ln -s /org/buildd/chroots/sid/ build/chroot-unstable
Vervolgens installeer en upgrade je de benodigde pakketten:
sudo chroot chroots/sid apt-get update sudo chroot chroots/sid apt-get install fakeroot build-essential sudo debfoster sudo chroot chroots/sid debfoster
Ook voor 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
Nu chroots/woody-backports/etc/apt/sources.list bewerken
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
En dan een aantal zaken upgraden en installeren:
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
Goed, nu maken we de .sbuildrc aan:
$mailto = 'wat je wilt'; $maintainer_name='wat hoort in .changes'; $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 );
Vergiet niet om de buildd gebruiker aan het sudo configuratiebestand toe te voegen zodat deze programma's kan uitvoeren zonder beperking.
Ok, laat ons nu eens proberen of alles werkt: ga naar ~buildd/build, en compileer een pakket:
sbuild -d unstable -v netpbm-nonfree_2:9.20-2 sbuild -d woody-backports.org -v arj_3.10.19-1.backports.org.1
Voeg |/usr/bin/buildd-mail-wrapper toe aan ~buildd/.forward, zodat we de mails van buildd kunnen beantwoorden.
Je moet ook ~buildd/buildd.conf bewerken - maar daar kunnen we je niet bij helpen, vermits de benodigde aanpassingen afhangen van je wanna-build.
Je kan meer informatie over de details van de buildd-states hier vinden. De mails van buildd beantwoord je ofwel met de ondertekende .changes-bestanden, of met "give-back", "retry", "dep-wait", of "failed", of met "dep-wait <afhankelijkheden> of "failed\n<waarom het mislukte>".
Je kunt de volgende zaken als cronjobs gebruiken:
@reboot touch ~buildd/NO-DAEMON-PLEASE 17 * * * * /usr/bin/buildd-watcher 47 * * * * /usr/bin/buildd-uploader