[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

the state of daily-builds



Hi,

I started to successfully resurrect the first daily builds. This mail
documents what I have done, and what needs to be done. The
precondition for the new scripts are lvm snapshots to be available, so
this doesn't work unchanged for kfreebsd.

Also, I had to remove all unrestricted keys on d-i.d.o, as DSA was
uncomfortable with them (and I agree with them).


How it works now
~~~~~~~~~~~~~~~~

There is a central buildscript which is invoked daily by cron. This
script updates the installer svn checkout, spawns an schroot, installs
build dependencies there (as root), and finally builds the package (as
user buildd inside the chroot) and uploads securly to d-i.d.o (outside
the chroot), and of course removes the schroot at the end. Only
building (and installing packages) is done in the chroot, all else
outside. All but installing packages is done as user buildd. (Please
note that the packages are installed fresh every day by using the
dependencies coded within the d-i svn.)


All the scripts are available from
https://buildd.debian.org/git/di-autobuild.git with git.


How uploads happen:
There is an ssh wrapper on ravel which could accept these two commands
(and gets an arch provided in the authorized_keys file):
rsync $dir/ d-i@ravel:${DIR} -a
ssh d-i@ravel unhide ${DIR}

(with DIR=$(date -u '+%Y%m%d-%H:%M') )

The first one pushes the directory into
/org/d-i.debian.org/www/daily-images/$arch/.$DIR

The second one moves /org/d-i.debian.org/www/daily-images/$arch/.$DIR
to /org/d-i.debian.org/www/daily-images/$arch/$DIR and updates the
daily symlink.

Also, logs are written to ~buildd/logs/di-autobuild_daily-*




What could be better
~~~~~~~~~~~~~~~~~~~~

The "svn update" inside the chroot fails now - nothing to worry, but
would be nice if that wouldn't happen.

Also, it would be nice to see some output of the actual building in
the central log file and not only in the ones inside the chroot (i.e.
on stdout / err of the build scripts).

The builds could be triggered by buildd, not by cron.

Buildd could be paused during the build (doesn't happen now).



What needs to be done
~~~~~~~~~~~~~~~~~~~~~

This script will still break if we start to block connections from the
user buildd, which however is a pre-condition for autosigning.



Webpage
~~~~~~~

Also the d-i.d.o webpage for daily builds could be improved, but
that's totally independend of the build scripts.



If there are any more questions, or things to change, please don't
hesitate to contact me.


Cheers,
Andi


Reply to: