Hi Miguel, Yeap! i’d also fully applause this approach, it is very similar to what we’ve been doing since 2012! - $MODULEPATH can include both global and local builds, you just need to decide their exact order * fyi. recent versions of Lmod have in ./contrib a pair of use.own.eb modulefiles, implementing the above - the global install, is nothing more than by yet another user, which just happens to be steered by admin - i also encourage people to add a versionsuffix with their initials and maybe a date, to keep things apart
The trick with EASYBUILD_SOURCEPATH is quite nice, it could also be used within use.own.eb/* modulefiles, assuming that it is always *prepend*, as you described. F. On Jun 27, 2017, at 1:57 AM, Miguel Costa <[email protected]> wrote: > Hello Davide, > > I also had doubts initially because of what you mention and also using global > source paths, but this works for us: > > - create and manage a cluster-wide software stack with an easybuild user, > using EASYBUILD_PREFIX=$EB_GLOBAL_PREFIX > > - for normal users > > - set EASYBUILD_PREFIX=$HOME/.local/easybuild but add > $EB_GLOBAL_PREFIX/modules/all to the $MODULEPATH (so that it finds the > already globally installed software) > > - set > EASYBUILD_SOURCEPATH=$HOME/.local/easybuild/sources:$EB_GLOBAL_PREFIX/sources, > in this order (so that it downloads to local but looks in global). This was > recently clarified in the documentation, last line in > https://easybuild.readthedocs.io/en/latest/Configuration.html?highlight=sourcepath#sourcepath > > I think this is enough. > > Miguel > > P.S. I encourage users to always add a versionsuffix in case they are > rebuilding a package that already exists globally, otherwise which one gets > picked depends on the order of the folders in $MODULEPATH -- echo "sysadmin know better bash than english" | sed s/min/mins/ \ | sed 's/better bash/bash better/' # signal detected in a CERN forum

