Configurar un buildd

Aquí encontrará una página de trucos para configurar un buildd para Debian. Este documento lo escribió Andreas Barth mientras configuraba buildds para experimental y backports.org así que puede no ser totalmente consistente a la configuración de Debian usada por las máquinas del desarrollador como autoconstructores.

Para buildd puede usar el alojado en db.debian.org o extraerlo desde las fuentes de wanna-build. Si quiere usar la versión de db.debian.org añada deb http://db.debian.org debian-admin/ a su sources.list e instale buildd.

Además necesitará un debootstrap actual para poder configurar entornos enjaulados en en pruebas y inestable. Así que puede necesitar uno adaptado para esto. Puede obtenerlo desde un repositorio de adaptaciones o sencillamente recompilarlo usted mismo a partir del código fuente.

Necesita crear los siguientes directorios (bajo /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

Y entonces hacer los entornos enjaulados:

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

Una vez hecho esto actualice e instale los paquetes necesarios:

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

también para las adaptaciones de woody:

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

Vamos a editar 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

Y vamos a actualizar e instalar cosas:

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

Vale, creemos .sbuildrc:

$mailto = 'donde quiera';

$maintainer_name='lo que debería aparecer en cambios';

$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 );

No olvide añadir al usuario buildd al archivo de configuración de sudo de forma que pueda ejecutar herramientas sin restricción.

Bien, probémoslo ahora: Vayamos a ~buildd/build, y construyamos un paquete:

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

Añadamos |/usr/bin/buildd-mail-wrapper a ~buildd/.forward, para que podamos responder a los correos de buildd.

También tiene que afinar ~buildd/buildd.conf - pero lo siento, no hay trucos para eso, ya que depende de su wanna-build.

Puede obtener más información sobre los detalles de los estados de buildd aquí. Debería responder a los correos de buildd o con el archivo «changes» firmado, o con "give-back", "retry", "dep-wait", o "failed", o "dep-wait <dependencias>" o "failed\n<porqué falló>".

Puede usar las siguientes tareas como tareas del cron:

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