rvm 1.0.7 → 1.0.8
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-auto-ruby +6 -1
- data/binscripts/rvmsudo +22 -6
- data/config/db +1 -1
- data/config/known +1 -1
- data/config/md5 +4 -4
- data/examples/rvmrc +0 -4
- data/install +21 -23
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +2 -2
- data/scripts/alias +22 -14
- data/scripts/base +6 -0
- data/scripts/cd +4 -5
- data/scripts/cli +22 -14
- data/scripts/docs +41 -13
- data/scripts/env +1 -1
- data/scripts/environment-convertor +1 -1
- data/scripts/fetch +139 -27
- data/scripts/gemsets +71 -23
- data/scripts/hook +2 -2
- data/scripts/info +13 -2
- data/scripts/initialize +3 -22
- data/scripts/install +21 -23
- data/scripts/list +21 -21
- data/scripts/log +2 -1
- data/scripts/manage +191 -142
- data/scripts/migrate +21 -12
- data/scripts/notes +1 -1
- data/scripts/package +41 -23
- data/scripts/repair +16 -10
- data/scripts/rubygems +68 -18
- data/scripts/rvm +22 -5
- data/scripts/rvm-install +21 -23
- data/scripts/selector +43 -44
- data/scripts/snapshot +55 -19
- data/scripts/update +21 -23
- data/scripts/upgrade +18 -5
- data/scripts/utility +269 -126
- data/scripts/wrapper +21 -8
- metadata +4 -4
data/scripts/rvm-install
CHANGED
@@ -194,9 +194,6 @@ question="\n<?>"
|
|
194
194
|
cwd="$PWD"
|
195
195
|
|
196
196
|
source_path="${source_path:-$cwd}"
|
197
|
-
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
198
|
-
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
199
|
-
rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
200
197
|
|
201
198
|
if [[ "$rvm_selfcontained" = "0" ]] ; then
|
202
199
|
rvm_bin_path="${rvm_bin_path:-"${rvm_prefix}bin"}"
|
@@ -209,9 +206,6 @@ else
|
|
209
206
|
fi
|
210
207
|
|
211
208
|
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
212
|
-
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
213
|
-
rvm_config_path="${rvm_config_path:-"$rvm_path/config"}"
|
214
|
-
rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
|
215
209
|
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
216
210
|
|
217
211
|
printf "
|
@@ -230,7 +224,9 @@ else
|
|
230
224
|
|
231
225
|
fi
|
232
226
|
|
233
|
-
|
227
|
+
directories=( "${rvm_archives_path:-"$rvm_path/archives"}" "${rvm_src_path:-"$rvm_path/src"}" "${rvm_log_path:-"$rvm_path/log"}" "$rvm_bin_path" "${rvm_gems_path:-"$rvm_path/gems"}" "${rvm_rubies_path:-"$rvm_path/rubies"}" "$rvm_path/config" "${rvm_tmp_path:-"$rvm_path/tmp"}" )
|
228
|
+
|
229
|
+
for directory in "${directories[@]}" ; do
|
234
230
|
|
235
231
|
if [[ ! -d "$directory" ]] ; then
|
236
232
|
|
@@ -240,7 +236,9 @@ for directory in "$rvm_archives_path" "$rvm_src_path" "$rvm_log_path" "$rvm_bin_
|
|
240
236
|
|
241
237
|
done
|
242
238
|
|
243
|
-
|
239
|
+
files=(README LICENCE)
|
240
|
+
|
241
|
+
for file in "${files[@]}"; do
|
244
242
|
|
245
243
|
cp -f "$source_path/$file" "$rvm_path/"
|
246
244
|
|
@@ -265,8 +263,8 @@ for dir_name in config scripts examples lib hooks help patches; do
|
|
265
263
|
|
266
264
|
done
|
267
265
|
|
268
|
-
if [[ ! -s "$
|
269
|
-
echo '# Users settings file, overrides db file settings and persists across installs.' >> "$
|
266
|
+
if [[ ! -s "$rvm_path/config/user" ]] ; then
|
267
|
+
echo '# Users settings file, overrides db file settings and persists across installs.' >> "$rvm_path/config/user"
|
270
268
|
fi
|
271
269
|
|
272
270
|
scripts=(monitor match log install color db fetch log set package)
|
@@ -281,15 +279,17 @@ done
|
|
281
279
|
# Bin Scripts
|
282
280
|
#
|
283
281
|
# Cleanse and purge...
|
284
|
-
|
282
|
+
files=(rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby)
|
283
|
+
|
284
|
+
for file in "${files[@]}" ; do
|
285
285
|
|
286
286
|
rm -f "$rvm_bin_path/$file"
|
287
287
|
|
288
|
-
cp -f "$source_path/binscripts/$file" $rvm_bin_path/
|
288
|
+
cp -f "$source_path/binscripts/$file" "${rvm_bin_path:-"$rvm_path/bin"}/"
|
289
289
|
|
290
290
|
done
|
291
291
|
|
292
|
-
chmod +x "$rvm_bin_path"/* # TODO: this is quite suboptimal.
|
292
|
+
chmod +x "${rvm_bin_path:-"$rvm_path/bin"}"/* # TODO: this is quite suboptimal.
|
293
293
|
|
294
294
|
#
|
295
295
|
# RC Files
|
@@ -389,17 +389,15 @@ fi
|
|
389
389
|
#
|
390
390
|
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
391
391
|
#
|
392
|
-
|
393
|
-
|
394
|
-
mkdir -p "$rvm_rubies_path/"
|
392
|
+
mkdir -p "${rvm_rubies_path:-"$rvm_path/rubies"}/"
|
395
393
|
|
396
394
|
for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* $rvm_path/rbx-* $rvm_path/maglev-* $rvm_path/ree-* ; do
|
397
395
|
|
398
396
|
if [[ -d "$ruby" ]] ; then
|
399
397
|
|
400
|
-
mv "$ruby" "$rvm_rubies_path/"
|
398
|
+
mv "$ruby" "${rvm_rubies_path:-"$rvm_path/rubies"}/"
|
401
399
|
|
402
|
-
new_path="$rvm_rubies_path/$(basename $ruby)"
|
400
|
+
new_path="${rvm_rubies_path:-"$rvm_path/rubies"}/$(basename $ruby)"
|
403
401
|
|
404
402
|
for file in gem rake ; do
|
405
403
|
|
@@ -468,9 +466,9 @@ for gemset in "$rvm_path"/gems/*\@ ; do
|
|
468
466
|
done
|
469
467
|
|
470
468
|
# Move from legacy defaults to the new, alias based system.
|
471
|
-
if [[ -s "$
|
469
|
+
if [[ -s "$rvm_path/config/default" ]]; then
|
472
470
|
|
473
|
-
original_version="$(basename "$(grep GEM_HOME "$
|
471
|
+
original_version="$(basename "$(grep GEM_HOME "$rvm_path/config/default" | awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator:-"@"}#")")"
|
474
472
|
|
475
473
|
if [[ -n "$original_version" ]]; then
|
476
474
|
|
@@ -478,7 +476,7 @@ if [[ -s "$rvm_config_path/default" ]]; then
|
|
478
476
|
|
479
477
|
fi ; unset original_version
|
480
478
|
|
481
|
-
rm -rf "$
|
479
|
+
rm -rf "$rvm_path/config/default"
|
482
480
|
|
483
481
|
fi
|
484
482
|
|
@@ -487,11 +485,11 @@ fi
|
|
487
485
|
#
|
488
486
|
printf "\n Correct permissions for base binaries in $rvm_bin_path..."
|
489
487
|
|
490
|
-
mkdir -p "$rvm_bin_path"
|
488
|
+
mkdir -p "${rvm_bin_path:-"$rvm_path/bin"}"
|
491
489
|
|
492
490
|
for file in rvm rvmsudo rvm-shell rvm-auto-ruby ; do
|
493
491
|
|
494
|
-
[[ -s "$rvm_bin_path/$file" ]] && chmod +x "$rvm_bin_path/$file"
|
492
|
+
[[ -s "${rvm_bin_path:-"$rvm_path/bin"}/$file" ]] && chmod +x "${rvm_bin_path:-"$rvm_path/bin"}/$file"
|
495
493
|
|
496
494
|
done
|
497
495
|
|
data/scripts/selector
CHANGED
@@ -107,7 +107,7 @@ __rvm_select() {
|
|
107
107
|
rvm_ruby_package_name="${rvm_ruby_interpreter}-${rvm_ruby_version}"
|
108
108
|
rvm_ruby_url="${rvm_ruby_url:-"$maglev_url/${rvm_ruby_package_file}.${rvm_archive_extension}"}"
|
109
109
|
rvm_gemstone_url="${rvm_gemstone_url:-"$maglev_url/${rvm_gemstone_package_file}.${rvm_archive_extension}"}"
|
110
|
-
export MAGLEV_HOME="$
|
110
|
+
export MAGLEV_HOME="$rvm_path/rubies/$rvm_ruby_string"
|
111
111
|
fi
|
112
112
|
;;
|
113
113
|
|
@@ -218,42 +218,40 @@ __rvm_select() {
|
|
218
218
|
fi
|
219
219
|
|
220
220
|
rvm_ruby_package_name="${rvm_ruby_package_name:-${rvm_ruby_string//-n*}}"
|
221
|
-
rvm_ruby_home="$
|
222
|
-
rvm_ruby_log_path="$rvm_log_path/$rvm_ruby_string"
|
223
|
-
rvm_ruby_repo_path="$rvm_repo_path/$rvm_ruby_string"
|
224
|
-
rvm_ruby_src_path="$rvm_src_path/$rvm_ruby_string"
|
221
|
+
rvm_ruby_home="$rvm_path/rubies/$rvm_ruby_string"
|
225
222
|
rvm_ruby_binary="$rvm_ruby_home/bin/ruby"
|
226
223
|
rvm_ruby_irbrc="$rvm_ruby_home/.irbrc"
|
227
|
-
rvm_ruby_gem_home="${rvm_gems_path}/${rvm_ruby_string}"
|
228
|
-
rvm_ruby_gem_path="${rvm_ruby_gem_home}:${rvm_ruby_gem_home}@global"
|
229
224
|
|
230
225
|
if [[ "maglev" = "$rvm_ruby_interpreter" ]] ; then
|
231
226
|
export MAGLEV_HOME="$rvm_ruby_home"
|
232
227
|
export GEMSTONE_GLOBAL_DIR=$MAGLEV_HOME
|
233
228
|
fi
|
234
229
|
|
230
|
+
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}"
|
231
|
+
|
235
232
|
if [[ ! -z "$rvm_gemset_name" ]] ; then
|
236
233
|
rvm_ruby_gem_home="${rvm_ruby_gem_home}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
237
|
-
rvm_ruby_gem_path="${rvm_ruby_gem_home}:${rvm_gems_path}/${rvm_ruby_string}${rvm_gemset_separator:-"@"}global"
|
234
|
+
rvm_ruby_gem_path="${rvm_ruby_gem_home}:${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}${rvm_gemset_separator:-"@"}global"
|
238
235
|
fi
|
239
236
|
|
237
|
+
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}global"
|
238
|
+
rvm_ruby_gem_path="${rvm_ruby_gem_home}:${rvm_ruby_global_gems_path}"
|
239
|
+
|
240
240
|
rvm_ruby_selected_flag=1
|
241
241
|
|
242
|
-
|
242
|
+
if [[ ! -d "{rvm_log_path:-"$rvm_path/log"}/$rvm_ruby_string" ]] ; then
|
243
|
+
\mkdir -p "${rvm_log_path:-"$rvm_path/log"}/$rvm_ruby_string"
|
244
|
+
fi
|
245
|
+
|
246
|
+
export rvm_head_flag $(env | awk -F= -v ORS=' ' '/^rvm_/{print $1}')
|
243
247
|
|
244
|
-
export rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_url rvm_ruby_patch_level rvm_ruby_configure rvm_configure_flags rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_ruby_release_version rvm_ruby_major_version rvm_ruby_minor_version rvm_gemset_name rvm_gems_path rvm_ruby_gem_home rvm_path rvm_src_path rvm_bin_path rvm_ruby_binary rvm_ruby_home rvm_log_path rvm_ruby_log_path rvm_src_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_string
|
245
248
|
else
|
246
249
|
rvm_ruby_interpreter="${rvm_ruby_interpreter:-system}"
|
247
250
|
fi
|
248
251
|
}
|
249
252
|
|
250
253
|
__rvm_use() {
|
251
|
-
|
252
|
-
rvm_ruby_gem_home="${rvm_ruby_gem_home:-""}"
|
253
|
-
rvm_wrapper_name="${rvm_wrapper_name:-""}"
|
254
|
-
rvm_ruby_alias="${rvm_ruby_alias:-""}"
|
255
|
-
|
256
|
-
local new_path binary full_binary_path
|
254
|
+
local new_path binary full_binary_path rvm_ruby_gem_home
|
257
255
|
|
258
256
|
if [[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] ; then __rvm_select "$@" ; fi
|
259
257
|
|
@@ -263,16 +261,16 @@ __rvm_use() {
|
|
263
261
|
|
264
262
|
unset GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
|
265
263
|
|
266
|
-
new_path="$rvm_bin_path:$(__rvm_remove_rvm_from_path ; printf "$PATH")"
|
264
|
+
new_path="${rvm_bin_path:-"$rvm_path/bin"}:$(__rvm_remove_rvm_from_path ; printf "$PATH")"
|
267
265
|
|
268
|
-
if [[ -s $
|
266
|
+
if [[ -s $rvm_path/config/system ]] ; then
|
269
267
|
|
270
|
-
\grep "MY_RUBY_HOME='$
|
268
|
+
\grep "MY_RUBY_HOME='$rvm_path/rubies" "$rvm_path/config/system" > /dev/null
|
271
269
|
|
272
270
|
if [[ $? -eq 0 ]] ; then
|
273
|
-
[[ -f "$
|
271
|
+
[[ -f "$rvm_path/config/system" ]] && \rm -f $rvm_path/config/system # 'system' should *not* point to an rvm ruby.
|
274
272
|
else
|
275
|
-
source "$
|
273
|
+
source "$rvm_path/config/system"
|
276
274
|
fi
|
277
275
|
fi
|
278
276
|
|
@@ -281,7 +279,7 @@ __rvm_use() {
|
|
281
279
|
|
282
280
|
for binary in ruby gem irb ri rdoc rake erb testrb ; do
|
283
281
|
|
284
|
-
full_binary_path="$rvm_bin_path/$binary"
|
282
|
+
full_binary_path="${rvm_bin_path:-"$rvm_path/bin"}/$binary"
|
285
283
|
|
286
284
|
[[ -L "$full_binary_path" ]] && \rm -f "$full_binary_path"
|
287
285
|
done
|
@@ -295,7 +293,7 @@ __rvm_use() {
|
|
295
293
|
|
296
294
|
else
|
297
295
|
GEM_HOME="$rvm_ruby_gem_home"
|
298
|
-
GEM_PATH="$
|
296
|
+
GEM_PATH="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
299
297
|
BUNDLE_PATH="$rvm_ruby_gem_home"
|
300
298
|
MY_RUBY_HOME="$rvm_ruby_home"
|
301
299
|
RUBY_VERSION="$rvm_ruby_string"
|
@@ -325,7 +323,7 @@ __rvm_use() {
|
|
325
323
|
"$rvm_path/scripts/log" "info" \
|
326
324
|
"Using ${GEM_HOME/${rvm_gemset_separator:-'@'}/ with gemset }"
|
327
325
|
|
328
|
-
new_path="$GEM_HOME/bin:$rvm_ruby_global_gems_path/bin:$MY_RUBY_HOME/bin:$rvm_bin_path:$(__rvm_remove_rvm_from_path ; printf "$PATH")"
|
326
|
+
new_path="$GEM_HOME/bin:$rvm_ruby_global_gems_path/bin:$MY_RUBY_HOME/bin:${rvm_bin_path:-"$rvm_path/bin"}:$(__rvm_remove_rvm_from_path ; printf "$PATH")"
|
329
327
|
fi
|
330
328
|
|
331
329
|
# Export ruby string and gem set me for extrenal scripts to take advantage of them.
|
@@ -345,27 +343,27 @@ __rvm_use() {
|
|
345
343
|
|
346
344
|
if [[ ${rvm_default_flag:-0} -eq 1 && "default" != "${rvm_ruby_interpreter:-""}" ]] ; then
|
347
345
|
|
348
|
-
if [[
|
346
|
+
if [[ ${rvm_selfcontained:-""} -eq 0 ]] ; then
|
349
347
|
# Sets up the default wrappers.
|
350
348
|
"$rvm_path/scripts/wrapper" "$rvm_ruby_string" --no-prefix
|
351
349
|
else
|
352
|
-
"$rvm_path/scripts/wrapper" "$
|
350
|
+
"$rvm_path/scripts/wrapper" "$rvm_ruby_string" "default"
|
353
351
|
fi
|
354
352
|
|
355
353
|
if [[ "system" = "$rvm_ruby_interpreter" ]] ; then
|
356
354
|
"$rvm_path/scripts/alias" delete default &> /dev/null
|
357
|
-
\find "$rvm_bin_path" -name 'default_*' -maxdepth 0 -delete
|
358
|
-
\rm -f "$
|
359
|
-
\rm -f "$
|
360
|
-
\rm -rf "$
|
355
|
+
\find "${rvm_bin_path:-"$rvm_path/bin"}" -name 'default_*' -maxdepth 0 -delete
|
356
|
+
\rm -f "$rvm_path/config/default"
|
357
|
+
\rm -f "$rvm_path/environments/default"
|
358
|
+
\rm -rf "$rvm_path/wrappers/default"
|
361
359
|
|
362
360
|
else
|
363
361
|
RUBY_VERSION="$("$rvm_ruby_home/bin/ruby" -v | sed 's#^\(.*\) (.*$#\1#')"
|
364
362
|
export GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION
|
365
363
|
"$rvm_path/scripts/alias" delete default &> /dev/null
|
366
364
|
"$rvm_path/scripts/alias" create default "$environment_id" >& /dev/null
|
367
|
-
\ln -nfs "$
|
368
|
-
\ln -nfs "$
|
365
|
+
\ln -nfs "$rvm_path/environments/$environment_id" "$rvm_path/environments/default"
|
366
|
+
\ln -nfs "$rvm_path/wrappers/$environment_id" "$rvm_path/wrappers/default"
|
369
367
|
fi
|
370
368
|
fi
|
371
369
|
|
@@ -444,8 +442,9 @@ __rvm_ruby_string() {
|
|
444
442
|
if echo "${GEM_HOME:-""}" | grep -q "rvm" ; then
|
445
443
|
# Current Ruby
|
446
444
|
strings="${GEM_HOME##*\/}"
|
447
|
-
strings=
|
448
|
-
rvm_ruby_string
|
445
|
+
strings="${strings/%${rvm_gemset_separator:-"@"}*}"
|
446
|
+
rvm_ruby_string="$strings"
|
447
|
+
strings=(${strings//-/ })
|
449
448
|
else
|
450
449
|
strings=(system)
|
451
450
|
rvm_ruby_string="system"
|
@@ -641,7 +640,7 @@ __rvm_gemset_select() {
|
|
641
640
|
|
642
641
|
rvm_ruby_gem_home=${rvm_ruby_gem_home:-""}
|
643
642
|
rvm_gemset_name=${rvm_gemset_name:-""}
|
644
|
-
rvm_ruby_global_gems_path="$
|
643
|
+
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}global"
|
645
644
|
|
646
645
|
if [[ -z "${rvm_gemset_name:-""}" ]] ; then
|
647
646
|
|
@@ -660,11 +659,11 @@ __rvm_gemset_select() {
|
|
660
659
|
|
661
660
|
if ! echo "${rvm_gemset_name:-""}" | grep -q "^[[:digit:]]\.[[:digit:]]" ; then
|
662
661
|
|
663
|
-
rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
662
|
+
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
664
663
|
|
665
664
|
else
|
666
665
|
if [[ -n "${rvm_ruby_string:-""}" && "${rvm_ruby_interpreter:-""}" != "system" ]] ; then
|
667
|
-
rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
|
666
|
+
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/$rvm_ruby_string"
|
668
667
|
|
669
668
|
elif [[ -z "${GEM_HOME:-""}" && -n "$(command -v gem)" ]] ; then
|
670
669
|
rvm_ruby_gem_home=$(gem env gemdir)
|
@@ -686,10 +685,10 @@ __rvm_gemset_select() {
|
|
686
685
|
if [[ -n "${rvm_ruby_string:-""}" ]] ; then
|
687
686
|
|
688
687
|
if [[ -z "${rvm_ruby_gem_home:-""}" || -n "${gemset:-""}" ]] ; then
|
689
|
-
rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
688
|
+
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
690
689
|
|
691
690
|
elif [[ -n "${gemset:-""}" && "${rvm_gemset_name:-""}" != "${gemset:-""}" ]] ; then
|
692
|
-
rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
691
|
+
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/${rvm_ruby_string}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
693
692
|
fi
|
694
693
|
else
|
695
694
|
"$rvm_path/scripts/log" "error" "Gemsets can not be used with non rvm controlled rubies (currently)."
|
@@ -714,8 +713,8 @@ __rvm_gemset_select() {
|
|
714
713
|
fi
|
715
714
|
|
716
715
|
if [[ -z "${rvm_ruby_gem_home:-""}" && -n "${rvm_ruby_string:-""}" ]] ; then
|
717
|
-
rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
|
718
|
-
rvm_ruby_global_gems_path="$
|
716
|
+
rvm_ruby_gem_home="${rvm_gems_path:-"$rvm_path/gems"}/$rvm_ruby_string"
|
717
|
+
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator}*}${rvm_gemset_separator:-"@"}global"
|
719
718
|
fi
|
720
719
|
|
721
720
|
rvm_ruby_gem_path="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
@@ -759,7 +758,7 @@ __rvm_gemset_use() {
|
|
759
758
|
rvm_ruby_gem_home="${GEM_HOME//${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}${rvm_gemset_name}"
|
760
759
|
GEM_HOME="$rvm_ruby_gem_home"
|
761
760
|
BUNDLE_PATH="$rvm_ruby_gem_home"
|
762
|
-
GEM_PATH="$rvm_ruby_gem_home
|
761
|
+
GEM_PATH="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
763
762
|
export rvm_ruby_gem_home GEM_HOME BUNDLE_PATH GEM_PATH
|
764
763
|
|
765
764
|
__rvm_use # Now ensure the selection takes effect for the environment.
|
@@ -771,10 +770,10 @@ __rvm_gemset_use() {
|
|
771
770
|
__rvm_gemset_clear() {
|
772
771
|
rvm_gemset_name="" ; shift # TODO: Is this shift necessary???
|
773
772
|
rvm_ruby_gem_home="${GEM_HOME//${rvm_gemset_separator:-"@"}*}"
|
774
|
-
rvm_ruby_global_gems_path="$
|
773
|
+
rvm_ruby_global_gems_path="${rvm_ruby_gem_home%%${rvm_gemset_separator:-"@"}*}${rvm_gemset_separator:-"@"}global"
|
775
774
|
GEM_HOME=$rvm_ruby_gem_home
|
776
775
|
BUNDLE_PATH="$rvm_ruby_gem_home"
|
777
|
-
GEM_PATH="$rvm_ruby_gem_home
|
776
|
+
GEM_PATH="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
778
777
|
export rvm_ruby_gem_home rvm_ruby_global_gems_path GEM_HOME BUNDLE_PATH GEM_PATH
|
779
778
|
__rvm_use # Now ensure the selection takes effect for the environment.
|
780
779
|
}
|
data/scripts/snapshot
CHANGED
@@ -17,27 +17,42 @@ __error_on_result() {
|
|
17
17
|
snapshot_save() {
|
18
18
|
|
19
19
|
if [[ -z "$1" ]]; then
|
20
|
-
|
21
|
-
|
20
|
+
|
21
|
+
printf "
|
22
|
+
|
23
|
+
Usage:
|
24
|
+
|
25
|
+
rvm snapshot save name
|
26
|
+
|
27
|
+
Description:
|
28
|
+
|
29
|
+
Saves a snapshot describing the rvm installation
|
30
|
+
to <name>.tar.gz in the current working directory.\
|
31
|
+
|
32
|
+
" >&2
|
33
|
+
|
22
34
|
return 1
|
35
|
+
|
23
36
|
fi
|
24
37
|
|
25
38
|
# Create the temporary directory.
|
26
|
-
local snapshot_temp_path="$rvm_tmp_path/$$-snapshot"
|
27
|
-
|
28
|
-
|
39
|
+
local snapshot_temp_path="${rvm_tmp_path:-"$rvm_path/tmp"}/$$-snapshot"
|
40
|
+
|
41
|
+
rm -rf "$snapshot_temp_path"
|
42
|
+
|
43
|
+
mkdir -p "$snapshot_temp_path"
|
29
44
|
|
30
45
|
"$rvm_path/scripts/log" "info" "Backing up a list of aliases"
|
31
|
-
|
46
|
+
cp "$rvm_path/config/alias" "$snapshot_temp_path/"
|
32
47
|
|
33
48
|
"$rvm_path/scripts/log" "info" "Backing up your user preferences"
|
34
|
-
|
49
|
+
cp "$rvm_path/config/user" "$snapshot_temp_path/"
|
35
50
|
|
36
51
|
"$rvm_path/scripts/log" "info" "Backing up your installed packages"
|
37
|
-
sed -e 's/-//' -e 's/^lib//' < "$
|
52
|
+
sed -e 's/-//' -e 's/^lib//' < "$rvm_path/config/packages" | awk -F= '{print $1}' | sort | uniq > "$snapshot_temp_path/packages"
|
38
53
|
|
39
54
|
"$rvm_path/scripts/log" "info" "Backing up all of your gemsets"
|
40
|
-
|
55
|
+
mkdir -p "$snapshot_temp_path/gems"
|
41
56
|
|
42
57
|
(
|
43
58
|
builtin cd "$snapshot_temp_path/gems"
|
@@ -52,7 +67,7 @@ snapshot_save() {
|
|
52
67
|
|
53
68
|
__error_on_result "$result" "Error exporting gemset contents for $snapshot_gemset" && return "$result"
|
54
69
|
|
55
|
-
|
70
|
+
mkdir -p "./$snapshot_gemset/"
|
56
71
|
|
57
72
|
[[ -d "$GEM_HOME/cache/" ]] && \cp -R "$GEM_HOME/cache/" "./$snapshot_gemset/"
|
58
73
|
|
@@ -60,44 +75,65 @@ snapshot_save() {
|
|
60
75
|
)
|
61
76
|
|
62
77
|
"$rvm_path/scripts/log" "info" "Backing up all of your installed rubies"
|
78
|
+
|
63
79
|
echo '#!/usr/bin/env bash -e' > "$snapshot_temp_path/install-rubies.sh"
|
80
|
+
|
64
81
|
echo "source \"\$rvm_path/scripts/rvm\" || true" >> "$snapshot_temp_path/install-rubies.sh"
|
65
|
-
|
66
|
-
local
|
67
|
-
|
82
|
+
|
83
|
+
local snapshot_ruby_name_file="${rvm_tmp_path:-"$rvm_path/tmp"}/$$-rubies"
|
84
|
+
|
85
|
+
local snapshot_alias_name_file="${rvm_tmp_path:-"$rvm_path/tmp"}/$$-aliases"
|
86
|
+
|
87
|
+
local snapshot_installable_file="${rvm_tmp_path:-"$rvm_path/tmp"}/$$-installable"
|
68
88
|
|
69
89
|
"$rvm_path/scripts/alias" list | awk -F ' => ' '{print $1}' | sort | uniq 2>/dev/null > "$snapshot_alias_name_file"
|
90
|
+
|
70
91
|
"$rvm_path/scripts/list" strings | \tr ' ' '\n' | sort | uniq > "$snapshot_ruby_name_file"
|
92
|
+
|
71
93
|
comm -2 -3 "$snapshot_ruby_name_file" "$snapshot_alias_name_file" > "$snapshot_installable_file"
|
72
|
-
|
94
|
+
|
95
|
+
rm -rf "$snapshot_ruby_name_file" "$snapshot_alias_name_file"
|
73
96
|
|
74
97
|
local snapshot_primary_ruby="$(\grep '^\(ree\|ruby-1.8.7\)' < "$snapshot_installable_file" | \grep -v '-head$' | sort -r | head -n1)"
|
98
|
+
|
75
99
|
local snapshot_ruby_order="$snapshot_primary_ruby $(\grep -v "$snapshot_primary_ruby" < "$snapshot_installable_file")"
|
100
|
+
|
76
101
|
for snapshot_ruby_name in $snapshot_ruby_order ; do
|
102
|
+
|
77
103
|
snapshot_install_command="$(__rvm_recorded_install_command "$snapshot_ruby_name")"
|
104
|
+
|
78
105
|
if [[ -n "$snapshot_install_command" ]]; then
|
106
|
+
|
79
107
|
echo "rvm install $snapshot_install_command" | sed "s#$rvm_path#'\\\"\$rvm_path\\\"'#" >> "$snapshot_temp_path/install-rubies.sh"
|
108
|
+
|
80
109
|
else
|
110
|
+
|
81
111
|
__rvm_become "$snapshot_ruby_name"
|
112
|
+
|
82
113
|
ruby "$rvm_path/lib/rvm/install_command_dumper.rb" >> "$snapshot_temp_path/install-rubies.sh"
|
114
|
+
|
83
115
|
fi
|
116
|
+
|
84
117
|
unset snapshot_install_command
|
118
|
+
|
85
119
|
done; unset snapshot_ruby_name snapshot_primary_ruby
|
86
120
|
|
87
|
-
|
121
|
+
rm -rf "$snapshot_installable_file"
|
88
122
|
|
89
123
|
"$rvm_path/scripts/log" "info" "Compressing snapshotting"
|
124
|
+
|
90
125
|
local destination_path="$PWD"
|
91
126
|
(
|
92
127
|
builtin cd "$snapshot_temp_path"
|
93
|
-
|
128
|
+
rm -rf "$destination_path/$1.tar.gz"
|
94
129
|
tar czf "$destination_path/$1.tar.gz" .
|
95
130
|
result="$?"
|
96
131
|
__error_on_result "$result" "Error creating archive $destination_path/$1.tar.gz" && return "$result"
|
97
132
|
)
|
98
133
|
|
99
134
|
"$rvm_path/scripts/log" "info" "Cleaning up"
|
100
|
-
|
135
|
+
|
136
|
+
rm -rf "$snapshot_temp_path"
|
101
137
|
|
102
138
|
"$rvm_path/scripts/log" "info" "Snapshot complete"
|
103
139
|
}
|
@@ -116,7 +152,7 @@ snapshot_load() {
|
|
116
152
|
return 1
|
117
153
|
fi
|
118
154
|
|
119
|
-
local snapshot_temp_path="$rvm_tmp_path/$$-snapshot"
|
155
|
+
local snapshot_temp_path="${rvm_tmp_path:-"$rvm_path/tmp"}/$$-snapshot"
|
120
156
|
|
121
157
|
\rm -rf "$snapshot_temp_path"
|
122
158
|
\mkdir -p "$snapshot_temp_path"
|
@@ -130,7 +166,7 @@ snapshot_load() {
|
|
130
166
|
)
|
131
167
|
|
132
168
|
"$rvm_path/scripts/log" "info" "Restoring user settings"
|
133
|
-
\cp -f "$snapshot_temp_path/user" "$
|
169
|
+
\cp -f "$snapshot_temp_path/user" "$rvm_path/config/user"
|
134
170
|
|
135
171
|
"$rvm_path/scripts/log" "info" "Installing rvm-managed packages"
|
136
172
|
for snapshot_package in $(cat "$snapshot_temp_path/packages"); do
|