Skip to content

Commit 3373969

Browse files
committed
fix(basalt-package-init): Properly exit if Bash version not satisfied
The previous `exit 1` failed to work since `baslt-package-init` is its own command and is used within `eval`.
1 parent 9565dc8 commit 3373969

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

pkg/src/bin/basalt-package-init.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ main.basalt-package-init() {
1414
source "$__basalt_dirname/pkg/src/util/init.sh"
1515
else
1616
printf '%s\n' "Fatal: main.basalt: Variable '__basalt_dirname' is empty" >&2
17+
printf '%s\n' 'exit 1'
1718
exit 1
1819
fi
1920
fi
20-
init.ensure_bash_version
21+
if ! init.assert_bash_version; then
22+
printf '%s\n' 'exit 1'
23+
exit 1
24+
fi
2125

2226
init.print_package_init
2327
}

pkg/src/bin/basalt.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ main.basalt() {
1212
fi
1313
source "$__basalt_dirname/pkg/src/util/init.sh"
1414
fi
15-
init.ensure_bash_version
15+
if ! init.assert_bash_version; then
16+
exit 1
17+
fi
1618

1719
# Don't re-source files when doing testing. This speeds up testing and also
1820
# ensures function stubs are not overriden

pkg/src/util/init.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# shellcheck shell=bash
22

3-
init.ensure_bash_version() {
3+
init.assert_bash_version() {
44
if ! ((BASH_VERSINFO[0] >= 5 || (BASH_VERSINFO[0] >= 4 && BASH_VERSINFO[1] >= 3) )); then
55
printf '%s\n' 'Fatal: Basalt: Basalt requires at least Bash version 4.3' >&2
6-
exit 1
6+
return 1
77
fi
88
}
99

0 commit comments

Comments
 (0)