From 61c3fa3a237ab307bf054746523e005e3d5c56d6 Mon Sep 17 00:00:00 2001 From: Brett Rann Date: Thu, 19 Mar 2015 23:36:44 +1100 Subject: [PATCH 1/3] issue #327 Use debian major version for rvm.io lookup Temporary: Hack debian 8 to "jessie_sid". remove when in rvm.io Fix zsh issue. --- test/chruby_exec_test.sh | 2 +- test/setup | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/test/chruby_exec_test.sh b/test/chruby_exec_test.sh index ea7cfc87..c3987e90 100755 --- a/test/chruby_exec_test.sh +++ b/test/chruby_exec_test.sh @@ -23,7 +23,7 @@ function test_chruby_exec() function test_chruby_exec_with_version() { - local output=$(chruby-exec --version) + local output="$(chruby-exec --version)" assertEquals "did not output the correct version" \ "chruby version $CHRUBY_VERSION" \ diff --git a/test/setup b/test/setup index 26f8716d..5e12c292 100755 --- a/test/setup +++ b/test/setup @@ -76,7 +76,11 @@ function detect_system() { )" elif [[ -f /etc/debian_version ]]; then system_name="debian" - system_version="$(awk -F. '{print $1"."$2}' /etc/debian_version)" + system_version="$(awk -F. '{print $1}' /etc/debian_version | head -n 1)" + if [ $system_version == "8" ]; then + echo "hacking debian_version 8 to jessie_sid. remove when 8 is in rvm.io" + system_version="jessie_sid" + fi system_arch="$( dpkg --print-architecture )" elif [[ -f /etc/os-release ]] && [[ "$(< /etc/os-release)" == *"ID=debian"* ]] From 6d5f7e7351cb725bbf06edd8de068c02cd9ff573 Mon Sep 17 00:00:00 2001 From: brann Date: Tue, 24 Mar 2015 15:40:18 +1100 Subject: [PATCH 2/3] issue #327 removing jessie_sid - 8 hack. linked upstream now. --- test/setup | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/setup b/test/setup index 5e12c292..0cd60e79 100755 --- a/test/setup +++ b/test/setup @@ -77,10 +77,6 @@ function detect_system() { elif [[ -f /etc/debian_version ]]; then system_name="debian" system_version="$(awk -F. '{print $1}' /etc/debian_version | head -n 1)" - if [ $system_version == "8" ]; then - echo "hacking debian_version 8 to jessie_sid. remove when 8 is in rvm.io" - system_version="jessie_sid" - fi system_arch="$( dpkg --print-architecture )" elif [[ -f /etc/os-release ]] && [[ "$(< /etc/os-release)" == *"ID=debian"* ]] From c261645e65ea292711da878ddcd73fa5cce25bb6 Mon Sep 17 00:00:00 2001 From: brann Date: Fri, 8 May 2015 09:52:46 +1000 Subject: [PATCH 3/3] fix tabs --- test/setup | 242 ++++++++++++++++++++++++++--------------------------- 1 file changed, 121 insertions(+), 121 deletions(-) diff --git a/test/setup b/test/setup index 0cd60e79..63b61298 100755 --- a/test/setup +++ b/test/setup @@ -5,7 +5,7 @@ function log() { if [[ -t 1 ]]; then printf "%b>>>%b %b%s%b\n" "\x1b[1m\x1b[32m" "\x1b[0m" \ - "\x1b[1m\x1b[37m" "$1" "\x1b[0m" + "\x1b[1m\x1b[37m" "$1" "\x1b[0m" else printf ">>> %s\n" "$1" fi @@ -14,7 +14,7 @@ function log() { function error() { if [[ -t 1 ]]; then printf "%b!!!%b %b%s%b\n" "\x1b[1m\x1b[31m" "\x1b[0m" \ - "\x1b[1m\x1b[37m" "$1" "\x1b[0m" >&2 + "\x1b[1m\x1b[37m" "$1" "\x1b[0m" >&2 else printf "!!! %s\n" "$1" >&2 fi @@ -37,134 +37,134 @@ function download() { } function detect_system() { - # adapted from RVM: https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/utility_system#L3 - system_type="unknown" - system_name="unknown" - system_version="unknown" - system_arch="$(uname -m)" + # adapted from RVM: https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/utility_system#L3 + system_type="unknown" + system_name="unknown" + system_version="unknown" + system_arch="$(uname -m)" - case "$(uname)" in - (Linux|GNU*) - system_type="linux" + case "$(uname)" in + (Linux|GNU*) + system_type="linux" - if [[ -f /etc/lsb-release ]] && + if [[ -f /etc/lsb-release ]] && [[ "$(< /etc/lsb-release)" == *"DISTRIB_ID=Ubuntu"* ]] - then - system_name="ubuntu" - system_version="$(awk -F'=' '$1=="DISTRIB_RELEASE"{print $2}' /etc/lsb-release)" - system_arch="$(dpkg --print-architecture)" - elif [[ -f /etc/lsb-release ]] && - [[ "$(< /etc/lsb-release)" == *"DISTRIB_ID=LinuxMint"* ]] - then - system_name="mint" - system_version="$(awk -F'=' '$1=="DISTRIB_RELEASE"{print $2}' /etc/lsb-release)" - system_arch="$( dpkg --print-architecture )" - elif [[ -f /etc/lsb-release ]] && - [[ "$(< /etc/lsb-release)" == *"DISTRIB_ID=ManjaroLinux"* ]] - then - system_name="manjaro" - system_version="$(awk -F'=' '$1=="DISTRIB_RELEASE"{print $2}' /etc/lsb-release)" - elif [[ -f /etc/os-release ]] && - [[ "$(< /etc/os-release)" == *"ID=opensuse"* ]] - then - system_name="opensuse" - system_version="$(awk -F'=' '$1=="VERSION_ID"{gsub(/"/,"");print $2}' /etc/os-release)" #' - elif [[ -f /etc/SuSE-release ]]; then - system_name="suse" - system_version="$( - awk -F'=' '{gsub(/ /,"")} $1~/VERSION/ {version=$2} $1~/PATCHLEVEL/ {patch=$2} END {print version"."patch}' < /etc/SuSE-release - )" - elif [[ -f /etc/debian_version ]]; then - system_name="debian" - system_version="$(awk -F. '{print $1}' /etc/debian_version | head -n 1)" - system_arch="$( dpkg --print-architecture )" - elif [[ -f /etc/os-release ]] && - [[ "$(< /etc/os-release)" == *"ID=debian"* ]] - then - system_name="debian" - system_version="$(awk -F'=' '$1=="VERSION_ID"{gsub(/"/,"");print $2}' /etc/os-release | awk -F. '{print $1"."$2}')" #' - system_arch="$( dpkg --print-architecture )" - elif [[ -f /etc/fedora-release ]]; then - system_name="fedora" - system_version="$(grep -Eo '[[:digit:]]+' /etc/fedora-release)" - elif [[ -f /etc/centos-release ]]; then - system_name="centos" - system_version="$(grep -Eo '[[:digit:]\.]+' /etc/centos-release | awk -F. '{print $1"."$2}')" - elif [[ -f /etc/redhat-release ]]; then - if [[ "$(< /etc/redhat-release)" == *"CentOS"* ]]; then + then + system_name="ubuntu" + system_version="$(awk -F'=' '$1=="DISTRIB_RELEASE"{print $2}' /etc/lsb-release)" + system_arch="$(dpkg --print-architecture)" + elif [[ -f /etc/lsb-release ]] && + [[ "$(< /etc/lsb-release)" == *"DISTRIB_ID=LinuxMint"* ]] + then + system_name="mint" + system_version="$(awk -F'=' '$1=="DISTRIB_RELEASE"{print $2}' /etc/lsb-release)" + system_arch="$( dpkg --print-architecture )" + elif [[ -f /etc/lsb-release ]] && + [[ "$(< /etc/lsb-release)" == *"DISTRIB_ID=ManjaroLinux"* ]] + then + system_name="manjaro" + system_version="$(awk -F'=' '$1=="DISTRIB_RELEASE"{print $2}' /etc/lsb-release)" + elif [[ -f /etc/os-release ]] && + [[ "$(< /etc/os-release)" == *"ID=opensuse"* ]] + then + system_name="opensuse" + system_version="$(awk -F'=' '$1=="VERSION_ID"{gsub(/"/,"");print $2}' /etc/os-release)" #' + elif [[ -f /etc/SuSE-release ]]; then + system_name="suse" + system_version="$( + awk -F'=' '{gsub(/ /,"")} $1~/VERSION/ {version=$2} $1~/PATCHLEVEL/ {patch=$2} END {print version"."patch}' < /etc/SuSE-release + )" + elif [[ -f /etc/debian_version ]]; then + system_name="debian" + system_version="$(awk -F. '{print $1}' /etc/debian_version | head -n 1)" + system_arch="$( dpkg --print-architecture )" + elif [[ -f /etc/os-release ]] && + [[ "$(< /etc/os-release)" == *"ID=debian"* ]] + then + system_name="debian" + system_version="$(awk -F'=' '$1=="VERSION_ID"{gsub(/"/,"");print $2}' /etc/os-release | awk -F. '{print $1"."$2}')" #' + system_arch="$( dpkg --print-architecture )" + elif [[ -f /etc/fedora-release ]]; then + system_name="fedora" + system_version="$(grep -Eo '[[:digit:]]+' /etc/fedora-release)" + elif [[ -f /etc/centos-release ]]; then + system_name="centos" + system_version="$(grep -Eo '[[:digit:]\.]+' /etc/centos-release | awk -F. '{print $1"."$2}')" + elif [[ -f /etc/redhat-release ]]; then + if [[ "$(< /etc/redhat-release)" == *"CentOS"* ]]; then system_name="centos" - else + else system_name="redhat" - fi - - system_version="$(grep -Eo '[[:digit:]\.]+' /etc/redhat-release | awk -F. '{print $1"."$2}')" - elif [[ -f /etc/system-release ]] && - [[ "$(< /etc/system-release)" == *"Amazon Linux AMI"* ]] - then - system_name="amazon" - system_version="$(grep -Eo '[[:digit:]\.]+' /etc/system-release | awk -F. '{print $1"."$2}')" - elif [[ -f /etc/gentoo-release ]]; then - system_name="gentoo" - system_version="base-$(< /etc/gentoo-release | awk 'NR==1 {print $NF}' | awk -F. '{print $1"."$2}')" - elif [[ -f /etc/arch-release ]]; then - system_name="arch" - system_version="libc-$(ldd --version | awk 'NR==1 {print $NF}' | awk -F. '{print $1"."$2}')" - else - system_version="libc-$(ldd --version | awk 'NR==1 {print $NF}' | awk -F. '{print $1"."$2}')" - fi - ;; - - (SunOS) - system_type="sunos" - system_name="solaris" - system_version="$(uname -v)" - - if [[ "${system_version}" == joyent* ]]; then - system_name="smartos" - system_version="${system_version#* }" - elif [[ "${system_version}" == oi* ]]; then - system_name="openindiana" - system_version="${system_version#* }" - fi - ;; - - (OpenBSD) - system_type="bsd" - system_name="openbsd" - system_version="$(uname -r)" - ;; - - (Darwin) - system_type="darwin" - system_name="osx" - system_version="$(sw_vers -productVersion)" - system_version="${system_version%.*}" # only major.minor - teeny is ignored - ;; - - (FreeBSD) - system_type="bsd" - system_name="freebsd" - system_version="$(uname -r)" - system_version="${system_version%%-*}" - ;; - - (*) - return 1 - ;; - esac - - system_type="${system_type//[ \/]/_}" - system_name="${system_name//[ \/]/_}" - system_version="${system_version//[ \/]/_}" - system_arch="${system_arch//[ \/]/_}" - system_arch="${system_arch/amd64/x86_64}" - system_arch="${system_arch/i[123456789]86/i386}" + fi + + system_version="$(grep -Eo '[[:digit:]\.]+' /etc/redhat-release | awk -F. '{print $1"."$2}')" + elif [[ -f /etc/system-release ]] && + [[ "$(< /etc/system-release)" == *"Amazon Linux AMI"* ]] + then + system_name="amazon" + system_version="$(grep -Eo '[[:digit:]\.]+' /etc/system-release | awk -F. '{print $1"."$2}')" + elif [[ -f /etc/gentoo-release ]]; then + system_name="gentoo" + system_version="base-$(< /etc/gentoo-release | awk 'NR==1 {print $NF}' | awk -F. '{print $1"."$2}')" + elif [[ -f /etc/arch-release ]]; then + system_name="arch" + system_version="libc-$(ldd --version | awk 'NR==1 {print $NF}' | awk -F. '{print $1"."$2}')" + else + system_version="libc-$(ldd --version | awk 'NR==1 {print $NF}' | awk -F. '{print $1"."$2}')" + fi + ;; + + (SunOS) + system_type="sunos" + system_name="solaris" + system_version="$(uname -v)" + + if [[ "${system_version}" == joyent* ]]; then + system_name="smartos" + system_version="${system_version#* }" + elif [[ "${system_version}" == oi* ]]; then + system_name="openindiana" + system_version="${system_version#* }" + fi + ;; + + (OpenBSD) + system_type="bsd" + system_name="openbsd" + system_version="$(uname -r)" + ;; + + (Darwin) + system_type="darwin" + system_name="osx" + system_version="$(sw_vers -productVersion)" + system_version="${system_version%.*}" # only major.minor - teeny is ignored + ;; + + (FreeBSD) + system_type="bsd" + system_name="freebsd" + system_version="$(uname -r)" + system_version="${system_version%%-*}" + ;; + + (*) + return 1 + ;; + esac + + system_type="${system_type//[ \/]/_}" + system_name="${system_name//[ \/]/_}" + system_version="${system_version//[ \/]/_}" + system_arch="${system_arch//[ \/]/_}" + system_arch="${system_arch/amd64/x86_64}" + system_arch="${system_arch/i[123456789]86/i386}" } detect_system || fail "Cannot auto-detect system type" -[[ "$system_name" == "unknown" ]] && fail "Could not detect system name" +[[ "$system_name" == "unknown" ]] && fail "Could not detect system name" [[ "$system_version" == "unknown" ]] && fail "Could not detect system version" -[[ "$system_arch" == "unknown" ]] && fail "Could not detect system arch" +[[ "$system_arch" == "unknown" ]] && fail "Could not detect system arch" test_ruby_archive="$test_ruby_engine-$test_ruby_version-p$test_ruby_patchlevel.tar.bz2" test_ruby_url="http://rvm.io/binaries/$system_name/$system_version/$system_arch/$test_ruby_archive"