From 047e7161b52fb197c1e8dbcc718bfa343cc2ddd8 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 9 Jun 2022 14:41:22 +0200 Subject: [PATCH] modulecmd: initialise Dir2OverlayMap for all available groups till now Dir2OverlayMap was only initialise for used groups. This is not sufficient, if a module outside the used groups is loaded via module load group:name. --- Pmodules/libpmodules.bash.in | 7 ++++--- Pmodules/modulecmd.bash.in | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Pmodules/libpmodules.bash.in b/Pmodules/libpmodules.bash.in index 4a78529..f3aa5b5 100644 --- a/Pmodules/libpmodules.bash.in +++ b/Pmodules/libpmodules.bash.in @@ -62,9 +62,10 @@ scan_groups () { local ol for ol in "$@"; do local mod_root="${OverlayInfo[${ol}:mod_root]}" - local moduledir - for moduledir in ${mod_root}/*/${PMODULES_MODULEFILES_DIR}; do - compute_group_depth "${moduledir}" + local dir + for dir in ${mod_root}/*/${PMODULES_MODULEFILES_DIR}; do + compute_group_depth "${dir}" + Dir2OverlayMap[${dir}]="${ol}" done done } diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 5eb3cb1..43a9cbe 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -608,13 +608,13 @@ subcommand_load() { "${CMD}" "${subcommand}" \ "illegal group name" \ "${group}" - MODULEPATH="" + #MODULEPATH="" modulepath=() - group+="${PMODULES_MODULEFILES_DIR}" + group+="/${PMODULES_MODULEFILES_DIR}" for overlay in "${UsedOverlays[@]}"; do local mod_root="${OverlayInfo[${overlay}:mod_root]}" - MODULEPATH="${mod_root}/${group}/:${MODULEPATH}" - modulepath=( "${mod_root}/${group}/" "${modulepath[@]}" ) + #MODULEPATH="${mod_root}/${group}:${MODULEPATH}" + modulepath=( "${mod_root}/${group}" "${modulepath[@]}" ) done fi if [[ -n ${rel_stage} ]]; then