@@ -14,7 +14,7 @@ function alpine_print_help() {
14
14
$( basename " ${BASH_SOURCE[0]} " ) : Update the Alpine Linux image location in the specified templates
15
15
16
16
Usage:
17
- $( basename " ${BASH_SOURCE[0]} " ) [--version-major-minor <major>.<minor>] <template.yaml>...
17
+ $( basename " ${BASH_SOURCE[0]} " ) [--version-major-minor ( <major>.<minor>|latest-stable) ] <template.yaml>...
18
18
19
19
Description:
20
20
This script updates the Alpine Linux image location in the specified templates.
@@ -39,9 +39,9 @@ Examples:
39
39
$ limactl factory-reset alpine
40
40
41
41
Flags:
42
- --version-major-minor <major>.<minor> Use the specified <major>.<minor> version.
43
- The version must be 3.18 or later.
44
- -h, --help Print this help message
42
+ --version-major-minor ( <major>.<minor>|latest-stable) Use the specified <major>.<minor> version or alias "latest-stable" .
43
+ The <major>.<minor> version must be 3.18 or later.
44
+ -h, --help Print this help message
45
45
HELP
46
46
}
47
47
@@ -178,30 +178,27 @@ while [[ $# -gt 0 ]]; do
178
178
;;
179
179
-d | --debug) set -x ;;
180
180
--version-major-minor)
181
- if [[ -n $2 && $2 != -* ]]; then
182
- overriding=$(
183
- version=" ${2# v} "
184
- [[ ${version} == " latest-stable" ]] && exit
185
- version=" $( echo " ${version} " | cut -d. -f1-2) "
186
- [[ ${version%% .* } -gt 3 || (${version%% .* } -eq 3 && ${version#* .} -ge 18) ]] || error_exit " Alpine Linux version must be 3.18 or later"
187
- # shellcheck disable=2034
188
- path_version=" v${version} "
189
- json_vars path_version <<< " ${overriding}"
190
- )
181
+ if [[ -n ${2:- } && $2 != -* ]]; then
182
+ version=" $2 "
191
183
shift
192
184
else
193
- error_exit " --version requires a value"
185
+ error_exit " --version-major-minor requires a value"
194
186
fi
195
- ;;
187
+ ;&
196
188
--version-major-minor=*)
189
+ version=${version:- ${1#* =} }
197
190
overriding=$(
198
- version=" ${1#* =} "
199
191
version=" ${version# v} "
200
- [[ ${version} == " latest-stable" ]] && exit
201
- version=" $( echo " ${version} " | cut -d. -f1-2) "
202
- [[ ${version%% .* } -gt 3 || (${version%% .* } -eq 3 && ${version#* .} -ge 18) ]] || error_exit " Alpine Linux version must be 3.18 or later"
192
+ if [[ ${version} =~ ^v? [0-9]+.[0-9]+ ]]; then
193
+ version=" $( echo " ${version} " | cut -d. -f1-2) "
194
+ [[ ${version%% .* } -gt 3 || (${version%% .* } -eq 3 && ${version#* .} -ge 18) ]] || error_exit " Alpine Linux version must be 3.18 or later"
195
+ path_version=" v${version} "
196
+ elif [[ ${version} == " latest-stable" ]]; then
197
+ path_version=" latest-stable"
198
+ else
199
+ error_exit " --version-major-minor requires a value in the format <major>.<minor> or latest-stable"
200
+ fi
203
201
# shellcheck disable=2034
204
- path_version=" v${version} "
205
202
json_vars path_version <<< " ${overriding}"
206
203
)
207
204
;;
0 commit comments