summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2016-07-04 21:42:28 +0200
committerMihai Moldovan <ionic@ionic.de>2016-07-04 22:45:48 +0200
commite00a37895b6b56f28d9b0d3d360af500397dd39e (patch)
tree25285023c661113cc119a62f263d7b161282324f
parentb9992a54faffe763946fc1ca9276ee65149c5b46 (diff)
downloadbuildscripts-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-xbin/debian-codename-to-version.sh14
-rwxr-xr-xbin/ubuntu-codename-to-version.sh14
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}"