On 11/23/2018 11:44 AM, Alvarez, Damian wrote:
A few notes of caution when rebuilding the whole stack:
-Doing --module-only is not guaranteed to work in all cases. Sometimes
variables are computed during the build, and might have an effect on the module
created. EB will print a diff if the module already exist, pay attention to it.
-However, if you are reinstalling a newly hidden module, EB won't find the old
one (since it will look for module/version, instead of module/.version) and so
the diff won't be printed and you can potentially miss something.
-You will need to manually delete the old non-hidden modules carefully.
-You have to be careful and filter out the hidden dependencies, you can't say "eb
$MY_EB_REPO/*eb --module-only", or you'll be recreating already existing and visible
modules.
Thanks very much for your important words of caution! Dragons are
obviously lurking in this field!
In this case, hiding of existing modules seems to be an error prone or
impossible task. It may be better to develop an entirely new EasyBuild
module stack from scratch. Then one can have two disjoint module stacks
"old" and "current" available for the users, and users should be
migrated slowly to the "current" stack until the "old" stack can be
removed after a year or two. Does this sound like a good approach?
We still need documentation of EASYBUILD_HIDE_DEPS and examples of usage
for building a new stack.
In my opinion, for a full stack makes more sense to use the rc files from lmod,
as Markus said.
Thanks. Robert McLay (the author of Lmod) did recommend the
isVisibleHook though when I asked him at the Supercomputing 2018 conference.
Thanks,
Ole