Hi,

Here are some thoughts on a possible developer workflow (partly) based on
HashDist.

The current HashDist-based installation (fenics-install.sh) seems to work
relatively well (yes there are bugs but Johannes has been very good at
fixing them). Users and developers both can now easily build from source an
entire FEniCS stack including both dependencies and FEniCS components.

However, for developers that need to work on features/bugs for a specific
FEniCS package (say FFC or DOLFIN) it is less clear how to base the
workflow on HashDist.

So, after some discussion with Johannes, here is a suggestion for a common
workflow (which not everyone needs to follow, of course, but something I
imagine would make life easier for many of us):

1. Users and developers alike build dependencies + FEniCS using

    fenics-install.sh

2. For each FEniCS-package, we add a script named

    local-install.sh

For DOLFIN, we simply rename cmake.local --> local-install.sh and for the
other packages, we add a corresponding script which calls setup.py with the
proper flags.

3. The script local-install.sh installs under local.$BRANCH and generates a
file named local.$BRANCH.conf that can be sourced.

This way, one may have one or more HashDist profiles under ~/.hashdist
containing as many FEniCS stacks with deps as one needs, and for each
relevant package one is working on, as many local/branch builds as one
needs, and those development/debugging builds don't need to be installed
"system wide" (as in landing somewhere under ~/.hashdist), which means one
always has one or more working FEniCS stacks under ~/.hashdist for
production work.

Would this be a good idea? Comments or objections?

If there are no objections, I can make the required changes.

--
Anders
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to