lmod: module files are written in a root folder named by target family#13121
lmod: module files are written in a root folder named by target family#13121tgamblin merged 2 commits intospack:developfrom
Conversation
fixes spack#13005 This commit fixes an issue with the name of the root directory for module file hierarchies. Since spack#3206 the root folder was named after the microarchitecture used for the spec, which is too specific and not backward compatible for lmod hierarchies. Here we compute the root folder name using the target family instead of the target name itself and we add target information in the 'whatis' portion of the module file.
|
@hartzell @odoublewen After thinking a bit about the issue, this seems to me the best fix at hand. It should be backward compatible for the naming of the folders and will cover most of the cases. Let me know if this solves your problem and what do you think of the PR. |
|
I tried this out and it works for me. The lmod Core directory winds up in Thank you @alalazo |
|
@odoublewen -- when you load that Core module, does it "unlock" all of the %[email protected] applications that you've built (in other words, do it add The Right Thing(tm) to MODULEPATH?)? |
|
Yes, everything works correctly. Tested both with simple standalone modules and modules that have complex runtime dependencies (looking at you python). I also tested it manually, outside of our CI job, and yes, after I (1) |
Woo hoo! Thanks @alalazo ! |
tldahlgren
left a comment
There was a problem hiding this comment.
I'm not an expert in this area of Spack but, with 100% coverage and tests passing for me, it LGTM.
|
@CamStan: does this fix your issue? |
|
@tgamblin, might have tagged the wrong Cameron. |
spack#13121) fixes spack#13005 This commit fixes an issue with the name of the root directory for module file hierarchies. Since spack#3206 the root folder was named after the microarchitecture used for the spec, which is too specific and not backward compatible for lmod hierarchies. Here we compute the root folder name using the target family instead of the target name itself and we add target information in the 'whatis' portion of the module file.
fixes #13005
This commit fixes an issue with the name of the root directory for module file hierarchies.
Since #3206 the root folder was named after the microarchitecture used for the spec, which is too specific and not backward compatible for lmod hierarchies. Here we compute the root folder name using the target family instead of the target name itself and we add target information in the "whatis" portion of the module file.