On Mon, 5 Jan, 2015 at 10:45 AM, Anders Logg <[email protected]> wrote:
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.


Related to this issue, when we switched to git the thought was to consider submodules/trees once we were comfortable with git. I think the time is right to take a look. Subtrees could be helpful:

http://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_subtree_merge https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt


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.

If this is just a re-naming, it's fine with me.

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.

I suggest not pushing to master before the 1.5 release.

Garth

--
Anders


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

Reply via email to