Building FEniCS repeatedly takes too much time. How do I speed up Dorsal by telling it to skip some packages?

Created by Harish Narayanan
Keywords:
installation rebuild skip

  The FEniCS Project is under active development. If you are
  interested in keeping up with the development versions of its
  components, you will want to frequently rerun dorsal.sh (with
  STABLE_BUILD set to false in dorsal.cfg).

  Unfortunately, Dorsal is not currently smart enough to automatically
  figure out what it has previously installed. It will insist on
  rebuilding all projects and their dependencies, even though you are
  probably only interested in tracking a few fast-changing FEniCS
  Project components.

  In order to get around this limitation, Dorsal has a package
  skipping mechanism which you can use to manually specify packages
  you would like it to skip on subsequent rebuilds. The following
  steps describe how you use this mechanism to rebuild just the
  projects you want to track.

   1. Ensure that STABLE_BUILD set to false in dorsal.cfg. This makes
      sure Dorsal knows to fetch and build development versions of
      projects.

   2. Create a new copy of your system's platform file
      (system.platform) in the platforms folder. Call it, say,
      myplatform.platform.

      cd platforms
      cp system.platform myplatform.platform

   3. Open myplatform.platform in your favourite text editor, and
      prepend the string `skip:' (without the quotes) before every
      package on the list PACKAGES you would like Dorsal to skip on
      subsequent builds. So now, your list might look something like
      the following:

      PACKAGES=(
      skip:parmetis
      skip:petsc
      skip:slepc
      skip:gmp
      skip:mtl
      skip:trilinos
      skip:scotch
      fiat
      ferari
      ufc
      ufl
      ffc
      viper
      instant
      dolfin
      )

      See the file fenics.platform for a an example of what I use on
      my (Mac OS X Leopard) machine. Notice that this file is
      identical to leopard.platform, with a few packages 'skip:'ped.

   4. Now, every time you wish to rebuild just the few packages you
      want to track, invoke Dorsal via:

      ./dorsal.sh platforms/myplatform.platform

  Using Dorsal in this manner should save you a lot of time if you
  need to rebuild FEniCS often.