Tinderbox status

tinderbox

Adding a new machine

The steps for setting up a new machine are:

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>