From 3d013bce0bb19339e49f636fa75b5b4e7a0e2d8e Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Mon, 10 Jul 2023 18:48:18 +0200 Subject: [PATCH] modulecmd.bash: bugfix in getting available modules --- Pmodules/modulecmd.bash.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 06d213e..ac289aa 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -1015,6 +1015,7 @@ get_available_modules() { local -a dir_entries=(*) (( ${#dir_entries[@]} > 0 )) || continue + local sdirs="${dir##*/modulesfiles}" # loop over all files (and sym-link) in this directory and # its sub-directories local mod='' # module_name/module_version @@ -1040,7 +1041,7 @@ get_available_modules() { elif [[ "${modulenames[${name}]}" == "${ol}" ]]; then add='yes' elif [[ "${modulenames[${name}]}" == '0' ]] \ - && [[ ! -v dict[${mod}] ]]; then + && [[ ! -v dict[${sdirs}/${mod}] ]]; then add='yes' fi else @@ -1051,7 +1052,7 @@ get_available_modules() { [[ :${used_rel_stages}: =~ :${rel_stage}: ]] || continue gam_mods+=( "${mod}" ${rel_stage} "${dir}/${mod}" "${ol}" ) - dict[${mod}]=1 + dict[${sdirs}/${mod}]=1 done < <(${find} -L "${dir_entries[@]}" \ \( -type f -o -type l \) \ -not -name ".*" \