diff options
author | Mihai Moldovan <ionic@ionic.de> | 2016-07-04 21:42:28 +0200 |
---|---|---|
committer | Mihai Moldovan <ionic@ionic.de> | 2016-07-04 22:45:48 +0200 |
commit | e00a37895b6b56f28d9b0d3d360af500397dd39e (patch) | |
tree | 25285023c661113cc119a62f263d7b161282324f | |
parent | b9992a54faffe763946fc1ca9276ee65149c5b46 (diff) | |
download | buildscripts-e00a37895b6b56f28d9b0d3d360af500397dd39e.tar.gz buildscripts-e00a37895b6b56f28d9b0d3d360af500397dd39e.tar.bz2 buildscripts-e00a37895b6b56f28d9b0d3d360af500397dd39e.zip |
bin/{debian,ubuntu}-codename-to-version.sh: fix various shortcomings:
- return can only be used in functions. Switch to "exit" instead.
- typeset -l makes the content lowercase, not the variable "local"
(that's implied by using typeset.) Hence, drop it where
inappropriate.
- typeset -l is only available in BASH 4 and higher. Use it
conditionally only.
- Use tr to convert strings to lowercase when using a BASH version
lower than 4.
-rwxr-xr-x | bin/debian-codename-to-version.sh | 14 | ||||
-rwxr-xr-x | bin/ubuntu-codename-to-version.sh | 14 |
2 files changed, 22 insertions, 6 deletions
diff --git a/bin/debian-codename-to-version.sh b/bin/debian-codename-to-version.sh index 8bd0384..42f497b 100755 --- a/bin/debian-codename-to-version.sh +++ b/bin/debian-codename-to-version.sh @@ -29,10 +29,18 @@ unset CDPATH # The return code is either 0, iff mapping was successful, # or 1 if the code name is unknown and mapping failed. -typeset -l codename +# Where supported (BASH 4 and higher), automatically +# lower-case the codename argument. +if [ -n "${BASH_VERSINFO[0]}" ] && [ "${BASH_VERSINFO[0]}" -gt 3 ]; then + typeset -l codename +fi codename="${1:?"No code name provided."}" -typeset -l -i ret="0" +if [ -z "${BASH_VERSINFO[0]}" ] || [ "${BASH_VERSINFO[0]}" -lt 4 ]; then + codename="$(tr '[:upper:]' '[:lower:]' <<< "${codename}")" +fi + +typeset -i ret="0" case "${codename}" in # The first version number is actually "fake", @@ -79,4 +87,4 @@ case "${codename}" in (*) ret="1";; esac -return "${ret}" +exit "${ret}" diff --git a/bin/ubuntu-codename-to-version.sh b/bin/ubuntu-codename-to-version.sh index 943e130..f2884cf 100755 --- a/bin/ubuntu-codename-to-version.sh +++ b/bin/ubuntu-codename-to-version.sh @@ -28,10 +28,18 @@ unset CDPATH # The return code is either 0, iff mapping was successful, # or 1 if the code name is unknown and mapping failed. -typeset -l codename +# Where supported (BASH 4 and higher), automatically +# lower-case the codename argument. +if [ -n "${BASH_VERSINFO[0]}" ] && [ "${BASH_VERSINFO[0]}" -gt 3 ]; then + typeset -l codename +fi codename="${1:?"No code name provided."}" -typeset -l -i ret="0" +if [ -z "${BASH_VERSINFO[0]}" ] || [ "${BASH_VERSINFO[0]}" -lt 4 ]; then + codename="$(tr '[:upper:]' '[:lower:]' <<< "${codename}")" +fi + +typeset -i ret="0" case "${codename}" in # The first version number is actually "fake", @@ -69,4 +77,4 @@ case "${codename}" in (*) ret="1";; esac -return "${ret}" +exit "${ret}" |