OO.o Tinderbox setup guide

This document describes briefly how to setup a tinderbox build slave to do a looped build of OO.o. A good way to ensure that OO.o releases will build cleanly on your system / platform is to implement a tinderbox slave such that people can fix build problems on your system faster.

1. What is tinderbox

In essence tinderbox is a perl script that processes mail, and turns it into HTML. It expects to be mailed build logs from separate and de-coupled build machines. Tinderbox has a few elaborations over the most simple 'status' web-page, inasmuch that it integrates with bonsai - to correlate builds against commits, and it has some nice built in error-parsers to allow huge build logs to be condensed to just a few (possible) tricky sections.

2. Setting up a build slave

To do this, you need to be able to build OO.o already; if you can't do this see the hackers guide. Assuming that you have a script that can build OO.o [NB. see this], called 'build-ooo' that dumps a log to stdout, you're ready to go.

Ensure that you have done a cvs login to the anoncvs server, and that you have a valid ~/.cvspass such that the cvs update will not try to be interactive.

If your log files are too large they won't get through the Ximian firewall if you send them as plain text. (The exact limit is unknown (to me), but the 16MB logfile of a Windows build is too large.) You need to get the tinder-compress script and the Sender.pm Perl module from CPAN. See our CPAN link for details about getting this module. Then edit the following:

Finally of course, you need to find a terminal, run screen and then run tinder-compress.

3. Possible problems

3.1 Mail size issues

If you have problems with the tinder-compress script you can still try to use the former, not compressing version. Get the tinder-build script and edit the following:

3.2 It sends fine but nothing shows up

There are two issues that may cause this. First, the tinderbox web-pages are re-built every 5 minutes using a cron job; so wait for 6 before getting to concerned.

The second thing is more crucial, since the tinderbox organises the logs chronologically, it is vital to ensure that your system time is not ahead of the tinderbox's, and that it is in the same decade, week, hour, minute etc.

Finally, it's possible that someone else has sent in corrupt logs that are stopping the script completing, see here for any potential error messages, if any.


Correction / new tinderboxes / need help ? please do mail me, at michael@ximian.com or Volker, at quetschke@scytek.de.