## Tinderbox status [[tinderbox|http://tinderbox.x.org/]] ## Adding a new machine The steps for setting up a new machine are: * Read [[http://tinderbox.x.org/participate|http://tinderbox.x.org/participate]], get a username/pass * Set up jhbuild; see [[http://wiki.x.org/wiki/JhBuildInstructions|http://wiki.x.org/wiki/JhBuildInstructions]] * "jhbuild build"; check that the build completes and you have the appropriate dependencies * Once you're ready to add the machine to the tinderbox front page, set up a crontab entry such as: `0 */2 * * * bin/jhbuild autobuild -a -c --report-url="http://USER:PASS@tinderbox.x.org/builds/rpc"` (instructions from [[this email|http://lists.freedesktop.org/archives/xorg/2008-December/041211.html]]) ## Using ccache and an autoconf cache file Since many of these clean/configure/build runs will be identical, it's a big win to use [[ccache|http://ccache.samba.org/]] and an [[autoconf cache file|http://www.gnu.org/software/hello/manual/autoconf/Cache-Files.html]], e.g. add to jhbuildrc os.environ['CC'] = 'ccache gcc' os.environ['CXX'] = 'ccache g++' autogenargs='--cache-file=os.path.join(os.environ['HOME'], 'configure-cache') ## Changing the moduleset Locally modifying the jhbuild moduleset to add or remove modules isn't a good idea as this means that you don't automatically pick up changes to it. To avoid building modules (e.g. which aren't appropriate to your target), you can use the skip configuration variable in the jhbuildrc file, e.g. skip = [ 'xdriinfo', 'libdrm', 'libpciaccess' ] To add additional modules, you can use the technique of creating of local moduleset which includes the standard moduleset and your additions, e.g. moduleset = os.path.join(os.environ['HOME'], 'myxorg.modules') where the contents of myxorg.modules is something like