rvm 0.0.48 → 0.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/rvm-install +1 -1
- data/config/db +2 -0
- data/{scripts/rvm-update → install} +58 -57
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +13 -12
- data/scripts/{rvm-aliases → aliases} +0 -0
- data/scripts/{rvm-cli → cli} +17 -12
- data/scripts/{rvm-completion → completion} +1 -16
- data/scripts/{rvm-functions → functions} +0 -0
- data/scripts/install +173 -0
- data/scripts/{rvm-ruby-installer → ruby-installer} +91 -66
- data/scripts/rvm +4 -4
- data/scripts/rvm-install +58 -57
- data/scripts/{rvm-selector → selector} +31 -5
- data/scripts/update +173 -0
- data/scripts/{rvm-utility → utility} +77 -58
- metadata +12 -11
- data/INSTALL +0 -1
@@ -6,7 +6,7 @@ function __rvm_select {
|
|
6
6
|
__rvm_ruby_string
|
7
7
|
elif [ ! -z "$rvm_ruby_selector" ] ; then
|
8
8
|
if [ ! -z "$(echo $rvm_ruby_selector | awk '/^[0-9]/')" ] ; then
|
9
|
-
rvm_ruby_interpreter="ruby"
|
9
|
+
rvm_ruby_interpreter="${rvm_ruby_interpreter:-ruby}"
|
10
10
|
rvm_ruby_version=$rvm_ruby_selector
|
11
11
|
else
|
12
12
|
rvm_ruby_interpreter="$rvm_ruby_selector"
|
@@ -17,7 +17,6 @@ function __rvm_select {
|
|
17
17
|
rvm_ruby_version=$rvm_ruby_interpreter
|
18
18
|
rvm_ruby_interpreter="ruby"
|
19
19
|
else
|
20
|
-
rvm_ruby_interpreter="${1:-$rvm_ruby_interpreter}"
|
21
20
|
rvm_ruby_interpreter="${rvm_ruby_interpreter:-ruby}" # Default is standard ruby
|
22
21
|
fi
|
23
22
|
fi
|
@@ -45,6 +44,7 @@ function __rvm_select {
|
|
45
44
|
unset rvm_ruby_patch_level
|
46
45
|
rvm_ruby_interpreter="rubinius"
|
47
46
|
rvm_ruby_repo_url=`__rvm_db "rubinius_repo_url"`
|
47
|
+
rvm_url=$rvm_ruby_repo_url
|
48
48
|
rvm_ruby_configure=""
|
49
49
|
rvm_ruby_make="build"
|
50
50
|
rvm_ruby_make_install=""
|
@@ -54,7 +54,7 @@ function __rvm_select {
|
|
54
54
|
jruby)
|
55
55
|
rvm_ruby_version="${rvm_ruby_version:-`__rvm_db "jruby_version"`}"
|
56
56
|
unset rvm_ruby_patch_level
|
57
|
-
if [ "$rvm_ruby_version
|
57
|
+
if [ ! -z "$(echo $rvm_ruby_version | awk '/^1\.2\.0/')" -o ! -z "$(rvm_ruby_version | awk '/^1\.3\.[0-3]/')" ] ; then
|
58
58
|
__rvm_log "fail" "Unknown jRuby version: $rvm_ruby_version"
|
59
59
|
fi
|
60
60
|
alias jruby_ng="jruby --ng"
|
@@ -66,8 +66,7 @@ function __rvm_select {
|
|
66
66
|
rvm_ruby_interpreter=`__rvm_db "ree_interpreter"`
|
67
67
|
rvm_ruby_version=${rvm_ruby_version:-`__rvm_db "ree_version"`}
|
68
68
|
rvm_ruby_patch_level="${3:-`__rvm_db "ree_patch_level"`}"
|
69
|
-
|
70
|
-
if [ "$rvm_ruby_version" != "1.8.6" ] ; then
|
69
|
+
if [ -z "$(echo $rvm_ruby_version | awk '/^1\.8/')" ] ; then
|
71
70
|
__rvm_log "fail" "Unknown Ruby Enterprise Edition version: $rvm_ruby_version"
|
72
71
|
fi
|
73
72
|
;;
|
@@ -239,3 +238,30 @@ function __rvm_use {
|
|
239
238
|
if [ ! -z "$rvm_dump_flag" ] ; then __rvm_gemset_dump ; fi
|
240
239
|
}
|
241
240
|
|
241
|
+
function __rvm_ruby_string {
|
242
|
+
if [ "$rvm_ruby_interpreter" = "system" ] ; then
|
243
|
+
rvm_ruby_string="system"
|
244
|
+
elif [ ! -z "$rvm_ruby_string" ] ; then
|
245
|
+
rvm_ruby_string=`echo "$rvm_ruby_string" | sed 's/ruby-enterprise/ree/g'` # dash-antics :)
|
246
|
+
rvm_ruby_interpreter=`echo $rvm_ruby_string | tr '-' ' ' | awk '{print $1}'`
|
247
|
+
rvm_ruby_version=`echo $rvm_ruby_string | awk -F'-' '{print $2}'`
|
248
|
+
revision=`echo $rvm_ruby_string | awk -F'-' '{print $3}'`
|
249
|
+
|
250
|
+
if [ "$revision" = "head" -o "$revision" = "preview" ] ; then
|
251
|
+
rvm_ruby_revision="$revision"
|
252
|
+
else
|
253
|
+
echo $revision | grep '^p[0-9]\+' > /dev/null
|
254
|
+
if [ $? -eq 0 ] ; then
|
255
|
+
rvm_ruby_patch_level=`echo $revision | awk -F'p' '{print $2}'`
|
256
|
+
else
|
257
|
+
echo $revision | grep '^[0-9]\+' > /dev/null
|
258
|
+
if [ $? -eq 0 ] ; then
|
259
|
+
rvm_ruby_rev="$revision"
|
260
|
+
else
|
261
|
+
unset rvm_ruby_patch_level rvm_ruby_rev
|
262
|
+
fi
|
263
|
+
fi
|
264
|
+
fi
|
265
|
+
fi
|
266
|
+
return 0
|
267
|
+
}
|
data/scripts/update
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
user=`whoami`
|
4
|
+
if [ "$user" = "root" ] ; then
|
5
|
+
echo -e "\033[0;31m <e> \033[0mroot user support is not yet implemented.\033[0m"
|
6
|
+
exit 1
|
7
|
+
fi
|
8
|
+
|
9
|
+
item="\033[0;32m* \033[0m"
|
10
|
+
question="\n\033[0;32m<?>\033[0m"
|
11
|
+
cwd=$(pwd)
|
12
|
+
source_dir="${source_dir:-`dirname $0 | xargs dirname`}"
|
13
|
+
if [ ! -d "$source_dir" ] ; then unset source_dir ; fi
|
14
|
+
source_dir="${source_dir:-$cwd}"
|
15
|
+
rvm_dir=~/.rvm
|
16
|
+
|
17
|
+
# State what is required to use rvm
|
18
|
+
echo -e "\n\033[0;32mrvm\033[0m\n\n shell scripts that allows a user to manage multiple ruby versions in their own account."
|
19
|
+
echo -e "\n Installing rvm to ~/.rvm/ ..."
|
20
|
+
for dir_name in src scripts bin log archives config gems examples ; do
|
21
|
+
mkdir -p $rvm_dir/$dir_name
|
22
|
+
done
|
23
|
+
|
24
|
+
for dir_name in config scripts examples lib ; do
|
25
|
+
mkdir -p $rvm_dir/$dir_name
|
26
|
+
/bin/cp -Rf $source_dir/$dir_name $rvm_dir
|
27
|
+
done ; unset dir_name
|
28
|
+
|
29
|
+
for file_name in rvm-prompt gemsync ; do
|
30
|
+
mv $rvm_dir/scripts/$file_name $rvm_dir/bin/
|
31
|
+
chmod +x $rvm_dir/bin/$file_name
|
32
|
+
done ; unset file_name
|
33
|
+
|
34
|
+
results=$(grep 'scripts/rvm' ~/.bash_profile ~/.bashrc ~/.zshrc > /dev/null)
|
35
|
+
if [ $? -gt 0 ] ; then
|
36
|
+
if [ ! -z "`echo $PS1`" ] ; then
|
37
|
+
while : ; do
|
38
|
+
echo -n -e "$question Do you want this (s)cript to set this up for you, or do it (m)anually yourself ('s' or 'm')? "
|
39
|
+
read response
|
40
|
+
if [ "${response:0:1}" = "s" ] ; then
|
41
|
+
echo 'w00t!'
|
42
|
+
break
|
43
|
+
elif [ "${response:0:1}" = "m" ] ; then
|
44
|
+
echo -e " Please make sure that this line is in place."
|
45
|
+
break
|
46
|
+
fi
|
47
|
+
done
|
48
|
+
|
49
|
+
if [ "${response:0:1}" = "s" ] ; then
|
50
|
+
|
51
|
+
while : ; do
|
52
|
+
echo -n -e "$question Do you use b(a)sh or (z)sh or b(o)th for your shell (the default on most *nix systems is bash, press control + C to cancel the installation)\n(a/z/o)? "
|
53
|
+
read response
|
54
|
+
if [ "${response:0:1}" = "a" ] ; then
|
55
|
+
user_shell="bash"
|
56
|
+
break
|
57
|
+
elif [ "${response:0:1}" = "z" ] ; then
|
58
|
+
user_shell="zsh"
|
59
|
+
break
|
60
|
+
elif [ "${response:0:1}" = "o" ] ; then
|
61
|
+
user_shell="both"
|
62
|
+
break
|
63
|
+
fi
|
64
|
+
done
|
65
|
+
fi
|
66
|
+
else
|
67
|
+
user_shell="both"
|
68
|
+
fi
|
69
|
+
|
70
|
+
if [ "$user_shell" = "bash" -o "$user_shell" = "both" ] ; then
|
71
|
+
touch ~/.bash_profile
|
72
|
+
if [ -z "`grep '\.rvm/scripts/rvm' ~/.bash_profile`" ] ; then
|
73
|
+
echo "Adding 'if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi' to your ~/.bash_profile."
|
74
|
+
echo -e "\n" >> ~/.bash_profile
|
75
|
+
echo "if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi" >> ~/.bash_profile
|
76
|
+
fi
|
77
|
+
touch ~/.bashrc
|
78
|
+
if [ -z "`grep '\.rvm/scripts/rvm' ~/.bashrc`" ] ; then
|
79
|
+
echo "Adding 'if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi' to your ~/.bashrc."
|
80
|
+
echo -e "\n" >> ~/.bashrc
|
81
|
+
echo "if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi" >> ~/.bashrc
|
82
|
+
fi
|
83
|
+
|
84
|
+
fi
|
85
|
+
|
86
|
+
if [ "$user_shell" = "zsh" -o "$user_shell" = "both" ] ; then
|
87
|
+
touch ~/.zshrc
|
88
|
+
if [ -z "`grep '\.rvm/scripts/rvm' ~/.zshrc`" ] ; then
|
89
|
+
echo "Adding 'if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi' to your ~/.zshrc."
|
90
|
+
echo -e "\n" >> ~/.zshrc
|
91
|
+
echo "if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi" >> ~/.zshrc
|
92
|
+
fi
|
93
|
+
fi
|
94
|
+
fi
|
95
|
+
|
96
|
+
echo -e "\n Ensuring that rvm script location in $file is scripts/rvm not bin/rvm for: ~/.bash_profile, ~/.bashrc, ~/.zshrc..."
|
97
|
+
for file in ~/.bash_profile ~/.bashrc ~/.zshrc ; do
|
98
|
+
if [ -s $file ] ; then
|
99
|
+
if [ -L $file ] ; then # If the file is a symlink,
|
100
|
+
actual_file=`readlink $file` # read the link target so we can preserve it.
|
101
|
+
else
|
102
|
+
actual_file="$file"
|
103
|
+
fi
|
104
|
+
|
105
|
+
grep 'rvm\/bin\/rvm' $actual_file > /dev/null
|
106
|
+
if [ $? -eq 0 ] ; then
|
107
|
+
sed -i.orig 's/rvm\/bin\/rvm/rvm\/scripts\/rvm/g' $actual_file
|
108
|
+
rm -f $actual_file.orig
|
109
|
+
fi
|
110
|
+
|
111
|
+
if [ -f ~/.profile ] ; then
|
112
|
+
grep '.profile' $actual_file > /dev/null
|
113
|
+
if [ $? -gt 0 ] ; then
|
114
|
+
profile=~/.profile
|
115
|
+
echo -e "\n" >> $actual_file
|
116
|
+
echo "source $profile" >> $actual_file
|
117
|
+
fi
|
118
|
+
fi
|
119
|
+
fi
|
120
|
+
done
|
121
|
+
|
122
|
+
if [ -f ~/.rvm/bin/rvm ] ; then
|
123
|
+
echo -e "\n Removing old rvm file from ~/.rvm/bin/rvm..."
|
124
|
+
rm -f ~/.rvm/bin/rvm
|
125
|
+
fi
|
126
|
+
|
127
|
+
system=`uname`
|
128
|
+
echo -e "\n \033[0;33mNOTES: \033[0m"
|
129
|
+
if [ "$system" = "Linux" ] ; then
|
130
|
+
rvm_apt_get_binary=`which apt-get 2> /dev/null`
|
131
|
+
rvm_emerge_binary=`which emerge 2> /dev/null`
|
132
|
+
rvm_pacman_binary=`which pacman 2> /dev/null`
|
133
|
+
rvm_yum_binary=`which yum 2> /dev/null`
|
134
|
+
|
135
|
+
if [ ! -z "$rvm_apt_get_binary" ] ; then
|
136
|
+
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
137
|
+
echo -e " $ sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk"
|
138
|
+
echo -e " $item For ree (if you wish to use it) you will need:"
|
139
|
+
echo -e " $ sudo apt-get install libreadline5-dev libssl-dev bison"
|
140
|
+
|
141
|
+
elif [ ! -z "$rvm_emerge_binary" ] ; then
|
142
|
+
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
143
|
+
echo -e " $ sudo emerge dev-java/sun-jdk dev-java/sun-jre-bin"
|
144
|
+
|
145
|
+
elif [ ! -z "$rvm_pacman_binary" ] ; then
|
146
|
+
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
147
|
+
echo -e " $ sudo pacman -Sy jdk jre"
|
148
|
+
|
149
|
+
elif [ ! -z "$rvm_yum_binary" ] ; then
|
150
|
+
echo -e " $item For ree (if you wish to use it) you will need:"
|
151
|
+
echo -e " $ yum install -y rpm-build gcc gcc-c++ redhat-rpm-config ; then download and rpmbuild and install the sdk, Have fun..."
|
152
|
+
|
153
|
+
else
|
154
|
+
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
155
|
+
echo -e " The SUN java runtime environment and development kit."
|
156
|
+
fi
|
157
|
+
elif [ "$system" = "Darwin" ] ; then
|
158
|
+
echo -e " $item Be sure that you have XCode Tools installed in order to use rvm."
|
159
|
+
echo -e " $item If you intend on installing MacRuby you must install LLVM first."
|
160
|
+
fi
|
161
|
+
|
162
|
+
echo -e " $item In order to use rvm the following line must occur in your shell's loading files, after all path/variable settings.:"
|
163
|
+
echo -e " $item if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi"
|
164
|
+
echo -e " $item CLOSE THIS SHELL AND OPEN A NEW ONE in order to use rvm."
|
165
|
+
|
166
|
+
echo -e "\n \033[0;33mRTFM: \033[0m http://rvm.beginrescueend.com/ \n"
|
167
|
+
echo -e '\033[0;32mw⦿‿⦿t!\033[0m'
|
168
|
+
echo -e "\n ~ Wayne\n"
|
169
|
+
|
170
|
+
source $rvm_dir/scripts/rvm
|
171
|
+
rvm -v
|
172
|
+
echo
|
173
|
+
|
@@ -93,11 +93,11 @@ function __rvm_run {
|
|
93
93
|
}
|
94
94
|
|
95
95
|
function __rvm_cleanup_variables {
|
96
|
-
unset rvm_selected rvm_action rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_irbrc_file rvm_ruby_irbrc rvm_source_path rvm_path rvm_prefix_path rvm_ruby_package_name rvm_gem_path rvm_command rvm_error_message rvm_ruby_home rvm_ruby_binary rvm_gem_set_name rvm_ruby_tag rvm_ruby_rev rvm_url rvm_ruby_make rvm_ruby_configure rvm_ruby_make_install rvm_config_path rvm_ruby_string rvm_bin_path rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_load_flag rvm_dump_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
|
96
|
+
unset rvm_selected rvm_action rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_irbrc_file rvm_ruby_irbrc rvm_source_path rvm_path rvm_prefix_path rvm_ruby_package_name rvm_gem_path rvm_command rvm_error_message rvm_ruby_home rvm_ruby_binary rvm_gem_set_name rvm_ruby_tag rvm_ruby_rev rvm_url rvm_ruby_make rvm_ruby_configure rvm_ruby_make_install rvm_config_path rvm_ruby_string rvm_bin_path rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_load_flag rvm_dump_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_ruby_string rvm_ruby_selector rvm_shebang_flag rvm_env_flag rvm_head_flag rvm_tail_flag
|
97
97
|
}
|
98
98
|
|
99
99
|
function __rvm_unset_ruby_variables {
|
100
|
-
unset rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install rvm_ruby_rev rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_home rvm_ruby_binary rvm_ruby_package_name rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_selected rvm_ruby_selector
|
100
|
+
unset rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install rvm_ruby_rev rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_home rvm_ruby_binary rvm_ruby_package_name rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_selected rvm_ruby_selector rvm_ruby_string
|
101
101
|
}
|
102
102
|
|
103
103
|
# TODO: root user loadng of /etc/rvmrc
|
@@ -128,34 +128,53 @@ PATH=$rvm_ruby_home/bin:$rvm_gem_home/bin:\$PATH ; export PATH
|
|
128
128
|
exec "$rvm_ruby_binary" "\$@"
|
129
129
|
RubyWrapper
|
130
130
|
)
|
131
|
-
|
131
|
+
rm -f $rvm_path/bin/$rvm_ruby_package_name
|
132
|
+
echo "$ruby_wrapper" > $rvm_path/bin/$rvm_ruby_package_name
|
132
133
|
unset ruby_wrapper
|
133
|
-
chmod +x $
|
134
|
+
chmod +x $rvm_path/bin/$rvm_ruby_package_name
|
134
135
|
}
|
135
136
|
|
136
137
|
function __rvm_fetch {
|
137
|
-
|
138
138
|
__rvm_pushpop $rvm_archives_path
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
rm -f $archive ; unset archive
|
148
|
-
__rvm_fetch "$1"
|
139
|
+
archive=`basename "$1"`
|
140
|
+
__rvm_log "debug" "Fetching $archive"
|
141
|
+
# Check first if we have the correct archive
|
142
|
+
if [ -e $archive ] && [ -e $archive.md5 ] ; then
|
143
|
+
__rvm_log "debug" "Found archive and its md5, testing correctness"
|
144
|
+
if [ `md5sum --status -c $archive.md5` -gt 0 ] ; then
|
145
|
+
__rvm_log "debug" "Archive is bad, downloading"
|
146
|
+
download=1
|
149
147
|
else
|
150
|
-
__rvm_log "
|
148
|
+
__rvm_log "debug" "Archive is good, not downloading"
|
149
|
+
download=0
|
150
|
+
result=0
|
151
151
|
fi
|
152
|
+
else
|
153
|
+
__rvm_log "debug" "No archive or no MD5, downloading"
|
154
|
+
download=1
|
152
155
|
fi
|
153
|
-
|
156
|
+
if [ $download -gt 0 ] ; then
|
157
|
+
eval $rvm_fetch "$1"
|
158
|
+
result=$?
|
159
|
+
if [ $result -gt 0 ] ; then
|
160
|
+
if [ $result -eq 78 ] ; then
|
161
|
+
__rvm_log "error" "The requested url does not exist: '$1'"
|
162
|
+
elif [ $result -eq 33 ] ; then
|
163
|
+
__rvm_log "debug" "Server does not support 'range' command, removing '$archive'"
|
164
|
+
rm -f $archive
|
165
|
+
__rvm_fetch "$1"
|
166
|
+
else
|
167
|
+
__rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log"
|
168
|
+
fi
|
169
|
+
fi
|
170
|
+
__rvm_pushpop
|
171
|
+
fi
|
172
|
+
unset archive
|
173
|
+
unset download
|
154
174
|
return $result
|
155
175
|
}
|
156
176
|
|
157
177
|
function __rvm_load_defaults {
|
158
|
-
|
159
178
|
if [ ! -s $rvm_path/system ] ; then
|
160
179
|
for variable in RUBY_VERSION GEM_HOME GEM_PATH MY_RUBY_HOME ; do
|
161
180
|
eval value=\$${variable}
|
@@ -196,11 +215,9 @@ function __rvm_load_defaults {
|
|
196
215
|
fi
|
197
216
|
fi
|
198
217
|
fi
|
199
|
-
|
200
218
|
}
|
201
219
|
|
202
220
|
function __rvm_reset {
|
203
|
-
|
204
221
|
PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
|
205
222
|
PATH=$rvm_bin_path:$PATH ; export PATH
|
206
223
|
|
@@ -216,7 +233,6 @@ function __rvm_reset {
|
|
216
233
|
done ; unset system_config variable
|
217
234
|
|
218
235
|
rm -f $rvm_path/bin/ruby $rvm_path/bin/gem $rvm_path/bin/rake $rvm_path/bin/irb $rvm_path/bin/default*
|
219
|
-
|
220
236
|
}
|
221
237
|
|
222
238
|
function __rvm_implode {
|
@@ -323,7 +339,6 @@ function __rvm_db {
|
|
323
339
|
}
|
324
340
|
|
325
341
|
function __rvm_list {
|
326
|
-
|
327
342
|
if [ "$rvm_all_flag" ] ; then
|
328
343
|
svn list http://svn.ruby-lang.org/repos/ruby/tags/ | grep 'v1_[8|9]' | sed 's/^v1_//' | sed 's/\/$//' | awk -F'_' '{print "1."$1"."$2 " -l "$3}' | sed 's/p$//'
|
329
344
|
|
@@ -336,7 +351,8 @@ function __rvm_list {
|
|
336
351
|
echo "rbx head --jit"
|
337
352
|
echo "ree 20090610"
|
338
353
|
else
|
339
|
-
current=`which ruby | xargs dirname | xargs dirname | xargs basename`
|
354
|
+
current=`which ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null`
|
355
|
+
|
340
356
|
echo -e "\nruby:\n"
|
341
357
|
for version in `/bin/ls -l $rvm_path/ 2> /dev/null | awk '/ ruby-[1-2].*/ { print $NF }'` ; do
|
342
358
|
string=`$rvm_bin_path/$version -v`
|
@@ -387,10 +403,10 @@ function __rvm_list {
|
|
387
403
|
echo -e "\nsystem:\n"
|
388
404
|
system_version=`rvm system ; ruby -v 2> /dev/null`
|
389
405
|
if [ ! -z "$system_version" ] ; then
|
390
|
-
if [ "$
|
391
|
-
echo -e " $system_version\n"
|
392
|
-
else
|
406
|
+
if [ "$(`which ruby` -v)" = "$system_version" ] ; then
|
393
407
|
echo -e "=> $system_version\n"
|
408
|
+
else
|
409
|
+
echo -e " $system_version\n"
|
394
410
|
fi
|
395
411
|
fi ; unset current version selected
|
396
412
|
fi
|
@@ -460,9 +476,9 @@ function __rvm_update_rvm {
|
|
460
476
|
mkdir -p $rvm_source_path
|
461
477
|
if [ "$rvm_ruby_rev" = "head" ] ; then
|
462
478
|
if [ -d $rvm_source_path/rvm/.git ] ; then
|
463
|
-
cd $rvm_source_path/rvm/ && git pull origin master && ./scripts/
|
479
|
+
cd $rvm_source_path/rvm/ && git pull origin master && ./scripts/install
|
464
480
|
else
|
465
|
-
cd $rvm_source_path && git clone git://github.com/wayneeseguin/rvm.git && cd rvm/ && ./
|
481
|
+
cd $rvm_source_path && git clone git://github.com/wayneeseguin/rvm.git && cd rvm/ && ./install
|
466
482
|
fi
|
467
483
|
else
|
468
484
|
# TODO: rvm_install_path:
|
@@ -485,7 +501,7 @@ function __rvm_reboot {
|
|
485
501
|
fi
|
486
502
|
fi
|
487
503
|
gem install rvm --no-rdoc --no-ri -q
|
488
|
-
which rvm-install > /dev/null
|
504
|
+
which rvm-install 2> /dev/null
|
489
505
|
if [ $? -gt 0 ] ; then
|
490
506
|
if [ -e ~/.gem/ruby/1.8/bin/rvm-install ] ; then
|
491
507
|
~/.gem/ruby/1.8/bin/rvm-install
|
@@ -535,7 +551,8 @@ function __rvm_ruby_do {
|
|
535
551
|
}
|
536
552
|
|
537
553
|
function __rvm_do {
|
538
|
-
|
554
|
+
__rvm_state
|
555
|
+
|
539
556
|
rubies=() ; successes=() ; errors=() ; statuses=()
|
540
557
|
# TODO: Extract the common functionality out of the if below
|
541
558
|
if [ ! -z "$rvm_ruby_string" ] ; then
|
@@ -563,6 +580,8 @@ function __rvm_do {
|
|
563
580
|
if [ ! -z "$rvm_yaml_flag" ] ; then __rvm_yaml ; fi
|
564
581
|
if [ ! -z "$rvm_json_flag" ] ; then __rvm_json ; fi
|
565
582
|
|
583
|
+
__rvm_state
|
584
|
+
|
566
585
|
return ${#errors[*]}
|
567
586
|
}
|
568
587
|
|
@@ -641,34 +660,6 @@ RubyCode
|
|
641
660
|
__rvm_do
|
642
661
|
}
|
643
662
|
|
644
|
-
function __rvm_ruby_string {
|
645
|
-
if [ "$rvm_ruby_interpreter" = "system" ] ; then
|
646
|
-
rvm_ruby_string="system"
|
647
|
-
elif [ ! -z "$rvm_ruby_string" ] ; then
|
648
|
-
rvm_ruby_string=`echo "$rvm_ruby_string" | sed 's/ruby-enterprise/ree/g'` # dash-antics :)
|
649
|
-
rvm_ruby_interpreter=`echo $rvm_ruby_string | tr '-' ' ' | awk '{print $1}'`
|
650
|
-
rvm_ruby_version=`echo $rvm_ruby_string | awk -F'-' '{print $2}'`
|
651
|
-
revision=`echo $rvm_ruby_string | awk -F'-' '{print $3}'`
|
652
|
-
|
653
|
-
if [ "$revision" = "head" -o "$revision" = "preview" ] ; then
|
654
|
-
rvm_ruby_revision="$revision"
|
655
|
-
else
|
656
|
-
echo $revision | grep '^p[0-9]\+' > /dev/null
|
657
|
-
if [ $? -eq 0 ] ; then
|
658
|
-
rvm_ruby_patch_level=`echo $revision | awk -F'p' '{print $2}'`
|
659
|
-
else
|
660
|
-
echo $revision | grep '^[0-9]\+' > /dev/null
|
661
|
-
if [ $? -eq 0 ] ; then
|
662
|
-
rvm_ruby_rev="$revision"
|
663
|
-
else
|
664
|
-
unset rvm_ruby_patch_level rvm_ruby_rev
|
665
|
-
fi
|
666
|
-
fi
|
667
|
-
fi
|
668
|
-
fi
|
669
|
-
return 0
|
670
|
-
}
|
671
|
-
|
672
663
|
function __rvm_gemset_dump {
|
673
664
|
file_name=${rvm_gem_set_name:-'default'}
|
674
665
|
|
@@ -811,3 +802,31 @@ function __rvm_iconv_install {
|
|
811
802
|
__rvm_pushpop
|
812
803
|
}
|
813
804
|
|
805
|
+
function __rvm_state {
|
806
|
+
if [ -z "$rvm_state" ] ; then
|
807
|
+
if [ -z "$(which ruby | awk /`basename $rvm_path`/)" ] ; then
|
808
|
+
rvm_state=system
|
809
|
+
else
|
810
|
+
rvm_state="$(dirname `which ruby` | xargs dirname | xargs basename)"
|
811
|
+
fi
|
812
|
+
else
|
813
|
+
rvm_ruby_string="$rvm_state"
|
814
|
+
__rvm_select
|
815
|
+
__rvm_use
|
816
|
+
unset rvm_state
|
817
|
+
fi
|
818
|
+
}
|
819
|
+
|
820
|
+
function __rvm_inspect {
|
821
|
+
for binary in $rvm_ruby_args ; do
|
822
|
+
actual_file=`which $binary`
|
823
|
+
__rvm_log "info" "$actual_file:"
|
824
|
+
if [ ! -z "$rvm_shebang_flag" ] ; then cat $actual_file | head -n 1 ; fi
|
825
|
+
if [ ! -z "$rvm_env_flag" ] ; then cat $actual_file | awk '/ENV/' ; fi
|
826
|
+
if [ ! -z "$rvm_path_flag" ] ; then cat $actual_file | awk '/PATH/' ; fi
|
827
|
+
if [ ! -z "$rvm_head_flag" ] ; then cat $actual_file | head -n 5 ; fi
|
828
|
+
if [ ! -z "$rvm_tail_flag" ] ; then cat $actual_file | tail -n 5 ; fi
|
829
|
+
if [ ! -z "$rvm_all_flag" ] ; then cat $actual_file ; fi
|
830
|
+
done
|
831
|
+
}
|
832
|
+
|