rvm 1.0.7 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|