I'd like to setup some auto-builders for some projects - and theese projects must be built upon Lenny, Squeeze, Lucid, and multiple other distros. (i386 and amd64 obviously.)
Looking around I figure it should be simple. There are a lot of continuous integration tools out there - but when looking at them in depth it seems like they all work in temporary directories and are a little different to how I'd expect them to be.
Ultimately I want to point a tool at a repository (mercurial), and receive a status report and a bunch of .deb packages for a number of distributions.
The alternative seems to be to write a simple queue submission system, then for each job popped from the queue run:
- Creates a new debootstrap-based chroot.
- Installs build-essential, mercurial, etc.
- Fetches the shource.
- Runs make.
- Copies the files produced in ./binary-out/ to a safe location.
- Cleans up.
Surely this wheel must already exist? I guess its a given that we have to find build-dependencies, and that we cannot just run "pbuilder *.dsc" - as the dsc doesn't exist in advance. We really need to run "make dependencies test build", or similar.
Hudson looked promising, but it builds things into /var/lib/hudson, and doesn't seem to support the use of either chroots or schroots.
ObQuote: "I feel like I should get you another sweater." - "Friends"