rvm 1.1.4 → 1.1.5
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/lib/VERSION.yml +1 -1
- data/lib/rvm/environment.rb +1 -1
- data/lib/rvm/shell/shell_wrapper.sh +1 -1
- data/rvm.gemspec +3 -110
- metadata +4 -111
- data/binscripts/rvm +0 -76
- data/binscripts/rvm-auto-ruby +0 -24
- data/binscripts/rvm-prompt +0 -208
- data/binscripts/rvm-shell +0 -35
- data/binscripts/rvm-update-head +0 -58
- data/binscripts/rvm-update-latest +0 -27
- data/binscripts/rvmsudo +0 -20
- data/config/db +0 -71
- data/config/known +0 -54
- data/config/md5 +0 -139
- data/contrib/gemset_snapshot +0 -25
- data/contrib/install-system-wide +0 -221
- data/contrib/r +0 -44
- data/examples/rvmrc +0 -49
- data/gemsets/default.gems +0 -1
- data/gemsets/global.gems +0 -1
- data/help/alias +0 -46
- data/help/benchmark +0 -17
- data/help/cleanup +0 -23
- data/help/debug +0 -8
- data/help/disk-usage +0 -15
- data/help/docs +0 -22
- data/help/exec +0 -33
- data/help/fetch +0 -5
- data/help/gem +0 -0
- data/help/gemdir +0 -0
- data/help/gemset +0 -14
- data/help/implode +0 -0
- data/help/info +0 -62
- data/help/install +0 -0
- data/help/list +0 -0
- data/help/migrate +0 -15
- data/help/monitor +0 -0
- data/help/notes +0 -0
- data/help/package +0 -0
- data/help/rake +0 -14
- data/help/remove +0 -0
- data/help/repair +0 -23
- data/help/reset +0 -0
- data/help/ruby +0 -84
- data/help/rubygems +0 -11
- data/help/rvmrc +0 -34
- data/help/snapshot +0 -15
- data/help/specs +0 -0
- data/help/srcdir +0 -0
- data/help/tests +0 -0
- data/help/tools +0 -22
- data/help/uninstall +0 -0
- data/help/update +0 -0
- data/help/upgrade +0 -18
- data/help/use +0 -0
- data/help/wrapper +0 -41
- data/install +0 -667
- data/man/man1/rvm.1 +0 -380
- data/man/man1/rvm.1.gz +0 -0
- data/scripts/alias +0 -226
- data/scripts/aliases +0 -4
- data/scripts/array +0 -32
- data/scripts/base +0 -57
- data/scripts/cd +0 -94
- data/scripts/cleanup +0 -58
- data/scripts/cli +0 -798
- data/scripts/color +0 -49
- data/scripts/completion +0 -151
- data/scripts/db +0 -87
- data/scripts/default +0 -64
- data/scripts/disk-usage +0 -60
- data/scripts/docs +0 -115
- data/scripts/env +0 -46
- data/scripts/environment-convertor +0 -74
- data/scripts/fetch +0 -231
- data/scripts/gemsets +0 -1045
- data/scripts/get +0 -126
- data/scripts/hash +0 -37
- data/scripts/help +0 -46
- data/scripts/hook +0 -23
- data/scripts/info +0 -213
- data/scripts/initialize +0 -29
- data/scripts/install +0 -667
- data/scripts/irbrc +0 -13
- data/scripts/irbrc.rb +0 -64
- data/scripts/list +0 -315
- data/scripts/log +0 -38
- data/scripts/maglev +0 -193
- data/scripts/manage +0 -2157
- data/scripts/match +0 -6
- data/scripts/md5 +0 -22
- data/scripts/migrate +0 -175
- data/scripts/monitor +0 -105
- data/scripts/notes +0 -140
- data/scripts/override_gem +0 -14
- data/scripts/package +0 -302
- data/scripts/patches +0 -64
- data/scripts/patchsets +0 -87
- data/scripts/repair +0 -199
- data/scripts/rubygems +0 -157
- data/scripts/rvm +0 -128
- data/scripts/rvm-install +0 -667
- data/scripts/selector +0 -904
- data/scripts/set +0 -301
- data/scripts/snapshot +0 -262
- data/scripts/tools +0 -58
- data/scripts/update +0 -667
- data/scripts/upgrade +0 -144
- data/scripts/utility +0 -1499
- data/scripts/version +0 -17
- data/scripts/wrapper +0 -210
data/scripts/manage
DELETED
@@ -1,2157 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
original_ruby_version=${rvm_ruby_version:-""}
|
4
|
-
original_ruby_string=${rvm_ruby_string:-""}
|
5
|
-
|
6
|
-
source "$rvm_path/scripts/base"
|
7
|
-
source "$rvm_path/scripts/patches"
|
8
|
-
|
9
|
-
unset RUBYLIB RUBYOPT # Sanity check.
|
10
|
-
|
11
|
-
__rvm_check_for_clang()
|
12
|
-
{
|
13
|
-
if [[ -n "${rvm_clang_flag:-""}" ]] && ! command -v clang >/dev/null ; then
|
14
|
-
"$rvm_path/scripts/log" "fail" "\nYou passed the --clang option and clang is not in your path. \nPlease try again or do not use --clang.\n"
|
15
|
-
return 1
|
16
|
-
fi
|
17
|
-
}
|
18
|
-
|
19
|
-
# Checks for bison, returns zero iff it is found
|
20
|
-
__rvm_check_for_bison()
|
21
|
-
{
|
22
|
-
if [[ ${rvm_head_flag:-0} -gt 0 ]]; then
|
23
|
-
command -v bison > /dev/null
|
24
|
-
result=$?
|
25
|
-
if [[ $result -gt 0 ]] ; then
|
26
|
-
"$rvm_path/scripts/log" "fail" \
|
27
|
-
"\nbison is not available in your path. \nPlease ensure bison is installed before compiling from head.\n"
|
28
|
-
fi
|
29
|
-
fi
|
30
|
-
|
31
|
-
return ${result:-0}
|
32
|
-
}
|
33
|
-
|
34
|
-
# Emits a number of patches to STDOUT, each on a new name
|
35
|
-
# Expands patchsets etc.
|
36
|
-
__rvm_current_patch_names()
|
37
|
-
{
|
38
|
-
# TODO: Lookup default patches on rvm_ruby_string heirarchy.
|
39
|
-
local separator patches level name
|
40
|
-
|
41
|
-
separator="%"
|
42
|
-
patches="${rvm_patch_names:-""} default"
|
43
|
-
|
44
|
-
for patch_name in $(echo ${patches//,/ }); do
|
45
|
-
|
46
|
-
level=1
|
47
|
-
name="$patch_name"
|
48
|
-
|
49
|
-
if echo "$name" | grep -q "$separator"; then
|
50
|
-
level="${name/*${separator}/}"
|
51
|
-
name="${name//${separator}*/}"
|
52
|
-
fi
|
53
|
-
|
54
|
-
local expanded_name="$(__rvm_expand_patch_name "$name")"
|
55
|
-
|
56
|
-
echo "${expanded_name}${separator}${level}"
|
57
|
-
|
58
|
-
done
|
59
|
-
|
60
|
-
return 0
|
61
|
-
}
|
62
|
-
|
63
|
-
__rvm_apply_patches()
|
64
|
-
{
|
65
|
-
local patches patch_name patch_level_separator patch_fuzziness patch_level source_directory full_patch_path
|
66
|
-
|
67
|
-
result=0
|
68
|
-
patch_level_separator="%"
|
69
|
-
patch_fuzziness="25"
|
70
|
-
patch_level=1
|
71
|
-
|
72
|
-
source_directory="${1:-""}"
|
73
|
-
|
74
|
-
if [[ -z "$source_directory" ]] ; then
|
75
|
-
source_directory="${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
76
|
-
fi
|
77
|
-
|
78
|
-
(
|
79
|
-
builtin cd "$source_directory"
|
80
|
-
|
81
|
-
patches=($(__rvm_current_patch_names))
|
82
|
-
|
83
|
-
for patch_name in "${patches[@]}" ; do
|
84
|
-
|
85
|
-
# If set, extract the patch level from the patch name.
|
86
|
-
patch_level=1
|
87
|
-
|
88
|
-
if echo "$patch_name" | \grep -q "$patch_level_separator"; then
|
89
|
-
patch_level=${patch_name//*${patch_level_separator}/}
|
90
|
-
patch_name="${patch_name//${patch_level_separator}*/}"
|
91
|
-
fi
|
92
|
-
|
93
|
-
full_patch_path="$(__rvm_lookup_full_patch_path "$patch_name")"
|
94
|
-
|
95
|
-
# Expand paths, and for those we found we then apply the patches.
|
96
|
-
if [[ -n "${full_patch_path:-""}" ]]; then
|
97
|
-
|
98
|
-
if [[ -f "$full_patch_path" ]] ; then
|
99
|
-
|
100
|
-
__rvm_run "patch.apply.${patch_name/*\/}" \
|
101
|
-
"patch -F$patch_fuzziness -p$patch_level -f <\"$full_patch_path\"" \
|
102
|
-
"Applying patch '$patch_name' (located at $full_patch_path)"
|
103
|
-
|
104
|
-
[[ $? -gt 0 ]] && result=1 # Detect failed patches
|
105
|
-
fi
|
106
|
-
|
107
|
-
else
|
108
|
-
"$rvm_path/scripts/log" "warn" \
|
109
|
-
"Patch '$patch_name' not found."
|
110
|
-
result=1
|
111
|
-
fi
|
112
|
-
done
|
113
|
-
)
|
114
|
-
|
115
|
-
return ${result:-0}
|
116
|
-
}
|
117
|
-
|
118
|
-
__rvm_install_source()
|
119
|
-
{
|
120
|
-
local directory configure_parameters db_configure_flags
|
121
|
-
|
122
|
-
[[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] && __rvm_select
|
123
|
-
|
124
|
-
case ${rvm_ruby_string:-""} in
|
125
|
-
ruby-head|1.9.*-head) __rvm_ensure_has_18_compat_ruby || return 1 ;;
|
126
|
-
esac
|
127
|
-
|
128
|
-
"$rvm_path/scripts/log" "info" \
|
129
|
-
"Installing Ruby from source to: $rvm_ruby_home, this may take a while depending on your cpu(s)...\n"
|
130
|
-
|
131
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}"
|
132
|
-
|
133
|
-
if [[ ${rvm_force_flag:-0} -eq 1 ]] ; then
|
134
|
-
|
135
|
-
for directory in "$rvm_ruby_home" "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" ; do
|
136
|
-
|
137
|
-
if [[ -d "$directory" ]] ; then
|
138
|
-
rm -rf "$directory"
|
139
|
-
fi
|
140
|
-
|
141
|
-
done
|
142
|
-
fi
|
143
|
-
|
144
|
-
result=0
|
145
|
-
|
146
|
-
__rvm_fetch_ruby
|
147
|
-
result=$?
|
148
|
-
|
149
|
-
if [[ "$result" -gt 0 ]] ; then
|
150
|
-
"$rvm_path/scripts/log" "error" \
|
151
|
-
"There has been an error fetching the ruby interpreter. Halting the installation."
|
152
|
-
return $result
|
153
|
-
fi
|
154
|
-
|
155
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
156
|
-
|
157
|
-
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
158
|
-
"$rvm_path/scripts/log" "error" \
|
159
|
-
"Source directory is missing. Did the download or extraction fail? Halting the installation."
|
160
|
-
return $result
|
161
|
-
fi
|
162
|
-
|
163
|
-
if [[ -d "${rvm_path}/usr" ]] ; then
|
164
|
-
export PATH="${rvm_path}/usr/bin:${PATH}"
|
165
|
-
|
166
|
-
builtin hash -r
|
167
|
-
fi
|
168
|
-
|
169
|
-
__rvm_apply_patches
|
170
|
-
result="$?"
|
171
|
-
|
172
|
-
if [[ $result -gt 0 ]]; then
|
173
|
-
"$rvm_path/scripts/log" "fail" \
|
174
|
-
"There has been an error applying the specified patches. Halting the installation."
|
175
|
-
return $result
|
176
|
-
fi
|
177
|
-
|
178
|
-
if [[ -z "${rvm_ruby_configure:-""}" \
|
179
|
-
&& ! -s "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/configure" ]] ; then
|
180
|
-
|
181
|
-
if command -v autoconf > /dev/null ; then
|
182
|
-
|
183
|
-
__rvm_run "autoconf" "autoconf" "Running autoconf"
|
184
|
-
|
185
|
-
else
|
186
|
-
"$rvm_path/scripts/log" "fail" \
|
187
|
-
"rvm requires autoconf to install the selected ruby interpreter however autoconf was not found in the PATH."
|
188
|
-
return 1
|
189
|
-
fi
|
190
|
-
fi
|
191
|
-
|
192
|
-
if [[ -n "${rvm_ruby_configure:-""}" ]] ; then
|
193
|
-
|
194
|
-
__rvm_run "configure" "$rvm_ruby_configure"
|
195
|
-
result=$?
|
196
|
-
|
197
|
-
if [[ $result -gt 0 ]] ; then
|
198
|
-
"$rvm_path/scripts/log" "error" \
|
199
|
-
"There has been an error while configuring. Halting the installation."
|
200
|
-
return $result
|
201
|
-
fi
|
202
|
-
|
203
|
-
elif [[ -s ./configure ]] ; then
|
204
|
-
|
205
|
-
# REE stores configure flags differently for head vs. the distributed release.
|
206
|
-
if [[ "ree" != "${rvm_ruby_interpreter:-""}" ]]; then
|
207
|
-
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
208
|
-
fi
|
209
|
-
|
210
|
-
# On 1.9.2, we manually set the --with-baseruby option
|
211
|
-
# to point to an expanded path.
|
212
|
-
if [[ "${rvm_ruby_string:-""}" = "ruby-1.9.2-head" ]] ; then
|
213
|
-
|
214
|
-
local compatible_baseruby="$rvm_path/wrappers/$(__rvm_18_compat_ruby)/ruby"
|
215
|
-
|
216
|
-
if [[ -x "$compatible_baseruby" ]] ; then
|
217
|
-
configure_parameters="--with-baseruby=$compatible_baseruby"
|
218
|
-
fi
|
219
|
-
fi
|
220
|
-
|
221
|
-
local configure_command="./configure --prefix=$rvm_ruby_home ${db_configure_flags:-""} ${rvm_configure_flags:-""} ${configure_parameters:-""}"
|
222
|
-
|
223
|
-
__rvm_run "configure" "$configure_command" "$rvm_ruby_string - #configuring "
|
224
|
-
result=$?
|
225
|
-
|
226
|
-
if [[ $result -gt 0 ]] ; then
|
227
|
-
"$rvm_path/scripts/log" "error" \
|
228
|
-
"There has been an error while running configure. Halting the installation."
|
229
|
-
return $result
|
230
|
-
fi
|
231
|
-
|
232
|
-
else
|
233
|
-
"$rvm_path/scripts/log" "error" \
|
234
|
-
"Skipping configure step, 'configure' does not exist, did autoconf not run successfully?"
|
235
|
-
fi
|
236
|
-
|
237
|
-
rvm_ruby_make=${rvm_ruby_make:-"make"}
|
238
|
-
|
239
|
-
__rvm_run "make" "$rvm_ruby_make ${rvm_make_flags:-""}" "$rvm_ruby_string - #compiling "
|
240
|
-
result=$?
|
241
|
-
|
242
|
-
if [[ $result -gt 0 ]] ; then
|
243
|
-
"$rvm_path/scripts/log" "error" \
|
244
|
-
"There has been an error while running make. Halting the installation."
|
245
|
-
return $result
|
246
|
-
fi
|
247
|
-
|
248
|
-
if [[ -d .ext/rdoc ]] ; then
|
249
|
-
rm -rf .ext/rdoc
|
250
|
-
fi
|
251
|
-
|
252
|
-
rvm_ruby_make_install=${rvm_ruby_make_install:-"make install"}
|
253
|
-
|
254
|
-
__rvm_run "install" "$rvm_ruby_make_install" "$rvm_ruby_string - #installing "
|
255
|
-
result=$?
|
256
|
-
|
257
|
-
if [[ $result -gt 0 ]] ; then
|
258
|
-
"$rvm_path/scripts/log" "error" \
|
259
|
-
"There has been an error while running make install. Halting the installation."
|
260
|
-
return $result
|
261
|
-
fi
|
262
|
-
|
263
|
-
export GEM_HOME="$rvm_ruby_gem_home"
|
264
|
-
export GEM_PATH="$rvm_ruby_gem_path"
|
265
|
-
|
266
|
-
__rvm_rubygems_setup
|
267
|
-
result=$?
|
268
|
-
|
269
|
-
__rvm_bin_script
|
270
|
-
|
271
|
-
__rvm_run "chmod.bin" "chmod +x $rvm_ruby_home/bin/*"
|
272
|
-
|
273
|
-
__rvm_post_install
|
274
|
-
result=$?
|
275
|
-
|
276
|
-
"$rvm_path/scripts/log" "info" \
|
277
|
-
"Install of $rvm_ruby_string - #complete "
|
278
|
-
|
279
|
-
return ${result:-0}
|
280
|
-
}
|
281
|
-
|
282
|
-
__rvm_install_ruby()
|
283
|
-
{
|
284
|
-
if [[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] ; then __rvm_select ; fi
|
285
|
-
|
286
|
-
if [[ -n "${RUBYOPT:-""}" ]] ; then ruby_options="$RUBYOPT" ; fi
|
287
|
-
|
288
|
-
unset RUBYOPT
|
289
|
-
|
290
|
-
# Check for clang if the flag is set
|
291
|
-
__rvm_check_for_clang
|
292
|
-
result=$?
|
293
|
-
|
294
|
-
[[ $result -gt 0 ]] && return $result
|
295
|
-
|
296
|
-
case "$rvm_ruby_interpreter" in
|
297
|
-
macruby)
|
298
|
-
if [[ "Darwin" = "$(uname)" ]] ; then
|
299
|
-
|
300
|
-
if [[ "$rvm_head_flag" = 1 ]] ; then
|
301
|
-
|
302
|
-
if [[ -n "$rvm_llvm_flag" ]] ; then
|
303
|
-
"$rvm_path/scripts/package" llvm install
|
304
|
-
fi
|
305
|
-
|
306
|
-
macruby_path="/usr/local/bin"
|
307
|
-
# TODO: configure & make variables should be set here.
|
308
|
-
rvm_ruby_configure=" true "
|
309
|
-
rvm_ruby_make="rake"
|
310
|
-
rvm_ruby_make_install="$rvm_path/bin/rvmsudo rake install"
|
311
|
-
|
312
|
-
__rvm_db "${rvm_ruby_interpreter}_repo_url" "rvm_ruby_url"
|
313
|
-
|
314
|
-
rvm_ruby_repo_url=$rvm_ruby_url
|
315
|
-
|
316
|
-
__rvm_install_source $*
|
317
|
-
result=$?
|
318
|
-
|
319
|
-
if [[ "$result" -gt 0 ]] ; then
|
320
|
-
"$rvm_path/scripts/log" "error" \
|
321
|
-
"There has been an error while trying to install from source. \
|
322
|
-
\nHalting the installation."
|
323
|
-
return $result
|
324
|
-
fi
|
325
|
-
|
326
|
-
elif [[ "nightly" = "$rvm_ruby_version" ]] ; then
|
327
|
-
macruby_path="/Library/Frameworks/MacRuby.framework/Versions/0.8/usr/bin"
|
328
|
-
# TODO: Separated nightly from head.
|
329
|
-
|
330
|
-
"$rvm_path/scripts/log" "info" "Retrieving the latest nightly macruby build..."
|
331
|
-
|
332
|
-
"$rvm_path/scripts/fetch" "$rvm_ruby_url"
|
333
|
-
result=$?
|
334
|
-
|
335
|
-
if [[ "$result" -gt 0 ]] ; then
|
336
|
-
"$rvm_path/scripts/log" "error" \
|
337
|
-
"There has been an error while trying to fetch the source. \
|
338
|
-
\nHalting the installation."
|
339
|
-
return $result
|
340
|
-
fi
|
341
|
-
|
342
|
-
mv "${rvm_archives_path:-"$rvm_path/archives"}/macruby_nightly-latest.pkg" \
|
343
|
-
"${rvm_archives_path:-"$rvm_path/archives"}/macruby_nightly.pkg"
|
344
|
-
|
345
|
-
__rvm_run "macruby/extract" \
|
346
|
-
"sudo /usr/sbin/installer -pkg '${rvm_archives_path:-"$rvm_path/archives"}/macruby_nightly.pkg' -target '/'"
|
347
|
-
|
348
|
-
mkdir -p "$rvm_ruby_home/bin"
|
349
|
-
|
350
|
-
else
|
351
|
-
macruby_path="/Library/Frameworks/MacRuby.framework/Versions/${rvm_ruby_version}/usr/bin"
|
352
|
-
|
353
|
-
# TODO: Separated nightly from head.
|
354
|
-
"$rvm_path/scripts/log" "info" "Retrieving MacRuby ${rvm_ruby_version} ..."
|
355
|
-
|
356
|
-
"$rvm_path/scripts/fetch" "$rvm_ruby_url"
|
357
|
-
|
358
|
-
result=$?
|
359
|
-
|
360
|
-
if [[ "$result" -gt 0 ]] ; then
|
361
|
-
"$rvm_path/scripts/log" "error" \
|
362
|
-
"There has been an error while trying to fetch the source. Halting the installation."
|
363
|
-
return $result
|
364
|
-
fi
|
365
|
-
|
366
|
-
mkdir -p ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string
|
367
|
-
|
368
|
-
unzip -o -j "${rvm_archives_path:-"$rvm_path/archives"}/$rvm_ruby_package_file" \
|
369
|
-
"MacRuby ${rvm_ruby_version}/MacRuby ${rvm_ruby_version}.pkg" \
|
370
|
-
-d "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
371
|
-
|
372
|
-
mv "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/MacRuby ${rvm_ruby_version}.pkg" \
|
373
|
-
"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/$rvm_ruby_string.pkg"
|
374
|
-
|
375
|
-
__rvm_run "macruby/extract" \
|
376
|
-
"sudo /usr/sbin/installer -pkg '${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/$rvm_ruby_string.pkg' -target '/'"
|
377
|
-
|
378
|
-
mkdir -p "$rvm_ruby_home/bin"
|
379
|
-
fi
|
380
|
-
|
381
|
-
binaries=(erb gem irb rake rdoc ri ruby testrb)
|
382
|
-
for binary_name in ${binaries[@]}; do
|
383
|
-
# TODO: This should be generated via an external script.
|
384
|
-
ruby_wrapper=$(cat <<RubyWrapper
|
385
|
-
#!/usr/bin/env bash
|
386
|
-
|
387
|
-
export GEM_HOME="$rvm_ruby_gem_home"
|
388
|
-
export GEM_PATH="$rvm_ruby_gem_path"
|
389
|
-
export MY_RUBY_HOME="$rvm_ruby_home"
|
390
|
-
export PATH="$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:\$PATH"
|
391
|
-
|
392
|
-
exec "$macruby_path/mac$binary_name" "\$@"
|
393
|
-
RubyWrapper
|
394
|
-
)
|
395
|
-
|
396
|
-
file_name="$rvm_ruby_home/bin/$binary_name"
|
397
|
-
|
398
|
-
if [[ -f "$file_name" ]] ; then
|
399
|
-
rm -f "$file_name"
|
400
|
-
fi
|
401
|
-
|
402
|
-
echo "$ruby_wrapper" > "$file_name"
|
403
|
-
|
404
|
-
if [[ -f "$file_name" ]] ; then
|
405
|
-
chmod +x $file_name
|
406
|
-
fi
|
407
|
-
|
408
|
-
if [[ "$binary_name" = "ruby" ]] ; then
|
409
|
-
echo "$ruby_wrapper" \
|
410
|
-
> "${rvm_bin_path:-"$rvm_bin_path/bin"}/$rvm_ruby_string"
|
411
|
-
fi
|
412
|
-
done ; unset binaries
|
413
|
-
|
414
|
-
__rvm_irbrc
|
415
|
-
|
416
|
-
else
|
417
|
-
"$rvm_path/scripts/log" "fail" \
|
418
|
-
"MacRuby can only be installed on a Darwin OS."
|
419
|
-
fi
|
420
|
-
;;
|
421
|
-
|
422
|
-
ree)
|
423
|
-
if [[ -n "$(echo "$rvm_ruby_version" | awk '/^1\.8/')" \
|
424
|
-
&& $rvm_head_flag -eq 0 ]] ; then
|
425
|
-
|
426
|
-
rvm_ruby_url="$(__rvm_db "ree_${rvm_ruby_version}_url")/$rvm_ruby_package_file.tar.gz"
|
427
|
-
|
428
|
-
"$rvm_path/scripts/log" "info" \
|
429
|
-
"Installing Ruby Enterprise Edition from source to: $rvm_ruby_home"
|
430
|
-
|
431
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}"
|
432
|
-
|
433
|
-
if [[ ${rvm_force_flag:-0} -eq 0 \
|
434
|
-
&& -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" \
|
435
|
-
&& ! -x "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/installer" ]] ; then
|
436
|
-
|
437
|
-
"$rvm_path/scripts/log" \
|
438
|
-
"It appears that the archive has already been extracted. Skipping extract (use --force to force re-download and extract)."
|
439
|
-
|
440
|
-
else
|
441
|
-
"$rvm_path/scripts/log" \
|
442
|
-
"$rvm_ruby_string - #fetching ($rvm_ruby_package_file)"
|
443
|
-
|
444
|
-
"$rvm_path/scripts/fetch" \
|
445
|
-
"$rvm_ruby_url"
|
446
|
-
result=$?
|
447
|
-
|
448
|
-
if [[ "$result" -gt 0 ]] ; then
|
449
|
-
"$rvm_path/scripts/log" "error" \
|
450
|
-
"There has been an error while trying to fetch the source. \
|
451
|
-
\nHalting the installation."
|
452
|
-
return $result
|
453
|
-
fi
|
454
|
-
|
455
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
456
|
-
|
457
|
-
__rvm_run "extract" \
|
458
|
-
"gunzip < \"${rvm_archives_path:-"$rvm_path/archives"}/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C ${rvm_src_path:-"$rvm_path/src"}" \
|
459
|
-
"$rvm_ruby_string - #extracting $rvm_ruby_package_file to ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
460
|
-
result=$?
|
461
|
-
|
462
|
-
if [[ "$result" -gt 0 ]] ; then
|
463
|
-
"$rvm_path/scripts/log" "error" \
|
464
|
-
"There has been an error while trying to extract the source. Halting the installation."
|
465
|
-
return $result
|
466
|
-
fi
|
467
|
-
|
468
|
-
mv "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_package_file" \
|
469
|
-
"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
470
|
-
fi
|
471
|
-
|
472
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
473
|
-
|
474
|
-
# wait, what? v v v TODO: Investigate line smell.
|
475
|
-
mkdir -p "${rvm_ruby_home}/lib/ruby/gems/1.8/gems"
|
476
|
-
|
477
|
-
if [[ -n "$rvm_configure_flags" ]] ; then
|
478
|
-
rvm_configure_flags="${rvm_configure_flags//--/-c --}"
|
479
|
-
fi
|
480
|
-
|
481
|
-
if [[ "Darwin" = "$(uname)" && "1.8.6" = "$rvm_ruby_version" \
|
482
|
-
&& -z "$rvm_ree_options" ]] ; then
|
483
|
-
rvm_ree_options="${rvm_ree_options} --no-tcmalloc"
|
484
|
-
fi
|
485
|
-
|
486
|
-
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
487
|
-
|
488
|
-
__rvm_apply_patches "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/source"
|
489
|
-
result=$?
|
490
|
-
|
491
|
-
if [[ "$result" -gt 0 ]] ; then
|
492
|
-
"$rvm_path/scripts/log" "error" \
|
493
|
-
"There has been an error while trying to apply patches to ree. \
|
494
|
-
\nHalting the installation."
|
495
|
-
return $result
|
496
|
-
fi
|
497
|
-
|
498
|
-
__rvm_run "install" \
|
499
|
-
"./installer -a $rvm_path/rubies/$rvm_ruby_string $rvm_ree_options $db_configure_flags $rvm_configure_flags" "$rvm_ruby_string - #installing "
|
500
|
-
|
501
|
-
result=$?
|
502
|
-
|
503
|
-
if [[ "$result" -gt 0 ]] ; then
|
504
|
-
"$rvm_path/scripts/log" "error" \
|
505
|
-
"There has been an error while trying to run the ree installer. Halting the installation."
|
506
|
-
return $result
|
507
|
-
fi
|
508
|
-
|
509
|
-
chmod +x "$rvm_ruby_home"/bin/*
|
510
|
-
|
511
|
-
__rvm_rubygems_setup
|
512
|
-
__rvm_irbrc
|
513
|
-
__rvm_bin_script
|
514
|
-
__rvm_post_install
|
515
|
-
else
|
516
|
-
|
517
|
-
__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_repo_url" "rvm_ruby_url"
|
518
|
-
|
519
|
-
if [[ -z "$rvm_ruby_url" ]] ; then
|
520
|
-
"$rvm_path/scripts/log" "fail" \
|
521
|
-
"rvm does not know the rvm repo url for '${rvm_ruby_interpreter}_${rvm_ruby_version}'"
|
522
|
-
result=1
|
523
|
-
|
524
|
-
else
|
525
|
-
rvm_ruby_repo_url="$rvm_ruby_url"
|
526
|
-
if [[ ${rvm_make_flags_flag:-0} -eq 1 ]] ; then __rvm_make_flags ; fi
|
527
|
-
__rvm_install_source $*
|
528
|
-
fi
|
529
|
-
fi
|
530
|
-
;;
|
531
|
-
|
532
|
-
rbx|rubinius)
|
533
|
-
|
534
|
-
"$rvm_path/scripts/log" "info" "$rvm_ruby_string installing #dependencies "
|
535
|
-
|
536
|
-
# Ensure we have a 1.8.7 compatible ruby installed.
|
537
|
-
__rvm_ensure_has_18_compat_ruby || return 1
|
538
|
-
|
539
|
-
# TODO: use 'rvm gems load' here:
|
540
|
-
unset CFLAGS LDFLAGS ARCHFLAGS # Important.
|
541
|
-
|
542
|
-
unset GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC
|
543
|
-
|
544
|
-
__rvm_remove_rvm_from_path
|
545
|
-
|
546
|
-
__rvm_conditionally_add_bin_path ; export PATH
|
547
|
-
|
548
|
-
builtin hash -r
|
549
|
-
|
550
|
-
if [[ -n "$(printf "${rvm_ruby_version:-""}" | awk '/^1\./')" \
|
551
|
-
&& ${rvm_head_flag:-0} -eq 0 ]] ; then
|
552
|
-
|
553
|
-
"$rvm_path/scripts/log" "info" \
|
554
|
-
"$rvm_ruby_string #downloading ($rvm_ruby_package_file), this may take a while depending on your connection..."
|
555
|
-
|
556
|
-
"$rvm_path/scripts/fetch" "$rvm_ruby_url"
|
557
|
-
result=$?
|
558
|
-
|
559
|
-
if [[ "$result" -gt 0 ]] ; then
|
560
|
-
"$rvm_path/scripts/log" "error" \
|
561
|
-
"There has been an error while trying to fetch the source. Halting the installation."
|
562
|
-
return $result
|
563
|
-
fi
|
564
|
-
__rvm_run "extract" \
|
565
|
-
"gunzip < \"${rvm_archives_path:-"$rvm_path/archives"}/$(basename $rvm_ruby_package_file)\" | tar xf - -C ${rvm_src_path:-"$rvm_path/src"}" \
|
566
|
-
"$rvm_ruby_string - #extracting"
|
567
|
-
result=$?
|
568
|
-
|
569
|
-
if [[ "$result" -gt 0 ]] ; then
|
570
|
-
"$rvm_path/scripts/log" "error" \
|
571
|
-
"There has been an error while trying to extract the source. \
|
572
|
-
\nHalting the installation."
|
573
|
-
return $result
|
574
|
-
fi
|
575
|
-
|
576
|
-
# Remove the left over folder first.
|
577
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
578
|
-
|
579
|
-
mv "${rvm_src_path:-"$rvm_path/src"}/rubinius-${rvm_ruby_version}" \
|
580
|
-
"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
581
|
-
else
|
582
|
-
__rvm_db "rubinius_repo_url" "rvm_ruby_repo_url"
|
583
|
-
#rvm_ruby_home="$rvm_path/rubies/$rvm_ruby_interpreter-$rvm_ruby_version"
|
584
|
-
__rvm_fetch_from_github "rbx"
|
585
|
-
result=$?
|
586
|
-
|
587
|
-
if [[ "$result" -gt 0 ]] ; then
|
588
|
-
"$rvm_path/scripts/log" "error" \
|
589
|
-
"There has been an error while fetching the rbx git repo. \
|
590
|
-
\nHalting the installation."
|
591
|
-
return $result
|
592
|
-
fi
|
593
|
-
fi
|
594
|
-
|
595
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
596
|
-
|
597
|
-
chmod +x ./configure
|
598
|
-
|
599
|
-
__rvm_apply_patches
|
600
|
-
result=$?
|
601
|
-
|
602
|
-
if [[ "$result" -gt 0 ]] ; then
|
603
|
-
"$rvm_path/scripts/log" "error" \
|
604
|
-
"There has been an error while trying to apply patches to rubinius. \
|
605
|
-
\nHalting the installation."
|
606
|
-
return $result
|
607
|
-
fi
|
608
|
-
|
609
|
-
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
610
|
-
|
611
|
-
export ruby="$(__rvm_18_compat_ruby)"
|
612
|
-
|
613
|
-
rvm_configure_flags="${rvm_configure_flags:-"--skip-system"}"
|
614
|
-
|
615
|
-
rvm_ruby_configure="$rvm_path/wrappers/$ruby/ruby ./configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_configure_flags"
|
616
|
-
message="$rvm_ruby_string - #configuring"
|
617
|
-
|
618
|
-
if [[ "$rvm_llvm_flag" = "0" ]] ; then
|
619
|
-
rvm_ruby_configure="$rvm_ruby_configure --disable-llvm"
|
620
|
-
|
621
|
-
else
|
622
|
-
if [[ "$rvm_ruby_patch_level" = "rc1" ]] ; then
|
623
|
-
rvm_ruby_configure="$rvm_ruby_configure --enable-llvm"
|
624
|
-
fi
|
625
|
-
fi
|
626
|
-
|
627
|
-
__rvm_run "configure" "$rvm_ruby_configure" "$message"
|
628
|
-
result=$?
|
629
|
-
|
630
|
-
if [[ "$result" -gt 0 ]] ; then
|
631
|
-
"$rvm_path/scripts/log" "error" \
|
632
|
-
"There has been an error while running '$rvm_ruby_configure'. \
|
633
|
-
\nHalting the installation."
|
634
|
-
return $result
|
635
|
-
fi
|
636
|
-
|
637
|
-
if [[ "$rvm_trace_flag" -eq 1 ]] ; then
|
638
|
-
rvm_ruby_make="$rvm_path/wrappers/$ruby/rake install --trace"
|
639
|
-
message="$rvm_ruby_string - #compiling (with --trace)"
|
640
|
-
else
|
641
|
-
rvm_ruby_make="$rvm_path/wrappers/$ruby/rake install"
|
642
|
-
message="$rvm_ruby_string - #compiling"
|
643
|
-
fi
|
644
|
-
|
645
|
-
__rvm_run "rake" "$rvm_ruby_make" "$message"
|
646
|
-
result=$?
|
647
|
-
|
648
|
-
if [[ "$result" -gt 0 ]] ; then
|
649
|
-
"$rvm_path/scripts/log" "error" \
|
650
|
-
"There has been an error while running '$rvm_ruby_configure'.\nHalting the installation."
|
651
|
-
return $result
|
652
|
-
fi ; unset ruby
|
653
|
-
|
654
|
-
# Symlink rubinius wrappers
|
655
|
-
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/ruby"
|
656
|
-
|
657
|
-
# Install IRB Wrapper on Rubinius.
|
658
|
-
file_name="$rvm_ruby_home/bin/irb"
|
659
|
-
|
660
|
-
rm -f "$file_name"
|
661
|
-
|
662
|
-
printf '#!/usr/bin/env bash\n' > "$file_name"
|
663
|
-
|
664
|
-
printf "exec '$rvm_ruby_home/bin/rbx' 'irb' \"\$@\"\n" >> "$file_name"
|
665
|
-
|
666
|
-
[[ -f "$file_name" ]] && chmod +x "$file_name"
|
667
|
-
|
668
|
-
# Install Gem Wrapper on Rubinius.
|
669
|
-
file_name="$rvm_ruby_home/bin/gem"
|
670
|
-
|
671
|
-
cp -f "$rvm_ruby_home/lib/bin/gem.rb" "$file_name"
|
672
|
-
|
673
|
-
__rvm_inject_ruby_shebang "$file_name"
|
674
|
-
|
675
|
-
if [[ -f "$file_name" ]] ; then
|
676
|
-
chmod +x "$file_name"
|
677
|
-
fi
|
678
|
-
|
679
|
-
unset file_name
|
680
|
-
|
681
|
-
binaries=(erb ri rdoc)
|
682
|
-
|
683
|
-
__rvm_post_install
|
684
|
-
|
685
|
-
__rvm_irbrc
|
686
|
-
|
687
|
-
__rvm_bin_script
|
688
|
-
;;
|
689
|
-
|
690
|
-
jruby)
|
691
|
-
|
692
|
-
if ! command -v java > /dev/null; then
|
693
|
-
printf "java must be installed and in PATH in order to install JRuby."
|
694
|
-
return 1
|
695
|
-
fi
|
696
|
-
|
697
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}"
|
698
|
-
|
699
|
-
__rvm_fetch_ruby
|
700
|
-
result=$?
|
701
|
-
|
702
|
-
if [[ "$result" -gt 0 ]] ; then
|
703
|
-
"$rvm_path/scripts/log" "error" \
|
704
|
-
"There has been an error while trying to fetch the source. \
|
705
|
-
\nHalting the installation."
|
706
|
-
return $result
|
707
|
-
fi
|
708
|
-
|
709
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
710
|
-
|
711
|
-
if [[ ${rvm_head_flag:-0} -eq 1 ]] ; then
|
712
|
-
|
713
|
-
__rvm_apply_patches
|
714
|
-
|
715
|
-
__rvm_run "ant.dist" "ant dist" "$rvm_ruby_string - #ant dist"
|
716
|
-
|
717
|
-
fi
|
718
|
-
|
719
|
-
mkdir -p "$rvm_ruby_home/bin/"
|
720
|
-
|
721
|
-
case "$rvm_ruby_version" in
|
722
|
-
1.3|1.2)
|
723
|
-
__rvm_run "nailgun" \
|
724
|
-
"builtin cd \"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/tool/nailgun\" && make $rvm_make_flags" \
|
725
|
-
"Building Nailgun"
|
726
|
-
;;
|
727
|
-
*)
|
728
|
-
__rvm_run "nailgun" \
|
729
|
-
"builtin cd \"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/tool/nailgun\" && ./configure --prefix=$rvm_ruby_home && make $rvm_make_flags" \
|
730
|
-
"Building Nailgun"
|
731
|
-
;;
|
732
|
-
esac
|
733
|
-
|
734
|
-
if [[ -z "${rvm_ruby_home:-""}" || "$rvm_ruby_home" = "/" ]] ; then
|
735
|
-
echo "WTH?!?! rvm_ruby_home == / ??? not removing." ; return 1000000
|
736
|
-
fi
|
737
|
-
|
738
|
-
rm -rf "$rvm_ruby_home"
|
739
|
-
|
740
|
-
__rvm_run "install" \
|
741
|
-
"/bin/cp -Rf ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string $rvm_ruby_home" "$rvm_ruby_string - #installing to $rvm_ruby_home"
|
742
|
-
|
743
|
-
(
|
744
|
-
builtin cd "$rvm_ruby_home/bin/"
|
745
|
-
for binary in jirb jruby jgem ; do
|
746
|
-
ln -nfs "$binary" "${binary#j}"
|
747
|
-
done ; unset binary
|
748
|
-
)
|
749
|
-
|
750
|
-
# -server is "a lot slower for short-lived scripts like rake tasks, and takes longer to load"
|
751
|
-
#sed -e 's#^JAVA_VM=-client#JAVA_VM=-server#' $rvm_ruby_home/bin/jruby > $rvm_ruby_home/bin/jruby.new &&
|
752
|
-
# mv $rvm_ruby_home/bin/jruby.new $rvm_ruby_home/bin/jruby
|
753
|
-
chmod +x "$rvm_ruby_home/bin/jruby"
|
754
|
-
|
755
|
-
binaries=(jrubyc jirb_swing jirb jgem rdoc ri spec autospec testrb ast generate_yaml_index.rb)
|
756
|
-
|
757
|
-
for binary in "${binaries[@]}" ; do
|
758
|
-
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
|
759
|
-
done
|
760
|
-
|
761
|
-
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/rake"
|
762
|
-
|
763
|
-
__rvm_rubygems_setup
|
764
|
-
|
765
|
-
__rvm_irbrc
|
766
|
-
|
767
|
-
__rvm_bin_script
|
768
|
-
|
769
|
-
__rvm_use
|
770
|
-
|
771
|
-
__rvm_post_install
|
772
|
-
|
773
|
-
# jruby ships with some built in gems, copy them in to place.
|
774
|
-
if [[ -d "$rvm_ruby_home/lib/ruby/gems/1.8" ]]; then
|
775
|
-
|
776
|
-
"$rvm_path/scripts/log" "info" "Copying across included gems"
|
777
|
-
|
778
|
-
cp -R "$rvm_ruby_home/lib/ruby/gems/1.8/" "$rvm_ruby_gem_home/"
|
779
|
-
fi
|
780
|
-
|
781
|
-
"$rvm_ruby_home/bin/gem" install jruby-launcher
|
782
|
-
;;
|
783
|
-
|
784
|
-
maglev)
|
785
|
-
__rvm_ensure_has_18_compat_ruby
|
786
|
-
|
787
|
-
"$rvm_path/scripts/log" "info" \
|
788
|
-
"Running MagLev prereqs checking script."
|
789
|
-
|
790
|
-
"$rvm_path/scripts/maglev"
|
791
|
-
result=$?
|
792
|
-
|
793
|
-
if [[ "$result" -gt 0 ]] ; then
|
794
|
-
"$rvm_path/scripts/log" "error" \
|
795
|
-
"Prerequisite checks have failed. Halting the installation."
|
796
|
-
return $result
|
797
|
-
fi
|
798
|
-
|
799
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}"
|
800
|
-
|
801
|
-
if [[ ! -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" \
|
802
|
-
|| ${rvm_force_flag:-0} -eq 1 ]] ; then
|
803
|
-
|
804
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/" \
|
805
|
-
"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/"
|
806
|
-
|
807
|
-
__rvm_fetch_ruby
|
808
|
-
result=$?
|
809
|
-
|
810
|
-
if [[ "$result" -gt 0 ]] ; then
|
811
|
-
"$rvm_path/scripts/log" "error" \
|
812
|
-
"There has been an error while trying to fetch the source. \
|
813
|
-
\nHalting the installation."
|
814
|
-
return $result
|
815
|
-
fi
|
816
|
-
fi
|
817
|
-
|
818
|
-
if [[ ${rvm_head_flag:-0} -eq 1 ]] ; then
|
819
|
-
|
820
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
821
|
-
|
822
|
-
rvm_gemstone_package_file="GemStone-$(\grep ^GEMSTONE version.txt | cut -f2 -d-).$(uname -sm | \tr ' ' '-')"
|
823
|
-
|
824
|
-
rvm_gemstone_url="${rvm_gemstone_url:-"$maglev_url/${rvm_gemstone_package_file}.${rvm_archive_extension}"}"
|
825
|
-
fi
|
826
|
-
|
827
|
-
"$rvm_path/scripts/log" "info" \
|
828
|
-
"Downloading the GemStone package, this may take a while depending on your connection..."
|
829
|
-
|
830
|
-
"$rvm_path/scripts/fetch" "$rvm_gemstone_url"
|
831
|
-
result=$?
|
832
|
-
|
833
|
-
if [[ "$result" -gt 0 ]] ; then
|
834
|
-
"$rvm_path/scripts/log" "error" \
|
835
|
-
"There has been an error while trying to fetch the GemStone package. \
|
836
|
-
\nHalting the installation."
|
837
|
-
return $result
|
838
|
-
fi
|
839
|
-
|
840
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}"
|
841
|
-
|
842
|
-
if [[ -s "$rvm_ruby_package_file" ]] ; then
|
843
|
-
mv "$rvm_ruby_package_file" "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
844
|
-
fi
|
845
|
-
|
846
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
847
|
-
|
848
|
-
__rvm_run "gemstone.extract" \
|
849
|
-
"gunzip < \"${rvm_archives_path:-"$rvm_path/archives"}/${rvm_gemstone_package_file}.${rvm_archive_extension}\" | tar xf - -C ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
850
|
-
result=$?
|
851
|
-
|
852
|
-
if [[ "$result" -gt 0 ]] ; then
|
853
|
-
"$rvm_path/scripts/log" "error" \
|
854
|
-
"There has been an error while trying to extract the GemStone package. \
|
855
|
-
\nHalting the installation."
|
856
|
-
return $result
|
857
|
-
fi
|
858
|
-
|
859
|
-
chmod -R 777 "$rvm_gemstone_package_file" # for now. # WTF?! Crack.smoke!(:huff)
|
860
|
-
|
861
|
-
ln -nfs "$rvm_gemstone_package_file" "gemstone"
|
862
|
-
|
863
|
-
if [[ -z "${rvm_ruby_home:-""}" || "$rvm_ruby_home" = "/" ]] ; then
|
864
|
-
echo "WTH?!?! rvm_ruby_home == / ??? not removing." ; return 1000000
|
865
|
-
else
|
866
|
-
rm -rf $rvm_ruby_home
|
867
|
-
fi
|
868
|
-
|
869
|
-
__rvm_run "install" \
|
870
|
-
"/bin/cp -Rf ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string $rvm_ruby_home" \
|
871
|
-
"Installing maglev to $rvm_ruby_home"
|
872
|
-
|
873
|
-
(
|
874
|
-
builtin cd "$rvm_ruby_home/bin/"
|
875
|
-
|
876
|
-
for binary in maglev-irb maglev-ruby maglev-gem ; do
|
877
|
-
|
878
|
-
ln -nfs "$binary" "${binary#maglev-}"
|
879
|
-
|
880
|
-
done ; unset binary
|
881
|
-
)
|
882
|
-
|
883
|
-
binaries=(maglev-ruby maglev-irb maglev-gem)
|
884
|
-
|
885
|
-
for binary in "${binaries[@]}" ; do
|
886
|
-
|
887
|
-
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
|
888
|
-
|
889
|
-
done
|
890
|
-
|
891
|
-
builtin cd "$rvm_ruby_home"
|
892
|
-
|
893
|
-
if [[ $rvm_head_flag -eq 1 ]] ; then
|
894
|
-
|
895
|
-
git submodule update --init
|
896
|
-
|
897
|
-
"$rvm_ruby_home/bin/maglev" force-reload
|
898
|
-
|
899
|
-
ln -sf maglev.demo.key-$(uname -sm | \tr ' ' '-') etc/maglev.demo.key
|
900
|
-
fi
|
901
|
-
|
902
|
-
#ln -fs "$rvm_ruby_home/$(echo $rvm_gemstone_package_file | awk -F'.' '{print $1}')" "$rvm_ruby_home/gemstone"
|
903
|
-
|
904
|
-
compatible_ruby="$(__rvm_18_compat_ruby)"
|
905
|
-
|
906
|
-
if [[ ! -e ${rvm_ruby_home}/etc/conf.d/maglev.conf ]] ; then
|
907
|
-
"$rvm_path/scripts/log" "info" "Creating default 'maglev' repository."
|
908
|
-
"$rvm_path/wrappers/$compatible_ruby/rake" "stone:create[maglev]" >/dev/null 2>&1
|
909
|
-
fi
|
910
|
-
|
911
|
-
"$rvm_path/scripts/log" "info" "Generating maglev HTML documentation"
|
912
|
-
"$rvm_path/wrappers/$compatible_ruby/rake" rdoc >/dev/null 2>&1
|
913
|
-
|
914
|
-
"$rvm_path/scripts/log" "info" "Generating smalltalk FFI."
|
915
|
-
"$rvm_path/wrappers/$compatible_ruby/rake" stwrappers >/dev/null 2>&1
|
916
|
-
|
917
|
-
unset compatible_ruby
|
918
|
-
|
919
|
-
# TODO: Figure out if anything needs to be done with rubygems.
|
920
|
-
#__rvm_rubygems_setup
|
921
|
-
__rvm_irbrc
|
922
|
-
|
923
|
-
__rvm_bin_script
|
924
|
-
|
925
|
-
__rvm_use
|
926
|
-
;;
|
927
|
-
|
928
|
-
ironruby|ir)
|
929
|
-
if ! command -v mono > /dev/null ; then
|
930
|
-
printf "mono must be installed and in your path in order to install IronRuby." ; return 1
|
931
|
-
fi
|
932
|
-
|
933
|
-
if [[ $rvm_head_flag -eq 1 ]] ; then
|
934
|
-
|
935
|
-
mono_version="$(mono -V | head -n 1 | cut -d ' ' -f5)"
|
936
|
-
|
937
|
-
if "$rvm_path/scripts/match" "$mono_version" "([0-9]+)\.([0-9]+)\.?([0-9]+)?" ; then
|
938
|
-
|
939
|
-
mono_major_ver="$(echo "$mono_version" | cut -d '.' -f1)"
|
940
|
-
|
941
|
-
mono_minor_ver="$(echo "$mono_version" | cut -d '.' -f2)"
|
942
|
-
|
943
|
-
if [[ $mono_major_ver -lt 2 ]] \
|
944
|
-
|| ( [[ $mono_major_ver -eq 2 && $mono_minor_ver -lt 6 ]] ) ; then
|
945
|
-
printf "Mono 2.6 (or greater) must be installed and in your path in order to build IronRuby from the repository."
|
946
|
-
printf "Version detected: ${mono_version}"
|
947
|
-
return 1
|
948
|
-
fi
|
949
|
-
else
|
950
|
-
printf "Cannot recognize mono version."
|
951
|
-
return 1
|
952
|
-
fi
|
953
|
-
|
954
|
-
__rvm_ensure_has_18_compat_ruby
|
955
|
-
|
956
|
-
__rvm_fetch_ruby
|
957
|
-
|
958
|
-
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
959
|
-
|
960
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
961
|
-
|
962
|
-
compatible_ruby="$(__rvm_18_compat_ruby)"
|
963
|
-
|
964
|
-
"$rvm_path/wrappers/$compatible_ruby/gem" install pathname2 --no-rdoc --no-ri
|
965
|
-
|
966
|
-
# MONO_LIB=/Library/Frameworks/Mono.framework/Versions/current/lib/
|
967
|
-
rvm_ruby_make="$rvm_path/wrappers/$compatible_ruby/rake MERLIN_ROOT=\"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/Merlin/Main\" compile mono=1 configuration=release --trace"
|
968
|
-
__rvm_run "rake" "$rvm_ruby_make" "Building IronRuby..."
|
969
|
-
unset compatible_ruby
|
970
|
-
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
971
|
-
|
972
|
-
rm -rf "$rvm_ruby_home"/*
|
973
|
-
mkdir -p "$rvm_ruby_home/bin" "$rvm_ruby_home/lib" \
|
974
|
-
"$rvm_ruby_home/lib/ruby" "$rvm_ruby_home/lib/IronRuby"
|
975
|
-
|
976
|
-
cp -r "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/Merlin/Main/Bin/mono_release"/* "$rvm_ruby_home/bin/"
|
977
|
-
cp -r "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/Merlin/Main/Languages/Ruby/Scripts/bin"/* "$rvm_ruby_home/bin/"
|
978
|
-
cp -r "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/Merlin/External.LCA_RESTRICTED/Languages/Ruby/redist-libs/ruby"/* "$rvm_ruby_home/lib/ruby"
|
979
|
-
cp -r "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/Merlin/Main/Languages/Ruby/Libs"/* "$rvm_ruby_home/lib/IronRuby"
|
980
|
-
else
|
981
|
-
"$rvm_path/scripts/log" "info" \
|
982
|
-
"Retrieving IronRuby"
|
983
|
-
|
984
|
-
"$rvm_path/scripts/fetch" "$rvm_ruby_url" \
|
985
|
-
"$rvm_ruby_package_file"
|
986
|
-
result=$?
|
987
|
-
|
988
|
-
if [[ "$result" -gt 0 ]] ; then
|
989
|
-
"$rvm_path/scripts/log" "error" \
|
990
|
-
"There has been an error while trying to fetch the source. Halting the installation."
|
991
|
-
return $result
|
992
|
-
fi
|
993
|
-
|
994
|
-
mkdir -p "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" "$rvm_ruby_home"
|
995
|
-
|
996
|
-
unzip -o -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" \
|
997
|
-
"${rvm_archives_path:-"$rvm_path/archives"}/${rvm_ruby_package_file}" >> \
|
998
|
-
"${rvm_log_path:-"$rvm_path/log"}/$rvm_ruby_string/extract.log" 2>&1
|
999
|
-
result=$?
|
1000
|
-
|
1001
|
-
if [[ "$result" -gt 1 ]] ; then
|
1002
|
-
|
1003
|
-
"$rvm_path/scripts/log" "error" \
|
1004
|
-
"There has been an error while trying to extract $rvm_ruby_package_file.\n${rvm_log_path:-"$rvm_path/log"}/$rvm_ruby_string/extract.log might have more details.\nHalting the installation."
|
1005
|
-
return $result
|
1006
|
-
|
1007
|
-
fi
|
1008
|
-
|
1009
|
-
for dir in bin lib silverlight ; do
|
1010
|
-
cp -Rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/$dir" "$rvm_ruby_home/$dir"
|
1011
|
-
done
|
1012
|
-
fi
|
1013
|
-
|
1014
|
-
binaries=(gem irb rdoc rake ri ruby)
|
1015
|
-
|
1016
|
-
for binary_name in "${binaries[@]}" ; do
|
1017
|
-
|
1018
|
-
if [[ -s "$rvm_ruby_home/bin/$binary_name" ]] ; then
|
1019
|
-
|
1020
|
-
tr -d '\r' < "$rvm_ruby_home/bin/$binary_name" > "$rvm_ruby_home/bin/$binary_name.new"
|
1021
|
-
|
1022
|
-
#sed -e '1,1s=.*=#!'"/usr/bin/env ir=" "$rvm_ruby_home/bin/$binary_name" > "$rvm_ruby_home/bin/$binary_name.new"
|
1023
|
-
mv -f "$rvm_ruby_home/bin/$binary_name.new" "$rvm_ruby_home/bin/$binary_name"
|
1024
|
-
|
1025
|
-
chmod +x "$rvm_ruby_home/bin/$binary_name"
|
1026
|
-
|
1027
|
-
fi
|
1028
|
-
done ; unset binaries
|
1029
|
-
|
1030
|
-
sed -e '1,1s=.*=#!'"/usr/bin/env bash=" "$rvm_ruby_home/bin/ir" \
|
1031
|
-
| \tr -d '\r' > "$rvm_ruby_home/bin/ir.new"
|
1032
|
-
|
1033
|
-
mv -f "$rvm_ruby_home/bin/ir.new" "$rvm_ruby_home/bin/ir"
|
1034
|
-
|
1035
|
-
chmod +x "$rvm_ruby_home/bin/ir"
|
1036
|
-
|
1037
|
-
ln -fs "$rvm_ruby_home/bin/ir" "$rvm_ruby_home/bin/ruby"
|
1038
|
-
|
1039
|
-
builtin hash -r
|
1040
|
-
|
1041
|
-
__rvm_run "gems.install" \
|
1042
|
-
"PATH=\"$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:$PATH\" GEM_HOME=\"$rvm_ruby_gem_home\" GEM_PATH=\"$rvm_ruby_gem_home:$rvm_ruby_global_gems_path\" $rvm_ruby_home/bin/gem install --no-rdoc --no-ri rake $rvm_gem_options" \
|
1043
|
-
"Installing $rvm_gem_name to $dir"
|
1044
|
-
;;
|
1045
|
-
|
1046
|
-
goruby)
|
1047
|
-
|
1048
|
-
if [[ ${rvm_make_flags_flag:-0} -eq 1 ]] ; then __rvm_make_flags ; fi
|
1049
|
-
|
1050
|
-
unset GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC
|
1051
|
-
|
1052
|
-
__rvm_remove_rvm_from_path
|
1053
|
-
|
1054
|
-
__rvm_conditionally_add_bin_path ; export PATH
|
1055
|
-
|
1056
|
-
builtin hash -r
|
1057
|
-
|
1058
|
-
rvm_ruby_home="$rvm_path/rubies/$rvm_ruby_interpreter"
|
1059
|
-
|
1060
|
-
__rvm_fetch_from_github "ruby" "trunk"
|
1061
|
-
|
1062
|
-
__rvm_apply_patches ; result=$?
|
1063
|
-
|
1064
|
-
if [[ "$result" -gt 0 ]] ; then
|
1065
|
-
"$rvm_path/scripts/log" "error" \
|
1066
|
-
"There has been an error while trying to apply patches to goruby. \
|
1067
|
-
\nHalting the installation."
|
1068
|
-
return $result
|
1069
|
-
fi
|
1070
|
-
|
1071
|
-
if [[ ! -s "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/configure" ]] ; then
|
1072
|
-
|
1073
|
-
if command -v autoconf &> /dev/null ; then
|
1074
|
-
|
1075
|
-
__rvm_run "autoconf" "autoconf" "Running autoconf"
|
1076
|
-
|
1077
|
-
else
|
1078
|
-
"$rvm_path/scripts/log" "fail" \
|
1079
|
-
"rvm expects autoconf to install this ruby interpreter, autoconf was not found in PATH. \
|
1080
|
-
\nHalting installation."
|
1081
|
-
return $result
|
1082
|
-
fi
|
1083
|
-
fi
|
1084
|
-
|
1085
|
-
if [[ -s ./Makefile && -z "$rvm_reconfigure_flag" ]] ; then
|
1086
|
-
|
1087
|
-
if [[ ${rvm_debug_flag:-0} -gt 0 ]] ; then
|
1088
|
-
"$rvm_path/scripts/log" "debug" \
|
1089
|
-
"Skipping configure step, Makefile exists so configure must have already been run."
|
1090
|
-
fi
|
1091
|
-
|
1092
|
-
elif [[ -n "$rvm_ruby_configure" ]] ; then
|
1093
|
-
|
1094
|
-
__rvm_run "configure" "$rvm_ruby_configure"
|
1095
|
-
result=$?
|
1096
|
-
|
1097
|
-
if [[ "$result" -gt 0 ]] ; then
|
1098
|
-
"$rvm_path/scripts/log" "error" \
|
1099
|
-
"There has been an error while trying to configure the source. \
|
1100
|
-
\nHalting the installation."
|
1101
|
-
return $result
|
1102
|
-
fi
|
1103
|
-
|
1104
|
-
elif [[ -s ./configure ]] ; then
|
1105
|
-
local configure_command="./configure --prefix=$rvm_ruby_home $rvm_configure_flags"
|
1106
|
-
|
1107
|
-
__rvm_run "configure" "$configure_command" \
|
1108
|
-
"Configuring $rvm_ruby_string using $rvm_configure_flags, this may take a while depending on your cpu(s)..."
|
1109
|
-
result=$?
|
1110
|
-
|
1111
|
-
if [[ "$result" -gt 0 ]] ; then
|
1112
|
-
"$rvm_path/scripts/log" "error" \
|
1113
|
-
"There has been an error while trying to configure the source.\
|
1114
|
-
\nHalting the installation."
|
1115
|
-
return $result
|
1116
|
-
fi
|
1117
|
-
|
1118
|
-
else
|
1119
|
-
"$rvm_path/scripts/log" "error" \
|
1120
|
-
"Skipping configure step, 'configure' script does not exist, did autoconf not run successfully?"
|
1121
|
-
fi
|
1122
|
-
|
1123
|
-
rvm_ruby_make=${rvm_ruby_make:-"make"}
|
1124
|
-
|
1125
|
-
__rvm_run "make" "$rvm_ruby_make golf $rvm_make_flags" \
|
1126
|
-
"Compiling $rvm_ruby_string, this may take a while depending on your cpu(s)..."
|
1127
|
-
result=$?
|
1128
|
-
|
1129
|
-
if [[ "$result" -gt 0 ]] ; then
|
1130
|
-
"$rvm_path/scripts/log" "error" \
|
1131
|
-
"There has been an error while trying to run make.\
|
1132
|
-
\nHalting the installation."
|
1133
|
-
return $result
|
1134
|
-
fi
|
1135
|
-
|
1136
|
-
rvm_ruby_make_install=${rvm_ruby_make_install:-"make install"}
|
1137
|
-
|
1138
|
-
__rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_string"
|
1139
|
-
result=$?
|
1140
|
-
|
1141
|
-
if [[ "$result" -gt 0 ]] ; then
|
1142
|
-
"$rvm_path/scripts/log" "error" \
|
1143
|
-
"There has been an error while trying to run make install. \
|
1144
|
-
\nHalting the installation."
|
1145
|
-
return $result
|
1146
|
-
fi
|
1147
|
-
|
1148
|
-
"$rvm_path/scripts/log" "info" \
|
1149
|
-
"Installation of $rvm_ruby_string is complete."
|
1150
|
-
|
1151
|
-
export GEM_HOME="$rvm_ruby_gem_home"
|
1152
|
-
export GEM_PATH="$rvm_ruby_gem_path"
|
1153
|
-
|
1154
|
-
__rvm_rubygems_setup
|
1155
|
-
|
1156
|
-
__rvm_bin_script
|
1157
|
-
|
1158
|
-
__rvm_run "chmod.bin" "chmod +x $rvm_ruby_home/bin/*"
|
1159
|
-
|
1160
|
-
__rvm_post_install
|
1161
|
-
rm $rvm_ruby_home/bin/ruby
|
1162
|
-
ln -s $rvm_ruby_home/bin/goruby $rvm_ruby_home/bin/ruby
|
1163
|
-
;;
|
1164
|
-
|
1165
|
-
ruby)
|
1166
|
-
|
1167
|
-
__rvm_check_for_bison # && Run like hell...
|
1168
|
-
if [[ $? -gt 0 ]] ; then return $result ; fi
|
1169
|
-
|
1170
|
-
if [[ ${rvm_make_flags_flag:-0} -eq 1 ]] ; then __rvm_make_flags ; fi
|
1171
|
-
|
1172
|
-
( __rvm_install_source $* )
|
1173
|
-
result=$?
|
1174
|
-
;;
|
1175
|
-
|
1176
|
-
default)
|
1177
|
-
"$rvm_path/scripts/log" "fail" \
|
1178
|
-
"a ruby interpreter to install must be specified and not simply 'default'."
|
1179
|
-
;;
|
1180
|
-
|
1181
|
-
*)
|
1182
|
-
"$rvm_path/scripts/log" "fail" \
|
1183
|
-
"Either the ruby interpreter is unknown or there was an error!."
|
1184
|
-
;;
|
1185
|
-
|
1186
|
-
esac
|
1187
|
-
|
1188
|
-
rvm_hook="after_install" ; source "$rvm_path/scripts/hook"
|
1189
|
-
|
1190
|
-
if [[ -n "$ruby_options" ]] ; then
|
1191
|
-
RUBYOPT="$ruby_options"
|
1192
|
-
export RUBYOPT
|
1193
|
-
fi
|
1194
|
-
|
1195
|
-
return ${result:-0}
|
1196
|
-
}
|
1197
|
-
|
1198
|
-
__rvm_fetch_from_github()
|
1199
|
-
{
|
1200
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1201
|
-
|
1202
|
-
if [[ ! -d "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string/.git" ]] ; then
|
1203
|
-
|
1204
|
-
rm -rf "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1205
|
-
|
1206
|
-
builtin cd "$rvm_home"
|
1207
|
-
|
1208
|
-
__rvm_run "$1.repo" \
|
1209
|
-
"git clone --depth 1 $rvm_ruby_repo_url ${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string" \
|
1210
|
-
"Cloning $rvm_ruby_repo_url"
|
1211
|
-
result=$?
|
1212
|
-
|
1213
|
-
if [[ "$result" -gt 0 ]] ; then
|
1214
|
-
rvm_ruby_repo_http_url="${rvm_ruby_repo_url//git:/http:}"
|
1215
|
-
|
1216
|
-
"$rvm_path/scripts/log" "info" "Could not fetch $rvm_ruby_repo_url - trying $rvm_ruby_repo_http_url"
|
1217
|
-
|
1218
|
-
__rvm_run "$1.repo" "git clone --depth 1 $rvm_ruby_repo_http_url ${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string" "Cloning $rvm_ruby_repo_http_url"
|
1219
|
-
fi
|
1220
|
-
else
|
1221
|
-
local branch="${rvm_ruby_repo_branch:-"master"}"
|
1222
|
-
|
1223
|
-
builtin cd "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1224
|
-
|
1225
|
-
__rvm_run "$1.repo" "git pull origin $branch" "Pulling from origin $branch"
|
1226
|
-
fi
|
1227
|
-
|
1228
|
-
(
|
1229
|
-
remote="origin"
|
1230
|
-
|
1231
|
-
cd "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1232
|
-
|
1233
|
-
if [[ -z "$(git branch | awk "/$rvm_ruby_repo_branch$/")" ]] ; then
|
1234
|
-
|
1235
|
-
git checkout -b "$rvm_ruby_repo_branch" --track "$remote/$rvm_ruby_repo_branch" 2>/dev/null
|
1236
|
-
|
1237
|
-
elif [[ -z "$(git branch | awk "/\* $rvm_ruby_repo_branch$/")" ]] ; then
|
1238
|
-
|
1239
|
-
if ! git checkout $rvm_ruby_repo_branch 2>/dev/null ; then
|
1240
|
-
|
1241
|
-
"$rvm_path/scripts/log" "error" \
|
1242
|
-
"Branch $remote/$rvm_ruby_repo_branch not found."
|
1243
|
-
|
1244
|
-
fi
|
1245
|
-
|
1246
|
-
fi
|
1247
|
-
)
|
1248
|
-
|
1249
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1250
|
-
|
1251
|
-
__rvm_run "$1.copy" "\\cp -R \"${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string\" \"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string\"" "Copying from repo to source..."
|
1252
|
-
|
1253
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1254
|
-
|
1255
|
-
return ${result:-0}
|
1256
|
-
}
|
1257
|
-
|
1258
|
-
__rvm_fetch_ruby()
|
1259
|
-
{
|
1260
|
-
[[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] && __rvm_select
|
1261
|
-
|
1262
|
-
"$rvm_path/scripts/log" "info" "$rvm_ruby_string - #fetching "
|
1263
|
-
|
1264
|
-
if [[ ${rvm_head_flag:-0} -eq 0 && -z "${rvm_ruby_tag:-""}" && -z "${rvm_ruby_revision:-""}" ]] ; then
|
1265
|
-
|
1266
|
-
rvm_ruby_package_name="${rvm_ruby_package_name:-"$rvm_ruby_string"}"
|
1267
|
-
|
1268
|
-
rvm_ruby_package_file="${rvm_ruby_package_file:-"$rvm_ruby_package_name"}"
|
1269
|
-
|
1270
|
-
if [[ "ruby" = "$rvm_ruby_interpreter" ]]; then
|
1271
|
-
rvm_archive_extension="${rvm_archive_extension:-tar.bz2}"
|
1272
|
-
else
|
1273
|
-
rvm_archive_extension="${rvm_archive_extension:-tar.gz}"
|
1274
|
-
fi
|
1275
|
-
|
1276
|
-
if [[ ! -s "${rvm_archives_path:-"$rvm_path/archives"}/$rvm_ruby_package_file.$rvm_archive_extension" ]] ; then
|
1277
|
-
|
1278
|
-
case "$rvm_ruby_interpreter" in
|
1279
|
-
ruby)
|
1280
|
-
rvm_ruby_url="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_release_version}.${rvm_ruby_major_version}_url")/$rvm_ruby_package_file.$rvm_archive_extension"
|
1281
|
-
;;
|
1282
|
-
ree)
|
1283
|
-
rvm_ruby_url="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_url")/${rvm_ruby_package_file}.${rvm_archive_extension}"
|
1284
|
-
;;
|
1285
|
-
jruby)
|
1286
|
-
rvm_ruby_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/${rvm_ruby_version}/${rvm_ruby_package_file}.${rvm_archive_extension}"
|
1287
|
-
;;
|
1288
|
-
maglev)
|
1289
|
-
: # Should already be set from selector
|
1290
|
-
;;
|
1291
|
-
*)
|
1292
|
-
rvm_ruby_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/${rvm_ruby_package_file}.${rvm_archive_extension}"
|
1293
|
-
;;
|
1294
|
-
esac
|
1295
|
-
|
1296
|
-
"$rvm_path/scripts/log" "info" \
|
1297
|
-
"$rvm_ruby_string - #downloading ${rvm_ruby_package_file}, this may take a while depending on your connection..."
|
1298
|
-
|
1299
|
-
"$rvm_path/scripts/fetch" "${rvm_ruby_url}"
|
1300
|
-
result=$?
|
1301
|
-
|
1302
|
-
if [[ "$result" -gt 0 ]] ; then
|
1303
|
-
"$rvm_path/scripts/log" "error" \
|
1304
|
-
"There has been an error while trying to fetch the source. \
|
1305
|
-
\nHalting the installation."
|
1306
|
-
return $result
|
1307
|
-
fi
|
1308
|
-
fi
|
1309
|
-
|
1310
|
-
if [[ ! -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" \
|
1311
|
-
|| ${rvm_force_flag:-0} -eq 1 ]] ; then
|
1312
|
-
|
1313
|
-
if [[ -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" ]] ; then
|
1314
|
-
# Especially when forced, we want to ensure the destination is missing.
|
1315
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1316
|
-
fi
|
1317
|
-
|
1318
|
-
mkdir -p "${rvm_tmp_path:-/tmp}/rvm_src_$$"
|
1319
|
-
|
1320
|
-
case "$rvm_archive_extension" in
|
1321
|
-
tar.gz|tgz)
|
1322
|
-
__rvm_run "extract" "gunzip < \"${rvm_archives_path:-"$rvm_path/archives"}/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C ${rvm_tmp_path:-/tmp}/rvm_src_$$" "$rvm_ruby_string - #extracting $rvm_ruby_package_file to ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1323
|
-
result=$?
|
1324
|
-
|
1325
|
-
if [[ "$result" -gt 0 ]] ; then
|
1326
|
-
"$rvm_path/scripts/log" "error" \
|
1327
|
-
"There has been an error while trying to extract the source. \
|
1328
|
-
\nHalting the installation."
|
1329
|
-
return $result
|
1330
|
-
fi
|
1331
|
-
;;
|
1332
|
-
zip)
|
1333
|
-
__rvm_run "extract" "unzip -q -o ${rvm_archives_path:-"$rvm_path/archives"}/$rvm_ruby_package_file -d ${rvm_tmp_path:-/tmp}/rvm_src_$$"
|
1334
|
-
result=$?
|
1335
|
-
|
1336
|
-
if [[ "$result" -gt 0 ]] ; then
|
1337
|
-
"$rvm_path/scripts/log" "error" \
|
1338
|
-
"There has been an error while trying to extract $rvm_ruby_package_file. \
|
1339
|
-
\nHalting the installation."
|
1340
|
-
return $result
|
1341
|
-
fi
|
1342
|
-
;;
|
1343
|
-
tar.bz2)
|
1344
|
-
__rvm_run "extract" "bunzip2 < '${rvm_archives_path:-"$rvm_path/archives"}/$rvm_ruby_package_file.$rvm_archive_extension' | tar xf - -C ${rvm_tmp_path:-/tmp}/rvm_src_$$" "$rvm_ruby_string - #extracting $rvm_ruby_package_file to ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1345
|
-
result=$?
|
1346
|
-
|
1347
|
-
if [[ "$result" -gt 0 ]] ; then
|
1348
|
-
"$rvm_path/scripts/log" "error" \
|
1349
|
-
"There has been an error while trying to extract the source. \
|
1350
|
-
\nHalting the installation."
|
1351
|
-
return $result
|
1352
|
-
fi
|
1353
|
-
;;
|
1354
|
-
*)
|
1355
|
-
"$rvm_path/scripts/log" "error" \
|
1356
|
-
"Unknown archive format extension '$rvm_archive_extension'. \
|
1357
|
-
\nHalting the installation."
|
1358
|
-
return 1
|
1359
|
-
;;
|
1360
|
-
esac
|
1361
|
-
|
1362
|
-
if [[ -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" ]] ; then
|
1363
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1364
|
-
fi
|
1365
|
-
mv "${rvm_tmp_path:-/tmp}/rvm_src_$$/$(builtin cd ${rvm_tmp_path:-/tmp}/rvm_src_$$ ; ls)" "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" ; rm -rf "${rvm_tmp_path:-/tmp}/rvm_src_$$"
|
1366
|
-
|
1367
|
-
if [[ -n "${rvm_ruby_name:-""}" && -d "${rvm_src_path:-"$rvm_path/src"}/$(echo $rvm_ruby_string | sed -e 's/-n.*//')" ]] ; then
|
1368
|
-
mv "${rvm_src_path:-"$rvm_path/src"}/$(echo "$rvm_ruby_string" | sed -e 's/-n.*//')" "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1369
|
-
fi
|
1370
|
-
|
1371
|
-
"$rvm_path/scripts/log" "info" \
|
1372
|
-
"$rvm_ruby_string - #extracted to ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1373
|
-
|
1374
|
-
else
|
1375
|
-
"$rvm_path/scripts/log" "info" \
|
1376
|
-
"$rvm_ruby_string - #extracted to ${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string (already extracted)"
|
1377
|
-
fi
|
1378
|
-
|
1379
|
-
return 0
|
1380
|
-
else
|
1381
|
-
|
1382
|
-
mkdir -p "${rvm_repo_path:-"$rvm_path/repos"}"
|
1383
|
-
|
1384
|
-
if [[ -n "$(echo "$rvm_ruby_url" | awk '/git/')" ]] ; then
|
1385
|
-
|
1386
|
-
if [[ -d "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string/.git" ]] ; then
|
1387
|
-
|
1388
|
-
builtin cd "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1389
|
-
|
1390
|
-
if [[ -z "$rvm_ruby_revision" ]] ; then
|
1391
|
-
|
1392
|
-
"$rvm_path/scripts/log" "info" \
|
1393
|
-
"Pulling from $rvm_ruby_repo_url, this may take a while depending on your connection..."
|
1394
|
-
|
1395
|
-
git pull origin master --force
|
1396
|
-
|
1397
|
-
result=$?
|
1398
|
-
|
1399
|
-
if [[ "$result" -gt 0 ]] ; then
|
1400
|
-
"$rvm_path/scripts/log" "error" \
|
1401
|
-
"There has been an error while trying to update the source from the remote repository. \
|
1402
|
-
\nHalting the installation."
|
1403
|
-
return $result
|
1404
|
-
fi
|
1405
|
-
|
1406
|
-
else
|
1407
|
-
if [[ -z "${rvm_ruby_sha:-""}" ]] ; then
|
1408
|
-
git checkout HEAD
|
1409
|
-
else
|
1410
|
-
git checkout $(echo "$rvm_ruby_sha" | sed 's#^s##')
|
1411
|
-
fi
|
1412
|
-
result=$?
|
1413
|
-
|
1414
|
-
if [[ "$result" -gt 0 ]] ; then
|
1415
|
-
"$rvm_path/scripts/log" "error" \
|
1416
|
-
"There has been an error while trying to checkout the source branch. \
|
1417
|
-
\nHalting the installation."
|
1418
|
-
return $result
|
1419
|
-
fi
|
1420
|
-
fi
|
1421
|
-
|
1422
|
-
else
|
1423
|
-
rm -rf "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1424
|
-
|
1425
|
-
rvm_ruby_repo_http_url="${rvm_ruby_repo_url//git:/http:/}"
|
1426
|
-
|
1427
|
-
"$rvm_path/scripts/log" "info" \
|
1428
|
-
"Cloning from $rvm_ruby_repo_url, this may take a while depending on your connection..."
|
1429
|
-
|
1430
|
-
git clone --depth 1 "$rvm_ruby_repo_url" \
|
1431
|
-
"${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1432
|
-
result=$?
|
1433
|
-
|
1434
|
-
if [[ "$result" -gt 0 ]] ; then
|
1435
|
-
"$rvm_path/scripts/log" "info" \
|
1436
|
-
"cloning from $rvm_ruby_repo_url failed, now attempting to clone from $rvm_ruby_repo_http_url, this may take a while depending on your connection..."
|
1437
|
-
|
1438
|
-
git clone "$rvm_ruby_repo_http_url" \
|
1439
|
-
"${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1440
|
-
result=$?
|
1441
|
-
|
1442
|
-
if [[ "$result" -gt 0 ]] ; then
|
1443
|
-
"$rvm_path/scripts/log" "error" \
|
1444
|
-
"There has been an error while trying to fetch the repository. \
|
1445
|
-
\nHalting the installation."
|
1446
|
-
return $result
|
1447
|
-
fi
|
1448
|
-
fi
|
1449
|
-
fi
|
1450
|
-
|
1451
|
-
if [[ -z "$rvm_ruby_repo_branch" ]]; then
|
1452
|
-
rvm_ruby_repo_branch="master"
|
1453
|
-
fi
|
1454
|
-
|
1455
|
-
(
|
1456
|
-
remote="origin"
|
1457
|
-
|
1458
|
-
cd "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1459
|
-
|
1460
|
-
if [[ -z "$(git branch | awk "/$rvm_ruby_repo_branch$/")" ]] ; then
|
1461
|
-
|
1462
|
-
git checkout -b "$rvm_ruby_repo_branch" --track "$remote/$rvm_ruby_repo_branch" 2>/dev/null
|
1463
|
-
|
1464
|
-
elif [[ -z "$(git branch | awk "/\* $rvm_ruby_repo_branch$/")" ]] ; then
|
1465
|
-
|
1466
|
-
if ! git checkout $rvm_ruby_repo_branch 2>/dev/null ; then
|
1467
|
-
|
1468
|
-
"$rvm_path/scripts/log" "error" \
|
1469
|
-
"Branch $remote/$rvm_ruby_repo_branch not found."
|
1470
|
-
|
1471
|
-
fi
|
1472
|
-
|
1473
|
-
fi
|
1474
|
-
)
|
1475
|
-
|
1476
|
-
else
|
1477
|
-
if [[ -n "${rvm_ruby_tag:-""}" ]] ; then
|
1478
|
-
# TODO: Check if tag v is valid
|
1479
|
-
rvm_ruby_url="${rvm_ruby_url:-"$rvm_ruby_repo_url/tags/$(echo "$rvm_ruby_tag" | sed 's/^t//')"}"
|
1480
|
-
|
1481
|
-
elif [[ -z "${rvm_ruby_version:-""}" && ${rvm_head_flag:-0} -eq 1 ]] ; then
|
1482
|
-
rvm_ruby_url="${rvm_ruby_url:-"$rvm_ruby_repo_url/trunk"}"
|
1483
|
-
|
1484
|
-
elif [[ "${rvm_ruby_major_version:-""}" = "9" ]] ; then
|
1485
|
-
|
1486
|
-
if [[ -z "${rvm_ruby_minor_version:-""}" || "${rvm_ruby_minor_version:-""}" = 3 ]] ; then
|
1487
|
-
rvm_ruby_url="${rvm_ruby_url:-"$rvm_ruby_repo_url/trunk"}"
|
1488
|
-
|
1489
|
-
else
|
1490
|
-
rvm_ruby_url="${rvm_ruby_url:-"$rvm_ruby_repo_url/branches/ruby_${rvm_ruby_release_version}_${rvm_ruby_major_version}_${rvm_ruby_minor_version}"}"
|
1491
|
-
fi
|
1492
|
-
|
1493
|
-
elif [[ -z "${rvm_ruby_minor_version:-""}" || "${rvm_ruby_major_version:-""}.${rvm_ruby_minor_version:-""}" = "8.8" ]] ; then
|
1494
|
-
rvm_ruby_url="${rvm_ruby_url:-"$rvm_ruby_repo_url/branches/ruby_${rvm_ruby_release_version}_${rvm_ruby_major_version}"}"
|
1495
|
-
|
1496
|
-
else
|
1497
|
-
rvm_ruby_url="${rvm_ruby_url:-"$rvm_ruby_repo_url/branches/ruby_${rvm_ruby_release_version}_${rvm_ruby_major_version}_${rvm_ruby_minor_version}"}"
|
1498
|
-
fi
|
1499
|
-
|
1500
|
-
rvm_rev=""
|
1501
|
-
|
1502
|
-
if [[ -n "${rvm_ruby_revision:-""}" ]] ; then
|
1503
|
-
rvm_rev="-$rvm_ruby_revision"
|
1504
|
-
fi
|
1505
|
-
|
1506
|
-
if [[ -d "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string/.svn" ]] ; then
|
1507
|
-
|
1508
|
-
builtin cd "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1509
|
-
|
1510
|
-
"$rvm_path/scripts/log" "info" "Updating ruby from $rvm_ruby_url"
|
1511
|
-
|
1512
|
-
__rvm_run "svn.switch" "svn switch $rvm_ruby_url"
|
1513
|
-
|
1514
|
-
__rvm_run "svn.update" "svn update"
|
1515
|
-
|
1516
|
-
if [[ -n "${rvm_rev:-""}" ]] ; then
|
1517
|
-
"$rvm_path/scripts/log" "info" "Checking out revision ${rvm_rev/-r/-r } from $rvm_ruby_url"
|
1518
|
-
|
1519
|
-
__rvm_run "svn.checkout" "svn update -q ${rvm_rev/-r/-r }"
|
1520
|
-
fi
|
1521
|
-
else
|
1522
|
-
rm -rf "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string"
|
1523
|
-
|
1524
|
-
__rvm_run "svn.checkout" \
|
1525
|
-
"svn checkout -q ${rvm_rev/-r/-r } $rvm_ruby_url ${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string" \
|
1526
|
-
"Downloading source from ${rvm_ruby_url}."
|
1527
|
-
fi
|
1528
|
-
result=$?
|
1529
|
-
|
1530
|
-
if [[ "$result" -gt 0 ]] ; then
|
1531
|
-
"$rvm_path/scripts/log" "error" \
|
1532
|
-
"There has been an error while trying to fetch / update the source. \
|
1533
|
-
\nHalting the installation."
|
1534
|
-
return $result
|
1535
|
-
fi
|
1536
|
-
fi
|
1537
|
-
|
1538
|
-
"$rvm_path/scripts/log" "info" "Copying from repo to src path..."
|
1539
|
-
|
1540
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1541
|
-
|
1542
|
-
cp -R "${rvm_repos_path:-"$rvm_path/repos"}/$rvm_ruby_string" \
|
1543
|
-
"${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string"
|
1544
|
-
fi
|
1545
|
-
|
1546
|
-
return ${result:-0}
|
1547
|
-
}
|
1548
|
-
|
1549
|
-
__rvm_check_default()
|
1550
|
-
{
|
1551
|
-
local default_ruby_interpreter current_ruby_interpreter
|
1552
|
-
|
1553
|
-
default_ruby_interpreter="$(rvm alias show default 2>/dev/null \
|
1554
|
-
| awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')"
|
1555
|
-
|
1556
|
-
current_ruby_interpreter="$(echo "$rvm_ruby_string" \
|
1557
|
-
| awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')"
|
1558
|
-
|
1559
|
-
if [[ -n "$current_ruby_interpreter" \
|
1560
|
-
&& "$current_ruby_interpreter" = "$default_ruby_interpreter" ]]; then
|
1561
|
-
|
1562
|
-
__rvm_run_with_env 'default.restore' 'system' \
|
1563
|
-
'rvm use system --default' 'Removing default ruby interpreter'
|
1564
|
-
|
1565
|
-
fi
|
1566
|
-
|
1567
|
-
return $?
|
1568
|
-
}
|
1569
|
-
|
1570
|
-
__rvm_uninstall_ruby()
|
1571
|
-
{
|
1572
|
-
local dir
|
1573
|
-
|
1574
|
-
if [[ ${rvm_ruby_selected_flag} -eq 0 ]] ; then __rvm_select ; fi
|
1575
|
-
|
1576
|
-
if [[ -n "${rvm_ruby_string:-""}" ]] ; then
|
1577
|
-
|
1578
|
-
for dir in "$rvm_path/rubies" ; do
|
1579
|
-
|
1580
|
-
if [[ -d "$dir/$rvm_ruby_string" ]] ; then
|
1581
|
-
|
1582
|
-
"$rvm_path/scripts/log" "info" "Removing $dir/$rvm_ruby_string..."
|
1583
|
-
|
1584
|
-
rm -rf $dir/$rvm_ruby_string
|
1585
|
-
|
1586
|
-
else
|
1587
|
-
|
1588
|
-
"$rvm_path/scripts/log" "info" \
|
1589
|
-
"$dir/$rvm_ruby_string has already been removed."
|
1590
|
-
|
1591
|
-
fi
|
1592
|
-
|
1593
|
-
if [[ -e "${rvm_bin_path:-"$rvm_path/bin"}/$rvm_ruby_string" ]] ; then
|
1594
|
-
|
1595
|
-
rm -f "${rvm_bin_path:-"$rvm_path/bin"}/$rvm_ruby_string"
|
1596
|
-
|
1597
|
-
fi
|
1598
|
-
|
1599
|
-
done
|
1600
|
-
|
1601
|
-
__rvm_remove_install_record "$rvm_ruby_string"
|
1602
|
-
|
1603
|
-
__rvm_remove_gemsets
|
1604
|
-
|
1605
|
-
__rvm_check_default
|
1606
|
-
|
1607
|
-
else
|
1608
|
-
|
1609
|
-
"$rvm_path/scripts/log" "fail" \
|
1610
|
-
"Cannot uninstall unknown package '$rvm_ruby_string'"
|
1611
|
-
|
1612
|
-
fi
|
1613
|
-
|
1614
|
-
unset rvm_uninstall_flag
|
1615
|
-
|
1616
|
-
return 0
|
1617
|
-
}
|
1618
|
-
|
1619
|
-
__rvm_remove_ruby()
|
1620
|
-
{
|
1621
|
-
local dir
|
1622
|
-
|
1623
|
-
if [[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] ; then __rvm_select ; fi
|
1624
|
-
|
1625
|
-
if [[ -n "${rvm_ruby_string:-""}" ]] ; then
|
1626
|
-
|
1627
|
-
for dir in ${rvm_src_path:-"$rvm_path/src"} $rvm_path/rubies ; do
|
1628
|
-
|
1629
|
-
if [[ -d $dir/$rvm_ruby_string ]] ; then
|
1630
|
-
|
1631
|
-
"$rvm_path/scripts/log" "info" "Removing $dir/$rvm_ruby_string..."
|
1632
|
-
|
1633
|
-
rm -rf "$dir/$rvm_ruby_string"
|
1634
|
-
|
1635
|
-
else
|
1636
|
-
|
1637
|
-
"$rvm_path/scripts/log" "info" \
|
1638
|
-
"it seems that $dir/$rvm_ruby_string is already non existent."
|
1639
|
-
|
1640
|
-
fi
|
1641
|
-
|
1642
|
-
if [[ -e "${rvm_bin_path:-"$rvm_path/bin"}/$rvm_ruby_string" ]] ; then
|
1643
|
-
|
1644
|
-
rm -f "${rvm_bin_path:-"$rvm_path/bin"}/$rvm_ruby_string"
|
1645
|
-
|
1646
|
-
fi
|
1647
|
-
|
1648
|
-
__rvm_check_default
|
1649
|
-
|
1650
|
-
done
|
1651
|
-
|
1652
|
-
__rvm_remove_install_record "$rvm_ruby_string"
|
1653
|
-
__rvm_remove_gemsets
|
1654
|
-
__rvm_remove_archives
|
1655
|
-
__rvm_remove_aliases
|
1656
|
-
__rvm_remove_wrappers
|
1657
|
-
__rvm_remove_environments
|
1658
|
-
__rvm_remove_binaries
|
1659
|
-
|
1660
|
-
else
|
1661
|
-
|
1662
|
-
"$rvm_path/scripts/log" "fail" \
|
1663
|
-
"Cannot remove unknown package '$rvm_ruby_string'"
|
1664
|
-
|
1665
|
-
return 1
|
1666
|
-
|
1667
|
-
fi
|
1668
|
-
|
1669
|
-
unset rvm_remove_flag
|
1670
|
-
|
1671
|
-
return 0
|
1672
|
-
}
|
1673
|
-
|
1674
|
-
__rvm_remove_gemsets()
|
1675
|
-
{
|
1676
|
-
local gemset gemsets
|
1677
|
-
|
1678
|
-
if [[ ${rvm_gems_flag:-0} -eq 1 ]] ; then
|
1679
|
-
|
1680
|
-
"$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string gemsets..."
|
1681
|
-
|
1682
|
-
gemsets=($(builtin cd "${rvm_gems_path:-"$rvm_path/gems"}"/ ; \
|
1683
|
-
find . -maxdepth 1 -mindepth 1 -type d))
|
1684
|
-
|
1685
|
-
for gemset in "${gemsets[@]//.\/}" ; do
|
1686
|
-
|
1687
|
-
if [[ -d "$gemset" ]] ; then
|
1688
|
-
|
1689
|
-
rm -rf "$gemset"
|
1690
|
-
|
1691
|
-
fi
|
1692
|
-
|
1693
|
-
done
|
1694
|
-
|
1695
|
-
fi
|
1696
|
-
}
|
1697
|
-
|
1698
|
-
__rvm_remove_wrappers()
|
1699
|
-
{
|
1700
|
-
"$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string wrappers..."
|
1701
|
-
|
1702
|
-
local wrapper wrappers
|
1703
|
-
|
1704
|
-
wrappers=($(find "$rvm_path/wrappers" -maxdepth 1 -mindepth 1 -type d -iname "*$rvm_ruby_string*" 2>/dev/null))
|
1705
|
-
|
1706
|
-
for wrapper in "${wrappers[@]}" ; do
|
1707
|
-
|
1708
|
-
rm -rf "$wrapper"
|
1709
|
-
|
1710
|
-
done
|
1711
|
-
|
1712
|
-
return 0
|
1713
|
-
}
|
1714
|
-
|
1715
|
-
__rvm_remove_environments()
|
1716
|
-
{
|
1717
|
-
"$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string environments..."
|
1718
|
-
|
1719
|
-
local environments environment
|
1720
|
-
|
1721
|
-
environments=($(find "$rvm_path/environments" -maxdepth 1 -mindepth 1 -type f -iname "*$rvm_ruby_string*" ))
|
1722
|
-
|
1723
|
-
for environment in "${environments[@]}" ; do
|
1724
|
-
if [[ -d "$environment" ]] ; then
|
1725
|
-
rm -rf "$environment"
|
1726
|
-
fi
|
1727
|
-
done
|
1728
|
-
|
1729
|
-
return 0
|
1730
|
-
}
|
1731
|
-
|
1732
|
-
__rvm_remove_aliases()
|
1733
|
-
{
|
1734
|
-
"$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string aliases..."
|
1735
|
-
|
1736
|
-
local alias_name aliases
|
1737
|
-
|
1738
|
-
aliases=($(awk '/'$rvm_ruby_string'/' "$rvm_path/config/alias" | sed 's/=.*//'))
|
1739
|
-
|
1740
|
-
for alias_name in "${aliases[@]}" ; do
|
1741
|
-
# Remove from alias key-value store
|
1742
|
-
"$rvm_path/scripts/alias" delete "$alias_name" >/dev/null 2>&1
|
1743
|
-
done
|
1744
|
-
}
|
1745
|
-
|
1746
|
-
__rvm_remove_archives()
|
1747
|
-
{
|
1748
|
-
if [[ ${rvm_archive_flag:-0} -eq 1 ]] ; then
|
1749
|
-
|
1750
|
-
"$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string archives..."
|
1751
|
-
|
1752
|
-
rm -f "${rvm_archives_path:-"$rvm_path/archives"}/${rvm_ruby_package_file}.${rvm_archive_extension}"
|
1753
|
-
fi
|
1754
|
-
}
|
1755
|
-
|
1756
|
-
__rvm_remove_binaries()
|
1757
|
-
{
|
1758
|
-
"$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string binaries..."
|
1759
|
-
|
1760
|
-
# Iterate over all binaries and check for symlinked wrappers etc.
|
1761
|
-
local binary_name binaries full_patch_path
|
1762
|
-
|
1763
|
-
binaries=($(find "${rvm_bin_path:-"$rvm_path/bin"}" -maxdepth 1 -mindepth 1 -type f -iname "*$rvm_ruby_string*" ))
|
1764
|
-
|
1765
|
-
for binary_name in "${binaries[@]}" ; do
|
1766
|
-
|
1767
|
-
full_binary_path="${rvm_bin_path:-"$rvm_path/bin"}/$binary_name"
|
1768
|
-
|
1769
|
-
if [[ -L "$full_binary_path" ]] \
|
1770
|
-
&& "$rvm_path/scripts/match" "$(readlink "$full_binary_path")" "$rvm_ruby_string"; then
|
1771
|
-
rm -f "$full_binary_path"
|
1772
|
-
fi
|
1773
|
-
done ; unset binaries
|
1774
|
-
|
1775
|
-
return 0
|
1776
|
-
}
|
1777
|
-
|
1778
|
-
__rvm_post_install()
|
1779
|
-
{
|
1780
|
-
local rvm_ruby_aliases ruby_alias binary
|
1781
|
-
|
1782
|
-
if [[ "$rvm_ruby_interpreter" != "jruby" ]] ; then
|
1783
|
-
|
1784
|
-
if [[ ${#binaries[@]} -lt 1 ]] ; then
|
1785
|
-
binaries=(gem irb erb ri rdoc testrb rake)
|
1786
|
-
fi
|
1787
|
-
|
1788
|
-
"$rvm_path/scripts/log" "info" \
|
1789
|
-
"$rvm_ruby_string - adjusting #shebangs for ($binaries)."
|
1790
|
-
|
1791
|
-
for binary in "${binaries[@]}" ; do
|
1792
|
-
|
1793
|
-
if [[ -e "$rvm_ruby_home/bin/$binary" \
|
1794
|
-
|| -e "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/$binary" ]] ; then
|
1795
|
-
|
1796
|
-
if [[ "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string" != "$rvm_ruby_home" \
|
1797
|
-
&& -f "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/$binary" ]] ; then
|
1798
|
-
|
1799
|
-
cp -f "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/$binary" "$rvm_ruby_home/bin/$binary"
|
1800
|
-
|
1801
|
-
elif [[ -f "$rvm_ruby_gem_home/bin/$binary" ]] ; then
|
1802
|
-
|
1803
|
-
cp -f "$rvm_ruby_gem_home/bin/$binary" "$rvm_ruby_home/bin/$binary"
|
1804
|
-
fi
|
1805
|
-
|
1806
|
-
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
|
1807
|
-
|
1808
|
-
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$binary"
|
1809
|
-
|
1810
|
-
chmod +x "$rvm_ruby_home/bin/$binary"
|
1811
|
-
fi
|
1812
|
-
done
|
1813
|
-
|
1814
|
-
binaries=(gem irb erb ri rdoc testrb rake)
|
1815
|
-
fi
|
1816
|
-
|
1817
|
-
# Import the initial gemsets.
|
1818
|
-
__rvm_run_with_env "gemsets.initial" "$rvm_ruby_string" \
|
1819
|
-
"'$rvm_path/scripts/gemsets' initial" \
|
1820
|
-
"$rvm_ruby_string - #importing default gemsets ($rvm_path/gemsets/)"
|
1821
|
-
|
1822
|
-
__rvm_irbrc
|
1823
|
-
|
1824
|
-
__rvm_generate_default_docs
|
1825
|
-
|
1826
|
-
if [[ -n "$rvm_ruby_aliases" ]]; then
|
1827
|
-
"$rvm_path/scripts/log" "info" "Setting up aliases for $rvm_ruby_string"
|
1828
|
-
|
1829
|
-
while read -r ruby_alias; do
|
1830
|
-
|
1831
|
-
"$rvm_path/scripts/log" info "Aliasing $rvm_ruby_string to $ruby_alias"
|
1832
|
-
|
1833
|
-
"$rvm_path/scripts/alias" delete "$ruby_alias" > /dev/null 2>&1
|
1834
|
-
|
1835
|
-
"$rvm_path/scripts/alias" create "$ruby_alias" "$rvm_ruby_string" > /dev/null 2>&1
|
1836
|
-
|
1837
|
-
done < <(echo "$rvm_ruby_string" | \tr ' ' '\n' | sort -u)
|
1838
|
-
fi
|
1839
|
-
}
|
1840
|
-
|
1841
|
-
__rvm_generate_default_docs()
|
1842
|
-
{
|
1843
|
-
if [[ "$rvm_docs_flag" = "1" && "$rvm_ruby_interpreter" != "macruby" ]]; then
|
1844
|
-
|
1845
|
-
__rvm_run_with_env "docs.generate" "$rvm_ruby_string" \
|
1846
|
-
"rvm docs generate-ri" "Attempting to generate ri documentation..."
|
1847
|
-
fi
|
1848
|
-
}
|
1849
|
-
|
1850
|
-
__rvm_rubygems_setup()
|
1851
|
-
{
|
1852
|
-
local home path dir directory_name version_number ruby_lib_gem_path
|
1853
|
-
|
1854
|
-
if [[ -n "$(echo "$rvm_ruby_version" | awk '/^1\.9/')" \
|
1855
|
-
|| -n "$(echo "$rvm_ruby_interpreter" | awk '/^goruby/')" ]] ; then
|
1856
|
-
|
1857
|
-
install=0
|
1858
|
-
|
1859
|
-
elif [[ "$rvm_ruby_string" = "ruby-head" ]] ; then
|
1860
|
-
install=0
|
1861
|
-
|
1862
|
-
else
|
1863
|
-
install=1
|
1864
|
-
fi
|
1865
|
-
|
1866
|
-
__rvm_use
|
1867
|
-
|
1868
|
-
if [[ "$install" -eq 0 ]] ; then
|
1869
|
-
# 1.9.X has it's own built-in gem command
|
1870
|
-
__rvm_inject_ruby_shebang "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/gem"
|
1871
|
-
|
1872
|
-
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
1873
|
-
|
1874
|
-
cp "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/gem" "$rvm_ruby_home/bin/gem"
|
1875
|
-
|
1876
|
-
home="$GEM_HOME" ; path="$GEM_PATH" # Save
|
1877
|
-
|
1878
|
-
for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
|
1879
|
-
|
1880
|
-
export GEM_HOME="$dir" ; export GEM_PATH="$dir"
|
1881
|
-
|
1882
|
-
__rvm_run "rubygems.update" \
|
1883
|
-
"$rvm_ruby_home/bin/gem update --system" "$rvm_ruby_string - updating #rubygems for $dir"
|
1884
|
-
|
1885
|
-
done
|
1886
|
-
|
1887
|
-
GEM_HOME="$home" ; GEM_PATH="$path"
|
1888
|
-
export GEM_HOME GEM_PATH
|
1889
|
-
|
1890
|
-
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
|
1891
|
-
|
1892
|
-
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
1893
|
-
|
1894
|
-
directory_name="$rvm_ruby_home/lib/ruby/gems"
|
1895
|
-
|
1896
|
-
version_number="${rvm_ruby_release_version}.${rvm_ruby_major_version}"
|
1897
|
-
|
1898
|
-
if [[ "$version_number" == "." ]]; then
|
1899
|
-
|
1900
|
-
# TODO: Investigate this if statement, something feels not quite right.
|
1901
|
-
version_number="$(builtin cd "$directory_name" ; \
|
1902
|
-
find . -maxdepth 1 -mindepth 1 -type f \
|
1903
|
-
| \grep '^[[:digit:]].[[:digit:]]\(.[[:digit:]]\)\?' | head -n1)"
|
1904
|
-
version_number="${version_number//.\/}"
|
1905
|
-
|
1906
|
-
if [[ -n "$version_number" ]]; then
|
1907
|
-
ruby_lib_gem_path="${directory_name}/${version_number}"
|
1908
|
-
else
|
1909
|
-
ruby_lib_gem_path=""
|
1910
|
-
fi
|
1911
|
-
|
1912
|
-
else
|
1913
|
-
ruby_lib_gem_path="${directory_name}/${version_number}"
|
1914
|
-
fi
|
1915
|
-
|
1916
|
-
elif [[ -n "$(echo "$rvm_ruby_interpreter" | awk '/^rbx|jruby/')" ]] ; then
|
1917
|
-
|
1918
|
-
# Hands off rubygems for rbx & jruby
|
1919
|
-
if [[ ${rvm_debug_flag:-0} -gt 0 ]] ; then
|
1920
|
-
"$rvm_path/scripts/log" "debug" \
|
1921
|
-
"Skipping rubygems update for $rvm_ruby_version"
|
1922
|
-
fi
|
1923
|
-
|
1924
|
-
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/jruby"
|
1925
|
-
|
1926
|
-
else
|
1927
|
-
|
1928
|
-
"$rvm_path/scripts/log" "info" \
|
1929
|
-
"$rvm_ruby_string - #rubygems installing to $rvm_ruby_string"
|
1930
|
-
|
1931
|
-
rvm_rubygems_version="$(__rvm_db "${rvm_ruby_interpreter}_rubygems_version")"
|
1932
|
-
rvm_rubygems_version="${rvm_rubygems_version:-"$(__rvm_db "rubygems_version")"}"
|
1933
|
-
rvm_rubygems_url=$(__rvm_db "rubygems_${rvm_rubygems_version}_url")
|
1934
|
-
rvm_gem_package_name="rubygems-$rvm_rubygems_version"
|
1935
|
-
rvm_gem_url="$rvm_rubygems_url/$rvm_gem_package_name.tgz"
|
1936
|
-
|
1937
|
-
# Sanity check... If setup.rb is missing from the rubygems source path,
|
1938
|
-
# something went wrong. Cleanup, aisle 3!
|
1939
|
-
if [[ ! -f "${rvm_src_path:-"$rvm_path/src"}/$rvm_gem_package_name/setup.rb" ]]; then
|
1940
|
-
rm -rf "${rvm_src_path:-"$rvm_path/src"}/$rvm_gem_package_name"
|
1941
|
-
fi
|
1942
|
-
|
1943
|
-
if [[ ! -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_gem_package_name" ]] ; then
|
1944
|
-
|
1945
|
-
"$rvm_path/scripts/log" "info" "Retrieving $rvm_gem_package_name"
|
1946
|
-
|
1947
|
-
"$rvm_path/scripts/fetch" "$rvm_gem_url"
|
1948
|
-
result=$?
|
1949
|
-
|
1950
|
-
if [[ "$result" -gt 0 ]] ; then
|
1951
|
-
"$rvm_path/scripts/log" "error" \
|
1952
|
-
"There has been an error while trying to fetch the source. Halting the installation." ; return $result
|
1953
|
-
fi
|
1954
|
-
|
1955
|
-
if [[ ! -d "${rvm_src_path:-"$rvm_path/src"}/$rvm_gem_package_name" ]] ; then
|
1956
|
-
mkdir -p "${rvm_src_path:-"$rvm_path/src"}/$rvm_gem_package_name"
|
1957
|
-
fi
|
1958
|
-
|
1959
|
-
__rvm_run "rubygems.extract" \
|
1960
|
-
"gunzip < \"${rvm_archives_path:-"$rvm_path/archives"}/$rvm_gem_package_name.tgz\" | tar xf - -C ${rvm_src_path:-"$rvm_path/src"}" \
|
1961
|
-
"Extracting $rvm_gem_package_name ..."
|
1962
|
-
fi
|
1963
|
-
|
1964
|
-
builtin cd "${rvm_src_path:-"$rvm_path/src"}/$rvm_gem_package_name"
|
1965
|
-
|
1966
|
-
__rvm_run "rubygems.install" \
|
1967
|
-
"GEM_PATH='$rvm_ruby_gem_path:$rvm_ruby_global_gems_path' GEM_HOME='$rvm_ruby_gem_home' $rvm_ruby_home/bin/ruby ${rvm_src_path:-"$rvm_path/src"}/$rvm_gem_package_name/setup.rb"
|
1968
|
-
result=$?
|
1969
|
-
|
1970
|
-
if [[ $result -gt 0 ]] ; then
|
1971
|
-
"$rvm_path/scripts/log" "warning" \
|
1972
|
-
"$rvm_ruby_string - #warning Installation of rubygems $rvm_ruby_package_name did not complete successfully."
|
1973
|
-
fi
|
1974
|
-
|
1975
|
-
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
|
1976
|
-
|
1977
|
-
if [[ -n "$rvm_ruby_major_version" ]] ; then
|
1978
|
-
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/${rvm_ruby_release_version}.$rvm_ruby_major_version"
|
1979
|
-
else
|
1980
|
-
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/$interpreter"
|
1981
|
-
fi
|
1982
|
-
fi
|
1983
|
-
|
1984
|
-
if [[ -n "$ruby_lib_gem_path" ]]; then
|
1985
|
-
# Add ruby's gem path to ruby's lib direcotry.
|
1986
|
-
|
1987
|
-
if [[ -d "$ruby_lib_gem_path" ]] ; then
|
1988
|
-
rm -rf "$ruby_lib_gem_path"
|
1989
|
-
fi
|
1990
|
-
|
1991
|
-
mkdir -p ${ruby_lib_gem_path%\/*}
|
1992
|
-
|
1993
|
-
ln -nfs "$rvm_ruby_gem_home" "$ruby_lib_gem_path"
|
1994
|
-
|
1995
|
-
fi
|
1996
|
-
|
1997
|
-
if [[ -s "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/rdoc" ]] ; then
|
1998
|
-
__rvm_inject_ruby_shebang "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/rdoc"
|
1999
|
-
fi
|
2000
|
-
|
2001
|
-
if [[ -s "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/rake" ]] ; then
|
2002
|
-
__rvm_inject_ruby_shebang "${rvm_src_path:-"$rvm_path/src"}/$rvm_ruby_string/bin/rake"
|
2003
|
-
fi
|
2004
|
-
|
2005
|
-
return ${result:-0}
|
2006
|
-
}
|
2007
|
-
|
2008
|
-
__rvm_inject_ruby_shebang()
|
2009
|
-
{
|
2010
|
-
local actual_file
|
2011
|
-
|
2012
|
-
__rvm_actual_file $1
|
2013
|
-
|
2014
|
-
if [[ -f "$actual_file" ]] ; then
|
2015
|
-
sed -e '1,1s=.*=#!'"/usr/bin/env ruby=" ${actual_file} > "${actual_file}.new"
|
2016
|
-
|
2017
|
-
mv "${actual_file}.new" "${actual_file}" ; chmod +x "$actual_file"
|
2018
|
-
fi
|
2019
|
-
}
|
2020
|
-
|
2021
|
-
__rvm_inject_gem_env()
|
2022
|
-
{
|
2023
|
-
local actual_file string
|
2024
|
-
|
2025
|
-
__rvm_actual_file $1
|
2026
|
-
|
2027
|
-
if [[ -s "$actual_file" ]] ; then
|
2028
|
-
|
2029
|
-
if [[ -n "$(head -n 1 "$actual_file" | awk '/[j]*ruby/')" ]] ; then
|
2030
|
-
|
2031
|
-
string="ENV['GEM_HOME']=ENV['GEM_HOME'] || '$rvm_ruby_gem_home'\nENV['GEM_PATH']=ENV['GEM_PATH'] || '$rvm_ruby_gem_path'\nENV['PATH']='$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:' + ENV['PATH']\n"
|
2032
|
-
|
2033
|
-
elif [[ -n "$(head -n 1 "$actual_file" | awk '/bash/')" ]] ; then
|
2034
|
-
|
2035
|
-
string="GEM_HOME=\${GEM_HOME:-'$rvm_ruby_gem_home'}\nGEM_PATH=\${GEM_PATH:-'$rvm_ruby_gem_home:$rvm_ruby_global_gems_path'}\nPATH=$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:\$PATH\n"
|
2036
|
-
|
2037
|
-
fi
|
2038
|
-
|
2039
|
-
if [[ -n "$string" ]] ; then
|
2040
|
-
|
2041
|
-
awk "NR==2 {print \"$string\"} {print}" "$actual_file" \
|
2042
|
-
> "$actual_file.new"
|
2043
|
-
|
2044
|
-
mv $actual_file.new $actual_file ; chmod +x "$actual_file"
|
2045
|
-
|
2046
|
-
fi
|
2047
|
-
fi
|
2048
|
-
|
2049
|
-
return 0
|
2050
|
-
}
|
2051
|
-
|
2052
|
-
__rvm_actual_file()
|
2053
|
-
{
|
2054
|
-
if [[ -L "$1" ]] ; then # If the file is a symlink,
|
2055
|
-
|
2056
|
-
actual_file="$(readlink $1)" # read the link target so we can preserve it.
|
2057
|
-
|
2058
|
-
else
|
2059
|
-
|
2060
|
-
actual_file="$1"
|
2061
|
-
|
2062
|
-
fi
|
2063
|
-
|
2064
|
-
return 0
|
2065
|
-
}
|
2066
|
-
|
2067
|
-
__rvm_manage_rubies()
|
2068
|
-
{
|
2069
|
-
local manage_result bin_line
|
2070
|
-
|
2071
|
-
manage_result=0
|
2072
|
-
|
2073
|
-
rvm_gemset_name=""
|
2074
|
-
rvm_ruby_selected_flag=0
|
2075
|
-
|
2076
|
-
rvm_ruby_gem_home="${rvm_ruby_gem_home:-""//${rvm_gemset_separator:-"@"}*}"
|
2077
|
-
rvm_ruby_string="${rvm_ruby_string:-""//${rvm_gemset_separator:-"@"}*}"
|
2078
|
-
|
2079
|
-
# Given list of ruby strings.
|
2080
|
-
if [[ -n "${rubies_string:-""}" ]] ;then
|
2081
|
-
|
2082
|
-
rubies=(${rubies_string//,/ })
|
2083
|
-
|
2084
|
-
for rvm_ruby_string in "${rubies[@]}" ; do
|
2085
|
-
|
2086
|
-
current_ruby_string="$rvm_ruby_string"
|
2087
|
-
|
2088
|
-
rvm_hook="before_install" ; source "$rvm_path/scripts/hook"
|
2089
|
-
|
2090
|
-
eval "__rvm_${action}_ruby"
|
2091
|
-
result="$?"
|
2092
|
-
|
2093
|
-
if [[ "$result" -gt 0 && "$manage_result" = 0 ]]; then
|
2094
|
-
manage_result="$result"
|
2095
|
-
fi
|
2096
|
-
|
2097
|
-
if [[ "$result" = 0 && "$action" = "install" ]] ; then
|
2098
|
-
__rvm_record_install "$current_ruby_string"
|
2099
|
-
fi
|
2100
|
-
|
2101
|
-
unset current_ruby_string
|
2102
|
-
|
2103
|
-
__rvm_unset_ruby_variables
|
2104
|
-
|
2105
|
-
rvm_hook="after_install" ; source "$rvm_path/scripts/hook"
|
2106
|
-
|
2107
|
-
done
|
2108
|
-
|
2109
|
-
else # all
|
2110
|
-
|
2111
|
-
if [[ "$action" != "install" && "$action" != "remove" \
|
2112
|
-
&& "$action" != "uninstall" ]] ; then
|
2113
|
-
|
2114
|
-
local ruby_string
|
2115
|
-
|
2116
|
-
while read -r ruby_string
|
2117
|
-
do # Keep this on second line damnit!
|
2118
|
-
|
2119
|
-
if [[ -x "$ruby_string" ]] ; then
|
2120
|
-
rvm_ruby_string="$ruby_string"
|
2121
|
-
|
2122
|
-
eval "__rvm_${action}_ruby"
|
2123
|
-
result="$?"
|
2124
|
-
|
2125
|
-
if [[ "$result" -gt 0 && "$manage_result" = 0 ]]; then
|
2126
|
-
manage_result="$result"
|
2127
|
-
fi
|
2128
|
-
|
2129
|
-
# record as current_manage_string to prevent it being overridden.
|
2130
|
-
if [[ "$result" = 0 && "$action" = "install" ]] ; then
|
2131
|
-
__rvm_record_install "$ruby_string"
|
2132
|
-
fi
|
2133
|
-
|
2134
|
-
__rvm_unset_ruby_variables
|
2135
|
-
fi
|
2136
|
-
done < <(builtin cd "$rvm_path/rubies" ; \
|
2137
|
-
find . -maxdepth 1 -mindepth 1 -type d 2> /dev/null | sed -e 's#./##g')
|
2138
|
-
|
2139
|
-
else
|
2140
|
-
"$rvm_path/scripts/log" "warn" \
|
2141
|
-
'Really? '"$action"' all? See "rvm list known" and limit the selection to something more sane please :)'
|
2142
|
-
fi
|
2143
|
-
fi
|
2144
|
-
|
2145
|
-
# TODO: This should return the exit status of the command that got called.
|
2146
|
-
return $manage_result
|
2147
|
-
}
|
2148
|
-
|
2149
|
-
args=($*)
|
2150
|
-
action="${args[0]:-""}"
|
2151
|
-
rubies_string="${args[1]:-""}"
|
2152
|
-
args="$(echo ${args[@]:2}) " # Strip trailing / leading / extra spacing.
|
2153
|
-
binaries=()
|
2154
|
-
|
2155
|
-
__rvm_manage_rubies
|
2156
|
-
|
2157
|
-
exit $?
|