From 069b67d0fa2f1dca7ecd9df8805760587e67f9ea Mon Sep 17 00:00:00 2001 From: gsell Date: Fri, 23 Aug 2024 13:38:46 +0200 Subject: [PATCH] Merge branch '338-modulecmd-read-dependencies-file-from-same-directory-as-modulefile' into 'master' Resolve "modulecmd: read dependencies file from same directory as modulefile" Closes #338 See merge request Pmodules/src!317 (cherry picked from commit 25c9525f3f7b1fdaa428db52ce9389c61ada4aec) cfc844bc modulecmd: read dependencies from file in same directory as modulefile Co-authored-by: gsell --- 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}")