From 4b928f779dedb92aba1c5cb5e8343a8c748be5b8 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 21 Mar 2024 10:00:49 +0100 Subject: [PATCH 1/2] modbuild: fix in parsing arguments (issue #238) --- Pmodules/modbuild.in | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Pmodules/modbuild.in b/Pmodules/modbuild.in index c129272..0c31af8 100755 --- a/Pmodules/modbuild.in +++ b/Pmodules/modbuild.in @@ -202,13 +202,7 @@ parse_args() { # modbuild [options] # the build-script MUST be passed as first argument. # - BUILD_SCRIPT=$(std::get_abspath "$1") - test -r ${BUILD_SCRIPT} || \ - std::die 1 "%s " \ - "Build script does not exist" \ - "or is not readable -- '$_'" - BUILDBLOCK_DIR=$(dirname "${BUILD_SCRIPT}") - shift 1 + (( $# == 0 )) && usage while (( $# > 0 )); do case $1 in @@ -345,17 +339,26 @@ parse_args() { ;; * ) local -- arg="$1" - if [[ "${arg}" == */* ]]; then + local -- tmpvar=$(std::get_abspath "${arg}") + if [[ -r ${tmpvar} ]]; then + BUILD_SCRIPT="${tmpvar}" + BUILDBLOCK_DIR=$(dirname "${BUILD_SCRIPT}") + elif [[ "${arg}" == */* ]]; then module_name="${arg%/*}" versions+=( {arg#*/} ) else versions+=( "$1" ) fi + ;; esac shift done + [[ -z "${BUILD_SCRIPT}" ]] && \ + std::die 1 "%s " \ + "Build script argument missing?" + # if no version is specified on the cmd-line, build all versions (( ${#versions[@]} > 0)) || versions+=( '.*' ) From 359a14e415727370165d387f9ebb9d5a4af8921f Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 21 Mar 2024 10:17:25 +0100 Subject: [PATCH 2/2] CHANGELOG updated --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e2cd90..6b5ad2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,10 @@ ### modulecmd ### build-system +* fix in parsing arguments issue (#238) ### Toolchain -* update to Tcl 8.6.14 (Issue #239) +* update to Tcl 8.6.14 (issue #239) ## Version 1.1.17 ### build-system