summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Golatofski2020-01-12 14:43:13 +0100
committerFelix Golatofski2020-01-12 14:43:13 +0100
commit638bf2a0764ebec0943078f91fcba462046c2c97 (patch)
treec7ef81b48e2ccc4ac1caa1d48097896c6f16e2d6
parentfad48580b957a897961535f735e1997ae07ac762 (diff)
downloadaur-638bf2a0764ebec0943078f91fcba462046c2c97.tar.gz
Updated to 1.29.9
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD4
-rwxr-xr-xrvm-installer927
3 files changed, 4 insertions, 931 deletions
diff --git a/.SRCINFO b/.SRCINFO
index dd475155ccb..4a66255ce05 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = rvm
pkgdesc = RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.
- pkgver = 1.29.3
+ pkgver = 1.29.9
pkgrel = 2
url = https://rvm.io/
arch = any
@@ -18,7 +18,7 @@ pkgbase = rvm
source = rvm_init.sh
source = rvm.sh
source = rvmrc
- sha256sums = f6eb5b10cf6f544c5d75511fc9a34e32da2e8ff1882e0f50be13ea5a6db2b8e1
+ sha256sums = fea24461e98d41528d6e28684aa4c216dbe903869bc3fcdb3493b6518fae2e7e
sha256sums = f09f9a144a3d33409c1f394d7ba37f783b8034fbd6405e8536bf9bfec87c6af0
sha256sums = 48b6e852380c9e9b8d3b3c3ce8e50d397429dd1efeee06a75e121df1a2df47e2
sha256sums = f9444e8c5817c4a59fc701b8a71cef0a7114a9dda549ad82c5800983f1a54738
diff --git a/PKGBUILD b/PKGBUILD
index a0e98ec4a6d..fca3df16f48 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=rvm
pkgbase=${pkgname}
-pkgver=1.29.3
+pkgver=1.29.9
pkgrel=2
pkgdesc='RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.'
arch=('any')
@@ -16,7 +16,7 @@ source=("https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-install
"rvm_init.sh"
"rvm.sh"
"rvmrc")
-sha256sums=('f6eb5b10cf6f544c5d75511fc9a34e32da2e8ff1882e0f50be13ea5a6db2b8e1'
+sha256sums=('fea24461e98d41528d6e28684aa4c216dbe903869bc3fcdb3493b6518fae2e7e'
'f09f9a144a3d33409c1f394d7ba37f783b8034fbd6405e8536bf9bfec87c6af0'
'48b6e852380c9e9b8d3b3c3ce8e50d397429dd1efeee06a75e121df1a2df47e2'
'f9444e8c5817c4a59fc701b8a71cef0a7114a9dda549ad82c5800983f1a54738')
diff --git a/rvm-installer b/rvm-installer
deleted file mode 100755
index 4a63284a320..00000000000
--- a/rvm-installer
+++ /dev/null
@@ -1,927 +0,0 @@
-#!/usr/bin/env bash
-
-shopt -s extglob
-set -o errtrace
-set -o errexit
-
-rvm_install_initialize()
-{
- DEFAULT_SOURCES=(github.com/rvm/rvm bitbucket.org/mpapis/rvm)
-
- BASH_MIN_VERSION="3.2.25"
- if
- [[ -n "${BASH_VERSION:-}" &&
- "$(\printf "%b" "${BASH_VERSION:-}\n${BASH_MIN_VERSION}\n" | LC_ALL=C \sort -t"." -k1,1n -k2,2n -k3,3n | \head -n1)" != "${BASH_MIN_VERSION}"
- ]]
- then
- echo "BASH ${BASH_MIN_VERSION} required (you have $BASH_VERSION)"
- exit 1
- fi
-
- export HOME PS4
- export rvm_trace_flag rvm_debug_flag rvm_user_install_flag rvm_ignore_rvmrc rvm_prefix rvm_path
-
- PS4="+ \${BASH_SOURCE##\${rvm_path:-}} : \${FUNCNAME[0]:+\${FUNCNAME[0]}()} \${LINENO} > "
-}
-
-log() { printf "%b\n" "$*"; }
-debug(){ [[ ${rvm_debug_flag:-0} -eq 0 ]] || printf "%b\n" "$*" >&2; }
-fail() { log "\nERROR: $*\n" >&2 ; exit 1 ; }
-
-rvm_install_commands_setup()
-{
- \which which >/dev/null 2>&1 || fail "Could not find 'which' command, make sure it's available first before continuing installation."
- \which grep >/dev/null 2>&1 || fail "Could not find 'grep' command, make sure it's available first before continuing installation."
- if
- [[ -z "${rvm_tar_command:-}" ]] && builtin command -v gtar >/dev/null
- then
- rvm_tar_command=gtar
- elif
- ${rvm_tar_command:-tar} --help 2>&1 | GREP_OPTIONS="" \grep -- --strip-components >/dev/null
- then
- rvm_tar_command="${rvm_tar_command:-tar}"
- else
- case "$(uname)" in
- (OpenBSD)
- log "Trying to install GNU version of tar, might require sudo password"
- if (( UID ))
- then sudo pkg_add -z gtar-1
- else pkg_add -z gtar-1
- fi
- rvm_tar_command=gtar
- ;;
- (Darwin|FreeBSD|DragonFly) # it's not possible to autodetect on OSX, the help/man does not mention all flags
- rvm_tar_command=tar
- ;;
- (SunOS)
- case "$(uname -r)" in
- (5.10)
- log "Trying to install GNU version of tar, might require sudo password"
- if (( UID ))
- then
- if \which sudo >/dev/null 2>&1
- then sudo_10=sudo
- elif \which /opt/csw/bin/sudo >/dev/null 2>&1
- then sudo_10=/opt/csw/bin/sudo
- else fail "sudo is required but not found. You may install sudo from OpenCSW repository (https://www.opencsw.org/about)"
- fi
- pkginfo -q CSWpkgutil || $sudo_10 pkgadd -a $rvm_path/config/solaris/noask -d https://get.opencsw.org/now CSWpkgutil
- sudo /opt/csw/bin/pkgutil -iy CSWgtar -t https://mirror.opencsw.org/opencsw/unstable
- else
- pkginfo -q CSWpkgutil || pkgadd -a $rvm_path/config/solaris/noask -d https://get.opencsw.org/now CSWpkgutil
- /opt/csw/bin/pkgutil -iy CSWgtar -t https://mirror.opencsw.org/opencsw/unstable
- fi
- rvm_tar_command=/opt/csw/bin/gtar
- ;;
- (*)
- rvm_tar_command=tar
- ;;
- esac
- esac
- builtin command -v ${rvm_tar_command:-gtar} >/dev/null ||
- fail "Could not find GNU compatible version of 'tar' command, make sure it's available first before continuing installation."
- fi
- if
- [[ " ${rvm_tar_options:-} " != *" --no-same-owner "* ]] &&
- $rvm_tar_command --help 2>&1 | GREP_OPTIONS="" \grep -- --no-same-owner >/dev/null
- then
- rvm_tar_options="${rvm_tar_options:-}${rvm_tar_options:+ }--no-same-owner"
- fi
-}
-
-usage()
-{
- printf "%b" "
-
-Usage
-
- rvm-installer [options] [action]
-
-Options
-
- [[--]version] <version>
-
- The version or tag to install. Valid values are:
-
- latest - The latest tagged version.
- latest-minor - The latest minor version of the current major version.
- latest-<x> - The latest minor version of version x.
- latest-<x>.<y> - The latest patch version of version x.y.
- <x>.<y>.<z> - Major version x, minor version y and patch z.
-
- [--]branch <branch>
-
- The name of the branch from which RVM is installed. This option can be used
- with the following formats for <branch>:
-
- <account>/
-
- If account is rvm or mpapis, installs from one of the following:
-
- https://github.com/rvm/rvm/archive/master.tar.gz
- https://bitbucket.org/mpapis/rvm/get/master.tar.gz
-
- Otherwise, installs from:
-
- https://github.com/<account>/rvm/archive/master.tar.gz
-
- <account>/<branch>
-
- If account is rvm or mpapis, installs from one of the following:
-
- https://github.com/rvm/rvm/archive/<branch>.tar.gz
- https://bitbucket.org/mpapis/rvm/get/<branch>.tar.gz
-
- Otherwise, installs from:
-
- https://github.com/<account>/rvm/archive/<branch>.tar.gz
-
- [/]<branch>
-
- Installs the branch from one of the following:
-
- https://github.com/rvm/rvm/archive/<branch>.tar.gz
- https://bitbucket.org/mpapis/rvm/get/<branch>.tar.gz
-
- [--]source <source>
-
- Defines the repository from which RVM is retrieved and installed in the format:
-
- <domain>/<account>/<repo>
-
- Where:
-
- <domain> - Is bitbucket.org, github.com or a github enterprise site serving
- an RVM repository.
- <account> - Is the user account in which the RVM repository resides.
- <repo> - Is the name of the RVM repository.
-
- Note that when using the [--]source option, one should only use the [/]branch format
- with the [--]branch option. Failure to do so will result in undefined behavior.
-
- --trace
-
- Provides debug logging for the installation script.
-Actions
-
- master - Installs RVM from the master branch at rvm/rvm on github or mpapis/rvm
- on bitbucket.org.
- stable - Installs RVM from the stable branch a rvm/rvm on github or mpapis/rvm
- on bitbucket.org.
- help - Displays this output.
-
-"
-}
-
-## duplication marker 32fosjfjsznkjneuera48jae
-__rvm_curl_output_control()
-{
- if
- (( ${rvm_quiet_curl_flag:-0} == 1 ))
- then
- __flags+=( "--silent" "--show-error" )
- elif
- [[ " $*" == *" -s"* || " $*" == *" --silent"* ]]
- then
- # make sure --show-error is used with --silent
- [[ " $*" == *" -S"* || " $*" == *" -sS"* || " $*" == *" --show-error"* ]] ||
- {
- __flags+=( "--show-error" )
- }
- fi
-}
-
-## duplication marker 32fosjfjsznkjneuera48jae
-# -S is automatically added to -s
-__rvm_curl()
-(
- __rvm_which curl >/dev/null ||
- {
- rvm_error "RVM requires 'curl'. Install 'curl' first and try again."
- return 200
- }
-
- typeset -a __flags
- __flags=( --fail --location --max-redirs 10 )
-
- [[ "$*" == *"--max-time"* ]] ||
- [[ "$*" == *"--connect-timeout"* ]] ||
- __flags+=( --connect-timeout 30 --retry-delay 2 --retry 3 )
-
- if [[ -n "${rvm_proxy:-}" ]]
- then __flags+=( --proxy "${rvm_proxy:-}" )
- fi
-
- __rvm_curl_output_control
-
- unset curl
- __rvm_debug_command \curl "${__flags[@]}" "$@" || return $?
-)
-
-rvm_error() { printf "ERROR: %b\n" "$*"; }
-__rvm_which(){ which "$@" || return $?; true; }
-__rvm_debug_command()
-{
- debug "Running($#): $*"
- "$@" || return $?
- true
-}
-rvm_is_a_shell_function()
-{
- [[ -t 0 && -t 1 ]] || return $?
- return ${rvm_is_not_a_shell_function:-0}
-}
-
-# Searches the tags for the highest available version matching a given pattern.
-# fetch_version (github.com/rvm/rvm bitbucket.org/mpapis/rvm) 1.10. -> 1.10.3
-# fetch_version (github.com/rvm/rvm bitbucket.org/mpapis/rvm) 1.10. -> 1.10.3
-# fetch_version (github.com/rvm/rvm bitbucket.org/mpapis/rvm) 1. -> 1.11.0
-# fetch_version (github.com/rvm/rvm bitbucket.org/mpapis/rvm) "" -> 2.0.1
-fetch_version()
-{
- typeset _account _domain _pattern _repo _sources _values _version
- _sources=(${!1})
- _pattern=$2
- for _source in "${_sources[@]}"
- do
- IFS='/' read -r _domain _account _repo <<< "${_source}"
- _version="$(
- fetch_versions ${_domain} ${_account} ${_repo} |
- GREP_OPTIONS="" \grep "^${_pattern:-}" | tail -n 1
- )"
- if
- [[ -n ${_version} ]]
- then
- echo "${_version}"
- return 0
- fi
- done
-}
-
-# Returns a sorted list of all version tags from a repository
-fetch_versions()
-{
- typeset _account _domain _repo _url
- _domain=$1
- _account=$2
- _repo=$3
- case ${_domain} in
- (bitbucket.org)
- _url=https://${_domain}/api/1.0/repositories/${_account}/${_repo}/branches-tags
- ;;
- (github.com)
- _url=https://api.${_domain}/repos/${_account}/${_repo}/tags
- ;;
-
- (*)
- _url=https://${_domain}/api/v3/repos/${_account}/${_repo}/tags
- ;;
- esac
- __rvm_curl -s ${_url} |
- \awk -v RS=',' -v FS='"' '$2=="name"{print $4}' |
- sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n
-}
-
-install_release()
-{
- typeset _source _sources _url _version _verify_pgp
- _sources=(${!1})
- _version=$2
- debug "Downloading RVM version ${_version}"
- for _source in "${_sources[@]}"
- do
- case ${_source} in
- (bitbucket.org*)
- _url="https://${_source}/get/${_version}.tar.gz"
- _verify_pgp="https://${_source}/downloads/${_version}.tar.gz.asc"
- ;;
- (*)
- _url="https://${_source}/archive/${_version}.tar.gz"
- _verify_pgp="https://${_source}/releases/download/${_version}/${_version}.tar.gz.asc"
- ;;
- esac
- get_and_unpack "${_url}" "rvm-${_version}.tgz" "$_verify_pgp" && return
- done
- return $?
-}
-
-install_head()
-{
- typeset _branch _source _sources _url
- _sources=(${!1})
- _branch=$2
- debug "Selected RVM branch ${_branch}"
- for _source in "${_sources[@]}"
- do
- case ${_source} in
- (bitbucket.org*)
- _url=https://${_source}/get/${_branch}.tar.gz
- ;;
- (*)
- _url=https://${_source}/archive/${_branch}.tar.gz
- ;;
- esac
- get_and_unpack "${_url}" "rvm-${_branch//\//_}.tgz" && return
- done
- return $?
-}
-
-# duplication marker dfkjdjngdfjngjcszncv
-# Drop in cd which _doesn't_ respect cdpath
-__rvm_cd()
-{
- typeset old_cdpath ret
- ret=0
- old_cdpath="${CDPATH}"
- CDPATH="."
- chpwd_functions="" builtin cd "$@" || ret=$?
- CDPATH="${old_cdpath}"
- return $ret
-}
-
-get_package()
-{
- typeset _url _file
- _url="$1"
- _file="$2"
- log "Downloading ${_url}"
- __rvm_curl -sS ${_url} > ${rvm_archives_path}/${_file} ||
- {
- _return=$?
- case $_return in
- # duplication marker lfdgzkngdkjvnfjknkjvcnbjkncvjxbn
- (60)
- log "
-Could not download '${_url}', you can read more about it here:
-https://rvm.io/support/fixing-broken-ssl-certificates/
-To continue in insecure mode run 'echo insecure >> ~/.curlrc'.
-"
- ;;
- # duplication marker lfdgzkngdkjvnfjknkjvcnbjkncvjxbn
- (77)
- log "
-It looks like you have old certificates, you can read more about it here:
-https://rvm.io/support/fixing-broken-ssl-certificates/
-"
- ;;
- # duplication marker lfdgzkngdkjvnfjknkjvcnbjkncvjxbn
- (141)
- log "
-Curl returned 141 - it is result of a segfault which means it's Curls fault.
-Try again and if it crashes more than a couple of times you either need to
-reinstall Curl or consult with your distribution manual and contact support.
-"
- ;;
- (*)
- log "
-Could not download '${_url}'.
- curl returned status '$_return'.
-"
- ;;
- esac
- return $_return
- }
-}
-
-# duplication marker flnglfdjkngjndkfjhsbdjgfghdsgfklgg
-rvm_install_gpg_setup()
-{
- export rvm_gpg_command
- {
- rvm_gpg_command="$( \which gpg2 2>/dev/null )" &&
- [[ ${rvm_gpg_command} != "/cygdrive/"* ]]
- } || {
- rvm_gpg_command="$( \which gpg 2>/dev/null )" &&
- [[ ${rvm_gpg_command} != "/cygdrive/"* ]]
- } || rvm_gpg_command=""
-
- debug "Detected GPG program: '$rvm_gpg_command'"
-
- [[ -n "$rvm_gpg_command" ]] || return $?
-}
-
-# duplication marker rdjgndfnghdfnhgfdhbghdbfhgbfdhbn
-verify_package_pgp()
-{
- if
- "${rvm_gpg_command}" --verify "$2" "$1"
- then
- log "GPG verified '$1'"
- else
- typeset _ret=$?
- log "\
-Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found. \
-Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).
-
-GPG signature verification failed for '$1' - '$3'! Try to install GPG v2 and then fetch the public key:
-
- ${SUDO_USER:+sudo }gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
-
-or if it fails:
-
- command curl -sSL https://rvm.io/mpapis.asc | ${SUDO_USER:+sudo }${rvm_gpg_command##*/} --import -
-
-the key can be compared with:
-
- https://rvm.io/mpapis.asc
- https://keybase.io/mpapis
-
-NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade \
-or upgrade to newer version (if available) or use the second method described above.
-"
- exit $_ret
- fi
-}
-
-verify_pgp()
-{
- [[ -n "${1:-}" ]] ||
- {
- debug "No PGP url given, skipping."
- return 0
- }
-
- get_package "$1" "$2.asc" ||
- {
- debug "PGP url given but does not exist: '$1'"
- return 0
- }
-
- rvm_install_gpg_setup ||
- {
- log "Found PGP signature at: '$1',
-but no GPG software exists to validate it, skipping."
- return 0
- }
-
- verify_package_pgp "${rvm_archives_path}/$2" "${rvm_archives_path}/$2.asc" "$1"
-}
-
-get_and_unpack()
-{
- typeset _url _file _patern _return _verify_pgp
- _url="$1"
- _file="$2"
- _verify_pgp="$3"
-
- get_package "$_url" "$_file" || return $?
- verify_pgp "$_verify_pgp" "$_file" || return $?
-
- [[ -d "${rvm_src_path}/rvm" ]] || \mkdir -p "${rvm_src_path}/rvm"
- __rvm_cd "${rvm_src_path}/rvm" ||
- {
- _return=$?
- log "Could not change directory '${rvm_src_path}/rvm'."
- return $_return
- }
-
- rm -rf ${rvm_src_path}/rvm/*
- __rvm_debug_command $rvm_tar_command xzf ${rvm_archives_path}/${_file} ${rvm_tar_options:-} --strip-components 1 ||
- {
- _return=$?
- log "Could not extract RVM sources."
- return $_return
- }
-}
-
-rvm_install_default_settings()
-{
- # Tracing, if asked for.
- if
- [[ "$*" == *--trace* ]] || (( ${rvm_trace_flag:-0} > 0 ))
- then
- set -o xtrace
- rvm_trace_flag=1
- fi
-
- # Variable initialization, remove trailing slashes if they exist on HOME
- true \
- ${rvm_trace_flag:=0} ${rvm_debug_flag:=0}\
- ${rvm_ignore_rvmrc:=0} HOME="${HOME%%+(\/)}"
-
- if
- (( rvm_ignore_rvmrc == 0 ))
- then
- for rvmrc in /etc/rvmrc "$HOME/.rvmrc"
- do
- if
- [[ -s "$rvmrc" ]]
- then
- if
- GREP_OPTIONS="" \grep '^\s*rvm .*$' "$rvmrc" >/dev/null 2>&1
- then
- printf "%b" "
- Error: $rvmrc is for rvm settings only.
- rvm CLI may NOT be called from within $rvmrc.
- Skipping the loading of $rvmrc
- "
- exit 1
- else
- source "$rvmrc"
- fi
- fi
- done
- fi
-
- if
- [[ -z "${rvm_path:-}" ]]
- then
- if
- (( UID == 0 ))
- then
- rvm_user_install_flag=0
- rvm_prefix="/usr/local"
- rvm_path="${rvm_prefix}/rvm"
- else
- rvm_user_install_flag=1
- rvm_prefix="$HOME"
- rvm_path="${rvm_prefix}/.rvm"
- fi
- fi
- if [[ -z "${rvm_prefix}" ]]
- then rvm_prefix=$( dirname $rvm_path )
- fi
-
- # duplication marker kkdfkgnjfndgjkndfjkgnkfjdgn
- [[ -n "${rvm_user_install_flag:-}" ]] ||
- case "$rvm_path" in
- (/usr/local/rvm) rvm_user_install_flag=0 ;;
- ($HOME/*|/${USER// /_}*) rvm_user_install_flag=1 ;;
- (*) rvm_user_install_flag=0 ;;
- esac
-}
-
-rvm_install_parse_params()
-{
- install_rubies=()
- install_gems=()
- flags=( ./scripts/install )
- forwarded_flags=()
- while
- (( $# > 0 ))
- do
- token="$1"
- shift
- case "$token" in
-
- (--trace)
- set -o xtrace
- rvm_trace_flag=1
- flags=( -x "${flags[@]}" "$token" )
- forwarded_flags+=( "$token" )
- ;;
-
- (--debug|--quiet-curl)
- flags+=( "$token" )
- forwarded_flags+=( "$token" )
- token=${token#--}
- token=${token//-/_}
- export "rvm_${token}_flag"=1
- printf "%b" "Turning on ${token/_/ } mode.\n"
- ;;
-
- (--path)
- if [[ -n "${1:-}" ]]
- then
- rvm_path="$1"
- shift
- else
- fail "--path must be followed by a path."
- fi
- ;;
-
- (--branch|branch) # Install RVM from a given branch
- if [[ -n "${1:-}" ]]
- then
- case "$1" in
- (/*)
- branch=${1#/}
- ;;
- (*/)
- branch=master
- if [[ "${1%/}" -ne rvm ]] && [[ "${1%/}" -ne mpapis ]]
- then sources=(github.com/${1%/}/rvm)
- fi
- ;;
- (*/*)
- branch=${1#*/}
- if [[ "${1%%/*}" -ne rvm ]] && [[ "${1%%/*}" -ne mpapis ]]
- then sources=(github.com/${1%%/*}/rvm)
- fi
- ;;
- (*)
- branch="$1"
- ;;
- esac
- shift
- else
- fail "--branch must be followed by a branchname."
- fi
- ;;
-
- (--source|source)
- if [[ -n "${1:-}" ]]
- then
- if [[ "$1" = */*/* ]]
- then
- sources=($1)
- shift
- else
- fail "--source must be in the format <domain>/<account>/<repo>."
- fi
- else
- fail "--source must be followed by a source."
- fi
- ;;
-
- (--user-install|--ignore-dotfiles)
- token=${token#--}
- token=${token//-/_}
- export "rvm_${token}_flag"=1
- printf "%b" "Turning on ${token/_/ } mode.\n"
- ;;
-
- (--auto-dotfiles)
- flags+=( "$token" )
- export "rvm_auto_dotfiles_flag"=1
- printf "%b" "Turning on auto dotfiles mode.\n"
- ;;
-
- (--auto)
- export "rvm_auto_dotfiles_flag"=1
- printf "%b" "Warning, --auto is deprecated in favor of --auto-dotfiles.\n"
- ;;
-
- (--verify-downloads)
- if [[ -n "${1:-}" ]]
- then
- export rvm_verify_downloads_flag="$1"
- forwarded_flags+=( "$token" "$1" )
- shift
- else
- fail "--verify-downloads must be followed by level(0|1|2)."
- fi
- ;;
-
- (--autolibs=*)
- flags+=( "$token" )
- export rvm_autolibs_flag="${token#--autolibs=}"
- forwarded_flags+=( "$token" )
- ;;
-
- (--without-gems=*|--with-gems=*|--with-default-gems=*)
- flags+=( "$token" )
- value="${token#*=}"
- token="${token%%=*}"
- token="${token#--}"
- token="${token//-/_}"
- export "rvm_${token}"="${value}"
- printf "%b" "Installing RVM ${token/_/ }: ${value}.\n"
- ;;
-
- (--version|version)
- version="$1"
- shift
- ;;
-
- (head|master)
- version="head"
- branch="master"
- ;;
-
- (stable)
- version="latest"
- ;;
-
- (latest|latest-*|+([[:digit:]]).+([[:digit:]]).+([[:digit:]]))
- version="$token"
- ;;
-
- (--ruby)
- install_rubies+=( ruby )
- ;;
-
- (--ruby=*)
- token=${token#--ruby=}
- install_rubies+=( ${token//,/ } )
- ;;
-
- (--rails)
- install_gems+=( rails )
- ;;
-
- (--gems=*)
- token=${token#--gems=}
- install_gems+=( ${token//,/ } )
- ;;
-
- (--add-to-rvm-group)
- export rvm_add_users_to_rvm_group="$1"
- shift
- ;;
-
- (help)
- usage
- exit 0
- ;;
-
- (*)
- usage
- exit 1
- ;;
-
- esac
- done
-
- if (( ${#install_gems[@]} > 0 && ${#install_rubies[@]} == 0 ))
- then install_rubies=( ruby )
- fi
-
- true "${version:=head}"
- true "${branch:=master}"
-
- if [[ -z "${sources[@]}" ]]
- then sources=("${DEFAULT_SOURCES[@]}")
- fi
-
- rvm_src_path="$rvm_path/src"
- rvm_archives_path="$rvm_path/archives"
- rvm_releases_url="https://rvm.io/releases"
-}
-
-rvm_install_validate_rvm_path()
-{
- case "$rvm_path" in
- (*[[:space:]]*)
- printf "%b" "
-It looks you are one of the happy *space* users (in home dir name),
-RVM is not yet fully ready for it, use this trick to fix it:
-
- sudo mkdir -p /${USER// /_}.rvm
- sudo chown -R \"$USER:\" /${USER// /_}.rvm
- echo \"export rvm_path=/${USER// /_}.rvm\" >> \"$HOME/.rvmrc\"
-
-and start installing again.
-
-"
- exit 2
- ;;
- (/usr/share/ruby-rvm)
- printf "%b" "
-It looks you are one of the happy Ubuntu users,
-RVM packaged by Ubuntu is old and broken,
-follow this link for details how to fix:
-
- https://stackoverflow.com/a/9056395/497756
-
-"
- [[ "${rvm_uses_broken_ubuntu_path:-no}" == "yes" ]] || exit 3
- ;;
- esac
-
- if [[ "$rvm_path" != "/"* ]]
- then fail "The rvm install path must be fully qualified. Tried $rvm_path"
- fi
-}
-
-rvm_install_validate_volume_mount_mode()
-{
- \typeset path partition test_exec
-
- path=$rvm_path
-
- # Directory $rvm_path might not exists at this point so we need to traverse the tree upwards
- while [[ -n "$path" ]]
- do
- if [[ -d $path ]]
- then
- partition=`df -P $path | awk 'END{print $1}'`
-
- test_exec=$(mktemp $path/rvm-exec-test.XXXXXX)
- echo '#!/bin/sh' > "$test_exec"
- chmod +x "$test_exec"
-
- if ! "$test_exec"
- then
- rm -f "$test_exec"
- printf "%b" "
-It looks that scripts located in ${path}, which would be RVM destination ${rvm_path},
-are not executable. One of the reasons might be that partition ${partition} holding this location
-is mounted in *noexec* mode, which prevents RVM from working correctly. Please verify your setup
-and re-mount partition ${partition} without the noexec option."
- exit 2
- fi
-
- rm -f "$test_exec"
- break
- fi
-
- path=${path%/*}
- done
-}
-
-rvm_install_select_and_get_version()
-{
- typeset _version_release
-
- for dir in "$rvm_src_path" "$rvm_archives_path"
- do
- [[ -d "$dir" ]] || mkdir -p "$dir"
- done
-
- _version_release="${version}"
- case "${version}" in
- (head)
- _version_release="${branch}"
- install_head sources[@] ${branch:-master} || exit $?
- ;;
-
- (latest)
- install_release sources[@] $(fetch_version sources[@]) || exit $?
- ;;
-
- (latest-minor)
- version="$(\cat "$rvm_path/VERSION")"
- install_release sources[@] $(fetch_version sources[@] ${version%.*}) || exit $?
- ;;
-
- (latest-*)
- install_release sources[@] $(fetch_version sources[@] ${version#latest-}) || exit $?
- ;;
-
- (+([[:digit:]]).+([[:digit:]]).+([[:digit:]])) # x.y.z
- install_release sources[@] ${version} || exit $?
- ;;
-
- (*)
- fail "Something went wrong, unrecognized version '$version'"
- ;;
- esac
- echo "${_version_release}" > "$rvm_path/RELEASE"
-}
-
-rvm_install_main()
-{
- [[ -f ./scripts/install ]] ||
- {
- log "'./scripts/install' can not be found for installation, something went wrong, it usually means your 'tar' is broken, please report it here: https://github.com/rvm/rvm/issues"
- return 127
- }
-
- # required flag - path to install
- flags+=( --path "$rvm_path" )
- \command bash "${flags[@]}"
-}
-
-rvm_install_ruby_and_gems()
-(
- if
- (( ${#install_rubies[@]} > 0 ))
- then
- source ${rvm_scripts_path:-${rvm_path}/scripts}/rvm
- source ${rvm_scripts_path:-${rvm_path}/scripts}/functions/version
- __rvm_print_headline
-
- for _ruby in ${install_rubies[@]}
- do command rvm "${forwarded_flags[@]}" install ${_ruby} -j 2
- done
- # set the first one as default, skip rest
- for _ruby in ${install_rubies[@]}
- do
- rvm "${forwarded_flags[@]}" alias create default ${_ruby}
- break
- done
-
- for _gem in ${install_gems[@]}
- do rvm "${forwarded_flags[@]}" all do gem install ${_gem}
- done
-
- printf "%b" "
- * To start using RVM you need to run \`source $rvm_path/scripts/rvm\`
- in all your open shell windows, in rare cases you need to reopen all shell windows.
-"
-
- if
- [[ "${install_gems[*]}" == *"rails"* ]]
- then
- printf "%b" "
- * To start using rails you need to run \`rails new <project_dir>\`.
-"
- fi
- fi
-)
-
-rvm_install()
-{
- rvm_install_initialize
- rvm_install_commands_setup
- rvm_install_default_settings
- rvm_install_parse_params "$@"
- rvm_install_validate_rvm_path
- rvm_install_validate_volume_mount_mode
- rvm_install_select_and_get_version
- rvm_install_main
- rvm_install_ruby_and_gems
-}
-
-rvm_install "$@"