diff --git a/VERSION b/VERSION index 5ff8c4f5d2..dd43a143f0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.26.0 +1.26.1 diff --git a/bin/rvm b/bin/rvm index 4e43e1c5b2..e76056bb67 100755 --- a/bin/rvm +++ b/bin/rvm @@ -54,6 +54,10 @@ export rvm_is_not_a_shell_function # if to prevent fork-bomb if source "${rvm_scripts_path:="$rvm_path/scripts"}/rvm" then + typeset -f rvm >/dev/null 2>&1 || { + echo "RVM not loaded, aborting." >&2 + exit 1 + } rvm "$@" else echo "Error sourcing RVM!" 1>&2 diff --git a/bin/rvm-auto-ruby b/bin/rvm-auto-ruby index 49d1dfe8ec..5a957235c3 100755 --- a/bin/rvm-auto-ruby +++ b/bin/rvm-auto-ruby @@ -48,6 +48,10 @@ else echo "Unable to detect rvm, please manually set the rvm_path env variable." >&2 exit 1 fi +typeset -f rvm >/dev/null 2>&1 || { + echo "RVM not loaded, aborting." >&2 + exit 1 +} [[ -s "$rvm_environments_path/default" ]] && source "$rvm_environments_path/default" diff --git a/bin/rvm-exec b/bin/rvm-exec index 3bd943aec0..ae93a82aee 100755 --- a/bin/rvm-exec +++ b/bin/rvm-exec @@ -58,12 +58,22 @@ if [[ -n "$1" && ! -f "$1" && -n "$(echo "$1" | GREP_OPTIONS="" \grep -v '^-')" fi rvm_shell_rvm_path="$(__rvm_shell_lookup_script)" -if [[ -n "$rvm_shell_rvm_path" ]]; then +if + [[ -n "$rvm_shell_rvm_path" ]] +then source "$rvm_shell_rvm_path" + typeset -f rvm >/dev/null 2>&1 || { + echo "RVM not loaded, aborting." >&2 + exit 1 + } # Setup as expected. - if [[ -n "$rvm_shell_ruby_string" ]]; then + if + [[ -n "$rvm_shell_ruby_string" ]] + then rvm "$rvm_shell_ruby_string" - if [[ "$?" -gt 0 ]]; then + if + [[ "$?" -gt 0 ]] + then echo "Error: RVM was unable to use '$rvm_shell_ruby_string'" 1>&2 exit 1 fi diff --git a/bin/rvm-shell b/bin/rvm-shell index d606e6a661..ef8826f731 100755 --- a/bin/rvm-shell +++ b/bin/rvm-shell @@ -68,6 +68,10 @@ if [[ -n "$rvm_path" && -f "$rvm_scripts_path/rvm" ]] then source "$rvm_scripts_path/rvm" + typeset -f rvm >/dev/null 2>&1 || { + echo "RVM not loaded, aborting." >&2 + exit 1 + } # Setup as expected. if [[ -n "$rvm_shell_ruby_string" ]] diff --git a/binscripts/rvm-installer b/binscripts/rvm-installer index dfb44bef1d..4981f3e94c 100755 --- a/binscripts/rvm-installer +++ b/binscripts/rvm-installer @@ -286,17 +286,17 @@ install_release() typeset _source _sources _url _version _verify_pgp _sources=(${!1}) _version=$2 - _verify_pgp="" debug "Downloading RVM version ${_version}" for _source in "${_sources[@]}" do case ${_source} in (bitbucket.org*) - _url=https://${_source}/get/${_version}.tar.gz + _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 + _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 @@ -402,17 +402,27 @@ verify_package_pgp() log "GPG verified '$1'" else typeset _ret=$? - log "GPG signature verification failed for '$1' - '$3'! + 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 downloading the signatures: - ${rvm_gpg_command##*/} --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 + ${SUDO_USER:+sudo }${rvm_gpg_command##*/} --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 + +or if it fails: -they can be compared with: + 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 " - return _ret + exit $_ret fi } @@ -437,7 +447,7 @@ but no GPG software exists to validate it, skipping." return 0 } - verify_package_pgp "${rvm_archives_path}/$2" "${rvm_archives_path}/$2.asc" "$1" || return $? + verify_package_pgp "${rvm_archives_path}/$2" "${rvm_archives_path}/$2.asc" "$1" } get_and_unpack() @@ -769,35 +779,34 @@ follow this link for details how to fix: 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) - echo "${branch}" > "$rvm_path/RELEASE" + _version_release="${branch}" install_head sources[@] ${branch:-master} || exit $? ;; (latest) - echo "${version}" > "$rvm_path/RELEASE" install_release sources[@] $(fetch_version sources[@]) || exit $? ;; (latest-minor) - echo "${version}" > "$rvm_path/RELEASE" version="$(\cat "$rvm_path/VERSION")" install_release sources[@] $(fetch_version sources[@] ${version%.*}) || exit $? ;; (latest-*) - echo "${version}" > "$rvm_path/RELEASE" install_release sources[@] $(fetch_version sources[@] ${version#latest-}) || exit $? ;; (+([[:digit:]]).+([[:digit:]]).+([[:digit:]])) # x.y.z - echo "version" > "$rvm_path/RELEASE" install_release sources[@] ${version} || exit $? ;; @@ -805,6 +814,7 @@ rvm_install_select_and_get_version() fail "Something went wrong, unrecognized version '$version'" ;; esac + echo "${_version_release}" > "$rvm_path/RELEASE" } rvm_install_main() diff --git a/binscripts/rvm-installer.asc b/binscripts/rvm-installer.asc index f81deb6d3d..ba50e80bf1 100644 --- a/binscripts/rvm-installer.asc +++ b/binscripts/rvm-installer.asc @@ -1,17 +1,17 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAABAgAGBQJUUN2YAAoJEOIGwp+/BP8XbSUP/R+G+XDc2bH4yQMLt9otZKga -awwq0SFl82wqc3PCN3wxk3npSSnl4QRzsk5C6mBlWldwU+0t8xEbNY2pjQsyL+mP -eXK5oQurtOWMSM/dTjxv1hM5bM3FZN5VtDhockhi5hZpNAxbvaOLIwKUf75rgMvx -5SGnTgjEov2URfDMuf+efWv8k5MtP5gZoE33tom4jXJgx7XiQjJt87UEqOMvdr98 -kTJmvIgIX6urIuggKWgnfVRXdGSuFTjlISt5JNn1PQrafA1YvCYiJ4YC9ULIVpAa -plfVdH6A1rmE0PDQhf0EoGqEa2mEjlZbQHlnuchooLYTmB88lGSb5ZoJpZwXeTrE -/HTpHvMvIMo2dYPNAQJ4TWSC8kikwpMunruP3XUdi7nB+8HRx2T1OkIJtVZcEL2K -kLiFXnEGAlSAwdFnsadXC1ZYjFmIMlLQS44ajIESVlV/W88m0mAqP+3jQtUEuc7x -qY3eWwn1LU9j0maTaZIqKB+tmVtg2ibuHbiHUQzxdkC1zpuRxyR3cVRXfJRSgTvf -lMEVb2QINHjBNLU9m7u8rjVo/J3GPtK5+SL1oQ9JY/STdgaCHyuHCTJ8HLQ5jEv0 -pZ2HB06Rrl2rtBz0VJ7HJYwJzaOqcjXOCshSNWmRhgK/eB8lkKHcIcO3m1CpzLJa -19qXP+hiV+UR5ci6N7ry -=0YI8 +iQIcBAABAgAGBQJUXmL3AAoJEOIGwp+/BP8XZYAQAIFDRTMUww09VHS1rhbq9hHU +TDunUCrxMXsnNOmT4LMW+aTx8X3uXQDvj4HNd5rqTJaO9VvTAnDqYFwegGPTwQKP +4RR8SmyAROqw64A219kYtuaqxQgNeOvVBCtXsSGylsJlh5/RC7QXjjoPdECckSA8 +KnkJp0AQZYJrruHbjFqiQh6hmpmnWCox762VxwsiAXms/8XU+UGkA+WJPfslrPkS +OXGnJOsfX6MA6sRV0258hwEq4nh44Tp3zkL7D2b/YEoUvmEzQ9lqqtFnBGaatn1a +ktyeRaLaZCjqhvYaajgWvamD3/yxdlKcvISJIchwzqxX3GoTKxuAjrdfnXHUGI6A +QF/wadnWDZ7eNStOYRr7mkIB9l8Y7KllMZRYM36q5cGvjS3ec7x+9fGERMCsZLDw +O7GjwGz14RICfjCCbtLK8BOvBW53k7kHBsmY+WT+A/4C9cM0KSUvwTP20dH2Cg5m +cbDph7MaK6ecdCK72Ref+JZzT2rV230L5a4KSehir2Yd+dI3drGRE2yVD0nL0Dhn +g+RgTHXyK2ZmRDt2i6IcxHKzv1nCEjO76nTg3+SqBtvxsey9r0y/g1p4Xn/X7lkT +zoLAMO9LMqWZ33ZeOKA1rPG1PYxusR5jmIQaY8159ZHEzuTVA5hbygi5HfRVZyew +GtUxTqrMsFcbyz2v2663 +=TAQ2 -----END PGP SIGNATURE----- diff --git a/config/db b/config/db index c6ba36c8e3..321cbf8d16 100644 --- a/config/db +++ b/config/db @@ -3,10 +3,6 @@ niceness=0 # Rubies interpreter=ruby default_ruby=ruby -tcs_repo_url=git://github.com/thecodeshop/ruby.git -tcs_repo_branch=trunk -jamesgolick_repo_url=git://github.com/jamesgolick/ruby.git -jamesgolick_repo_branch=tcs-ruby_1_9_3 ruby_repo_url=git://github.com/ruby/ruby.git ruby_url=http://cache.ruby-lang.org/pub/ruby ruby_url_fallback_1=http://ftp.ruby-lang.org/pub/ruby @@ -63,8 +59,6 @@ ree_1.8.7_url=http://rubyenterpriseedition.googlecode.com/files ree_1.8.7_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition187-330 ree_1.8.7_patch_level=2012.02 ree_1.8.7_2010.02_url=http://rubyforge.org/frs/download.php/71096 -kiji_repo_url=git://github.com/twitter/rubyenterpriseedition187-248.git -kiji_version=head mruby_repo_url=git://github.com/mruby/mruby.git mruby_url=https://github.com/mruby/mruby/archive mruby_version=1.0.0 diff --git a/config/known b/config/known index d3f0ca3445..b100848696 100644 --- a/config/known +++ b/config/known @@ -11,20 +11,7 @@ [ruby-]2.1-head ruby-head -# GoRuby -goruby - -# Topaz -topaz - -# TheCodeShop - MRI experimental patches -tcs - -# jamesgolick - All around gangster -jamesgolick - -# Minimalistic ruby implementation - ISO 30170:2012 -mruby[-head] +# for forks use: rvm install ruby-head- --url https://github.com/github/ruby.git --branch 2.1 # JRuby jruby-1.6.8 @@ -38,12 +25,21 @@ rbx-2.1.1 rbx[-2.2.10] rbx-head +# Opal +opal + +# Minimalistic ruby implementation - ISO 30170:2012 +mruby[-head] + # Ruby Enterprise Edition ree-1.8.6 ree[-1.8.7][-2012.02] -# Kiji -kiji +# GoRuby +goruby + +# Topaz +topaz # MagLev maglev[-head] @@ -56,9 +52,6 @@ macruby[-0.12] macruby-nightly macruby-head -# Opal -opal - # IronRuby ironruby[-1.1.3] ironruby-head diff --git a/config/pre_commit.yml b/config/pre_commit.yml new file mode 100644 index 0000000000..deb06f0dac --- /dev/null +++ b/config/pre_commit.yml @@ -0,0 +1,5 @@ +--- +:checks_add: +- :gpg +:checks_remove: +- :rails diff --git a/patchsets/ruby/1.9.3/head/railsexpress b/patchsets/ruby/1.9.3/head/railsexpress index 9abf87dec6..df0226325f 100644 --- a/patchsets/ruby/1.9.3/head/railsexpress +++ b/patchsets/ruby/1.9.3/head/railsexpress @@ -1,18 +1,19 @@ https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/01-fix-make-clean.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/02-railsbench-gc.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/03-display-more-detailed-stack-trace.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/04-fork-support-for-gc-logging.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/05-track-live-dataset-size.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/06-webrick_204_304_keep_alive_fix.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/07-export-a-few-more-symbols-for-ruby-prof.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/08-thread-variables.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/09-faster-loading.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/10-falcon-st-opt.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/11-falcon-sparse-array.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/12-falcon-array-queue.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/13-railsbench-gc-fixes.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/14-show-full-backtrace-on-stack-overflow.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/15-configurable-fiber-stack-sizes.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/16-backport-psych-20.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/17-fix-missing-c-return-event.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/18-fix-process-daemon-call.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/02-zero-broken-tests.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/03-railsbench-gc.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/04-display-more-detailed-stack-trace.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/05-fork-support-for-gc-logging.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/06-track-live-dataset-size.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/07-webrick_204_304_keep_alive_fix.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/08-export-a-few-more-symbols-for-ruby-prof.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/09-thread-variables.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/10-faster-loading.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/11-falcon-st-opt.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/12-falcon-sparse-array.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/13-falcon-array-queue.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/14-railsbench-gc-fixes.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/15-show-full-backtrace-on-stack-overflow.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/16-configurable-fiber-stack-sizes.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/17-backport-psych-20.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/18-fix-missing-c-return-event.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/head/railsexpress/19-fix-process-daemon-call.patch diff --git a/patchsets/ruby/1.9.3/p550/railsexpress b/patchsets/ruby/1.9.3/p550/railsexpress new file mode 100644 index 0000000000..51598c8e70 --- /dev/null +++ b/patchsets/ruby/1.9.3/p550/railsexpress @@ -0,0 +1,19 @@ +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/01-fix-make-clean.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/02-zero-broken-tests.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/03-railsbench-gc.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/04-display-more-detailed-stack-trace.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/05-fork-support-for-gc-logging.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/06-track-live-dataset-size.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/07-webrick_204_304_keep_alive_fix.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/08-export-a-few-more-symbols-for-ruby-prof.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/09-thread-variables.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/10-faster-loading.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/11-falcon-st-opt.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/12-falcon-sparse-array.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/13-falcon-array-queue.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/14-railsbench-gc-fixes.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/15-show-full-backtrace-on-stack-overflow.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/16-configurable-fiber-stack-sizes.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/17-backport-psych-20.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/18-fix-missing-c-return-event.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/1.9.3/p550/railsexpress/19-fix-process-daemon-call.patch diff --git a/patchsets/ruby/2.0.0/head/railsexpress b/patchsets/ruby/2.0.0/head/railsexpress index 8961409cdd..a84a7dfdba 100644 --- a/patchsets/ruby/2.0.0/head/railsexpress +++ b/patchsets/ruby/2.0.0/head/railsexpress @@ -2,4 +2,3 @@ https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/ https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/head/railsexpress/02-railsexpress-gc.patch https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/head/railsexpress/03-display-more-detailed-stack-trace.patch https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/head/railsexpress/04-show-full-backtrace-on-stack-overflow.patch -https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/head/railsexpress/05-fix-missing-c-return-event.patch diff --git a/patchsets/ruby/2.0.0/p594/railsexpress b/patchsets/ruby/2.0.0/p594/railsexpress new file mode 100644 index 0000000000..4942f8d942 --- /dev/null +++ b/patchsets/ruby/2.0.0/p594/railsexpress @@ -0,0 +1,4 @@ +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/p594/railsexpress/01-zero-broken-tests.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/p594/railsexpress/02-railsexpress-gc.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/p594/railsexpress/03-display-more-detailed-stack-trace.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.0.0/p594/railsexpress/04-show-full-backtrace-on-stack-overflow.patch diff --git a/patchsets/ruby/2.1.4/railsexpress b/patchsets/ruby/2.1.4/railsexpress new file mode 100644 index 0000000000..33044d28a1 --- /dev/null +++ b/patchsets/ruby/2.1.4/railsexpress @@ -0,0 +1,8 @@ +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/01-zero-broken-tests.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/02-improve-gc-stats.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/03-display-more-detailed-stack-trace.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/04-show-full-backtrace-on-stack-overflow.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/05-funny-falcon-stc-density.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/06-funny-falcon-stc-pool-allocation.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/07-aman-opt-aset-aref-str.patch +https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.4/railsexpress/08-funny-falcon-method-cache.patch diff --git a/scripts/cli b/scripts/cli index 1accaa93ba..31ecbdcfee 100755 --- a/scripts/cli +++ b/scripts/cli @@ -353,13 +353,18 @@ __rvm_parse_args() rvm_ruby_strings="$rvm_token" ;; - opal*|jruby*|ree*|kiji*|macruby*|rbx*|rubinius*|goruby|mruby|ironruby*|default*|maglev*|topaz*|tcs*|jamesgolick*|ruby*|system|default|all) + opal*|jruby*|ree*|macruby*|rbx*|rubinius*|goruby|mruby|ironruby*|default*|maglev*|topaz*|ruby*|system|default|all) rvm_action="${rvm_action:-use}" rvm_ruby_interpreter="$rvm_token" rvm_ruby_string="$rvm_token" rvm_ruby_strings="$rvm_token" ;; + kiji*|tcs*|jamesgolick*) + rvm_error_message="The $rvm_token was removed from RVM, use: rvm install ruby-head- --url https://github.com/github/ruby.git --branch 2.1" + rvm_action="error" + ;; + old) case "${rvm_action:-action-missing}" in remove) diff --git a/scripts/functions/build_config_system b/scripts/functions/build_config_system index baec04bd1c..9bdcf3365a 100644 --- a/scripts/functions/build_config_system +++ b/scripts/functions/build_config_system @@ -4,7 +4,7 @@ __rvm_setup_compile_environment_system_early_osx_old_rubies() { # skip if 10.10+ - __rvm_version_compare "${_system_version}" -lt 10.10 || return 0 + __rvm_version_compare "${_system_version}" -ge 10.10 || return 0 case ${rvm_ruby_string:-""} in ruby-1.8.7*) @@ -348,12 +348,16 @@ __rvm_setup_compile_environment_osx_compiler() fi } -__rvm_setup_compile_environment_osx_107_ruby213() +__rvm_setup_compile_environment_osx_107_ruby21() { if - [[ "${_system_version}" == "10.7" && "$1" == "ruby-2.1.3" ]] + [[ "${_system_version}" == "10.7" ]] then - rvm_configure_flags+=( --with-setjmp-type=setjmp ) + case "$1" in + (ruby-2.1.3|ruby-2.1.4) + rvm_configure_flags+=( --with-setjmp-type=setjmp ) + ;; + esac fi } @@ -378,7 +382,7 @@ __rvm_setup_compile_environment_system_OSX() { __rvm_setup_compile_environment_flags_tcltk "$@" || return $? __rvm_setup_compile_environment_osx_compiler "$@" || return $? - __rvm_setup_compile_environment_osx_107_ruby213 "$@" || return $? + __rvm_setup_compile_environment_osx_107_ruby21 "$@" || return $? true # OSX --trace FIX } diff --git a/scripts/functions/cleanup b/scripts/functions/cleanup index b71913d7f5..801bbb962a 100644 --- a/scripts/functions/cleanup +++ b/scripts/functions/cleanup @@ -17,11 +17,11 @@ __rvm_rm_rf_verbose() if [[ -n "${ZSH_VERSION:-}" ]] then - setopt extendedglob + \builtin setopt extendedglob elif [[ -n "${BASH_VERSION:-}" ]] then - shopt -s extglob + \builtin shopt -s extglob else rvm_error "What the heck kind of shell are you running here???" fi diff --git a/scripts/functions/cli b/scripts/functions/cli index 0a731745c0..05bc937e89 100644 --- a/scripts/functions/cli +++ b/scripts/functions/cli @@ -193,12 +193,22 @@ verify_package_pgp() rvm_log "GPG verified '$1'" else typeset _ret=$? - rvm_error "GPG signature verification failed for '$1' - '$3'! + rvm_error "\ +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 downloading the signatures: - ${rvm_gpg_command##*/} --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 + ${SUDO_USER:+sudo }${rvm_gpg_command##*/} --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 + +or if it fails: + + command curl -sSL https://rvm.io/mpapis.asc | ${SUDO_USER:+sudo }${rvm_gpg_command##*/} --import - -they can be compared with: +the key can be compared with: https://rvm.io/mpapis.asc https://keybase.io/mpapis diff --git a/scripts/functions/manage/base_install b/scripts/functions/manage/base_install index f0b444603c..cb21fc9a9e 100644 --- a/scripts/functions/manage/base_install +++ b/scripts/functions/manage/base_install @@ -220,8 +220,14 @@ __rvm_install_ruby_try_remote() then rvm_log "Searching for binary rubies, this might take some time." typeset __rvm_ruby_url __rvm_ruby_verify_download_flag __ruby_identifier - __ruby_identifier="${rvm_ruby_string%-${detected_rvm_ruby_name:-}}" + __ruby_identifier="${rvm_ruby_string}" __rvm_ruby_url="$( __rvm_remote_server_path "${__ruby_identifier}" )" + if + [[ -z "${__rvm_ruby_url}" ]] + then + __ruby_identifier="${rvm_ruby_string%-${detected_rvm_ruby_name:-}}" + __rvm_ruby_url="$( __rvm_remote_server_path "${__ruby_identifier}" )" + fi IFS=: read __rvm_ruby_verify_download_flag __rvm_ruby_url <<<"${__rvm_ruby_url}" if (( ${rvm_verify_downloads_flag_cli:-${rvm_verify_downloads_flag:-1}} > ${__rvm_ruby_verify_download_flag:=0} )) @@ -401,7 +407,6 @@ https://rvm.io/rubies/named/ ;; rbx) ruby_install_type=rubinius ;; ir) ruby_install_type=ironruby ;; - kiji|tcs|jamesgolick) ruby_install_type=ruby ;; default) rvm_error "a ruby interpreter to install must be specified and not simply 'default'." return 1 diff --git a/scripts/functions/manage/rubinius b/scripts/functions/manage/rubinius index 608a3e5e45..4d18f2aaeb 100644 --- a/scripts/functions/manage/rubinius +++ b/scripts/functions/manage/rubinius @@ -112,12 +112,6 @@ rubinius_install() rvm_error "There has been an error while trying to apply patches to rubinius. \nHalting the installation." return $result } - case "${_system_name}" in - Arch) true ;; - *) - (( ${#rvm_configure_flags[@]} )) || rvm_configure_flags=( --skip-system ) - ;; - esac rvm_configure_flags=( --prefix="$rvm_ruby_home" "${rvm_configure_flags[@]}" ) __rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags" diff --git a/scripts/functions/requirements/cygwin b/scripts/functions/requirements/cygwin index 8f047d8647..9312a5b91f 100644 --- a/scripts/functions/requirements/cygwin +++ b/scripts/functions/requirements/cygwin @@ -54,7 +54,10 @@ requirements_cygwin_define() requirements_cygwin_define "${1%-head}" ;; (*) - requirements_check libiconv zlib zlib-devel openssl openssl-devel libyaml-devel libyaml0_2 sqlite3 make libtool gcc gcc-core autoconf automake bison m4 mingw64-i686-gcc mingw64-x86_64-gcc + requirements_check libiconv zlib zlib-devel openssl openssl-devel \ + libyaml-devel libyaml0_2 sqlite3 make libtool gcc gcc-core \ + autoconf automake bison m4 mingw64-i686-gcc mingw64-x86_64-gcc \ + patch if [[ "${_system_arch}" == "x86_64" ]] then requirements_check cygwin32-readline else requirements_check readline diff --git a/scripts/functions/requirements/opensuse b/scripts/functions/requirements/opensuse index 399cbe833e..c956c0802e 100644 --- a/scripts/functions/requirements/opensuse +++ b/scripts/functions/requirements/opensuse @@ -24,6 +24,26 @@ requirements_opensuse_install_custom() requirements_rvm_pkg_libs_install "$@" || return $? } +requirements_opensuse_define_default() +{ + requirements_check automake binutils bison bzip2 libtool m4 make patch \ + gdbm-devel glibc-devel libffi-devel libopenssl-devel readline-devel \ + zlib-devel libdb-4_5 "$@" + case ${__type} in + (suse) + requirements_opensuse_lib_installed libyaml-devel || + { + requirements_check pkg-config + requirements_rvm_pkg_lib_installed_custom yaml + } + ;; + (*) + requirements_check libyaml-devel + ;; + esac +} + + requirements_opensuse_define() { case "$1" in @@ -53,21 +73,13 @@ requirements_opensuse_define() requirements_check autoconf git requirements_opensuse_define "${1%-head}" ;; + (rbx*|rubinius*) + requirements_opensuse_define_default llvm llvm-clang llvm-devel || + return $? + ;; (*) - requirements_check automake binutils bison bzip2 gcc gcc-c++ libtool m4 make patch \ - gdbm-devel glibc-devel libffi-devel libopenssl-devel readline-devel zlib-devel libdb-4_5 - case ${__type} in - (suse) - requirements_opensuse_lib_installed libyaml-devel || - { - requirements_check pkg-config - requirements_rvm_pkg_lib_installed_custom yaml - } - ;; - (*) - requirements_check libyaml-devel - ;; - esac + requirements_opensuse_define_default gcc gcc-c++ || + return $? ;; esac } diff --git a/scripts/functions/selector b/scripts/functions/selector index d30ee70de0..65068c8c05 100755 --- a/scripts/functions/selector +++ b/scripts/functions/selector @@ -363,9 +363,7 @@ __rvm_ruby_string_find() if __rvm_ruby_string_installed then - if [[ -n "${rvm_ruby_name:-}" && ! "${rvm_ruby_string}" == *"-${rvm_ruby_name}" ]] - then rvm_ruby_string="${rvm_ruby_string}${rvm_ruby_name:+-}${rvm_ruby_name:-}" - fi + true # use the selected/detected rvm_ruby_string elif __rvm_ruby_string_remotely_available then @@ -385,9 +383,9 @@ __rvm_ruby_string_find() __rvm_ruby_string_parse_ || return $? fi - if [[ -n "${rvm_ruby_name:-}" && ! "${rvm_ruby_string}" == *"-${rvm_ruby_name}" ]] - then rvm_ruby_string="${rvm_ruby_string}${rvm_ruby_name:+-}${rvm_ruby_name:-}" - fi + fi + if [[ -n "${rvm_ruby_name:-}" && ! "${rvm_ruby_string}" == *"-${rvm_ruby_name}" ]] + then rvm_ruby_string="${rvm_ruby_string}${rvm_ruby_name:+-}${rvm_ruby_name:-}" fi } diff --git a/scripts/functions/selector_interpreters b/scripts/functions/selector_interpreters index 86f6c6b778..fd2c3691b7 100644 --- a/scripts/functions/selector_interpreters +++ b/scripts/functions/selector_interpreters @@ -344,12 +344,6 @@ __rvm_select_interpreter_topaz() __rvm_select_interpreter_common "topaz" } -__rvm_select_interpreter_kiji() -{ - __rvm_select_interpreter_common "kiji" - rvm_ruby_string="kiji-head" -} - __rvm_select_interpreter_goruby() { __rvm_select_interpreter_common "goruby" @@ -377,21 +371,6 @@ __rvm_select_interpreter_mruby() fi } -__rvm_select_interpreter_tcs() -{ - __rvm_select_interpreter_common "tcs" - rvm_ruby_string="tcs" - rvm_disable_binary_flag=1 -} - -__rvm_select_interpreter_jamesgolick() -{ - __rvm_select_interpreter_common "jamesgolick" - rvm_ruby_string="jamesgolick" - rvm_ruby_repo_branch="${rvm_ruby_repo_branch:-"$(__rvm_db "jamesgolick_repo_branch")"}" - rvm_disable_binary_flag=1 -} - __rvm_select_interpreter_ruby() { if diff --git a/scripts/functions/selector_parse b/scripts/functions/selector_parse index e37a6cdc59..49b6a9a20f 100644 --- a/scripts/functions/selector_parse +++ b/scripts/functions/selector_parse @@ -150,7 +150,7 @@ __rvm_ruby_string_parse_() ([0-9][0-9]*) case "${rvm_ruby_interpreter:-""}" in - (ree|kiji) + (ree) rvm_ruby_patch_level="$string" rvm_ruby_revision="" ;; @@ -210,7 +210,7 @@ __rvm_ruby_string_parse_() rvm_ruby_interpreter="rbx" ;; - (opal|ruby|rbx|jruby|macruby|ree|kiji|maglev|ironruby|goruby|mruby|tcs|jamesgolick|topaz) + (opal|ruby|rbx|jruby|macruby|ree|maglev|ironruby|goruby|mruby|topaz) rvm_ruby_interpreter="$string" ;; diff --git a/scripts/functions/support b/scripts/functions/support index 0ce1ec565b..e31a1a78de 100644 --- a/scripts/functions/support +++ b/scripts/functions/support @@ -236,14 +236,14 @@ __rvm_setup_utils_functions_Other() __rvm_grep() { GREP_OPTIONS="" \command \grep "$@" || return $?; } __rvm_stat() { \command \stat "$@" || return $?; } - if command which --skip-alias --skip-functions which >/dev/null 2>&1 - then __rvm_which() { command which --skip-alias --skip-functions "$@" || return $?; } - elif command which whence >/dev/null 2>&1 && command whence whence >/dev/null 2>&1 - then __rvm_which() { command whence -p "$@" || return $?; } - elif command which which >/dev/null 2>&1 - then __rvm_which() { command which "$@" || return $?; } - elif which which >/dev/null 2>&1 - then __rvm_which() { which "$@" || return $?; } + if \command \which --skip-alias --skip-functions which >/dev/null 2>&1 + then __rvm_which() { \command \which --skip-alias --skip-functions "$@" || return $?; } + elif \command \which whence >/dev/null 2>&1 && \command \whence whence >/dev/null 2>&1 + then __rvm_which() { \command \whence -p "$@" || return $?; } + elif \command \which which >/dev/null 2>&1 + then __rvm_which() { \command \which "$@" || return $?; } + elif \which which >/dev/null 2>&1 + then __rvm_which() { \which "$@" || return $?; } else typeset __result=$? rvm_error "ERROR: Missing proper 'which' command. Make sure it is installed before using RVM!" diff --git a/scripts/functions/utility_package b/scripts/functions/utility_package index 36ad34b8c6..cfb287a7f7 100644 --- a/scripts/functions/utility_package +++ b/scripts/functions/utility_package @@ -3,7 +3,7 @@ __rvm_fix_group_permissions() { if - umask -S | __rvm_grep 'g=rw' >/dev/null + \umask -S | __rvm_grep 'g=rw' >/dev/null then chmod -R g+rwX "$@" fi diff --git a/scripts/functions/utility_system b/scripts/functions/utility_system index cccb8ee484..52e7599cdf 100644 --- a/scripts/functions/utility_system +++ b/scripts/functions/utility_system @@ -292,10 +292,12 @@ __rvm_remote_server_path_single() elif file_exists_at_url "${__remote_file}" then + rvm_debug "Remote file exists ${__remote_file}" printf "%b" "$( __rvm_db "rvm_remote_server_verify_downloads${3:-}" ):${__remote_file}" elif [[ -f "${rvm_archives_path}/${rvm_ruby_package_file##*/}" && "${rvm_ruby_package_file##*/}" == *bin-* ]] then + rvm_debug "Cached file exists ${__remote_file}" printf "%b" "$( __rvm_db "rvm_remote_server_verify_downloads${3:-}" ):${rvm_archives_path}/${rvm_ruby_package_file##*/}" else rvm_debug "Remote file does not exist ${__remote_file}" diff --git a/scripts/hook b/scripts/hook index b572e6b94f..b07a6a1f08 100755 --- a/scripts/hook +++ b/scripts/hook @@ -16,12 +16,12 @@ if then hooks=() if - [[ -f "$rvm_hooks_path" ]] + [[ -d "$rvm_hooks_path" ]] then hooks+=( "$rvm_hooks_path" ) fi if - [[ "$PWD/.rvm/hooks" != "$rvm_hooks_path" && -f "$PWD/.rvm/hooks" ]] + [[ "$PWD/.rvm/hooks" != "$rvm_hooks_path" && -d "$PWD/.rvm/hooks" ]] then hooks+=( "$PWD/.rvm/hooks" ) fi diff --git a/scripts/mount b/scripts/mount index 62cb6d916a..720de0dc69 100755 --- a/scripts/mount +++ b/scripts/mount @@ -351,7 +351,7 @@ external_import_configure() fi rvm_ruby_url="$1" - rvm_ruby_string="${2:-${rvm_ruby_url}}" + rvm_ruby_string="${2:-${rvm_ruby_name:-${rvm_ruby_url}}}" [[ -r "${rvm_ruby_url}" ]] || case "${rvm_ruby_url}" in @@ -429,7 +429,8 @@ external_import_validate_archive() typeset short_ruby_string __rvm_read_lines path_to_bin_ruby <( - __rvm_package_list "$rvm_archives_path/${rvm_ruby_package_file}" | __rvm_grep "bin/ruby$" + __rvm_package_list "$rvm_archives_path/${rvm_ruby_package_file}" | __rvm_grep "bin/ruby$" || + __rvm_package_list "$rvm_archives_path/${rvm_ruby_package_file}" | __rvm_grep "bin/jruby$" ) __rvm_read_lines downloaded_names <( __rvm_package_list "$rvm_archives_path/${rvm_ruby_package_file}" | __rvm_awk -F/ '{print $1}' | sort -u @@ -441,6 +442,7 @@ external_import_validate_archive() then __path_to_extract="${path_to_bin_ruby[*]}" __path_to_extract="${__path_to_extract%bin/ruby}" + __path_to_extract="${__path_to_extract%bin/jruby}" elif [[ "${short_ruby_string}" == "${downloaded_names[*]}" ]] then @@ -512,9 +514,13 @@ external_import_validate_binary() esac missing_libs=() + found_libs=() + if [[ -x "${rvm_rubies_path}/${rvm_ruby_string}/bin/ruby" ]] + then found_libs+=( "${rvm_rubies_path}/${rvm_ruby_string}/bin/ruby" ) + fi case ${_system_type} in (Linux|SunOS) - found_libs=( $( + found_libs+=( $( __rvm_find "${rvm_rubies_path}/${rvm_ruby_string}/${external_libdir}" -name '*.so' 2>/dev/null ) ) if @@ -527,7 +533,7 @@ external_import_validate_binary() fi ;; (Darwin) - found_libs=( $( + found_libs+=( $( __rvm_find "${rvm_rubies_path}/${rvm_ruby_string}/${external_libdir}" -name "*.bundle" 2>/dev/null ) ) if