Tinderbox status
Adding a new machine
The steps for setting up a new machine are:
- Read http://tinderbox.x.org/participate, get a username/pass
- Set up jhbuild; see 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)
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 and an autoconf cache file, 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
<?xml version="1.0" standalone="no"?> <!--*- mode: nxml -*-->
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<include href="http://cgit.freedesktop.org/xorg/util/modular/plain/xorg.modules" />
<metamodule id="xquartz">
<dependencies>
<dep package="libAppleWM"/>
<dep package="xorg"/>
</dependencies>
</metamodule>
</moduleset>