Differences between revisions 1 and 2
Revision 1 as of 2010-03-17 12:52:39
Size: 2341
Editor: 213-152-38-55
Comment:
Revision 2 as of 2010-11-15 16:30:18
Size: 2384
Editor: 213-152-38-55
Comment: the name is the thing and the power over the thing
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
== Using ccache and confcache == == Using ccache and an autoconf cache file ==
Line 25: Line 25:
Since many of these clean/configure/build runs will be identical, it's a big win to use [[http://ccache.samba.org/|ccache]] and [[http://www.gnu.org/software/hello/manual/autoconf/Cache-Files.html|confcache]], e.g. Since many of these clean/configure/build runs will be identical, it's a big win to use [[http://ccache.samba.org/|ccache]] and an [[http://www.gnu.org/software/hello/manual/autoconf/Cache-Files.html|autoconf cache file]], e.g. add to jhbuildrc

Tinderbox status

tinderbox

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 xorg-libs xserver xorg-drivers xorg-apps"; 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" xorg-libs xserver xorg-drivers xorg-apps

(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 modifiying 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>

Tinderbox (last edited 2010-11-15 16:30:18 by 213-152-38-55)