From cfc844bccb8f9607079ed92fcae92ba0b8a5f477 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 23 Aug 2024 13:14:48 +0200 Subject: [PATCH] modulecmd: read dependencies from file in same directory as modulefile --- Pmodules/modulecmd.bash.in | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 4f9ed1e..f703c6a 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -873,13 +873,17 @@ subcommand_load() { # continue if already loaded [[ ":${LOADEDMODULES}:" == *:${m}:* ]] && continue - # show info file if exist, load dependencies and the module itself + # show info file if exist local prefix='' get_module_prefix prefix "${current_modulefile}" - if [[ -n ${prefix} ]]; then - test -r "${prefix}/.info" && cat "$_" 1>&2 - test -r "${prefix}/.dependencies" && load_dependencies "$_" - fi + [[ -n ${prefix} && -r "${prefix}/.info" ]] && cat "${prefix}/.info" 1>&2 + + # load dependencies + local -- deps_file="${current_modulefile%/*}/.deps-${current_modulefile##*/}" + if [[ ! -r "${deps_file}" && -n "${prefix}" ]]; then + deps_file="${prefix}/.dependencies" + fi + test -r "${deps_file}" && load_dependencies "$_" local output='' output=$("${modulecmd}" 'bash' "${opts[@]}" 'load' \ "${current_modulefile}" 2> "${TmpFile}")