rvm 0.1.16 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- data/README +2 -2
- data/config/db +4 -1
- data/config/md5 +5 -0
- data/install +5 -7
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +6 -4
- data/scripts/cli +36 -32
- data/scripts/gems +30 -23
- data/scripts/install +5 -7
- data/scripts/manage +19 -8
- data/scripts/rvm-install +5 -7
- data/scripts/selector +4 -1
- data/scripts/update +5 -7
- data/scripts/utility +135 -79
- metadata +3 -3
data/README
CHANGED
@@ -35,7 +35,7 @@ Action
|
|
35
35
|
fetch - Performs an archive / src fetch only of the selected ruby.
|
36
36
|
srcdir - display the path to rvm source directory (may be yanked)
|
37
37
|
list - show currently installed rubies, interactive output.
|
38
|
-
rubies -
|
38
|
+
rubies - (query info) default, installed, or expand_string <str>
|
39
39
|
iconv - Install iconv
|
40
40
|
openssl - Install openssl
|
41
41
|
ncurses - Install ncurses
|
@@ -51,7 +51,7 @@ Implementation
|
|
51
51
|
rbx - rubinius
|
52
52
|
ree - ruby Enterprise Edition
|
53
53
|
macruby - MacRuby (Mac OS X Only)
|
54
|
-
maglev -
|
54
|
+
maglev - GemStone Ruby
|
55
55
|
ironruby - IronRuby
|
56
56
|
mput - shyouhei(mput)'s github repository
|
57
57
|
system - use the system ruby (eg. pre-rvm state)
|
data/config/db
CHANGED
@@ -4,6 +4,9 @@ ruby_configure=--enable-shared
|
|
4
4
|
interpreter=ruby
|
5
5
|
ruby_version=1.8.6
|
6
6
|
ruby_patchlevel=383
|
7
|
+
rubygems_version=1.3.6
|
8
|
+
rubygems_1.3.5_url=http://rubyforge.org/frs/download.php/60718
|
9
|
+
rubygems_1.3.6_url=http://rubyforge.org/frs/download.php/69365
|
7
10
|
rbx_version=1.0.0
|
8
11
|
rbx_patch_level=rc2
|
9
12
|
rbx_url=http://asset.rubini.us/rubinius-1.0.0-rc2-20100104.tar.gz
|
@@ -26,7 +29,7 @@ macruby_version=0.5
|
|
26
29
|
macruby_url=http://www.macruby.org/files
|
27
30
|
macruby_repo_url=git://git.macruby.org/macruby/MacRuby.git
|
28
31
|
macruby_nightly_url=http://macruby.icoretech.org/latest/macruby_nightly-latest.pkg
|
29
|
-
maglev_version=
|
32
|
+
maglev_version=22891
|
30
33
|
maglev_url=http://glass-downloads.gemstone.com/maglev
|
31
34
|
maglev_repo_url=git://github.com/MagLev/maglev.git
|
32
35
|
rubinius_repo_url=git://github.com/evanphx/rubinius.git
|
data/config/md5
CHANGED
@@ -39,6 +39,10 @@ GemStone-22816.Darwin-i386.tar.gz=b12426c17b3925f1c8c7086a3285f15f
|
|
39
39
|
GemStone-22816.Linux-x86_64.tar.gz=21d1e8e7a4b10ac8a1c199eb0cbfaec1
|
40
40
|
MagLev-22816.Darwin-i386.tar.gz=b1b3e6530e90d7dcf36f81e097776643
|
41
41
|
MagLev-22816.Linux-x86_64.tar.gz=424ca92c34cfce6d0da63170755b000c
|
42
|
+
MagLev-22891.Darwin-i386.tar.gz=d8d3a8aaff1473422d6a30ecd2b2e9ff
|
43
|
+
GemStone-22891.Darwin-i386.tar.gz=84080bda40c640aac9f19f5ea48403bf
|
44
|
+
MagLev-22891.Linux-x86_64.tar.gz=f91f1bec1f3defb49323a70ec25504ef
|
45
|
+
GemStone-22891.Linux-x86_64.tar.gz=5fd0d341a0eb586c9f804976cc290810
|
42
46
|
MacRuby%200.5.zip=675454a8c7bc19d606d90a726e08427c
|
43
47
|
jruby-bin-1.3.1.tar.gz=4a95db8fc93ed7219663fbede98b6117
|
44
48
|
jruby-bin-1.4.0.tar.gz=f37322c18e9134e91e064aebb4baa4c7
|
@@ -50,3 +54,4 @@ readline-6.0.tar.gz=b7f65a48add447693be6e86f04a63019
|
|
50
54
|
zlib-1.2.3.tar.gz=debc62758716a169df9f62e6ab2bc634
|
51
55
|
curl-7.19.7.tar.gz=ecb2e37e45c9933e2a963cabe03670ab
|
52
56
|
pkg-config-0.23.tar.gz=d922a88782b64441d06547632fd85744
|
57
|
+
rubygems-1.3.6.tgz=789ca8e9ad1d4d3fe5f0534fcc038a0d
|
data/install
CHANGED
@@ -42,13 +42,7 @@ if [[ -z "$rvm_path" ]] ; then
|
|
42
42
|
if [[ "root" = "$(whoami)" ]] ; then
|
43
43
|
rvm_path="/usr/local/rvm"
|
44
44
|
else
|
45
|
-
|
46
|
-
rvm_path="$HOME/.rvm"
|
47
|
-
elif [[ -d "/usr/local/rvm" ]] && [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
|
48
|
-
rvm_path="/usr/local/rvm"
|
49
|
-
else
|
50
|
-
rvm_path="$HOME/.rvm"
|
51
|
-
fi
|
45
|
+
rvm_path="$HOME/.rvm"
|
52
46
|
fi
|
53
47
|
fi
|
54
48
|
|
@@ -188,4 +182,8 @@ if [[ "root" != "$(whoami)" ]] ; then
|
|
188
182
|
echo -e "\n4) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
|
189
183
|
fi
|
190
184
|
|
185
|
+
if grep '&& return' ~/.bashrc ; then
|
186
|
+
echo -e "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc. Please remove it and refactor your profiles to be correct. If you have questions about this please visit #rvm on irc.freenode.net.\n\n"
|
187
|
+
fi
|
188
|
+
|
191
189
|
exit 0
|
data/lib/VERSION.yml
CHANGED
data/rvm.gemspec
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rvm}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.18"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Wayne E. Seguin"]
|
12
|
-
s.date = %q{2010-02-
|
12
|
+
s.date = %q{2010-02-23}
|
13
13
|
s.default_executable = %q{rvm-install}
|
14
14
|
s.description = %q{Manages Ruby interpreter environments and switching between them.}
|
15
15
|
s.email = %q{wayneeseguin@gmail.com}
|
@@ -64,6 +64,7 @@ Gem::Specification.new do |s|
|
|
64
64
|
"scripts/utility",
|
65
65
|
"scripts/version"
|
66
66
|
]
|
67
|
+
s.has_rdoc = false
|
67
68
|
s.homepage = %q{http://github.com/wayneeseguin/rvm}
|
68
69
|
s.post_install_message = %q{********************************************************************************
|
69
70
|
|
@@ -91,3 +92,4 @@ Gem::Specification.new do |s|
|
|
91
92
|
else
|
92
93
|
end
|
93
94
|
end
|
95
|
+
|
data/scripts/cli
CHANGED
@@ -8,7 +8,7 @@ __rvm_parse_args() {
|
|
8
8
|
while [[ $# -gt 0 ]] ; do
|
9
9
|
rvm_token="$1" ; shift
|
10
10
|
case "$rvm_token" in
|
11
|
-
fetch|
|
11
|
+
fetch|version|srcdir|reset|debug|reload|implode|readline|update|iconv|curl|openssl|ncurses|zlib|monitor|notes|mono)
|
12
12
|
rvm_action=$rvm_token
|
13
13
|
;;
|
14
14
|
|
@@ -20,7 +20,7 @@ __rvm_parse_args() {
|
|
20
20
|
|
21
21
|
inspect)
|
22
22
|
rvm_action=$rvm_token
|
23
|
-
rvm_ruby_args=$*
|
23
|
+
export rvm_ruby_args=$*
|
24
24
|
rvm_parse_break=1
|
25
25
|
;;
|
26
26
|
|
@@ -50,9 +50,7 @@ __rvm_parse_args() {
|
|
50
50
|
|
51
51
|
gems|gemset)
|
52
52
|
rvm_action="gems"
|
53
|
-
if [[ "
|
54
|
-
export rvm_ruby_args="$*" ; export rvm_${1}_flag=1 ; shift
|
55
|
-
elif [[ "clear" = "$1" ]] ; then
|
53
|
+
if [[ "clear" = "$1" ]] ; then
|
56
54
|
unset rvm_gem_set_name ; shift
|
57
55
|
export rvm_ruby_gem_home="$(echo $GEM_HOME | sed 's/%.*$//')"
|
58
56
|
export GEM_HOME="$rvm_ruby_gem_home"
|
@@ -60,9 +58,9 @@ __rvm_parse_args() {
|
|
60
58
|
export GEM_PATH="$rvm_ruby_gem_home/bin:$rvm_ruby_gem_home%global/bin"
|
61
59
|
rvm_ruby_args="clear"
|
62
60
|
rvm_parse_break=1
|
63
|
-
elif [[ "delete" = "$1" ]] ; then
|
64
|
-
export
|
65
|
-
rvm_ruby_args="$*" ; shift
|
61
|
+
elif [[ "delete" = "$1" ]] || [[ "use" = "$1" ]] ; then
|
62
|
+
export rvm_${1}_flag=1
|
63
|
+
export rvm_ruby_args="$*" ; shift
|
66
64
|
rvm_gem_set_name="$1"; shift
|
67
65
|
rvm_ruby_string=$(echo $rvm_gem_set_name | sed 's/\(.*\)%.*/\1/')
|
68
66
|
rvm_gem_set_name=$(echo $rvm_gem_set_name | sed 's/.*%\(.*\)/\1/')
|
@@ -73,8 +71,7 @@ __rvm_parse_args() {
|
|
73
71
|
rvm_action="error"
|
74
72
|
rvm_error_message="'gems' must be followed by a gems(et) action, see http://rvm.beginrescueend.com/gemsets/#managing for details."
|
75
73
|
else
|
76
|
-
|
77
|
-
export rvm_use_flag=1 # Default is to use the (named) gem set.
|
74
|
+
export rvm_ruby_args="$*" ; export rvm_${1}_flag=1 ; shift
|
78
75
|
fi
|
79
76
|
fi
|
80
77
|
;;
|
@@ -86,14 +83,21 @@ __rvm_parse_args() {
|
|
86
83
|
if [[ "user" = "$1" ]] ; then export rvm_user_flag=1 ; shift ; fi
|
87
84
|
;;
|
88
85
|
|
86
|
+
list|info|strings)
|
87
|
+
rvm_action="$rvm_token"
|
88
|
+
export rvm_ruby_args="$@"
|
89
|
+
rvm_parse_break=1
|
90
|
+
;;
|
91
|
+
|
89
92
|
-S)
|
90
93
|
rvm_action="ruby"
|
91
|
-
rvm_ruby_args="$rvm_token $@"
|
94
|
+
export rvm_ruby_args="$rvm_token $@"
|
92
95
|
rvm_parse_break=1
|
93
96
|
;;
|
97
|
+
|
94
98
|
-e)
|
95
99
|
rvm_action="ruby"
|
96
|
-
rvm_ruby_args="$rvm_token \"$@\""
|
100
|
+
export rvm_ruby_args="$rvm_token \"$@\""
|
97
101
|
rvm_parse_break=1
|
98
102
|
;;
|
99
103
|
|
@@ -281,7 +285,7 @@ __rvm_parse_args() {
|
|
281
285
|
--disable-llvm|--disable-jit) export rvm_llvm_flag=0 ;;
|
282
286
|
--enable-llvm|--enable-jit) export rvm_llvm_flag=1 ;;
|
283
287
|
|
284
|
-
--self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--export|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--import|--rvmrc|--passenger|--editor|--
|
288
|
+
--self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--export|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--import|--rvmrc|--passenger|--editor|--sticky)
|
285
289
|
export rvm_$(echo $rvm_token | sed 's#-##g')_flag=1
|
286
290
|
if [[ "--debug" = "$rvm_token" ]] ; then export rvm_debug_flag ; fi
|
287
291
|
;;
|
@@ -377,24 +381,29 @@ rvm() {
|
|
377
381
|
|
378
382
|
result=0
|
379
383
|
case "$rvm_action" in
|
380
|
-
use) __rvm_use ; result=$?
|
381
|
-
srcdir) __rvm_source_dir ; result=$?
|
382
|
-
list) __rvm_list ; result=$?
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
384
|
+
use) __rvm_use ; result=$? ;;
|
385
|
+
srcdir) __rvm_source_dir ; result=$? ;;
|
386
|
+
list) __rvm_list ; result=$? ;;
|
387
|
+
strings) __rvm_strings ; result=$? ;;
|
388
|
+
info) __rvm_info ; result=$? ;;
|
389
|
+
debug) __rvm_debug ; result=$? ;;
|
390
|
+
version) __rvm_version ; result=$? ;;
|
391
|
+
reset) __rvm_reset ; result=$? ;;
|
392
|
+
implode) __rvm_implode ; result=$? ;;
|
393
|
+
update) __rvm_update ; result=$? ;;
|
394
|
+
reboot) __rvm_reboot ; result=$? ;;
|
395
|
+
usage|help) __rvm_usage ; result=$? ;;
|
396
|
+
benchmark) __rvm_benchmark ; result=$? ;;
|
397
|
+
inspect) __rvm_inspect ; result=$? ;;
|
398
|
+
ruby|gem|rake) __rvm_do ; result=$? ;;
|
393
399
|
gemdir) $rvm_scripts_path/gems gemdir ; result=$? ;;
|
394
400
|
gems)
|
395
401
|
if [[ "$rvm_use_flag" -eq 1 ]] ; then
|
396
402
|
__rvm_gems_select
|
397
|
-
|
403
|
+
result=$?
|
404
|
+
if [[ $result -eq 0 ]] ; then
|
405
|
+
__rvm_gems_use
|
406
|
+
fi
|
398
407
|
else
|
399
408
|
$rvm_scripts_path/gems $rvm_ruby_args
|
400
409
|
fi
|
@@ -424,11 +433,6 @@ rvm() {
|
|
424
433
|
result=$?
|
425
434
|
;;
|
426
435
|
|
427
|
-
info|debug)
|
428
|
-
__rvm_version
|
429
|
-
__rvm_info
|
430
|
-
if [[ "debug" = "$rvm_action" ]] ; then export rvm_debug_flag=1 ; __rvm_debug ; fi
|
431
|
-
;;
|
432
436
|
|
433
437
|
error)
|
434
438
|
$rvm_scripts_path/log "fail" "$rvm_error_message ( see: 'rvm usage' )"
|
data/scripts/gems
CHANGED
@@ -10,7 +10,7 @@ color_none=$($rvm_scripts_path/color "none")
|
|
10
10
|
|
11
11
|
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
12
12
|
rvm_ruby_gem_home="${rvm_ruby_gem_home:-$GEM_HOME}"
|
13
|
-
if [[ -d "$rvm_ruby_gem_home" ]] && which gem &> /dev/null ; then rvm_ruby_gem_home="$(gem env home)" ; fi
|
13
|
+
if [[ ! -d "$rvm_ruby_gem_home" ]] && which gem &> /dev/null ; then rvm_ruby_gem_home="$(gem env home)" ; fi
|
14
14
|
|
15
15
|
trap "if [[ -d $rvm_tmp_path/ ]] && [[ -s $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
|
16
16
|
|
@@ -22,6 +22,15 @@ __rvm_gems_dir() {
|
|
22
22
|
echo "$rvm_ruby_gem_home"
|
23
23
|
}
|
24
24
|
|
25
|
+
__rvm_gems_create() {
|
26
|
+
for gemset in $(echo $gems_args) ; do
|
27
|
+
gem_home="$rvm_ruby_gem_home%${gems_args/ /}"
|
28
|
+
mkdir -p $gem_home
|
29
|
+
ln -nfs "$HOME/.gem/cache" "$gem_home/cache"
|
30
|
+
$rvm_scripts_path/log "info" "Gemset '$gemset' created."
|
31
|
+
done ; unset gem_home
|
32
|
+
}
|
33
|
+
|
25
34
|
__rvm_gems_list() {
|
26
35
|
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
27
36
|
|
@@ -65,31 +74,27 @@ __rvm_gems_delete() {
|
|
65
74
|
|
66
75
|
__rvm_gems_empty() {
|
67
76
|
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
68
|
-
|
69
|
-
|
70
|
-
|
77
|
+
gemdir="$rvm_ruby_gem_home"
|
78
|
+
if [[ -d "$gemdir" ]] && [[ "$gemdir" != '/' ]] && [[ ! -z "$rvm_force_flag" ]] ; then
|
79
|
+
cd $gemdir && rm -rf ./bin/* ./doc/* ./gems/* ./specifications/*
|
80
|
+
elif [[ -d "$gemdir" ]] ; then
|
81
|
+
$rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gems for gemset '%$rvm_gem_set_name' ($gemdir)?"
|
82
|
+
echo -n "(anything other than 'yes' will cancel) > "
|
83
|
+
read response
|
84
|
+
if [[ "yes" = "$response" ]] ; then
|
71
85
|
cd $gemdir && rm -rf ./bin/* ./doc/* ./gems/* ./specifications/*
|
72
|
-
elif [[ -d "$gemdir" ]] ; then
|
73
|
-
$rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gems for gemset '%$rvm_gem_set_name' ($gemdir)?"
|
74
|
-
echo -n "(anything other than 'yes' will cancel) > "
|
75
|
-
read response
|
76
|
-
if [[ "yes" = "$response" ]] ; then
|
77
|
-
cd $gemdir && rm -rf ./bin/* ./doc/* ./gems/* ./specifications/*
|
78
|
-
else
|
79
|
-
$rvm_scripts_path/log "info" "Not doing anything, phew... close call that one eh?"
|
80
|
-
fi
|
81
86
|
else
|
82
|
-
$rvm_scripts_path/log "info" "
|
83
|
-
fi
|
87
|
+
$rvm_scripts_path/log "info" "Not doing anything, phew... close call that one eh?"
|
88
|
+
fi
|
84
89
|
else
|
85
|
-
$rvm_scripts_path/log "
|
86
|
-
fi
|
90
|
+
$rvm_scripts_path/log "info" "$gemdir already does not exist."
|
91
|
+
fi ; unset gemdir
|
87
92
|
}
|
88
93
|
|
89
94
|
# Migrate gemsets from ruby X to ruby Y
|
90
95
|
__rvm_gems_copy() {
|
91
|
-
source_ruby="$(echo $
|
92
|
-
destination_ruby="$(echo $
|
96
|
+
source_ruby="$(echo $gems_args | awk '{print $1}')"
|
97
|
+
destination_ruby="$(echo $gems_args | awk '{print $2}')"
|
93
98
|
if [[ -z "$source_ruby" ]] ; then
|
94
99
|
$rvm_scripts_path/log "error" "Source and destination must be specified: 'rvm gems copy X Y'"
|
95
100
|
fi
|
@@ -191,7 +196,7 @@ __rvm_gems_import() {
|
|
191
196
|
fi
|
192
197
|
}
|
193
198
|
|
194
|
-
|
199
|
+
__rvm_parse_gems_args() {
|
195
200
|
gem="$(echo $gems_args | awk -F';' '{print $1}')"
|
196
201
|
gem_prefix="$(echo $gems_args | awk -F';' '{print $2}')"
|
197
202
|
if $rvm_scripts_path/match "$gem" "\.gem$" ; then
|
@@ -225,7 +230,7 @@ __rvm_parse_gem_args() {
|
|
225
230
|
# Install a gem
|
226
231
|
__rvm_gem_install() {
|
227
232
|
# First we parse the gem args to pick apart the pieces.
|
228
|
-
|
233
|
+
__rvm_parse_gems_args
|
229
234
|
|
230
235
|
# Now we determine if a .gem cache file is already installed
|
231
236
|
if [[ -z "$rvm_force_flag" ]] && [[ -f "${rvm_ruby_gem_home}/specifications/$(basename $gem_file_name)spec" ]] ; then
|
@@ -312,12 +317,14 @@ if [[ -z "$(which gem 2>/dev/null)" ]] ; then
|
|
312
317
|
fi
|
313
318
|
|
314
319
|
action="$(echo $* | awk '{print $1}')"
|
315
|
-
|
320
|
+
gems_args=$(echo "$*" | awk '{$1="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
316
321
|
|
317
322
|
if [[ "import" = "$action" ]] || [[ "load" = "$action" ]] ; then
|
318
323
|
__rvm_gems_import
|
319
324
|
elif [[ "export" = "$action" ]] || [[ "dump" = "$action" ]] ; then
|
320
325
|
__rvm_gems_export
|
326
|
+
elif [[ "create" = "$action" ]] ; then
|
327
|
+
__rvm_gems_create
|
321
328
|
elif [[ "copy" = "$action" ]] ; then
|
322
329
|
__rvm_gems_copy
|
323
330
|
elif [[ "empty" = "$action" ]] ; then
|
@@ -338,7 +345,7 @@ elif [[ "clear" = "$action" ]] ; then
|
|
338
345
|
$rvm_scripts_path/log "info" "gems(et) cleared."
|
339
346
|
exit 0
|
340
347
|
else
|
341
|
-
$rvm_scripts_path/log "error" "Unrecognized gems action '$action'.\
|
348
|
+
$rvm_scripts_path/log "error" "Unrecognized gems action '$action'.\n\nValid gems actions are: {create,use,import,export,copy,delete,empty,name,list,gemdir,install}"
|
342
349
|
fi
|
343
350
|
|
344
351
|
exit $?
|
data/scripts/install
CHANGED
@@ -42,13 +42,7 @@ if [[ -z "$rvm_path" ]] ; then
|
|
42
42
|
if [[ "root" = "$(whoami)" ]] ; then
|
43
43
|
rvm_path="/usr/local/rvm"
|
44
44
|
else
|
45
|
-
|
46
|
-
rvm_path="$HOME/.rvm"
|
47
|
-
elif [[ -d "/usr/local/rvm" ]] && [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
|
48
|
-
rvm_path="/usr/local/rvm"
|
49
|
-
else
|
50
|
-
rvm_path="$HOME/.rvm"
|
51
|
-
fi
|
45
|
+
rvm_path="$HOME/.rvm"
|
52
46
|
fi
|
53
47
|
fi
|
54
48
|
|
@@ -188,4 +182,8 @@ if [[ "root" != "$(whoami)" ]] ; then
|
|
188
182
|
echo -e "\n4) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
|
189
183
|
fi
|
190
184
|
|
185
|
+
if grep '&& return' ~/.bashrc ; then
|
186
|
+
echo -e "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc. Please remove it and refactor your profiles to be correct. If you have questions about this please visit #rvm on irc.freenode.net.\n\n"
|
187
|
+
fi
|
188
|
+
|
191
189
|
exit 0
|
data/scripts/manage
CHANGED
@@ -30,7 +30,7 @@ __rvm_install_source() {
|
|
30
30
|
$rvm_scripts_path/log "error" "There has been an error, source directory is missing. Did the download or extraction fail? Aborting the installation." ; __rvm_pushpop ; return $result
|
31
31
|
fi
|
32
32
|
|
33
|
-
if [[ -d "${rvm_path}/usr
|
33
|
+
if [[ -d "${rvm_path}/usr" ]] ; then export PATH="${rvm_path}/usr/bin:${PATH}" ; fi
|
34
34
|
|
35
35
|
if [[ -z "$rvm_ruby_configure" ]] && [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
|
36
36
|
if which autoconf &> /dev/null ; then
|
@@ -423,10 +423,10 @@ RubyWrapper
|
|
423
423
|
rvm_gemstone_url="${rvm_gemstone_url:-"$maglev_url/${rvm_gemstone_package_file}.${rvm_archive_extension}"}"
|
424
424
|
fi
|
425
425
|
|
426
|
-
$rvm_scripts_path/log "info" "Downloading the
|
426
|
+
$rvm_scripts_path/log "info" "Downloading the GemStone package, this may take a while depending on your connection..."
|
427
427
|
$rvm_scripts_path/fetch "$rvm_gemstone_url"
|
428
428
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
429
|
-
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the
|
429
|
+
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the GemStone package. Aborting the installation." ; __rvm_pushpop ; return $result
|
430
430
|
fi
|
431
431
|
|
432
432
|
builtin cd "$rvm_src_path"
|
@@ -439,7 +439,7 @@ RubyWrapper
|
|
439
439
|
|
440
440
|
__rvm_run "gemstone.extract" "cat $rvm_archives_path/${rvm_gemstone_package_file}.${rvm_archive_extension} | gunzip | tar xf - -C $rvm_ruby_src_path"
|
441
441
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
442
|
-
$rvm_scripts_path/log "error" "There has been an error while trying to extract the
|
442
|
+
$rvm_scripts_path/log "error" "There has been an error while trying to extract the GemStone package. Aborting the installation." ; __rvm_pushpop ; return $result
|
443
443
|
fi
|
444
444
|
|
445
445
|
chmod -R 777 "$rvm_gemstone_package_file" # for now.
|
@@ -853,6 +853,15 @@ __rvm_post_install() {
|
|
853
853
|
|
854
854
|
__rvm_rubygems_setup() {
|
855
855
|
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.9/')" ]] || [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^mput/')" ]] ; then
|
856
|
+
install=0
|
857
|
+
elif [[ "$rvm_ruby_string" = "ruby-head" ]] ; then
|
858
|
+
install=0
|
859
|
+
else
|
860
|
+
install=1
|
861
|
+
fi
|
862
|
+
|
863
|
+
|
864
|
+
if [[ "$install" -eq 0 ]] ; then
|
856
865
|
# 1.9.X has it's own built-in gem command
|
857
866
|
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/gem"
|
858
867
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
@@ -868,12 +877,14 @@ __rvm_rubygems_setup() {
|
|
868
877
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
869
878
|
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/1.$rvm_major_version"
|
870
879
|
elif [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^rbx|jruby/')" ]] ; then
|
871
|
-
|
880
|
+
if [[ ! -z "$rvm_debug_flag" ]] ; then $rvm_scripts_path/log "debug" "Skipping rubygems update for $rvm_ruby_version" ; fi
|
872
881
|
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/jruby"
|
873
882
|
else
|
874
883
|
$rvm_scripts_path/log "info" "Installing rubygems dedicated to $rvm_ruby_string..."
|
875
|
-
|
876
|
-
|
884
|
+
rvm_rubygems_version=$(__rvm_db "rubygems_version")
|
885
|
+
rvm_rubygems_url=$(__rvm_db "rubygems_${rvm_rubygems_version}_url")
|
886
|
+
rvm_gem_package_name="rubygems-$rvm_rubygems_version"
|
887
|
+
rvm_gem_url="$rvm_rubygems_url/$rvm_gem_package_name.tgz"
|
877
888
|
|
878
889
|
# Sanity check...
|
879
890
|
if [[ ! -f "$rvm_src_path/$rvm_gem_package_name/setup.rb" ]]; then
|
@@ -987,7 +998,7 @@ __rvm_manage_rubies() {
|
|
987
998
|
fi
|
988
999
|
done < <(\ls $rvm_rubies_path/*/bin/ruby 2> /dev/null)
|
989
1000
|
else
|
990
|
-
$rvm_scripts_path/log "warn" 'Really? Install all? See "rvm list
|
1001
|
+
$rvm_scripts_path/log "warn" 'Really? Install all? See "rvm list known" and limit the selection to something more sane please :)'
|
991
1002
|
fi
|
992
1003
|
fi
|
993
1004
|
|
data/scripts/rvm-install
CHANGED
@@ -42,13 +42,7 @@ if [[ -z "$rvm_path" ]] ; then
|
|
42
42
|
if [[ "root" = "$(whoami)" ]] ; then
|
43
43
|
rvm_path="/usr/local/rvm"
|
44
44
|
else
|
45
|
-
|
46
|
-
rvm_path="$HOME/.rvm"
|
47
|
-
elif [[ -d "/usr/local/rvm" ]] && [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
|
48
|
-
rvm_path="/usr/local/rvm"
|
49
|
-
else
|
50
|
-
rvm_path="$HOME/.rvm"
|
51
|
-
fi
|
45
|
+
rvm_path="$HOME/.rvm"
|
52
46
|
fi
|
53
47
|
fi
|
54
48
|
|
@@ -188,4 +182,8 @@ if [[ "root" != "$(whoami)" ]] ; then
|
|
188
182
|
echo -e "\n4) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
|
189
183
|
fi
|
190
184
|
|
185
|
+
if grep '&& return' ~/.bashrc ; then
|
186
|
+
echo -e "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc. Please remove it and refactor your profiles to be correct. If you have questions about this please visit #rvm on irc.freenode.net.\n\n"
|
187
|
+
fi
|
188
|
+
|
191
189
|
exit 0
|
data/scripts/selector
CHANGED
@@ -181,6 +181,7 @@ __rvm_select() {
|
|
181
181
|
else
|
182
182
|
if [[ -z "$rvm_ruby_string" ]] ; then
|
183
183
|
$rvm_scripts_path/log "fail" "Ruby implementation '$rvm_ruby_interpreter' is not known."
|
184
|
+
return 1
|
184
185
|
fi
|
185
186
|
fi
|
186
187
|
esac
|
@@ -218,6 +219,7 @@ __rvm_select() {
|
|
218
219
|
else
|
219
220
|
rvm_ruby_interpreter="${rvm_ruby_interpreter:-system}"
|
220
221
|
fi
|
222
|
+
|
221
223
|
}
|
222
224
|
|
223
225
|
__rvm_use() {
|
@@ -424,7 +426,8 @@ __rvm_ruby_string() {
|
|
424
426
|
rvm_ruby_user_tag="$string"
|
425
427
|
elif $rvm_scripts_path/match "$string" "^b[0-9][0-9]" ; then
|
426
428
|
rvm_ruby_bits="$string"
|
427
|
-
elif $rvm_scripts_path/match "ruby rbx jruby macruby ree rubinius maglev mput shyouhei ironruby" "$string" ; then
|
429
|
+
elif $rvm_scripts_path/match "ruby rbx jruby macruby ree rubinius maglev mput shyouhei ironruby " "$string " ; then
|
430
|
+
# NOTE: The space at the end of each of the above strings is *very* important.
|
428
431
|
rvm_ruby_interpreter="$string"
|
429
432
|
else
|
430
433
|
$rvm_scripts_path/log "error" "Unknown ruby string component: '$string'"
|
data/scripts/update
CHANGED
@@ -42,13 +42,7 @@ if [[ -z "$rvm_path" ]] ; then
|
|
42
42
|
if [[ "root" = "$(whoami)" ]] ; then
|
43
43
|
rvm_path="/usr/local/rvm"
|
44
44
|
else
|
45
|
-
|
46
|
-
rvm_path="$HOME/.rvm"
|
47
|
-
elif [[ -d "/usr/local/rvm" ]] && [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
|
48
|
-
rvm_path="/usr/local/rvm"
|
49
|
-
else
|
50
|
-
rvm_path="$HOME/.rvm"
|
51
|
-
fi
|
45
|
+
rvm_path="$HOME/.rvm"
|
52
46
|
fi
|
53
47
|
fi
|
54
48
|
|
@@ -188,4 +182,8 @@ if [[ "root" != "$(whoami)" ]] ; then
|
|
188
182
|
echo -e "\n4) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
|
189
183
|
fi
|
190
184
|
|
185
|
+
if grep '&& return' ~/.bashrc ; then
|
186
|
+
echo -e "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc. Please remove it and refactor your profiles to be correct. If you have questions about this please visit #rvm on irc.freenode.net.\n\n"
|
187
|
+
fi
|
188
|
+
|
191
189
|
exit 0
|
data/scripts/utility
CHANGED
@@ -24,11 +24,22 @@ __rvm_db() {
|
|
24
24
|
|
25
25
|
# Ouput rvm environment information.
|
26
26
|
__rvm_info() {
|
27
|
-
if [[ ! -z "$(/usr/bin/which ruby 2>/dev/null)" ]] ; then full_version=$(ruby -v) ; fi
|
28
27
|
|
28
|
+
if [[ ! -z "$rvm_ruby_args" ]] ; then
|
29
|
+
echo $(rvm_ruby_string="$rvm_ruby_args"; __rvm_select ; __rvm_use ; __rvm_environment_info)
|
30
|
+
echo -e $info ; unset info
|
31
|
+
else
|
32
|
+
__rvm_environment_info
|
33
|
+
fi
|
34
|
+
|
35
|
+
}
|
36
|
+
|
37
|
+
__rvm_environment_info() {
|
38
|
+
if [[ ! -z "$(/usr/bin/which ruby 2>/dev/null)" ]] ; then full_version=$(ruby -v) ; fi
|
29
39
|
echo -e "system:\n uname: \"$(uname -a)\""
|
30
|
-
|
31
|
-
if [[ ! -z "$
|
40
|
+
|
41
|
+
if [[ ! -z "$ZSH_VERSION" ]] ; then echo -e " shell: \"zsh\"\n version: \"$ZSH_VERSION\"" ; fi
|
42
|
+
if [[ ! -z "$BASH_VERSION" ]] ; then echo -e " shell: \"bash\"\n version: \"$BASH_VERSION\"" ; fi
|
32
43
|
|
33
44
|
cat <<Info
|
34
45
|
|
@@ -58,13 +69,15 @@ environment:
|
|
58
69
|
IRBRC: "$IRBRC"
|
59
70
|
|
60
71
|
Info
|
61
|
-
if [[ ! -z "$MAGLEV_HOME" ]] ; then
|
72
|
+
if [[ ! -z "$MAGLEV_HOME" ]] ; then info="$info\n MAGLEV_HOME: \"$MAGLEV_HOME\"" ; fi
|
62
73
|
|
63
74
|
unset full_version
|
64
75
|
}
|
65
76
|
|
66
77
|
# Output debugging information that has been found useful to help people identify and resolve issues.
|
67
78
|
__rvm_debug() {
|
79
|
+
__rvm_version
|
80
|
+
__rvm_environment_info
|
68
81
|
$rvm_scripts_path/log "debug" "PATH:\n$(echo $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}')"
|
69
82
|
$rvm_scripts_path/log "debug" "uname -a: $(uname -a)"
|
70
83
|
$rvm_scripts_path/log "debug" "permissions: $(ls -la $rvm_path{,/rubies})"
|
@@ -100,6 +113,22 @@ __rvm_debug() {
|
|
100
113
|
$rvm_scripts_path/log "debug" "gem sources:\n$(gem sources | awk '/gems/')"
|
101
114
|
}
|
102
115
|
|
116
|
+
__rvm_strings() {
|
117
|
+
unset results
|
118
|
+
for rvm_ruby_string in $(echo $rvm_ruby_args) ; do
|
119
|
+
__rvm_ruby_string
|
120
|
+
if [[ $? -gt 0 ]] ; then
|
121
|
+
return 1
|
122
|
+
else
|
123
|
+
results="$results $(__rvm_select ; echo $rvm_ruby_string)"
|
124
|
+
unset rvm_ruby_string
|
125
|
+
fi
|
126
|
+
done
|
127
|
+
echo $results
|
128
|
+
unset results
|
129
|
+
return 0
|
130
|
+
}
|
131
|
+
|
103
132
|
# ZSH has 1 based array indexing, bash has 0 based.
|
104
133
|
if [[ ! -z "$ZSH_VERSION" ]] ; then __shell_array_start=1 ; else __shell_array_start=0 ; fi
|
105
134
|
|
@@ -146,13 +175,13 @@ __rvm_run() {
|
|
146
175
|
}
|
147
176
|
|
148
177
|
# Unset both rvm variables as well as ruby-specific variables
|
149
|
-
# Preserve gemset if '
|
178
|
+
# Preserve gemset if 'rvm_sticky' is set (persist gemset unless clear is explicitely called).
|
150
179
|
__rvm_cleanup_variables() {
|
151
180
|
__rvm_unset_ruby_variables
|
152
181
|
|
153
|
-
if [[ "$
|
182
|
+
if [[ "$rvm_sticky_flag" = "1" ]] ; then export rvm_gem_set_name ; else unset rvm_gem_set_name ; fi
|
154
183
|
|
155
|
-
unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_ruby_patch
|
184
|
+
unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_ruby_patch rvm_sticky_flag
|
156
185
|
}
|
157
186
|
|
158
187
|
# Unset ruby-specific variables
|
@@ -309,75 +338,106 @@ __rvm_source_dir() {
|
|
309
338
|
fi
|
310
339
|
}
|
311
340
|
|
312
|
-
#
|
341
|
+
# Query for valid rvm ruby strings
|
313
342
|
# This is meant to be used with scripting.
|
314
|
-
|
315
|
-
\ls $rvm_rubies_path
|
343
|
+
__rvm_list_strings() {
|
344
|
+
echo $(\ls $rvm_rubies_path)
|
316
345
|
}
|
317
346
|
|
318
347
|
# List all rvm installed rubies, default ruby and system ruby.
|
319
348
|
# Display the rubies, indicate their architecture and indicate which is currently used.
|
320
349
|
# This is not meant to be used with scripting. This is for interactive mode usage only.
|
321
350
|
__rvm_list() {
|
322
|
-
echo
|
323
|
-
if [[
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
echo -e "jruby-1.2.0\njruby-1.3.0\njruby-1.3.1\njruby(-1.4.0) # the default\njruby-head"
|
332
|
-
echo -e "rbx(-prc1) # default\nrbx-head"
|
333
|
-
echo -e "ree-1.8.6\nree(-1.8.7) # the default\nree-1.8.6-head\nree-1.8.7-head"
|
334
|
-
echo -e "maglev(-22725)"
|
335
|
-
echo -e "mput(-head) # shyouhei head, the default mput"
|
336
|
-
echo -e "ironruby-0.9.3 # (1.0 RC1)\nironruby-head"
|
337
|
-
if [[ "Darwin" = "$(uname)" ]] ; then
|
338
|
-
echo -e "macruby(-nightly) # the default macruby\nmacruby-head # Build from the macruby git repository"
|
339
|
-
fi
|
351
|
+
action="$(echo $rvm_ruby_args | awk '{print $1}')"
|
352
|
+
if [[ "known" = "$action" ]] ; then
|
353
|
+
__rvm_list_known
|
354
|
+
elif [[ "default" = "$action" ]] ; then
|
355
|
+
__rvm_list_default
|
356
|
+
elif [[ "rubies" = "$action" ]] ; then
|
357
|
+
__rvm_list_rubies
|
358
|
+
elif [[ "strings" = "$action" ]] ; then
|
359
|
+
__rvm_list_strings
|
340
360
|
else
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
fi
|
345
|
-
|
346
|
-
echo -e "rvm Rubies\n"
|
347
|
-
for version in $(\ls $rvm_rubies_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
|
348
|
-
if [[ ! -z "$(echo $version | awk '/^jruby-/')" ]] ; then
|
349
|
-
string="[ $($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}') ]"
|
350
|
-
elif [[ ! -z "$(echo $version | awk '/^maglev-|^macruby-/')" ]] ; then
|
351
|
-
string="[ x86_64 ]"
|
352
|
-
else
|
353
|
-
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
354
|
-
fi
|
355
|
-
if [[ "$version" = "$current_ruby" ]] ; then echo -n "=> " ; else echo -n " " ; fi
|
356
|
-
echo -e "$(tput setaf 2)$version$(tput sgr0) $string"
|
357
|
-
done ; unset version
|
361
|
+
echo -e "Usage: rvm list {known,default,rubies,strings}"
|
362
|
+
fi
|
363
|
+
}
|
358
364
|
|
365
|
+
__rvm_list_default() {
|
366
|
+
strings="$(echo $rvm_ruby_args | awk '{print $2}')"
|
367
|
+
if [[ "$strings" = "string" ]] ; then
|
368
|
+
echo $(grep 'MY_RUBY_HOME' $rvm_config_path/default | awk -F"'" '{print $2}' | xargs basename)
|
369
|
+
else
|
359
370
|
if [[ -f "$rvm_config_path/default" ]] && [[ -s $rvm_config_path/default ]] ; then
|
360
371
|
version=$(grep 'MY_RUBY_HOME' $rvm_config_path/default | awk -F"'" '{print $2}' | xargs basename)
|
361
372
|
if [[ ! -z "$version" ]] ; then
|
362
373
|
echo -e "\nDefault Ruby (for new shells)\n"
|
363
374
|
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
364
|
-
echo -e " $(tput setaf 2)$version$(tput sgr0) $string"
|
375
|
+
echo -e " $(tput setaf 2)$version$(tput sgr0) $string\n"
|
365
376
|
fi ; unset version
|
366
377
|
fi
|
378
|
+
fi
|
379
|
+
}
|
367
380
|
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
381
|
+
__rvm_list_known() {
|
382
|
+
while read -r tag
|
383
|
+
do
|
384
|
+
prefix="$(echo ${tag/\//} | sed 's#^v1_##' | awk -F'_' '{print "(ruby-)1."$1"."$2}' | sed 's#p$##')"
|
385
|
+
echo "${prefix}-t${tag/\//}"
|
386
|
+
unset prefix tag
|
387
|
+
done < <(svn list http://svn.ruby-lang.org/repos/ruby/tags/ | awk '/^v1_[8|9]/')
|
388
|
+
echo -e "(ruby-)1.8.6(-p383)\n(ruby-)1.8.6-head\n(ruby-)1.8.7(-p248)\n(ruby-)1.8.7-head\n(ruby-)1.9.1(-p243)\n(ruby-)1.9.1(-p376)\n(ruby-)1.9.1-head\n(ruby-)1.9.2-preview1"
|
389
|
+
echo -e "jruby-1.2.0\njruby-1.3.1\njruby(-1.4.0) # the default\njruby-head"
|
390
|
+
echo -e "rbx(-prc1) # default\nrbx-head"
|
391
|
+
echo -e "ree-1.8.6\nree(-1.8.7) # the default\nree-1.8.6-head\nree-1.8.7-head"
|
392
|
+
echo -e "maglev(-22891)\nmaglev-head"
|
393
|
+
echo -e "mput(-head) # shyouhei head, the default mput"
|
394
|
+
echo -e "ironruby-0.9.3 # (1.0 RC1)\nironruby-head"
|
395
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
396
|
+
echo -e "macruby(-nightly) # the default macruby\nmacruby-head # Build from the macruby git repository"
|
397
|
+
fi
|
398
|
+
}
|
399
|
+
|
400
|
+
__rvm_list_rubies() {
|
401
|
+
echo
|
402
|
+
ruby=$(which ruby 2>/dev/null) ; current_ruby=""
|
403
|
+
if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo $ruby | awk '/rvm/')" ]] ; then
|
404
|
+
current_ruby="$(echo $ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null)"
|
405
|
+
fi
|
406
|
+
|
407
|
+
echo -e "rvm Rubies\n"
|
408
|
+
for version in $(\ls $rvm_rubies_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
|
409
|
+
if [[ ! -z "$(echo $version | awk '/^jruby-/')" ]] ; then
|
410
|
+
string="[ $($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}') ]"
|
411
|
+
elif [[ ! -z "$(echo $version | awk '/^maglev-|^macruby-/')" ]] ; then
|
412
|
+
string="[ x86_64 ]"
|
375
413
|
else
|
376
|
-
$
|
414
|
+
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
377
415
|
fi
|
416
|
+
if [[ "$version" = "$current_ruby" ]] ; then echo -n "=> " ; else echo -n " " ; fi
|
417
|
+
echo -e "$(tput setaf 2)$version$(tput sgr0) $string"
|
418
|
+
done ; unset version
|
378
419
|
|
379
|
-
|
420
|
+
if [[ -f "$rvm_config_path/default" ]] && [[ -s $rvm_config_path/default ]] ; then
|
421
|
+
version=$(grep 'MY_RUBY_HOME' $rvm_config_path/default | awk -F"'" '{print $2}' | xargs basename)
|
422
|
+
if [[ ! -z "$version" ]] ; then
|
423
|
+
echo -e "\nDefault Ruby (for new shells)\n"
|
424
|
+
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
425
|
+
echo -e " $(tput setaf 2)$version$(tput sgr0) $string"
|
426
|
+
fi ; unset version
|
380
427
|
fi
|
428
|
+
|
429
|
+
system_ruby="$(rvm system ; which ruby 2>/dev/null)"
|
430
|
+
if [[ ! -z "$system_ruby" ]] && [[ -x "$system_ruby" ]]; then
|
431
|
+
echo -e "\nSystem Ruby\n"
|
432
|
+
system_version=$($system_ruby -v)
|
433
|
+
string="[ $(file $system_ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
434
|
+
if [[ ! -z "$system_ruby" ]] && [[ "$current_ruby" = "$system_version" ]] ; then echo -n "=> " ; else echo -n " " ; fi
|
435
|
+
echo -e "$(tput setaf 2)system$(tput sgr0) $string"
|
436
|
+
else
|
437
|
+
$rvm_scripts_path/log "info" "No system ruby found."
|
438
|
+
fi
|
439
|
+
|
440
|
+
unset current_ruby version selected system_ruby system_version string
|
381
441
|
echo
|
382
442
|
}
|
383
443
|
|
@@ -415,16 +475,6 @@ __rvm_update_rvm() {
|
|
415
475
|
mkdir -p "$rvm_src_path"
|
416
476
|
__rvm_pushpop "$rvm_src_path"
|
417
477
|
|
418
|
-
ruby="$(which ruby 2>/dev/null)"
|
419
|
-
system_ruby="$(rvm system ; which ruby 2>/dev/null)"
|
420
|
-
if [[ ! -x "$ruby" ]] ; then
|
421
|
-
if [[ ! -x "$system" ]] ; then
|
422
|
-
unset ruby
|
423
|
-
else
|
424
|
-
ruby=$system_ruby
|
425
|
-
fi
|
426
|
-
fi
|
427
|
-
|
428
478
|
if [[ "head" = "$rvm_ruby_revision" ]] || [[ -z "$system_ruby" ]] ; then
|
429
479
|
if [[ -d "$rvm_src_path/rvm/.git" ]] ; then
|
430
480
|
builtin cd $rvm_src_path/rvm/ && git pull origin master && ./scripts/install
|
@@ -432,15 +482,15 @@ __rvm_update_rvm() {
|
|
432
482
|
builtin cd $rvm_src_path && git clone git://github.com/wayneeseguin/rvm.git && builtin cd rvm/ && ./install
|
433
483
|
fi
|
434
484
|
else
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
485
|
+
stable_version=$(curl -s http://rvm.beginrescueend.com/releases/stable-version.txt)
|
486
|
+
|
487
|
+
__rvm_run "fetch" "$rvm_scripts_path/fetch 'http://rvm.beginrescueend.com/releases/rvm-${stable_version}.tar.gz'" "fetching rvm-${stable_version}.tar.gz"
|
488
|
+
|
489
|
+
__rvm_run "extract" "cat $rvm_archives_path/rvm-${stable_version}.tar.gz | gunzip | tar xf - -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..."
|
490
|
+
|
491
|
+
__rvm_run "install" "builtin cd $rvm_src_path/rvm-${stable_version}/ ; ./install" "Installing rvm-${stable_version}..."
|
442
492
|
fi
|
443
|
-
|
493
|
+
|
444
494
|
__rvm_pushpop
|
445
495
|
$rvm_scripts_path/hook "after_update"
|
446
496
|
}
|
@@ -730,14 +780,14 @@ __rvm_make_flags() {
|
|
730
780
|
# Select a gems(et) based on CLI set options and environment.
|
731
781
|
# This only sets 'rvm_ruby_gem_home'
|
732
782
|
__rvm_gems_select() {
|
733
|
-
if ! which gem
|
783
|
+
if ! which gem > /dev/null 2>&1 ; then return 0 ; fi
|
734
784
|
|
735
785
|
rvm_ruby_global_gems_path="$rvm_gems_path/$rvm_ruby_string%global"
|
736
786
|
|
737
787
|
if [[ -z "$rvm_gem_set_name" ]] ; then
|
738
788
|
# No longer defaulting to 'sticky' gem sets.
|
739
|
-
# Set '
|
740
|
-
if [[ ! -z "$
|
789
|
+
# Set 'rvm_sticky_flag=1' in ~/.rvmrc to enable.
|
790
|
+
if [[ ! -z "$rvm_sticky_flag" ]] ; then
|
741
791
|
if [[ ! -z "$GEM_HOME" ]] ; then
|
742
792
|
rvm_gem_set_name=$(echo $GEM_HOME | xargs basename | awk -F'%' '{print $2}')
|
743
793
|
fi
|
@@ -749,7 +799,7 @@ __rvm_gems_select() {
|
|
749
799
|
if [[ ! -z "$rvm_gem_set_name" ]] && ! $rvm_scripts_path/match "$rvm_gem_set_name" "^[0-9]\.[0-9]" ; then
|
750
800
|
rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string%$rvm_gem_set_name"
|
751
801
|
else
|
752
|
-
if [[ ! -z "$
|
802
|
+
if [[ ! -z "$rvm_ruby_string" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
|
753
803
|
rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
|
754
804
|
elif [[ -z "$GEM_HOME" ]] && [[ ! -z "$(which gem 2>/dev/null)" ]] ; then
|
755
805
|
rvm_ruby_gem_home=$(gem env gemdir)
|
@@ -764,7 +814,11 @@ __rvm_gems_select() {
|
|
764
814
|
rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string%$rvm_gem_set_name"
|
765
815
|
fi
|
766
816
|
|
767
|
-
|
817
|
+
# If the gemset does not exist, then notify the user as such and abort the action.
|
818
|
+
if [[ ! -d "$rvm_ruby_gem_home" ]] && [[ ! -z "$rvm_gem_set_name" ]] && [[ -z "$rvm_create_flag" ]]; then
|
819
|
+
$rvm_scripts_path/log "error" "Gemset '$rvm_gem_set_name' does not exist, rvm gems create '$rvm_gem_set_name' first."
|
820
|
+
return 1
|
821
|
+
fi
|
768
822
|
|
769
823
|
rvm_ruby_gem_path="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
770
824
|
|
@@ -812,7 +866,8 @@ __rvm_gems_use() {
|
|
812
866
|
|
813
867
|
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
814
868
|
if [[ ! -d "$rvm_ruby_gem_home" ]] ; then
|
815
|
-
|
869
|
+
$rvm_scripts_path/log "error" "Gemset '$rvm_gem_set_name' does not exist, rvm gems create '$rvm_gem_set_name' first."
|
870
|
+
return 1
|
816
871
|
fi
|
817
872
|
|
818
873
|
if [[ "$rvm_interactive" = 1 ]] ; then
|
@@ -824,6 +879,7 @@ __rvm_gems_use() {
|
|
824
879
|
export BUNDLE_PATH="$rvm_ruby_gem_home"
|
825
880
|
__rvm_use
|
826
881
|
fi
|
882
|
+
return 0
|
827
883
|
}
|
828
884
|
|
829
885
|
__rvm_mono_env() {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wayne E. Seguin
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02-
|
12
|
+
date: 2010-02-23 00:00:00 -05:00
|
13
13
|
default_executable: rvm-install
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -67,7 +67,7 @@ files:
|
|
67
67
|
- scripts/update
|
68
68
|
- scripts/utility
|
69
69
|
- scripts/version
|
70
|
-
has_rdoc:
|
70
|
+
has_rdoc: false
|
71
71
|
homepage: http://github.com/wayneeseguin/rvm
|
72
72
|
licenses: []
|
73
73
|
|