From 4280bd2b84cb987adaee6d402af4be38dcb8a440 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 6 Mar 2025 14:45:17 +0100 Subject: [PATCH] modulecmd: print correct release stage for Spack modules --- Pmodules/modulecmd.bash.in | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index fab472a..b934697 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -1237,14 +1237,20 @@ get_available_modules() { fi [[ "${add}" == 'no' ]] && continue local -A cfg=() - get_module_config cfg "${dir}" "${rel_modulefile}" + local -- relstage='stable' if [[ "${OverlayInfo[${ol}:layout]}" == 'Pmodules' ]]; then + get_module_config cfg "${dir}" "${rel_modulefile}" is_available cfg "${relstages}" || continue - result+=( "${mod}" "${cfg['relstage']}" "${dir}" "${rel_modulefile}" "${ol}" "${group}" ) + relstage="${cfg['relstage']}" + elif [[ "${OverlayInfo[${ol}:layout]}" == 'Spack' ]]; then + if [[ ":${UsedReleaseStages}:" =~ :unstable: ]]; then + relstage='unstable' + fi else + get_module_config cfg "${dir}" "${rel_modulefile}" is_available cfg "${ReleaseStages}" || continue - result+=( "${mod}" 'stable' "${dir}" "${rel_modulefile}" "${ol}" "${group}" ) fi + result+=( "${mod}" "${relstage}" "${dir}" "${rel_modulefile}" "${ol}" "${group}" ) ref_modules[${mod}]=1 done < <(${find} -L "${dir}" \ -not -name ".*" \