rvm 1.0.11 → 1.0.13
Sign up to get free protection for your applications and to get access to all the features.
- data/binscripts/rvm-prompt +99 -7
- data/binscripts/rvmsudo +1 -3
- data/config/db +4 -2
- data/config/known +4 -2
- data/config/md5 +2 -0
- data/contrib/install-system-wide +2 -2
- data/contrib/r +16 -0
- data/install +86 -31
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +2 -2
- data/scripts/array +6 -3
- data/scripts/cd +39 -10
- data/scripts/cleanup +9 -6
- data/scripts/cli +6 -5
- data/scripts/completion +2 -0
- data/scripts/db +2 -1
- data/scripts/default +6 -3
- data/scripts/disk-usage +12 -8
- data/scripts/docs +8 -4
- data/scripts/env +2 -1
- data/scripts/environment-convertor +12 -6
- data/scripts/fetch +4 -5
- data/scripts/gemsets +56 -33
- data/scripts/hash +2 -1
- data/scripts/info +18 -9
- data/scripts/install +86 -31
- data/scripts/list +22 -18
- data/scripts/manage +217 -114
- data/scripts/migrate +11 -5
- data/scripts/monitor +15 -5
- data/scripts/notes +2 -2
- data/scripts/override_gem +2 -1
- data/scripts/package +28 -15
- data/scripts/patches +6 -3
- data/scripts/patchsets +6 -3
- data/scripts/repair +48 -12
- data/scripts/rubygems +3 -2
- data/scripts/rvm-install +86 -31
- data/scripts/selector +43 -21
- data/scripts/set +10 -8
- data/scripts/snapshot +16 -6
- data/scripts/tools +8 -4
- data/scripts/update +86 -31
- data/scripts/upgrade +62 -24
- data/scripts/utility +362 -180
- data/scripts/version +5 -2
- data/scripts/wrapper +40 -20
- metadata +4 -4
data/scripts/selector
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
3
|
# __rvm_select implementation version patch_level
|
4
|
-
__rvm_select()
|
5
|
-
|
4
|
+
__rvm_select()
|
5
|
+
{
|
6
6
|
# Set Variable Defaults
|
7
7
|
export GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION
|
8
8
|
|
@@ -233,7 +233,7 @@ __rvm_select() {
|
|
233
233
|
|
234
234
|
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}"
|
235
235
|
|
236
|
-
if [[
|
236
|
+
if [[ -n "$rvm_gemset_name" ]] ; then
|
237
237
|
rvm_ruby_gem_home="${rvm_ruby_gem_home}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
238
238
|
rvm_ruby_gem_path="${rvm_ruby_gem_home}:${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}${rvm_gemset_separator:-"@"}global"
|
239
239
|
fi
|
@@ -254,7 +254,8 @@ __rvm_select() {
|
|
254
254
|
fi
|
255
255
|
}
|
256
256
|
|
257
|
-
__rvm_use()
|
257
|
+
__rvm_use()
|
258
|
+
{
|
258
259
|
local new_path binary full_binary_path rvm_ruby_gem_home
|
259
260
|
|
260
261
|
#if [[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] ; then __rvm_select "$@" ; fi
|
@@ -266,7 +267,7 @@ __rvm_use() {
|
|
266
267
|
|
267
268
|
unset GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
|
268
269
|
|
269
|
-
new_path="$
|
270
|
+
new_path="$(__rvm_remove_rvm_from_path ; printf "$PATH"):${rvm_bin_path:-"$rvm_path/bin"}"
|
270
271
|
|
271
272
|
if [[ -s $rvm_path/config/system ]] ; then
|
272
273
|
|
@@ -338,9 +339,13 @@ __rvm_use() {
|
|
338
339
|
fi
|
339
340
|
|
340
341
|
# Export ruby string and gem set me for extrenal scripts to take advantage of them.
|
341
|
-
if [[ -n "${rvm_ruby_string:-""}" ]] ; then
|
342
|
+
if [[ -n "${rvm_ruby_string:-""}" ]] ; then
|
343
|
+
export rvm_ruby_string
|
344
|
+
fi
|
342
345
|
|
343
|
-
if [[ -n "${rvm_gemset_name:-""}" ]] ; then
|
346
|
+
if [[ -n "${rvm_gemset_name:-""}" ]] ; then
|
347
|
+
export rvm_gemset_name
|
348
|
+
fi
|
344
349
|
|
345
350
|
if [[ -n "$new_path" ]]; then
|
346
351
|
export PATH="$new_path"
|
@@ -409,7 +414,8 @@ __rvm_use() {
|
|
409
414
|
return 0
|
410
415
|
}
|
411
416
|
|
412
|
-
__rvm_ruby_string()
|
417
|
+
__rvm_ruby_string()
|
418
|
+
{
|
413
419
|
# rvm_ruby_string may designate any of the following items:
|
414
420
|
# * rvm_gemset_name
|
415
421
|
# * rvm_ruby_interpreter
|
@@ -437,7 +443,7 @@ __rvm_ruby_string() {
|
|
437
443
|
rvm_ruby_string="system"
|
438
444
|
fi
|
439
445
|
fi
|
440
|
-
|
446
|
+
|
441
447
|
if echo "$rvm_ruby_string" | \grep -q "${rvm_gemset_separator:-"@"}" ; then
|
442
448
|
rvm_gemset_name="${rvm_ruby_string/*${rvm_gemset_separator:-"@"}/}"
|
443
449
|
rvm_ruby_string="${rvm_ruby_string/${rvm_gemset_separator:-"@"}*/}"
|
@@ -648,14 +654,13 @@ __rvm_ruby_string() {
|
|
648
654
|
|
649
655
|
# Select a gemset based on CLI set options and environment.
|
650
656
|
# This only sets 'rvm_ruby_gem_home'
|
651
|
-
__rvm_gemset_select()
|
652
|
-
|
657
|
+
__rvm_gemset_select()
|
658
|
+
{
|
653
659
|
command -v gem > /dev/null
|
654
660
|
if [[ $? -gt 0 ]] ; then return 0 ; fi # Stop if no 'gem' command is available.
|
655
661
|
|
656
662
|
rvm_ruby_gem_home=${rvm_ruby_gem_home:-""}
|
657
663
|
rvm_gemset_name=${rvm_gemset_name:-""}
|
658
|
-
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}global"
|
659
664
|
|
660
665
|
if [[ -z "${rvm_gemset_name:-""}" ]] ; then
|
661
666
|
|
@@ -672,7 +677,8 @@ __rvm_gemset_select() {
|
|
672
677
|
fi
|
673
678
|
fi
|
674
679
|
|
675
|
-
if
|
680
|
+
if [[ -n "${rvm_gemset_name:-""}" ]] &&
|
681
|
+
! echo "${rvm_gemset_name:-""}" | grep -q "^[[:digit:]]\.[[:digit:]]" ; then
|
676
682
|
|
677
683
|
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
678
684
|
|
@@ -729,9 +735,9 @@ __rvm_gemset_select() {
|
|
729
735
|
|
730
736
|
if [[ -z "${rvm_ruby_gem_home:-""}" && -n "${rvm_ruby_string:-""}" ]] ; then
|
731
737
|
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/$rvm_ruby_string"
|
732
|
-
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator}*}${rvm_gemset_separator:-"@"}global"
|
733
738
|
fi
|
734
739
|
|
740
|
+
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}global"
|
735
741
|
rvm_ruby_gem_path="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
736
742
|
|
737
743
|
# Ensure that the ruby gem home exists.
|
@@ -748,9 +754,11 @@ __rvm_gemset_select() {
|
|
748
754
|
}
|
749
755
|
|
750
756
|
# Use a gemset specified by 'rvm_ruby_gem_home'
|
751
|
-
__rvm_gemset_use()
|
757
|
+
__rvm_gemset_use()
|
758
|
+
{
|
752
759
|
if [[ -z "${rvm_gemset_name:-""}" ]] ; then
|
753
|
-
"$rvm_path/scripts/log" "error"
|
760
|
+
"$rvm_path/scripts/log" "error" \
|
761
|
+
"Gemset was not given.\n Usage:\n rvm gemset use <gemsetname>\n"
|
754
762
|
return 1
|
755
763
|
fi
|
756
764
|
|
@@ -758,10 +766,12 @@ __rvm_gemset_use() {
|
|
758
766
|
|
759
767
|
if [[ ! -d "$rvm_ruby_gem_home" ]] ; then
|
760
768
|
|
761
|
-
if [[ ${rvm_gemset_create_on_use_flag:-0} -eq 1
|
769
|
+
if [[ ${rvm_gemset_create_on_use_flag:-0} -eq 1 \
|
770
|
+
|| ${rvm_create_flag:-0} -eq 1 ]] ; then
|
762
771
|
"$rvm_path/scripts/gemsets" create "$rvm_gemset_name"
|
763
772
|
else
|
764
|
-
"$rvm_path/scripts/log" "error"
|
773
|
+
"$rvm_path/scripts/log" "error" \
|
774
|
+
"Gemset '$rvm_gemset_name' does not exist, rvm gemset create '$rvm_gemset_name' first."
|
765
775
|
return 1
|
766
776
|
fi
|
767
777
|
fi
|
@@ -771,9 +781,12 @@ __rvm_gemset_use() {
|
|
771
781
|
fi
|
772
782
|
|
773
783
|
rvm_ruby_gem_home="${GEM_HOME//${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
784
|
+
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}global"
|
785
|
+
|
774
786
|
GEM_HOME="$rvm_ruby_gem_home"
|
775
787
|
BUNDLE_PATH="$rvm_ruby_gem_home"
|
776
788
|
GEM_PATH="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
789
|
+
|
777
790
|
export rvm_ruby_gem_home GEM_HOME BUNDLE_PATH GEM_PATH
|
778
791
|
|
779
792
|
__rvm_use # Now ensure the selection takes effect for the environment.
|
@@ -782,14 +795,23 @@ __rvm_gemset_use() {
|
|
782
795
|
return 0
|
783
796
|
}
|
784
797
|
|
785
|
-
__rvm_gemset_clear()
|
786
|
-
|
798
|
+
__rvm_gemset_clear()
|
799
|
+
{
|
800
|
+
rvm_gemset_name=""
|
801
|
+
|
787
802
|
rvm_ruby_gem_home="${GEM_HOME//${rvm_gemset_separator:-"@"}*}"
|
788
|
-
|
803
|
+
|
804
|
+
rvm_ruby_global_gems_path="${rvm_ruby_gem_home}${rvm_gemset_separator:-"@"}global"
|
805
|
+
|
789
806
|
GEM_HOME=$rvm_ruby_gem_home
|
807
|
+
|
790
808
|
BUNDLE_PATH="$rvm_ruby_gem_home"
|
809
|
+
|
791
810
|
GEM_PATH="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
811
|
+
|
792
812
|
export rvm_ruby_gem_home rvm_ruby_global_gems_path GEM_HOME BUNDLE_PATH GEM_PATH
|
813
|
+
|
793
814
|
__rvm_use # Now ensure the selection takes effect for the environment.
|
815
|
+
|
794
816
|
}
|
795
817
|
|
data/scripts/set
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
source "$rvm_path/scripts/base"
|
4
4
|
|
5
|
-
__rvm_attempt_single_exec()
|
5
|
+
__rvm_attempt_single_exec()
|
6
|
+
{
|
6
7
|
# Return if we have multiple rubies. or we're not running exec.
|
7
8
|
if [[ "$action" = "exec" && ${#rvm_ruby_strings[@]} -lt 2 ]]; then
|
8
9
|
|
@@ -15,8 +16,8 @@ __rvm_attempt_single_exec() {
|
|
15
16
|
}
|
16
17
|
|
17
18
|
# Perform an action using one of a selected ruby's specified binaries.
|
18
|
-
__rvm_ruby_do()
|
19
|
-
|
19
|
+
__rvm_ruby_do()
|
20
|
+
{
|
20
21
|
# Return on invalid rubies.
|
21
22
|
__rvm_become "$current_set_ruby" || return 1
|
22
23
|
|
@@ -144,7 +145,8 @@ __rvm_ruby_do() {
|
|
144
145
|
}
|
145
146
|
|
146
147
|
# Output the summary in a human readable format.
|
147
|
-
__rvm_summary()
|
148
|
+
__rvm_summary()
|
149
|
+
{
|
148
150
|
export successes errors statuses
|
149
151
|
|
150
152
|
summary="\nSummary:\n\n"
|
@@ -172,8 +174,8 @@ __rvm_summary() {
|
|
172
174
|
}
|
173
175
|
|
174
176
|
# Output the summary in a yaml format.
|
175
|
-
__rvm_yaml()
|
176
|
-
|
177
|
+
__rvm_yaml()
|
178
|
+
{
|
177
179
|
export successes errors statuses
|
178
180
|
|
179
181
|
yaml="totals:\n rubies: ${#rubies[*]}\n successes: ${#successes[*]}\n errors: ${#errors[*]}\nsuccesses:"
|
@@ -210,8 +212,8 @@ __rvm_yaml() {
|
|
210
212
|
}
|
211
213
|
|
212
214
|
# Output the summary in a json format.
|
213
|
-
__rvm_json()
|
214
|
-
|
215
|
+
__rvm_json()
|
216
|
+
{
|
215
217
|
local index array_start
|
216
218
|
|
217
219
|
json="{
|
data/scripts/snapshot
CHANGED
@@ -5,7 +5,8 @@ unset GREP_OPTIONS
|
|
5
5
|
|
6
6
|
source "$rvm_path/scripts/base"
|
7
7
|
|
8
|
-
__error_on_result()
|
8
|
+
__error_on_result()
|
9
|
+
{
|
9
10
|
if [[ "$1" -gt 0 ]]; then
|
10
11
|
"$rvm_path/scripts/log" "fail" "$2 - Aborting now."
|
11
12
|
return 0
|
@@ -14,8 +15,8 @@ __error_on_result() {
|
|
14
15
|
fi
|
15
16
|
}
|
16
17
|
|
17
|
-
snapshot_save()
|
18
|
-
|
18
|
+
snapshot_save()
|
19
|
+
{
|
19
20
|
if [[ -z "$1" ]]; then
|
20
21
|
|
21
22
|
printf "
|
@@ -138,7 +139,10 @@ snapshot_save() {
|
|
138
139
|
"$rvm_path/scripts/log" "info" "Snapshot complete"
|
139
140
|
}
|
140
141
|
|
141
|
-
snapshot_load()
|
142
|
+
snapshot_load()
|
143
|
+
{
|
144
|
+
local package_info
|
145
|
+
|
142
146
|
if [[ -z "$1" ]]; then
|
143
147
|
echo "Usage: rvm snapshot load name" >&2
|
144
148
|
echo "Loads a snapshot from <name>.tar.gz in the current directory." >&2
|
@@ -176,13 +180,18 @@ snapshot_load() {
|
|
176
180
|
done; unset snapshot_package
|
177
181
|
|
178
182
|
"$rvm_path/scripts/log" "info" "Installing rubies"
|
183
|
+
|
179
184
|
chmod +x "$snapshot_temp_path/install-rubies.sh"
|
185
|
+
|
180
186
|
"$snapshot_temp_path/install-rubies.sh"
|
181
187
|
result="$?"
|
188
|
+
|
182
189
|
__error_on_result "$result" "Error importing rubies." && return "$result"
|
183
190
|
|
184
191
|
export rvm_create_flag=1
|
192
|
+
|
185
193
|
"$rvm_path/scripts/log" "info" "Setting up gemsets"
|
194
|
+
|
186
195
|
(
|
187
196
|
builtin cd "$snapshot_temp_path/gems"
|
188
197
|
|
@@ -213,6 +222,7 @@ snapshot_load() {
|
|
213
222
|
)
|
214
223
|
|
215
224
|
"$rvm_path/scripts/log" "info" "Restoring aliases"
|
225
|
+
|
216
226
|
while read -r package_info; do
|
217
227
|
# Note: this assumes an '=' int the input...
|
218
228
|
local alias_name="${package_info/=*}"
|
@@ -225,7 +235,6 @@ snapshot_load() {
|
|
225
235
|
__error_on_result "$result" "Error setting default to $alias_ruby" && return "$result"
|
226
236
|
fi
|
227
237
|
done < "$snapshot_temp_path/alias"
|
228
|
-
unset package_info
|
229
238
|
|
230
239
|
"$rvm_path/scripts/log" "info" "Cleaning up load process"
|
231
240
|
\rm -rf "$snapshot_temp_path"
|
@@ -233,7 +242,8 @@ snapshot_load() {
|
|
233
242
|
"$rvm_path/scripts/log" "info" "Loaded snapshot from $(basename "$snapshot_archive")"
|
234
243
|
}
|
235
244
|
|
236
|
-
snapshot_usage()
|
245
|
+
snapshot_usage()
|
246
|
+
{
|
237
247
|
echo "Usage: rvm snapshot {save,load} file" >&2
|
238
248
|
return 1
|
239
249
|
}
|
data/scripts/tools
CHANGED
@@ -2,17 +2,20 @@
|
|
2
2
|
|
3
3
|
source "$rvm_path/scripts/base"
|
4
4
|
|
5
|
-
usage()
|
5
|
+
usage()
|
6
|
+
{
|
6
7
|
echo "Usage: rvm tools {identifier,path-identifier,strings}" 1>&2
|
7
8
|
exit 1
|
8
9
|
}
|
9
10
|
|
10
11
|
# Return the identifier that's current in use.
|
11
|
-
tools_identifier()
|
12
|
+
tools_identifier()
|
13
|
+
{
|
12
14
|
__rvm_environment_identifier
|
13
15
|
}
|
14
16
|
|
15
|
-
tools_path_identifier()
|
17
|
+
tools_path_identifier()
|
18
|
+
{
|
16
19
|
if [[ -z "$1" || ! -d "$1" ]]; then
|
17
20
|
echo "Usage: rvm tools path-identifier 'path-to-check'"
|
18
21
|
return 1
|
@@ -26,7 +29,8 @@ tools_path_identifier() {
|
|
26
29
|
exit $rvmrc_result
|
27
30
|
}
|
28
31
|
|
29
|
-
tools_strings()
|
32
|
+
tools_strings()
|
33
|
+
{
|
30
34
|
for ruby_name in "$@"; do
|
31
35
|
__rvm_unset_ruby_variables
|
32
36
|
rvm_ruby_string="$ruby_name"
|
data/scripts/update
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
3
|
set -o errtrace
|
4
|
+
set -o errexit
|
5
|
+
|
4
6
|
export PS4='+[${BASH_SOURCE}] : ${LINENO} : ${FUNCNAME[0]:+${FUNCNAME[0]}() $ }'
|
5
7
|
|
6
8
|
if [[ -z "$rvm_selfcontained" ]]; then
|
7
|
-
if [[ "root" = "$(whoami)"
|
9
|
+
if [[ "root" = "$(whoami)" \
|
10
|
+
|| -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
|
8
11
|
export rvm_selfcontained=0
|
9
12
|
else
|
10
13
|
export rvm_selfcontained=1
|
@@ -15,34 +18,49 @@ unset rvm_auto_flag
|
|
15
18
|
|
16
19
|
install_source_path="$(dirname "$0" | sed 's#\/scripts$##')"
|
17
20
|
|
18
|
-
if [[ -d "$install_source_path/scripts"
|
21
|
+
if [[ -d "$install_source_path/scripts" \
|
22
|
+
&& -s "$install_source_path/scripts/utility" ]] ; then
|
19
23
|
builtin cd "$install_source_path"
|
20
24
|
fi
|
21
25
|
|
22
26
|
source scripts/version
|
23
27
|
source scripts/utility
|
24
28
|
|
25
|
-
usage()
|
29
|
+
usage()
|
30
|
+
{
|
26
31
|
printf "
|
27
32
|
Usage:
|
33
|
+
|
28
34
|
${0} [options]
|
29
35
|
|
30
36
|
options:
|
37
|
+
|
31
38
|
--auto : Automatically update shell profile files.
|
39
|
+
|
32
40
|
--prefix : Installation prefix directory.
|
41
|
+
|
33
42
|
--help : Display help/usage (this) message
|
43
|
+
|
34
44
|
--version : display rvm package version
|
45
|
+
|
35
46
|
"
|
36
47
|
}
|
37
48
|
|
38
|
-
check_rubyopt_conditions()
|
49
|
+
check_rubyopt_conditions()
|
50
|
+
{
|
39
51
|
if [[ -n "${RUBYOPT:-""}" ]]; then
|
40
|
-
printf "
|
41
|
-
|
52
|
+
printf "
|
53
|
+
|
54
|
+
WARNING: You have RUBYOPT set in your current environment.
|
55
|
+
This may cause rubies to not work as you expect them to as it is not supported
|
56
|
+
by all of them If errors show up, please try unsetting RUBYOPT first.
|
57
|
+
|
58
|
+
"
|
42
59
|
fi
|
43
60
|
}
|
44
61
|
|
45
|
-
andand_return_instructions()
|
62
|
+
andand_return_instructions()
|
63
|
+
{
|
46
64
|
printf "
|
47
65
|
This means that if you see something like:
|
48
66
|
|
@@ -63,7 +81,8 @@ EOF - This marks the end of the .bashrc file
|
|
63
81
|
"
|
64
82
|
}
|
65
83
|
|
66
|
-
installation_complete()
|
84
|
+
installation_complete()
|
85
|
+
{
|
67
86
|
printf "
|
68
87
|
You must now complete the install by loading RVM in new shells.
|
69
88
|
|
@@ -91,7 +110,8 @@ installation_complete() {
|
|
91
110
|
\n"
|
92
111
|
}
|
93
112
|
|
94
|
-
andand_return_warning()
|
113
|
+
andand_return_warning()
|
114
|
+
{
|
95
115
|
printf "
|
96
116
|
WARNING: you have a 'return' statement in your ~/.bashrc
|
97
117
|
This could cause some features of RVM to not work.
|
@@ -104,7 +124,8 @@ andand_return_warning() {
|
|
104
124
|
\n"
|
105
125
|
}
|
106
126
|
|
107
|
-
thank_you()
|
127
|
+
thank_you()
|
128
|
+
{
|
108
129
|
printf "
|
109
130
|
${name:-"$(whoami)"},
|
110
131
|
|
@@ -135,7 +156,8 @@ or opening a new shell
|
|
135
156
|
"
|
136
157
|
}
|
137
158
|
|
138
|
-
upgrade_notes()
|
159
|
+
upgrade_notes()
|
160
|
+
{
|
139
161
|
printf "
|
140
162
|
|
141
163
|
Upgrade Notes
|
@@ -187,14 +209,23 @@ fi
|
|
187
209
|
|
188
210
|
source scripts/initialize
|
189
211
|
|
190
|
-
if grep -q 'scripts/rvm' "$HOME"/.bash* 2>/dev/null
|
212
|
+
if grep -q 'scripts/rvm' "$HOME"/.bash* 2>/dev/null \
|
213
|
+
|| grep -q 'scripts/rvm' "$HOME"/.zsh* 2>/dev/null ; then
|
214
|
+
|
191
215
|
if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then
|
216
|
+
|
192
217
|
export upgrade_flag=1
|
218
|
+
|
193
219
|
else
|
220
|
+
|
194
221
|
export upgrade_flag=0
|
222
|
+
|
195
223
|
fi
|
224
|
+
|
196
225
|
else
|
226
|
+
|
197
227
|
export upgrade_flag=0
|
228
|
+
|
198
229
|
fi
|
199
230
|
|
200
231
|
__rvm_initialize
|
@@ -237,7 +268,17 @@ else
|
|
237
268
|
|
238
269
|
fi
|
239
270
|
|
240
|
-
directories=(
|
271
|
+
directories=(
|
272
|
+
"${rvm_archives_path:-"$rvm_path/archives"}"
|
273
|
+
"${rvm_src_path:-"$rvm_path/src"}"
|
274
|
+
"${rvm_log_path:-"$rvm_path/log"}"
|
275
|
+
"$rvm_bin_path"
|
276
|
+
"${rvm_gems_path:-"$rvm_path/gems"}"
|
277
|
+
"${rvm_rubies_path:-"$rvm_path/rubies"}"
|
278
|
+
"$rvm_path/config"
|
279
|
+
"${rvm_tmp_path:-"$rvm_path/tmp"}"
|
280
|
+
"$rvm_path/bin"
|
281
|
+
)
|
241
282
|
|
242
283
|
for directory in "${directories[@]}" ; do
|
243
284
|
|
@@ -277,7 +318,8 @@ for dir_name in config scripts examples lib hooks help patches; do
|
|
277
318
|
done
|
278
319
|
|
279
320
|
if [[ ! -s "$rvm_path/config/user" ]] ; then
|
280
|
-
echo '#
|
321
|
+
echo '# User settings, overrides db settings and persists across installs.' \
|
322
|
+
>> "$rvm_path/config/user"
|
281
323
|
fi
|
282
324
|
|
283
325
|
scripts=(monitor match log install color db fetch log set package)
|
@@ -321,9 +363,12 @@ if [[ ${rvm_auto_flag:-0} -eq 1 ]] ; then
|
|
321
363
|
|
322
364
|
if ! grep -q '.profile' "$rcfile" ; then
|
323
365
|
|
324
|
-
echo " Adding
|
366
|
+
echo " Adding profile sourcing line to $rcfile."
|
325
367
|
|
326
|
-
printf "
|
368
|
+
printf "
|
369
|
+
# rvm-install added line:
|
370
|
+
[[ -s \$HOME/.profile ]] && source \$HOME/.profile
|
371
|
+
" >> "$rcfile"
|
327
372
|
|
328
373
|
fi
|
329
374
|
|
@@ -331,9 +376,12 @@ if [[ ${rvm_auto_flag:-0} -eq 1 ]] ; then
|
|
331
376
|
|
332
377
|
if ! grep -q "scripts\/rvm" "$rcfile" ; then
|
333
378
|
|
334
|
-
echo " Adding
|
379
|
+
echo " Adding rvm loading line to $rcfile."
|
335
380
|
|
336
|
-
printf "
|
381
|
+
printf "
|
382
|
+
# rvm-install added:
|
383
|
+
[[ -s \"$rvm_path/.rvm/scripts/rvm\" ]] && . \"$rvm_path/.rvm/scripts/rvm\"
|
384
|
+
" >> "$rcfile"
|
337
385
|
|
338
386
|
fi
|
339
387
|
|
@@ -352,9 +400,10 @@ if [[ -d gemsets/ ]] ; then
|
|
352
400
|
|
353
401
|
fi
|
354
402
|
|
355
|
-
for gemset_file in $(
|
403
|
+
for gemset_file in $(find "$PWD/gemsets" -iname '*.gems' | sed 's/^\.\///') ; do
|
356
404
|
|
357
|
-
|
405
|
+
cwd="${PWD//\//\\/}\/gemsets\/"
|
406
|
+
destination="$rvm_path/gemsets/${gemset_file/$cwd}"
|
358
407
|
|
359
408
|
destination_path="$(dirname "$destination")"
|
360
409
|
|
@@ -362,7 +411,7 @@ if [[ -d gemsets/ ]] ; then
|
|
362
411
|
|
363
412
|
mkdir -p "$destination_path"
|
364
413
|
|
365
|
-
cp "
|
414
|
+
cp "$gemset_file" "$destination"
|
366
415
|
|
367
416
|
fi
|
368
417
|
|
@@ -404,7 +453,8 @@ fi
|
|
404
453
|
#
|
405
454
|
mkdir -p "${rvm_rubies_path:-"$rvm_path/rubies"}/"
|
406
455
|
|
407
|
-
for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-*
|
456
|
+
for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* \
|
457
|
+
$rvm_path/rbx-* $rvm_path/maglev-* $rvm_path/ree-* ; do
|
408
458
|
|
409
459
|
if [[ -d "$ruby" ]] ; then
|
410
460
|
|
@@ -416,7 +466,8 @@ for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* $rvm_path/rbx-*
|
|
416
466
|
|
417
467
|
if [[ -s "$new_path/bin/$file" ]] ; then
|
418
468
|
|
419
|
-
sed -e '1,1s=.*=#!'"${new_path}/bin/ruby=" "${new_path}/bin/${file}"
|
469
|
+
sed -e '1,1s=.*=#!'"${new_path}/bin/ruby=" "${new_path}/bin/${file}" \
|
470
|
+
> "${new_path}/bin/${file}.new"
|
420
471
|
|
421
472
|
mv -f "$new_path/bin/$file.new" "$new_path/bin/$file"
|
422
473
|
|
@@ -481,7 +532,8 @@ done
|
|
481
532
|
# Move from legacy defaults to the new, alias based system.
|
482
533
|
if [[ -s "$rvm_path/config/default" ]]; then
|
483
534
|
|
484
|
-
original_version="$(basename "$(grep GEM_HOME "$rvm_path/config/default"
|
535
|
+
original_version="$(basename "$(grep GEM_HOME "$rvm_path/config/default" \
|
536
|
+
| awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator:-"@"}#")")"
|
485
537
|
|
486
538
|
if [[ -n "$original_version" ]]; then
|
487
539
|
|
@@ -505,19 +557,24 @@ mkdir -p "${rvm_bin_path:-"$rvm_path/bin"}"
|
|
505
557
|
files=(rvm rvmsudo rvm-shell rvm-auto-ruby)
|
506
558
|
for file in "${files[@]}" ; do
|
507
559
|
|
508
|
-
[[ -s "${rvm_bin_path:-"$rvm_path/bin"}/$file" ]]
|
560
|
+
if [[ -s "${rvm_bin_path:-"$rvm_path/bin"}/$file" ]] ; then
|
561
|
+
|
562
|
+
chmod +x "${rvm_bin_path:-"$rvm_path/bin"}/$file"
|
563
|
+
|
564
|
+
fi
|
509
565
|
|
510
566
|
done
|
511
567
|
|
512
568
|
printf "\n Copying manpages into place."
|
513
569
|
|
514
|
-
files=($(builtin cd "$install_source_path/man" ;
|
570
|
+
files=($(builtin cd "$install_source_path/man" ; \
|
571
|
+
find . -maxdepth 1 -mindepth 1 -type f -print))
|
515
572
|
|
516
573
|
for file in "${files[@]//.\/}" ; do
|
517
574
|
|
518
|
-
rm -rf "$rvm_man_path/$
|
575
|
+
rm -rf "$rvm_man_path/$file"
|
519
576
|
|
520
|
-
cp -R "$install_source_path/man/$
|
577
|
+
cp -R "$install_source_path/man/$file" "$rvm_man_path/"
|
521
578
|
|
522
579
|
done
|
523
580
|
|
@@ -537,7 +594,7 @@ if [[ ${#files[@]} -gt 0 ]] ; then
|
|
537
594
|
fi
|
538
595
|
|
539
596
|
if [[ $upgrade_flag -eq 0 ]] ; then
|
540
|
-
chmod +x ./
|
597
|
+
chmod +x ./scripts/notes # Sometimes things don't clone properly :/
|
541
598
|
./scripts/notes
|
542
599
|
fi
|
543
600
|
|
@@ -549,8 +606,6 @@ if [[ ${upgrade_flag:-0} -eq 1 ]] ; then
|
|
549
606
|
|
550
607
|
check_rubyopt_conditions
|
551
608
|
|
552
|
-
regenerate_wrappers
|
553
|
-
|
554
609
|
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
|
555
610
|
|
556
611
|
else
|