rvm 1.0.11 → 1.0.13
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/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/hash
CHANGED
@@ -13,7 +13,8 @@ if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
|
|
13
13
|
|
14
14
|
if [[ -n "${ZSH_VERSION:-""}" ]] ; then __array_start=1 ; else __array_start=0 ; fi
|
15
15
|
|
16
|
-
hash()
|
16
|
+
hash()
|
17
|
+
{
|
17
18
|
hash_name=$1 ; hash_key=$2 ; hash_value=$3
|
18
19
|
|
19
20
|
eval "_hash_${hash_name}_keys=\${_hash_${hash_name}_keys:-()} ; _hash_${hash_name}_values=\${_hash_${hash_name}_values:-()}"
|
data/scripts/info
CHANGED
@@ -6,7 +6,8 @@ source "$rvm_path/scripts/base"
|
|
6
6
|
|
7
7
|
source "$rvm_path/scripts/version"
|
8
8
|
|
9
|
-
version_for()
|
9
|
+
version_for()
|
10
|
+
{
|
10
11
|
local binary=${1:-""}
|
11
12
|
|
12
13
|
if command -v "$binary" >/dev/null ; then
|
@@ -18,7 +19,8 @@ version_for() {
|
|
18
19
|
return 0
|
19
20
|
}
|
20
21
|
|
21
|
-
info_system()
|
22
|
+
info_system()
|
23
|
+
{
|
22
24
|
rvm_info="
|
23
25
|
system:
|
24
26
|
uname: \"$(uname -a)\"
|
@@ -27,7 +29,8 @@ info_system() {
|
|
27
29
|
"
|
28
30
|
}
|
29
31
|
|
30
|
-
info_rvm()
|
32
|
+
info_rvm()
|
33
|
+
{
|
31
34
|
rvm_info="
|
32
35
|
rvm:
|
33
36
|
version: \"$(__rvm_version | \tr "\n" ' ' | __rvm_strip)\"
|
@@ -35,7 +38,8 @@ info_rvm() {
|
|
35
38
|
|
36
39
|
}
|
37
40
|
|
38
|
-
info_ruby()
|
41
|
+
info_ruby()
|
42
|
+
{
|
39
43
|
[[ "$(__rvm_environment_identifier)" == "system" ]] && return
|
40
44
|
ruby=$(command -v ruby)
|
41
45
|
if [[ $? -eq 0 ]] && [[ -x "$ruby" ]] ; then full_version="$($ruby -v)" ; fi
|
@@ -51,7 +55,8 @@ info_ruby() {
|
|
51
55
|
|
52
56
|
}
|
53
57
|
|
54
|
-
info_homes()
|
58
|
+
info_homes()
|
59
|
+
{
|
55
60
|
rvm_info="
|
56
61
|
homes:
|
57
62
|
gem: \"${GEM_HOME:-"not set"}\"
|
@@ -59,7 +64,8 @@ info_homes() {
|
|
59
64
|
"
|
60
65
|
}
|
61
66
|
|
62
|
-
info_binaries()
|
67
|
+
info_binaries()
|
68
|
+
{
|
63
69
|
rvm_info="
|
64
70
|
binaries:
|
65
71
|
ruby: \"$(command -v ruby)\"
|
@@ -69,7 +75,8 @@ info_binaries() {
|
|
69
75
|
"
|
70
76
|
}
|
71
77
|
|
72
|
-
info_environment()
|
78
|
+
info_environment()
|
79
|
+
{
|
73
80
|
rvm_info="
|
74
81
|
environment:
|
75
82
|
PATH: \"${PATH:-""}\"
|
@@ -89,7 +96,8 @@ info_environment() {
|
|
89
96
|
rvm_info="$rvm_info\n"
|
90
97
|
}
|
91
98
|
|
92
|
-
info_debug()
|
99
|
+
info_debug()
|
100
|
+
{
|
93
101
|
rvm_info="
|
94
102
|
|
95
103
|
$(__rvm_version)
|
@@ -144,7 +152,8 @@ $(__rvm_version)
|
|
144
152
|
rvm_info="$rvm_info\ngem sources:\n$(gem sources | awk '/gems/')\n\n"
|
145
153
|
}
|
146
154
|
|
147
|
-
info_sections()
|
155
|
+
info_sections()
|
156
|
+
{
|
148
157
|
|
149
158
|
for section in $(printf "${sections//,/ }") ; do
|
150
159
|
|
data/scripts/install
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
|
data/scripts/list
CHANGED
@@ -4,7 +4,8 @@ rvm_base_except="selector"
|
|
4
4
|
|
5
5
|
source "$rvm_path/scripts/base"
|
6
6
|
|
7
|
-
usage()
|
7
|
+
usage()
|
8
|
+
{
|
8
9
|
printf "
|
9
10
|
Usage:
|
10
11
|
|
@@ -12,13 +13,15 @@ usage() {
|
|
12
13
|
|
13
14
|
Actions:
|
14
15
|
|
15
|
-
{help,known,gemsets,default [string],rubies,strings,known_strings}
|
16
|
+
{help,known,gemsets,default [string],rubies,strings,known_strings,ruby_svn_tags}
|
16
17
|
|
17
18
|
"
|
19
|
+
|
18
20
|
return 0
|
19
21
|
}
|
20
22
|
|
21
|
-
list_gemsets()
|
23
|
+
list_gemsets()
|
24
|
+
{
|
22
25
|
local all_rubies version versions ruby_version_name current_ruby selected system_ruby system_version string binary
|
23
26
|
|
24
27
|
if [[ "${1:-""}" = "strings" ]]; then
|
@@ -93,7 +96,8 @@ list_gemsets() {
|
|
93
96
|
return 0
|
94
97
|
}
|
95
98
|
|
96
|
-
list_default()
|
99
|
+
list_default()
|
100
|
+
{
|
97
101
|
|
98
102
|
local version string
|
99
103
|
|
@@ -128,8 +132,8 @@ list_default() {
|
|
128
132
|
return 0
|
129
133
|
}
|
130
134
|
|
131
|
-
list_ruby_svn_tags()
|
132
|
-
|
135
|
+
list_ruby_svn_tags()
|
136
|
+
{
|
133
137
|
local prefix tag
|
134
138
|
|
135
139
|
while read -r tag
|
@@ -145,8 +149,8 @@ list_ruby_svn_tags() {
|
|
145
149
|
|
146
150
|
# Query for valid rvm ruby strings
|
147
151
|
# This is meant to be used with scripting.
|
148
|
-
list_strings()
|
149
|
-
|
152
|
+
list_strings()
|
153
|
+
{
|
150
154
|
(
|
151
155
|
cd "$rvm_path/rubies"
|
152
156
|
|
@@ -157,8 +161,8 @@ list_strings() {
|
|
157
161
|
}
|
158
162
|
|
159
163
|
# This is meant to be used with scripting.
|
160
|
-
list_gemset_strings()
|
161
|
-
|
164
|
+
list_gemset_strings()
|
165
|
+
{
|
162
166
|
local all_rubies ruby_name gemset gemsets
|
163
167
|
|
164
168
|
all_rubies="$(list_strings)"
|
@@ -178,15 +182,15 @@ list_gemset_strings() {
|
|
178
182
|
}
|
179
183
|
|
180
184
|
# This is meant to be used with scripting.
|
181
|
-
list_known_strings()
|
182
|
-
|
185
|
+
list_known_strings()
|
186
|
+
{
|
183
187
|
sed -e 's/#.*$//g' -e 's#\[##g' -e 's#\]##g' < "$rvm_path/config/known" | sort -r | uniq
|
184
188
|
|
185
189
|
return $?
|
186
190
|
}
|
187
191
|
|
188
|
-
list_known()
|
189
|
-
|
192
|
+
list_known()
|
193
|
+
{
|
190
194
|
if [[ "${1:-""}" = "strings" ]]; then
|
191
195
|
|
192
196
|
list_known_strings
|
@@ -207,15 +211,15 @@ list_known() {
|
|
207
211
|
return $?
|
208
212
|
}
|
209
213
|
|
210
|
-
list_rubies_strings()
|
211
|
-
|
214
|
+
list_rubies_strings()
|
215
|
+
{
|
212
216
|
( builtin cd "$rvm_path/rubies" ; find -maxdepth 0 -type d | tail -n+2 | xargs -n1 basename -- | __rvm_strip )
|
213
217
|
|
214
218
|
return $?
|
215
219
|
}
|
216
220
|
|
217
|
-
list_rubies()
|
218
|
-
|
221
|
+
list_rubies()
|
222
|
+
{
|
219
223
|
local current_ruby rubies version selected system_ruby system_version string binary
|
220
224
|
|
221
225
|
if [[ "${1:-""}" = "strings" ]]; then list_rubies_strings ; return 0 ; fi
|