From 664dfdea062d03f3a6db7c42c3b56894936e43fa Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Sat, 23 Mar 2013 10:58:19 +0000 Subject: [PATCH] Extend/fix parsing `/etc/os-release`. --- bootstrap-salt.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index f1234dd..7a208d5 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -536,8 +536,29 @@ __gather_linux_system_info() { done < /etc/${rsource} ;; os ) - n=$(__unquote_string $(grep '^NAME=' /etc/os-release | sed -e 's/^NAME=\(.*\)$/\1/g')) - [ "${n}" = "Arch Linux" ] && v="" # Arch Linux does not provide a version. + nn=$(__unquote_string $(grep '^ID=' /etc/os-release | sed -e 's/^ID=\(.*\)$/\1/g')) + rv=$(__unquote_string $(grep '^VERSION_ID=' /etc/os-release | sed -e 's/^VERSION_ID=\(.*\)$/\1/g')) + [ "${rv}x" != "x" ] && v=$(__parse_version_string "$rv") || v="" + case $(echo ${nn} | tr '[:upper:]' '[:lower:]') in + arch ) + n="Arch Linux" + v="" # Arch Linux does not provide a version. + ;; + debian ) + n="Debian" + if [ "${v}x" = "x" ]; then + if [ "$(cat /etc/debian_version)" = "wheezy/sid" ]; then + # I've found an EC2 wheezy image which did not tell its version + v=$(__parse_version_string "7.0") + fi + else + echowarn "Unable to parse the Debian Version" + fi + ;; + * ) + n=${nn} + ;; + esac ;; * ) n="${n}" ; esac