- bugfix in loop collecting per group directories in MODULEPATH
- use UsedGroups to loop over the groups, this defines a clear oder
- in pmodules_init(): prepend groups to UseGroups instead of
appending. This fixes an issue in the order the groups were listed.
in some cases it might happen that we have a Pmodules bin directory
in PATH. This has to be removed if we load a Pmodule module.
(cherry picked from commit d23fdf930a)
bugfix in the code to prevent adding an overlay if modules are already
loaded, same for removing
more clear error message if an overlay cannot be added/removed
use constants for overlay modifiers
Removing a Pmodule module with module purge has some unwanted
side-effects. It is not required to have modulecmd in a directory of
PATH. If you user explicitly loads a Pmodules module the bin directory
of the Pmodule module is added to the PATH. A Pmodules module might be
loaded for two reasons. First to change the Pmodules version, second
to make the build system available. If we remove a Pmodules module
with module purge the build systems is getting unavailable again. This
is confusing for the user.
A new configuration file has been added to map human readable overlay
names to the corresponding directory. The overlay can be specified
with the --overlay option. The passed string can be either a name or a
directory. If a name is passed, this name must map to directory in the
configuration file ${PMODULES_ROOT}/config/overlays.conf. The name is
also used as to select the variant files 'files/variants.name'. The
selection of variant files can be overriden with the --system
option.
A tmp file is now created at the very beginning for all subcommands
where a tmp file is needed. The file is removed in the _exit()
function which is registered via trap.
- the order of overlays is important, we have to use an array instead
of a dictionary
- PMODULES_OVERLAYS renamed to OverlayList which is now an array and
exported in PMODULES_ENV
- MapDirsToOverlays renamed to Dir2OverlayMap
- dictionary Overlays renamed to OverlayDict