On Mon, 05 Jan 2015 11:03:39 +0000 "Garth N. Wells" <[email protected]> wrote:
> > 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: > > Please, note that there are 3 distinct concepts 1. subtree merging > http://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_subtree_merge > 2. 'git subtree' command > https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt 3. submodules http://git-scm.com/book/en/v2/Git-Tools-Submodules#_git_submodules By first reading, 2. seems to be transparent for end-users and allows what we want - keeping separate history of subtrees. Jan > > > > 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 _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
