rvm 0.1.24 → 0.1.26
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/README +1 -0
- data/binscripts/rvm-prompt +14 -7
- data/binscripts/rvm-update-head +11 -0
- data/binscripts/rvm-update-latest +21 -0
- data/config/db +4 -3
- data/config/md5 +5 -0
- data/examples/rvmrc +1 -1
- data/install +114 -27
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +4 -3
- data/scripts/cd +2 -2
- data/scripts/cli +25 -57
- data/scripts/gemsets +11 -11
- data/scripts/initialize +2 -1
- data/scripts/install +114 -27
- data/scripts/manage +51 -32
- data/scripts/notes +0 -8
- data/scripts/package +2 -1
- data/scripts/rvm-install +114 -27
- data/scripts/selector +5 -5
- data/scripts/update +114 -27
- data/scripts/utility +47 -17
- metadata +6 -4
data/scripts/gemsets
CHANGED
@@ -10,7 +10,7 @@ if [[ ! -d "$rvm_ruby_gem_home" ]] && which gem &> /dev/null ; then rvm_ruby_gem
|
|
10
10
|
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
|
11
11
|
|
12
12
|
__rvm_gemset_name() {
|
13
|
-
__rvm_gemset_gemdir | awk -F
|
13
|
+
__rvm_gemset_gemdir | awk -F${rvm_gemset_separator} '{print $2}'
|
14
14
|
}
|
15
15
|
|
16
16
|
__rvm_gemset_dir() {
|
@@ -18,9 +18,9 @@ __rvm_gemset_dir() {
|
|
18
18
|
}
|
19
19
|
|
20
20
|
__rvm_gemset_create() {
|
21
|
-
rvm_ruby_gem_prefix=$(echo $rvm_ruby_gem_home | sed 's
|
21
|
+
rvm_ruby_gem_prefix=$(echo $rvm_ruby_gem_home | sed 's/'${rvm_gemset_separator}'.*$//')
|
22
22
|
for gemset in $(echo $gems_args) ; do
|
23
|
-
gem_home="$rvm_ruby_gem_prefix
|
23
|
+
gem_home="${rvm_ruby_gem_prefix}${rvm_gemset_separator}${gems_args/ /}"
|
24
24
|
mkdir -p $gem_home
|
25
25
|
ln -nfs "$HOME/.gem/cache" "$gem_home/cache"
|
26
26
|
$rvm_scripts_path/log "info" "Gemset '$gemset' created."
|
@@ -34,8 +34,8 @@ __rvm_gemset_list() {
|
|
34
34
|
|
35
35
|
if [[ ! -z "$rvm_gems_path" ]] ; then
|
36
36
|
if [[ ! -z $rvm_ruby_string ]] ; then
|
37
|
-
for gemdir in $rvm_gems_path/${rvm_ruby_string}
|
38
|
-
echo "$gemdir" | awk -F
|
37
|
+
for gemdir in $rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}* ; do
|
38
|
+
echo "$gemdir" | awk -F${rvm_gemset_separator} '{print $2}'
|
39
39
|
done
|
40
40
|
else
|
41
41
|
$rvm_scripts_path/log "error" "\$rvm_ruby_string is not set!"
|
@@ -48,7 +48,7 @@ __rvm_gemset_list() {
|
|
48
48
|
__rvm_gemset_delete() {
|
49
49
|
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
50
50
|
if [[ ! -z "$rvm_gemset_name" ]] ; then
|
51
|
-
gemdir="$rvm_gems_path/$rvm_ruby_string
|
51
|
+
gemdir="$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}$rvm_gemset_name"
|
52
52
|
if [[ -d "$gemdir" ]] && [[ "$gemdir" != '/' ]] && [[ ! -z "$rvm_force_flag" ]] ; then
|
53
53
|
rm -rf "$gemdir"
|
54
54
|
elif [[ -d "$gemdir" ]] ; then
|
@@ -74,7 +74,7 @@ __rvm_gemset_empty() {
|
|
74
74
|
if [[ -d "$gemdir" ]] && [[ "$gemdir" != '/' ]] && [[ ! -z "$rvm_force_flag" ]] ; then
|
75
75
|
cd $gemdir && rm -rf ./bin/* ./doc/* ./gems/* ./specifications/*
|
76
76
|
elif [[ -d "$gemdir" ]] ; then
|
77
|
-
$rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gemset for gemset '
|
77
|
+
$rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gemset for gemset '${rvm_gemset_separator}$rvm_gemset_name' ($gemdir)?"
|
78
78
|
echo -n "(anything other than 'yes' will cancel) > "
|
79
79
|
read response
|
80
80
|
if [[ "yes" = "$response" ]] ; then
|
@@ -119,7 +119,7 @@ __rvm_gemset_export() {
|
|
119
119
|
|
120
120
|
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
121
121
|
export GEM_HOME="$rvm_ruby_gem_home"
|
122
|
-
export GEM_PATH="$rvm_ruby_gem_home/bin:$rvm_gems_path/$rvm_ruby_string
|
122
|
+
export GEM_PATH="$rvm_ruby_gem_home/bin:$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}global/bin"
|
123
123
|
export BUNDLE_PATH="$rvm_ruby_gem_home"
|
124
124
|
fi
|
125
125
|
|
@@ -152,7 +152,7 @@ __rvm_gemset_import() {
|
|
152
152
|
|
153
153
|
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
154
154
|
export GEM_HOME="$rvm_ruby_gem_home"
|
155
|
-
export GEM_PATH="$rvm_ruby_gem_home/bin:$rvm_gems_path/$rvm_ruby_string
|
155
|
+
export GEM_PATH="$rvm_ruby_gem_home/bin:$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}global/bin"
|
156
156
|
export BUNDLE_PATH="$rvm_ruby_gem_home"
|
157
157
|
fi
|
158
158
|
|
@@ -274,9 +274,9 @@ __rvm_gem_install() {
|
|
274
274
|
if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
|
275
275
|
|
276
276
|
if [[ ! -z "$rvm_ruby_gem_home" ]] && [[ "$rvm_ruby_gem_home" != "$rvm_gems_path" ]] ; then
|
277
|
-
command="GEM_HOME='$rvm_ruby_gem_home' GEM_PATH='$rvm_ruby_gem_home/bin:$rvm_gems_path/$rvm_ruby_string
|
277
|
+
command="GEM_HOME='$rvm_ruby_gem_home' GEM_PATH='$rvm_ruby_gem_home/bin:$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}global/bin' BUNDLE_PATH='${rvm_ruby_gem_home}' ${gem_prefix} gem install --ignore-dependencies $gems_args $rvm_gem_options $gem_postfix $vars"
|
278
278
|
else
|
279
|
-
command="$gem_prefix gem install $gems_args $rvm_gem_options -q $gem $gem_postfix $vars"
|
279
|
+
command="$gem_prefix gem install --ignore-dependencies $gems_args $rvm_gem_options -q $gem $gem_postfix $vars"
|
280
280
|
fi
|
281
281
|
__rvm_run "gem.install" "$command" "$gem_name $gem_version is not installed, installing..."
|
282
282
|
result=$?
|
data/scripts/initialize
CHANGED
@@ -23,6 +23,7 @@ rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
|
|
23
23
|
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
24
24
|
rvm_usr_path="${rvm_usr_path:-"$rvm_path/usr"}"
|
25
25
|
rvm_symlink_path="${rvm_symlink_path:-$rvm_prefix/bin}"
|
26
|
+
rvm_gemset_separator="${rvm_gemset_separator:-"@"}"
|
26
27
|
|
27
|
-
export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path
|
28
|
+
export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator
|
28
29
|
|
data/scripts/install
CHANGED
@@ -13,9 +13,9 @@ source scripts/utility
|
|
13
13
|
usage() {
|
14
14
|
echo -e "
|
15
15
|
Usage:
|
16
|
-
${0}
|
16
|
+
${0} [options]
|
17
17
|
|
18
|
-
|
18
|
+
options:
|
19
19
|
--auto : Automatically update shell profile files.
|
20
20
|
--prefix : Installation prefix directory.
|
21
21
|
--help : Display help/usage (this) message
|
@@ -23,6 +23,15 @@ usage() {
|
|
23
23
|
"
|
24
24
|
}
|
25
25
|
|
26
|
+
spinner_counter=0
|
27
|
+
spinner() {
|
28
|
+
array=('/' '-' '\\' '|' '/' '-' '\\' '|')
|
29
|
+
index=$((($spinner_counter % 8)))
|
30
|
+
echo -e -n "\r${array[$index]}"
|
31
|
+
let "spinner_counter=spinner_counter+1"
|
32
|
+
which perl > /dev/null 2>&1 && perl -e 'sleep 0.5'
|
33
|
+
}
|
34
|
+
|
26
35
|
if echo "$*" | grep -q 'trace' ; then echo "$*" ; env | grep '^rvm_' ; set -x ; fi
|
27
36
|
|
28
37
|
while [[ $# -gt 0 ]] ; do
|
@@ -47,18 +56,25 @@ fi
|
|
47
56
|
if [[ -z "$rvm_path" ]] ; then rvm_path="${rvm_prefix}rvm" ; fi
|
48
57
|
|
49
58
|
source scripts/initialize
|
59
|
+
if grep -q 'scripts/rvm' $HOME/.bash* || grep -q 'scripts/rvm' $HOME/.zsh*; then
|
60
|
+
if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then
|
61
|
+
export upgrade_flag=1
|
62
|
+
else
|
63
|
+
export upgrade_flag=0
|
64
|
+
fi
|
65
|
+
else
|
66
|
+
export upgrade_flag=0
|
67
|
+
fi
|
68
|
+
|
50
69
|
__rvm_initialize
|
51
70
|
|
52
71
|
#
|
53
|
-
# Setup
|
72
|
+
# Setup & Configuration
|
54
73
|
#
|
55
74
|
item="$(tput setaf 2)* $(tput sgr0)"
|
56
75
|
question="\n$(tput setaf 2)<?>$(tput sgr0)"
|
57
76
|
cwd=$(pwd)
|
58
77
|
source_path="${source_path:-$cwd}"
|
59
|
-
|
60
|
-
# State what is required to use rvm
|
61
|
-
echo -e "\nInstalling rvm to $rvm_path/ ..."
|
62
78
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
63
79
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
64
80
|
rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
@@ -71,9 +87,25 @@ rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
|
|
71
87
|
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
72
88
|
rvm_symlink_path="${rvm_symlink_path:-$rvm_prefix/bin}"
|
73
89
|
|
90
|
+
export rvm_gemset_separator="@" # TODO: Remove this after a while.
|
91
|
+
|
92
|
+
echo -e "\n$(tput setaf 2)RVM$(tput sgr0) - shell scripts which allow management of multiple ruby interpreters and environments."
|
93
|
+
echo -e "\n $(tput setaf 2)RTFM: $(tput sgr0) http://rvm.beginrescueend.com/"
|
94
|
+
echo -e "\n $(tput setaf 2)HELP: $(tput sgr0) http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)"
|
95
|
+
|
96
|
+
echo -e "\n********************************************************************************"
|
97
|
+
if [[ "$upgrade_flag" -eq 1 ]] ;then
|
98
|
+
echo -e -n " Upgrading the RVM installation in $rvm_path/"
|
99
|
+
else
|
100
|
+
echo -e -n " Installing rvm to $rvm_path/"
|
101
|
+
fi
|
102
|
+
|
103
|
+
spinner
|
104
|
+
|
74
105
|
mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gems_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path $rvm_symlink_path $HOME/.gem/cache
|
75
106
|
|
76
107
|
for file in README LICENCE ; do
|
108
|
+
spinner
|
77
109
|
cp -f "$source_path/$file" "$rvm_path/"
|
78
110
|
done
|
79
111
|
|
@@ -81,19 +113,22 @@ done
|
|
81
113
|
# Scripts
|
82
114
|
#
|
83
115
|
for dir_name in config scripts examples lib hooks ; do
|
116
|
+
spinner
|
84
117
|
mkdir -p "$rvm_path/$dir_name"
|
85
118
|
if [[ -d "$source_path/$dir_name" ]] ; then
|
86
119
|
cp -Rf "$source_path/$dir_name" "$rvm_path"
|
87
120
|
fi
|
88
121
|
done ; unset dir_name
|
89
122
|
|
123
|
+
spinner
|
90
124
|
if [[ ! -s "$rvm_config_path/user" ]] ; then
|
91
125
|
mkdir -p "$rvm_config_path/"
|
92
126
|
echo '# Users settings file, overrides db file settings and persists across installs.' >> $rvm_config_path/user
|
93
127
|
fi
|
94
128
|
|
95
|
-
scripts="monitor match log install color db fetch log set package"
|
96
|
-
for script_name in $
|
129
|
+
scripts=("monitor" "match" "log" "install" "color" "db" "fetch" "log" "set" "package")
|
130
|
+
for script_name in $scripts ; do
|
131
|
+
spinner
|
97
132
|
chmod +x $rvm_scripts_path/$script_name
|
98
133
|
done
|
99
134
|
|
@@ -102,14 +137,17 @@ done
|
|
102
137
|
#
|
103
138
|
# Cleanse and purge...
|
104
139
|
for file in rvm-prompt rvm rvmsudo ; do
|
140
|
+
spinner && perl -e 'sleep 0.2'
|
105
141
|
rm -f "$rvm_bin_path/$file"
|
106
142
|
cp -f "$source_path/binscripts/$file" $rvm_bin_path/
|
107
143
|
done
|
144
|
+
spinner
|
108
145
|
chmod +x $rvm_bin_path/*
|
109
146
|
|
110
147
|
#
|
111
148
|
# RC Files
|
112
149
|
#
|
150
|
+
spinner
|
113
151
|
if [[ ! -z "$rvm_auto_flag" ]] ; then
|
114
152
|
echo -e "Checking rc files... ($rvm_rc_files)"
|
115
153
|
if [[ "$rvm_loaded_flag" != "1" ]] ; then
|
@@ -134,11 +172,13 @@ fi
|
|
134
172
|
#
|
135
173
|
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
136
174
|
mkdir -p "$rvm_rubies_path/"
|
175
|
+
spinner
|
137
176
|
for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* $rvm_path/rbx-* $rvm_path/maglev-* $rvm_path/ree-* ; do
|
138
177
|
if [[ -d "$ruby" ]] ; then
|
139
178
|
mv "$ruby" "$rvm_rubies_path/"
|
140
179
|
new_path="$rvm_rubies_path/$(basename $ruby)"
|
141
180
|
for file in gem rake ; do
|
181
|
+
spinner
|
142
182
|
if [[ -s "$new_path/bin/$file" ]] ; then
|
143
183
|
sed -i.orig -e '1,1s=.*=#!'"$new_path/bin/ruby=" "$new_path/bin/$file"
|
144
184
|
rm -f "$new_path/bin/$file.orig"
|
@@ -148,7 +188,46 @@ for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* $rvm_path/rbx-*
|
|
148
188
|
fi
|
149
189
|
done
|
150
190
|
#
|
151
|
-
# End of migration.
|
191
|
+
# End of rubies migration.
|
192
|
+
#
|
193
|
+
|
194
|
+
#
|
195
|
+
# Migrate old gemset directories to new gemset pattern.
|
196
|
+
#
|
197
|
+
spinner
|
198
|
+
echo -e -n "\r*" # Stop spinner.
|
199
|
+
|
200
|
+
for gemset in $rvm_path/gems/*\%* ; do
|
201
|
+
new_path=${gemset/\%/${rvm_gemset_separator}}
|
202
|
+
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
203
|
+
echo -e " Renaming $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
204
|
+
mv $gemset $new_path
|
205
|
+
fi
|
206
|
+
done
|
207
|
+
|
208
|
+
for gemset in $rvm_path/gems/*\+* ; do
|
209
|
+
new_path=${gemset/\+/${rvm_gemset_separator}}
|
210
|
+
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
211
|
+
echo -e " Renaming $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
212
|
+
mv $gemset $new_path
|
213
|
+
fi
|
214
|
+
done
|
215
|
+
for gemset in $rvm_path/gems/*\@ ; do
|
216
|
+
new_path=$(echo $gemset | sed -e 's#\@$##')
|
217
|
+
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
218
|
+
echo -e " Fixing: $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
219
|
+
mv $gemset $new_path
|
220
|
+
fi
|
221
|
+
done
|
222
|
+
|
223
|
+
# Upgrade any default file.
|
224
|
+
if [[ -s $rvm_config_path/default ]] && grep -q '\%' $rvm_config_path/default ; then
|
225
|
+
sed -e "s#\%#${rvm_gemset_separator}#g" $rvm_config_path/default > $rvm_config_path/default.new
|
226
|
+
mv $rvm_config_path/default.new $rvm_config_path/default
|
227
|
+
fi
|
228
|
+
|
229
|
+
#
|
230
|
+
# End of gemset migration.
|
152
231
|
#
|
153
232
|
|
154
233
|
if [[ "root" = "$(whoami)" ]] ; then
|
@@ -160,11 +239,11 @@ if [[ "root" = "$(whoami)" ]] ; then
|
|
160
239
|
chmod +x $rvm_symlink_path/rvmsudo
|
161
240
|
fi
|
162
241
|
|
163
|
-
|
164
|
-
|
242
|
+
if [[ "$upgrade_flag" -eq 0 ]] ; then
|
243
|
+
echo -e "\n********************************************************************************"
|
244
|
+
./scripts/notes
|
245
|
+
fi
|
165
246
|
|
166
|
-
echo -e "$(tput setaf 2)RTFM: $(tput sgr0) http://rvm.beginrescueend.com/"
|
167
|
-
echo -e "\n$(tput setaf 2)HELP: $(tput sgr0) http://webchat.freenode.net/?channels=rvm "
|
168
247
|
echo -e "\n********************************************************************************"
|
169
248
|
name="$(awk -F= '/^[[:space:]]*name/{print $2}' ~/.gitconfig 2>/dev/null)"
|
170
249
|
echo -e "\n${name:-"$(whoami)"},\n"
|
@@ -177,20 +256,28 @@ echo -e "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
|
|
177
256
|
echo -e "\n ~ Wayne"
|
178
257
|
echo -e "\n********************************************************************************"
|
179
258
|
|
180
|
-
if [[ "
|
181
|
-
echo -e "\n$(tput setaf
|
182
|
-
echo -e "
|
183
|
-
echo -e "
|
184
|
-
echo -e "
|
185
|
-
echo -e "
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
fi
|
191
|
-
|
192
|
-
if [
|
193
|
-
|
259
|
+
if [[ "$upgrade_flag" -eq 1 ]] ; then
|
260
|
+
echo -e "\n$(tput setaf 6)**** NOTICE *************************************************************************************"
|
261
|
+
echo -e "* Gemset separator has changed, it is now @ and will remain unless any rubies error using it. *"
|
262
|
+
echo -e "* If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' *"
|
263
|
+
echo -e "*************************************************************************************************$(tput sgr0)\n"
|
264
|
+
echo -e "Upgrade of RVM in $rvm_path/ is complete.\n"
|
265
|
+
else
|
266
|
+
if [[ "root" != "$(whoami)" ]] ; then
|
267
|
+
echo -e "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
|
268
|
+
echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bashrc and then .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
|
269
|
+
echo -e "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
|
270
|
+
echo -e "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
|
271
|
+
echo -e "\n This means that if you see '[ -z "$PS1" ] && return' then you must remove it and split your .bashrc"
|
272
|
+
echo -e "\n Put everything *except the return code line(s)* into your .bash_profile, and everything above that code in your .bashrc."
|
273
|
+
echo -e "\n Be *sure* to REMOVE the '&& return' statement line."
|
274
|
+
echo -e "\n If you wish to DRY up your config you can 'source ~/.bashrc' at the top of your .bash_profile."
|
275
|
+
echo -e "\n4) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
|
276
|
+
fi
|
277
|
+
if [[ -s $HOME/.bashrc ]] && grep '&& return' $HOME/.bashrc ; then
|
278
|
+
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"
|
279
|
+
fi
|
280
|
+
echo -e "Installation of RVM to $rvm_path/ is complete.\n\n"
|
194
281
|
fi
|
195
282
|
|
196
283
|
exit 0
|
data/scripts/manage
CHANGED
@@ -152,8 +152,8 @@ __rvm_install_ruby() {
|
|
152
152
|
mkdir -p "$rvm_ruby_home/bin"
|
153
153
|
fi
|
154
154
|
|
155
|
-
binaries=
|
156
|
-
for binary_name in $
|
155
|
+
binaries=(erb gem irb rake rdoc ri ruby testrb)
|
156
|
+
for binary_name in ${binaries[@]}; do
|
157
157
|
# if [[ $binary_name != "gem" ]] ; then prefix="-S" ; fi
|
158
158
|
ruby_wrapper=$(cat <<RubyWrapper
|
159
159
|
#!/usr/bin/env bash
|
@@ -226,7 +226,7 @@ RubyWrapper
|
|
226
226
|
|
227
227
|
__rvm_rubygems_setup
|
228
228
|
|
229
|
-
for rvm_gem_name in rake ; do
|
229
|
+
for rvm_gem_name in rdoc rake ; do
|
230
230
|
__rvm_run "gems" "$rvm_ruby_home/bin/gem install $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name"
|
231
231
|
done
|
232
232
|
__rvm_inject_ruby_shebang "$rvm_ruby_gem_home/bin/rake"
|
@@ -486,7 +486,6 @@ RubyWrapper
|
|
486
486
|
$rvm_scripts_path/log "info" "Generating smalltalk FFI."
|
487
487
|
$rvm_bin_path/rvm 1.8.7 rake stwrappers >/dev/null 2>&1
|
488
488
|
|
489
|
-
|
490
489
|
# TODO: Figure out if anything needs to be done with rubygems.
|
491
490
|
#__rvm_rubygems_setup
|
492
491
|
__rvm_irbrc
|
@@ -554,7 +553,7 @@ RubyWrapper
|
|
554
553
|
cp -r $rvm_ruby_src_path/Merlin/External.LCA_RESTRICTED/Languages/Ruby/redist-libs/ruby/* $rvm_ruby_home/lib/ruby
|
555
554
|
cp -r $rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Libs/* $rvm_ruby_home/lib/IronRuby
|
556
555
|
|
557
|
-
binaries="gem irb rake
|
556
|
+
binaries="gem irb rdoc rake ri ruby"
|
558
557
|
for binary_name in $(echo $binaries); do
|
559
558
|
binary_path=""
|
560
559
|
if [[ "ruby" != "$binary_name" ]] ; then
|
@@ -797,7 +796,7 @@ __rvm_uninstall_ruby() {
|
|
797
796
|
rm -f $rvm_bin_path/$rvm_ruby_string
|
798
797
|
fi
|
799
798
|
done ; unset dir
|
800
|
-
|
799
|
+
__rvm_remove_gemsets
|
801
800
|
else
|
802
801
|
$rvm_scripts_path/log "fail" "Cannot uninstall unknown package '$rvm_ruby_string'"
|
803
802
|
fi ; unset rvm_uninstall_flag
|
@@ -818,11 +817,20 @@ __rvm_remove_ruby() {
|
|
818
817
|
rm -f $rvm_bin_path/$rvm_ruby_string
|
819
818
|
fi
|
820
819
|
done ; unset dir
|
820
|
+
__rvm_remove_gemsets
|
821
821
|
else
|
822
822
|
$rvm_scripts_path/log "fail" "Cannot uninstall unknown package '$rvm_ruby_string'"
|
823
823
|
fi ; unset rvm_remove_flag
|
824
824
|
}
|
825
825
|
|
826
|
+
__rvm_remove_gemsets() {
|
827
|
+
if [[ ! -z "$rvm_gems_flag" ]] ; then
|
828
|
+
if [[ -d "$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}" ]] ; then
|
829
|
+
rm -rf $rvm_gems_path/${rvm_ruby_string}*
|
830
|
+
fi
|
831
|
+
fi
|
832
|
+
}
|
833
|
+
|
826
834
|
__rvm_post_install() {
|
827
835
|
binaries="${binaries:-"gem irb erb ri rdoc testrb rake"}"
|
828
836
|
for binary in $(echo $binaries) ; do
|
@@ -840,25 +848,26 @@ __rvm_post_install() {
|
|
840
848
|
|
841
849
|
$rvm_scripts_path/log "info" "Installing gems for $rvm_ruby_string."
|
842
850
|
|
843
|
-
for rvm_gem_name in rake ; do
|
851
|
+
for rvm_gem_name in rdoc rake ; do
|
844
852
|
home="$GEM_HOME" ; path="$GEM_PATH" # Save
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
853
|
+
for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
|
854
|
+
GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir"
|
855
|
+
export GEM_HOME GEM_PATH BUNDLE_PATH
|
856
|
+
__rvm_run "gems.install" "$rvm_ruby_home/bin/gem install --no-rdoc --no-ri $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name"
|
857
|
+
|
858
|
+
if [[ -x $rvm_ruby_gem_home/bin/$rvm_gem_name ]] ; then
|
859
|
+
if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] && [[ ! -x $rvm_ruby_home/bin/$rvm_gem_name ]] ; then
|
860
|
+
ln -nfs $rvm_ruby_gem_home/bin/$rvm_gem_name $rvm_ruby_home/bin/$rvm_gem_name
|
861
|
+
fi
|
862
|
+
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$rvm_gem_name"
|
863
|
+
__rvm_inject_gem_env "$rvm_ruby_home/bin/$rvm_gem_name"
|
864
|
+
fi ; unset rvm_gem_name
|
865
|
+
done ; unset home path dir
|
866
|
+
GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home"
|
867
|
+
export GEM_HOME GEM_PATH BUNDLE_PATH
|
850
868
|
done ; unset rvm_gem_name
|
851
|
-
|
852
869
|
$rvm_scripts_path/log "info" "Installation of gems for $rvm_ruby_string is complete."
|
853
870
|
|
854
|
-
binary=rake
|
855
|
-
if [[ -x $rvm_ruby_gem_home/bin/$binary ]] ; then
|
856
|
-
if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] ; then
|
857
|
-
cp $rvm_ruby_gem_home/bin/$binary $rvm_ruby_home/bin/$binary
|
858
|
-
fi
|
859
|
-
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$binary"
|
860
|
-
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
|
861
|
-
fi ; unset binary
|
862
871
|
__rvm_irbrc
|
863
872
|
}
|
864
873
|
|
@@ -877,18 +886,22 @@ __rvm_rubygems_setup() {
|
|
877
886
|
# 1.9.X has it's own built-in gem command
|
878
887
|
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/gem"
|
879
888
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
889
|
+
|
880
890
|
cp $rvm_ruby_src_path/bin/gem $rvm_ruby_home/bin/gem
|
891
|
+
|
881
892
|
home="$GEM_HOME" ; path="$GEM_PATH" # Save
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
893
|
+
for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
|
894
|
+
export GEM_HOME="$dir" ; export GEM_PATH="$dir" ; export BUNDLE_PATH="$dir"
|
895
|
+
__rvm_run "rubygems.update" "$rvm_ruby_home/bin/gem update --system" "Updating rubygems for $dir"
|
896
|
+
done ; unset home path dir
|
897
|
+
GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home"
|
898
|
+
export GEM_HOME GEM_PATH BUNDLE_PATH
|
887
899
|
|
888
900
|
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
|
889
901
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
890
902
|
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/1.$rvm_major_version"
|
891
903
|
elif [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^rbx|jruby/')" ]] ; then
|
904
|
+
# Hands off rubygems for rbx & jruby
|
892
905
|
if [[ ! -z "$rvm_debug_flag" ]] ; then $rvm_scripts_path/log "debug" "Skipping rubygems update for $rvm_ruby_version" ; fi
|
893
906
|
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/jruby"
|
894
907
|
else
|
@@ -898,7 +911,8 @@ __rvm_rubygems_setup() {
|
|
898
911
|
rvm_gem_package_name="rubygems-$rvm_rubygems_version"
|
899
912
|
rvm_gem_url="$rvm_rubygems_url/$rvm_gem_package_name.tgz"
|
900
913
|
|
901
|
-
# Sanity check...
|
914
|
+
# Sanity check... If setup.rb is missing from the rubygems source path,
|
915
|
+
# something went wrong. Cleanup, aisle 3!
|
902
916
|
if [[ ! -f "$rvm_src_path/$rvm_gem_package_name/setup.rb" ]]; then
|
903
917
|
rm -rf "$rvm_src_path/$rvm_gem_package_name"
|
904
918
|
fi
|
@@ -934,12 +948,17 @@ __rvm_rubygems_setup() {
|
|
934
948
|
|
935
949
|
# Add ruby's gem path to ruby's lib direcotry.
|
936
950
|
mkdir -p $(dirname $ruby_lib_gem_path)
|
937
|
-
|
938
|
-
|
939
|
-
|
951
|
+
|
952
|
+
if [[ -d "$ruby_lib_gem_path" ]] ; then rm -rf "$ruby_lib_gem_path" ; fi
|
953
|
+
|
940
954
|
ln -nfs "$rvm_ruby_gem_home" "$ruby_lib_gem_path"
|
955
|
+
|
941
956
|
unset ruby_lib_gem_path
|
942
957
|
|
958
|
+
if [[ -s "$rvm_ruby_src_path/bin/rdoc" ]] ; then
|
959
|
+
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/rdoc"
|
960
|
+
fi
|
961
|
+
|
943
962
|
if [[ -s "$rvm_ruby_src_path/bin/rake" ]] ; then
|
944
963
|
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/rake"
|
945
964
|
fi
|
@@ -986,8 +1005,8 @@ __rvm_manage_rubies() {
|
|
986
1005
|
|
987
1006
|
unset rvm_gemset_name rvm_ruby_selected_flag
|
988
1007
|
|
989
|
-
rvm_ruby_gem_home=$(echo $rvm_ruby_gem_home | awk -F
|
990
|
-
rvm_ruby_string=$(echo $rvm_ruby_string | awk -F
|
1008
|
+
rvm_ruby_gem_home=$(echo $rvm_ruby_gem_home | awk -F${rvm_gemset_separator} '{print $1}')
|
1009
|
+
rvm_ruby_string=$(echo $rvm_ruby_string | awk -F${rvm_gemset_separator} '{print $1}')
|
991
1010
|
|
992
1011
|
# TODO: Extract the common functionality out of the if below
|
993
1012
|
#if [[ ! -z "$rvm_ruby_string" ]] ; then
|