rvm 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README +64 -51
- data/binscripts/rvm-auto-ruby +1 -1
- data/binscripts/rvm-shell +1 -1
- data/contrib/install-system-wide +3 -3
- data/help/cleanup +23 -0
- data/help/disk-usage +15 -0
- data/help/docs +22 -0
- data/help/exec +33 -0
- data/help/migrate +15 -0
- data/help/repair +23 -0
- data/help/rubygems +11 -0
- data/help/rvmrc +34 -0
- data/help/snapshot +15 -0
- data/help/tools +22 -0
- data/help/upgrade +18 -0
- data/install +11 -7
- data/lib/VERSION.yml +1 -1
- data/lib/rvm/environment.rb +2 -1
- data/lib/rvm/environment/tools.rb +7 -1
- data/lib/rvm/errors.rb +3 -0
- data/rvm.gemspec +13 -2
- data/scripts/alias +2 -2
- data/scripts/cli +7 -13
- data/scripts/disk-usage +6 -2
- data/scripts/help +6 -6
- data/scripts/info +11 -3
- data/scripts/install +11 -7
- data/scripts/list +4 -3
- data/scripts/log +2 -1
- data/scripts/manage +27 -18
- data/scripts/override_gem +10 -0
- data/scripts/repair +1 -1
- data/scripts/rubygems +1 -1
- data/scripts/rvm +9 -2
- data/scripts/rvm-install +11 -7
- data/scripts/selector +8 -8
- data/scripts/snapshot +3 -3
- data/scripts/tools +8 -3
- data/scripts/update +11 -7
- data/scripts/utility +47 -29
- data/scripts/wrapper +1 -1
- metadata +15 -4
data/scripts/repair
CHANGED
@@ -11,7 +11,7 @@ usage() {
|
|
11
11
|
# related to wrappers.
|
12
12
|
repair_symlinks() {
|
13
13
|
__rvm_pushpop "$rvm_bin_path"
|
14
|
-
for executable_name in $(\find
|
14
|
+
for executable_name in $(\find \. -type l); do
|
15
15
|
[[ -e "$executable_name" || "$(readlink "$executable_name")" != "$rvm_wrappers_path/"* ]] && continue
|
16
16
|
if [[ -f "$executable_name" ]] ; then
|
17
17
|
$rvm_scripts_path/log "info" "Removing stale symlink from $(basename "$executable_name")"
|
data/scripts/rubygems
CHANGED
@@ -49,7 +49,7 @@ rubygems_setup() {
|
|
49
49
|
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
|
50
50
|
fi
|
51
51
|
\mkdir -p "$rvm_src_path/$rvm_gem_package_name"
|
52
|
-
__rvm_run "rubygems.extract" "
|
52
|
+
__rvm_run "rubygems.extract" "gunzip < $rvm_archives_path/$rvm_gem_package_name.tgz | tar xf - -C $rvm_src_path" "Extracting $rvm_gem_package_name ..."
|
53
53
|
fi
|
54
54
|
|
55
55
|
builtin cd "$rvm_src_path/$rvm_gem_package_name"
|
data/scripts/rvm
CHANGED
@@ -61,16 +61,23 @@ if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
|
|
61
61
|
source "$rvm_scripts_path/cli"
|
62
62
|
source "$rvm_scripts_path/manpages"
|
63
63
|
source "$rvm_scripts_path/cd"
|
64
|
+
source "$rvm_scripts_path/override_gem"
|
64
65
|
|
65
66
|
rvm_loaded_flag=1
|
66
67
|
|
67
|
-
rvm_version="$(
|
68
|
+
rvm_version="$(tail -n 3 < "${rvm_path}/lib/VERSION.yml" | sed -e 's/^.*: //g' | \tr "\n" '.' | sed -e 's/\.$//')" ; export rvm_version
|
68
69
|
|
69
70
|
alias rvm-restart="source '${rvm_path}/scripts/rvm'"
|
70
71
|
|
71
72
|
if ! command -v ruby >/dev/null 2>&1 || command -v ruby | \grep -v rvm >/dev/null ; then
|
72
|
-
|
73
|
+
if [[ -s "$rvm_environments_path/default" ]] ; then
|
74
|
+
source "$rvm_environments_path/default"
|
75
|
+
fi
|
73
76
|
fi
|
77
|
+
|
78
|
+
# Makes sure rvm_bin_path is in PATH atleast once.
|
79
|
+
__rvm_conditionally_add_bin_path
|
80
|
+
|
74
81
|
else
|
75
82
|
printf "\n\$rvm_path is not set. rvm cannot load."
|
76
83
|
fi
|
data/scripts/rvm-install
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
+
#set -u # Error on uninitialized variables.
|
4
|
+
|
3
5
|
if [[ -z "$rvm_selfcontained" ]]; then
|
4
6
|
if [[ "root" = "$(whoami)" ]] || [[ -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
|
5
7
|
export rvm_selfcontained=0
|
@@ -15,6 +17,8 @@ if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/script
|
|
15
17
|
builtin cd "$install_source_path"
|
16
18
|
fi
|
17
19
|
|
20
|
+
sleep=0.010
|
21
|
+
|
18
22
|
source scripts/version
|
19
23
|
source scripts/utility
|
20
24
|
|
@@ -44,7 +48,7 @@ spinner() {
|
|
44
48
|
index=$((($spinner_counter % 8)))
|
45
49
|
printf "\r${array[$index]}"
|
46
50
|
let "spinner_counter=spinner_counter+1"
|
47
|
-
|
51
|
+
sleep $sleep
|
48
52
|
}
|
49
53
|
|
50
54
|
if echo "$*" | \grep -q 'trace' ; then echo "$*" ; env | \grep '^rvm_' ; set -x ; fi
|
@@ -54,7 +58,7 @@ while [[ $# -gt 0 ]] ; do
|
|
54
58
|
case "$token" in
|
55
59
|
--auto) rvm_auto_flag=1 ;;
|
56
60
|
--prefix) rvm_prefix="$1" ; shift ;;
|
57
|
-
--version) rvm_path="$
|
61
|
+
--version) rvm_path="$PWD" ; __rvm_version ; unset rvm_path ; exit ;;
|
58
62
|
--help|*) usage ;;
|
59
63
|
esac
|
60
64
|
done
|
@@ -89,7 +93,7 @@ __rvm_initialize
|
|
89
93
|
#
|
90
94
|
item="$(tput setaf 2)* $(tput sgr0)"
|
91
95
|
question="\n$(tput setaf 2)<?>$(tput sgr0)"
|
92
|
-
cwd=$
|
96
|
+
cwd=$PWD
|
93
97
|
source_path="${source_path:-$cwd}"
|
94
98
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
95
99
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
@@ -161,7 +165,7 @@ done
|
|
161
165
|
#
|
162
166
|
# Cleanse and purge...
|
163
167
|
for file in rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby ; do
|
164
|
-
spinner &&
|
168
|
+
spinner && sleep $sleep
|
165
169
|
\rm -f "$rvm_bin_path/$file"
|
166
170
|
\cp -f "$source_path/binscripts/$file" $rvm_bin_path/
|
167
171
|
done
|
@@ -197,7 +201,7 @@ fi
|
|
197
201
|
spinner
|
198
202
|
if [[ -d gemsets/ ]] ; then
|
199
203
|
\mkdir -p "$rvm_gemsets_path"
|
200
|
-
for gemset_file in $(cd gemsets ; find
|
204
|
+
for gemset_file in $(cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
|
201
205
|
destination="$rvm_gemsets_path/$gemset_file"
|
202
206
|
destination_path="$(dirname "$destination")"
|
203
207
|
if [[ ! -s "$destination" ]] ; then
|
@@ -210,7 +214,7 @@ fi
|
|
210
214
|
spinner
|
211
215
|
if [[ -d patchsets/ ]] ; then
|
212
216
|
\mkdir -p "$rvm_patchsets_path"
|
213
|
-
for patchset_file in $(cd patchsets ; find
|
217
|
+
for patchset_file in $(cd patchsets ; find \. -iname '*' | sed 's/^\.\///') ; do
|
214
218
|
destination="$rvm_patchsets_path/$patchset_file"
|
215
219
|
destination_path="$(dirname "$destination")"
|
216
220
|
if [[ ! -s "$destination" ]] ; then
|
@@ -306,7 +310,7 @@ printf "\nThank you for using rvm. I hope that it makes your work easier and mor
|
|
306
310
|
printf "\nIf you have any questions, issues and/or ideas for improvement please hop in #rvm on irc.freenode.net and let me know."
|
307
311
|
printf "\nMy irc nickname is 'wayneeseguin' and I hang out from ~09:00-17:00EST and again from ~21:00EST-~00:00EST."
|
308
312
|
printf "\nIf I do not respond right away, please hang around after asking your question, I will respond as soon as I am back."
|
309
|
-
printf "\nBe sure to get head often as rvm development happens fast, you can do this by
|
313
|
+
printf "\nBe sure to get head often as rvm development happens fast, you can do this by running 'rvm update --head'."
|
310
314
|
printf "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
|
311
315
|
printf "\n ~ Wayne\n"
|
312
316
|
|
data/scripts/selector
CHANGED
@@ -229,8 +229,8 @@ __rvm_use() {
|
|
229
229
|
if [[ "system" = "$rvm_ruby_interpreter" ]] ; then
|
230
230
|
|
231
231
|
unset GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
|
232
|
-
|
233
|
-
new_path="$rvm_bin_path:$
|
232
|
+
|
233
|
+
new_path="$rvm_bin_path:$(__rvm_remove_rvm_from_path ; printf $PATH)"
|
234
234
|
if [[ -s $rvm_config_path/system ]] ; then
|
235
235
|
\grep "MY_RUBY_HOME='$rvm_rubies_path" "$rvm_config_path/system" > /dev/null
|
236
236
|
if [[ $? -eq 0 ]] ; then
|
@@ -283,14 +283,17 @@ __rvm_use() {
|
|
283
283
|
$rvm_scripts_path/log "info" "Using $(basename $GEM_HOME | \tr '-' ' ' | sed 's/'${rvm_gemset_separator}'/ with gemset /')"
|
284
284
|
fi
|
285
285
|
|
286
|
-
new_path="$(
|
287
|
-
new_path="$GEM_HOME/bin:$rvm_ruby_global_gems_path/bin:$MY_RUBY_HOME/bin:$rvm_bin_path:$new_path"
|
286
|
+
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)"
|
288
287
|
fi
|
289
288
|
|
290
289
|
# Export ruby string and gem set me for extrenal scripts to take advantage of them.
|
291
290
|
if [[ -n "$rvm_ruby_string" ]] ; then export rvm_ruby_string ; fi
|
292
291
|
if [[ -n "$rvm_gemset_name" ]] ; then export rvm_gemset_name ; fi
|
293
|
-
if [[ -n "$new_path" ]]
|
292
|
+
if [[ -n "$new_path" ]]; then
|
293
|
+
export PATH="$new_path"
|
294
|
+
unset new_path
|
295
|
+
builtin hash -r
|
296
|
+
fi
|
294
297
|
if [[ -n "$rvm_rvmrc_flag" ]] ; then __rvm_set_rvmrc ; fi
|
295
298
|
|
296
299
|
environment_id="$(__rvm_environment_identifier)"
|
@@ -340,9 +343,6 @@ __rvm_use() {
|
|
340
343
|
if [[ $result -eq 1 ]] ; then $rvm_ruby_home/bin/maglev start ; fi
|
341
344
|
fi
|
342
345
|
fi
|
343
|
-
|
344
|
-
# Rehash executable locations, e.g. to force the shell to recognize new items in the path.
|
345
|
-
builtin hash -r
|
346
346
|
rvm_hook="after_use" ; source $rvm_scripts_path/hook
|
347
347
|
}
|
348
348
|
|
data/scripts/snapshot
CHANGED
@@ -34,7 +34,7 @@ snapshot_save() {
|
|
34
34
|
\cp "$rvm_config_path/user" "$snapshot_temp_path/"
|
35
35
|
|
36
36
|
$rvm_scripts_path/log "info" "Backing up your installed packages"
|
37
|
-
|
37
|
+
sed -e 's/-//' -e 's/^lib//' < "$rvm_config_path/packages" | awk -F= '{print $1}' | sort | uniq > "$snapshot_temp_path/packages"
|
38
38
|
|
39
39
|
$rvm_scripts_path/log "info" "Backing up all of your gemsets"
|
40
40
|
\mkdir -p "$snapshot_temp_path/gems"
|
@@ -63,8 +63,8 @@ snapshot_save() {
|
|
63
63
|
comm -2 -3 "$snapshot_ruby_name_file" "$snapshot_alias_name_file" > "$snapshot_installable_file"
|
64
64
|
\rm -rf "$snapshot_ruby_name_file" "$snapshot_alias_name_file"
|
65
65
|
|
66
|
-
local snapshot_primary_ruby="$(
|
67
|
-
local snapshot_ruby_order="$snapshot_primary_ruby $(
|
66
|
+
local snapshot_primary_ruby="$(\grep '^\(ree\|ruby-1.8.7\)' < "$snapshot_installable_file" | \grep -v '-head$' | sort -r | head -n1)"
|
67
|
+
local snapshot_ruby_order="$snapshot_primary_ruby $(\grep -v "$snapshot_primary_ruby" < "$snapshot_installable_file")"
|
68
68
|
for snapshot_ruby_name in $snapshot_ruby_order ; do
|
69
69
|
snapshot_install_command="$(__rvm_recorded_install_command "$snapshot_ruby_name")"
|
70
70
|
if [[ -n "$snapshot_install_command" ]]; then
|
data/scripts/tools
CHANGED
@@ -18,9 +18,14 @@ tools_path_identifier() {
|
|
18
18
|
return 1
|
19
19
|
fi
|
20
20
|
# Change to the directory. Do in subshell to keep the env correct.
|
21
|
-
(
|
22
|
-
|
23
|
-
|
21
|
+
(
|
22
|
+
source "$rvm_scripts_path/rvm"
|
23
|
+
builtin cd "$1"
|
24
|
+
rvm_promptless=1 __rvm_project_rvmrc
|
25
|
+
rvmrc_result="$?"
|
26
|
+
__rvm_environment_identifier
|
27
|
+
exit $rvmrc_result
|
28
|
+
)
|
24
29
|
}
|
25
30
|
|
26
31
|
tools_strings() {
|
data/scripts/update
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
+
#set -u # Error on uninitialized variables.
|
4
|
+
|
3
5
|
if [[ -z "$rvm_selfcontained" ]]; then
|
4
6
|
if [[ "root" = "$(whoami)" ]] || [[ -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
|
5
7
|
export rvm_selfcontained=0
|
@@ -15,6 +17,8 @@ if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/script
|
|
15
17
|
builtin cd "$install_source_path"
|
16
18
|
fi
|
17
19
|
|
20
|
+
sleep=0.010
|
21
|
+
|
18
22
|
source scripts/version
|
19
23
|
source scripts/utility
|
20
24
|
|
@@ -44,7 +48,7 @@ spinner() {
|
|
44
48
|
index=$((($spinner_counter % 8)))
|
45
49
|
printf "\r${array[$index]}"
|
46
50
|
let "spinner_counter=spinner_counter+1"
|
47
|
-
|
51
|
+
sleep $sleep
|
48
52
|
}
|
49
53
|
|
50
54
|
if echo "$*" | \grep -q 'trace' ; then echo "$*" ; env | \grep '^rvm_' ; set -x ; fi
|
@@ -54,7 +58,7 @@ while [[ $# -gt 0 ]] ; do
|
|
54
58
|
case "$token" in
|
55
59
|
--auto) rvm_auto_flag=1 ;;
|
56
60
|
--prefix) rvm_prefix="$1" ; shift ;;
|
57
|
-
--version) rvm_path="$
|
61
|
+
--version) rvm_path="$PWD" ; __rvm_version ; unset rvm_path ; exit ;;
|
58
62
|
--help|*) usage ;;
|
59
63
|
esac
|
60
64
|
done
|
@@ -89,7 +93,7 @@ __rvm_initialize
|
|
89
93
|
#
|
90
94
|
item="$(tput setaf 2)* $(tput sgr0)"
|
91
95
|
question="\n$(tput setaf 2)<?>$(tput sgr0)"
|
92
|
-
cwd=$
|
96
|
+
cwd=$PWD
|
93
97
|
source_path="${source_path:-$cwd}"
|
94
98
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
95
99
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
@@ -161,7 +165,7 @@ done
|
|
161
165
|
#
|
162
166
|
# Cleanse and purge...
|
163
167
|
for file in rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby ; do
|
164
|
-
spinner &&
|
168
|
+
spinner && sleep $sleep
|
165
169
|
\rm -f "$rvm_bin_path/$file"
|
166
170
|
\cp -f "$source_path/binscripts/$file" $rvm_bin_path/
|
167
171
|
done
|
@@ -197,7 +201,7 @@ fi
|
|
197
201
|
spinner
|
198
202
|
if [[ -d gemsets/ ]] ; then
|
199
203
|
\mkdir -p "$rvm_gemsets_path"
|
200
|
-
for gemset_file in $(cd gemsets ; find
|
204
|
+
for gemset_file in $(cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
|
201
205
|
destination="$rvm_gemsets_path/$gemset_file"
|
202
206
|
destination_path="$(dirname "$destination")"
|
203
207
|
if [[ ! -s "$destination" ]] ; then
|
@@ -210,7 +214,7 @@ fi
|
|
210
214
|
spinner
|
211
215
|
if [[ -d patchsets/ ]] ; then
|
212
216
|
\mkdir -p "$rvm_patchsets_path"
|
213
|
-
for patchset_file in $(cd patchsets ; find
|
217
|
+
for patchset_file in $(cd patchsets ; find \. -iname '*' | sed 's/^\.\///') ; do
|
214
218
|
destination="$rvm_patchsets_path/$patchset_file"
|
215
219
|
destination_path="$(dirname "$destination")"
|
216
220
|
if [[ ! -s "$destination" ]] ; then
|
@@ -306,7 +310,7 @@ printf "\nThank you for using rvm. I hope that it makes your work easier and mor
|
|
306
310
|
printf "\nIf you have any questions, issues and/or ideas for improvement please hop in #rvm on irc.freenode.net and let me know."
|
307
311
|
printf "\nMy irc nickname is 'wayneeseguin' and I hang out from ~09:00-17:00EST and again from ~21:00EST-~00:00EST."
|
308
312
|
printf "\nIf I do not respond right away, please hang around after asking your question, I will respond as soon as I am back."
|
309
|
-
printf "\nBe sure to get head often as rvm development happens fast, you can do this by
|
313
|
+
printf "\nBe sure to get head often as rvm development happens fast, you can do this by running 'rvm update --head'."
|
310
314
|
printf "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
|
311
315
|
printf "\n ~ Wayne\n"
|
312
316
|
|
data/scripts/utility
CHANGED
@@ -156,12 +156,14 @@ __rvm_set_path_variable() {
|
|
156
156
|
__rvm_clean_path() {
|
157
157
|
PATH=$(echo $PATH | \tr -s ':' '\n' | awk '!($0 in a){a[$0];print}' | \tr -s '\n' ':' | sed 's#:$##')
|
158
158
|
export PATH
|
159
|
+
builtin hash -r
|
159
160
|
}
|
160
161
|
|
161
162
|
# Clean all rvm items out of the current working path.
|
162
163
|
__rvm_remove_rvm_from_path() {
|
163
|
-
PATH=$(echo $PATH | \tr -s ':' '\n' | \grep -v "
|
164
|
+
PATH=$(echo $PATH | \tr -s ':' '\n' | \grep -v "rvm" | \tr -s '\n' ':' | sed 's#:$##')
|
164
165
|
export PATH
|
166
|
+
builtin hash -r
|
165
167
|
}
|
166
168
|
|
167
169
|
# Run a specified command and log it.
|
@@ -283,7 +285,7 @@ __rvm_cleanup_temp_on_exit() {
|
|
283
285
|
}
|
284
286
|
|
285
287
|
__rvm_set_rvmrc() {
|
286
|
-
if [[ "$HOME" != "$
|
288
|
+
if [[ "$HOME" != "$PWD" ]] ; then
|
287
289
|
if [[ "$rvm_verbose_flag" -eq 1 ]] ; then flags="use " ; fi
|
288
290
|
|
289
291
|
if [[ -s .rvmrc ]] ; then
|
@@ -292,7 +294,7 @@ __rvm_set_rvmrc() {
|
|
292
294
|
fi
|
293
295
|
|
294
296
|
local identifier=$(__rvm_environment_identifier)
|
295
|
-
printf "if [[ -n \"\$rvm_environments_path\" && -s \"\$rvm_environments_path/$identifier\" ]] ; then\n
|
297
|
+
printf "if [[ -n \"\$rvm_environments_path\" && -s \"\$rvm_environments_path/$identifier\" ]] ; then\n \\. \"\$rvm_environments_path/$identifier\"" > .rvmrc
|
296
298
|
printf "\nelse\n rvm --create $flags \"$identifier\"\nfi" >> .rvmrc
|
297
299
|
|
298
300
|
unset flags
|
@@ -354,11 +356,21 @@ __rvm_bin_script() {
|
|
354
356
|
$rvm_scripts_path/wrapper "$rvm_ruby_string"
|
355
357
|
}
|
356
358
|
|
359
|
+
# Add bin path if not present
|
360
|
+
__rvm_conditionally_add_bin_path() {
|
361
|
+
if echo "$PATH" | \tr ':' ' ' | \grep -vqF "$rvm_bin_path " ; then
|
362
|
+
PATH="$rvm_bin_path:$PATH"
|
363
|
+
builtin hash -r
|
364
|
+
fi
|
365
|
+
}
|
366
|
+
|
357
367
|
# Reset any rvm gathered information about the system and its state.
|
358
368
|
# rvm will refresh the stored information the next time it is called after reset.
|
359
369
|
__rvm_reset() {
|
360
|
-
|
361
|
-
|
370
|
+
__rvm_remove_rvm_from_path
|
371
|
+
__rvm_conditionally_add_bin_path
|
372
|
+
export PATH
|
373
|
+
builtin hash -r
|
362
374
|
|
363
375
|
for flag in default passenger editor ; do \rm -f "$rvm_bin_path"/${flag}_* ; done
|
364
376
|
unset flag
|
@@ -422,10 +434,8 @@ __rvm_initialize() {
|
|
422
434
|
|
423
435
|
__rvm_clean_path
|
424
436
|
|
425
|
-
|
426
|
-
|
427
|
-
export PATH
|
428
|
-
fi
|
437
|
+
__rvm_conditionally_add_bin_path
|
438
|
+
export PATH
|
429
439
|
|
430
440
|
\mkdir -p "$rvm_src_path" "$rvm_bin_path" "$rvm_archives_path" "$rvm_gems_path" "$rvm_tmp_path" "$rvm_repo_path"
|
431
441
|
}
|
@@ -462,7 +472,7 @@ __rvm_update_rvm() {
|
|
462
472
|
|
463
473
|
__rvm_run "fetch" "$rvm_scripts_path/fetch 'http://rvm.beginrescueend.com/releases/rvm-${stable_version}.tar.gz'" "fetching rvm-${stable_version}.tar.gz"
|
464
474
|
|
465
|
-
__rvm_run "extract" "
|
475
|
+
__rvm_run "extract" "gunzip \"$rvm_archives_path/rvm-${stable_version}.tar.gz\" | tar xf - -C $rvm_src_path" "Extracting rvm-${stable_version}.tar.gz ..."
|
466
476
|
|
467
477
|
__rvm_run "install" "builtin cd $rvm_src_path/rvm-${stable_version}/ ; ./install" "Installing rvm-${stable_version}..."
|
468
478
|
fi
|
@@ -531,12 +541,12 @@ __rvm_inspect() {
|
|
531
541
|
for binary in $rvm_ruby_args ; do
|
532
542
|
actual_file="$(command -v $binary)"
|
533
543
|
$rvm_scripts_path/log "info" "$actual_file:"
|
534
|
-
if [[ -n "$rvm_shebang_flag" ]] ; then
|
535
|
-
if [[ -n "$rvm_env_flag" ]] ; then
|
536
|
-
if [[ -n "$rvm_path_flag" ]] ; then
|
537
|
-
if [[ -n "$rvm_head_flag" ]] ; then
|
538
|
-
if [[ -n "$rvm_tail_flag" ]] ; then
|
539
|
-
if [[ -n "$rvm_all_flag" ]] ; then cat $actual_file
|
544
|
+
if [[ -n "$rvm_shebang_flag" ]] ; then head -n 1 < "$actual_file" ; fi
|
545
|
+
if [[ -n "$rvm_env_flag" ]] ; then awk '/ENV/' < "$actual_file" ; fi
|
546
|
+
if [[ -n "$rvm_path_flag" ]] ; then awk '/PATH/' < "$actual_file" ; fi
|
547
|
+
if [[ -n "$rvm_head_flag" ]] ; then head -n 5 < "$actual_file" ; fi
|
548
|
+
if [[ -n "$rvm_tail_flag" ]] ; then tail -n 5 < "$actual_file" ; fi
|
549
|
+
if [[ -n "$rvm_all_flag" ]] ; then cat $actual_file ; fi
|
540
550
|
done
|
541
551
|
}
|
542
552
|
|
@@ -580,6 +590,7 @@ __rvm_mono_env() {
|
|
580
590
|
export ACLOCAL_FLAGS="-I $ACLOCAL_PATH"
|
581
591
|
export PKG_CONFIG_PATH="$rvm_usr_path/lib/pkgconfig:$PKG_CONFIG_PATH"
|
582
592
|
PATH="$rvm_usr_path/bin:$PATH"
|
593
|
+
builtin hash -r
|
583
594
|
}
|
584
595
|
|
585
596
|
__rvm_become() {
|
@@ -638,7 +649,7 @@ __rvm_current_gemcache_dir() {
|
|
638
649
|
}
|
639
650
|
|
640
651
|
__rvm_Answer_to_the_Ultimate_Question_of_Life_the_Universe_and_Everything() {
|
641
|
-
for index in {1..750} ; do
|
652
|
+
for index in {1..750} ; do sleep 0.25 ; echo -n '.' ; done ; printf "%d" 0x2A ; echo
|
642
653
|
}
|
643
654
|
|
644
655
|
__rvm_ultimate_question() {
|
@@ -651,8 +662,9 @@ __rvm_ultimate_question() {
|
|
651
662
|
__rvm_load_env_file() {
|
652
663
|
if [[ -f "$rvm_environments_path/$1" ]]; then
|
653
664
|
# Restore the path to it's state minus rvm
|
654
|
-
|
655
|
-
|
665
|
+
__rvm_remove_rvm_from_path
|
666
|
+
\. "$rvm_environments_path/$1"
|
667
|
+
builtin hash -r
|
656
668
|
else
|
657
669
|
rvm use "$1" >/dev/null 2>&1
|
658
670
|
fi
|
@@ -720,7 +732,7 @@ __rvm_rvmrc_tools() {
|
|
720
732
|
fi
|
721
733
|
;;
|
722
734
|
load)
|
723
|
-
rvm_trust_rvmrcs=1 __rvm_project_rvmrc "$(dirname "$rvmrc_path")"
|
735
|
+
rvm_rvmrc_cwd="" rvm_trust_rvmrcs=1 __rvm_project_rvmrc "$(dirname "$rvmrc_path")"
|
724
736
|
;;
|
725
737
|
*)
|
726
738
|
echo "Usage: rvm rvmrc {trust,untrust,trusted,load,reset}"
|
@@ -731,7 +743,7 @@ __rvm_rvmrc_tools() {
|
|
731
743
|
|
732
744
|
__rvm_check_rvmrc_trustworthiness() {
|
733
745
|
# Trust when they have the flag... of doom!
|
734
|
-
[[ -z "$1" || "$rvm_trust_rvmrcs" = "1" ]] && return
|
746
|
+
[[ -z "$1" || "$rvm_trust_rvmrcs" = "1" ]] && return 0
|
735
747
|
value="$(__rvm_rvmrc_stored_trust "$1")"
|
736
748
|
if [[ -z "$value" ]] ; then
|
737
749
|
__rvm_ask_to_trust "$1"
|
@@ -741,6 +753,7 @@ __rvm_check_rvmrc_trustworthiness() {
|
|
741
753
|
}
|
742
754
|
|
743
755
|
__rvm_ask_to_trust() {
|
756
|
+
[[ -n "$rvm_promptless" ]] && return 2
|
744
757
|
echo "Changing into a directory with an untrusted .rvmrc"
|
745
758
|
echo "Do you wish to trust the rvmrc in this directory? It contains:"
|
746
759
|
echo "---"
|
@@ -775,7 +788,7 @@ __rvm_ask_to_trust() {
|
|
775
788
|
__rvm_project_rvmrc() {
|
776
789
|
local cwd
|
777
790
|
# Get the first argument or the pwd.
|
778
|
-
cwd="${1:-"$
|
791
|
+
cwd="${1:-"$PWD"}"
|
779
792
|
while : ; do
|
780
793
|
if [[ -z "$cwd" || "$HOME" = "$cwd" || "/" = "$cwd" ]] ; then
|
781
794
|
if [[ -n "$rvm_rvmrc_cwd" ]] ; then
|
@@ -789,10 +802,15 @@ __rvm_project_rvmrc() {
|
|
789
802
|
else
|
790
803
|
if [[ -f "$cwd/.rvmrc" ]] ; then
|
791
804
|
if [[ "$rvm_rvmrc_cwd" != "$cwd" ]] ; then
|
792
|
-
|
805
|
+
__rvm_check_rvmrc_trustworthiness "$cwd/.rvmrc"
|
806
|
+
local rvm_trustworthiness_result="$?"
|
807
|
+
if [[ "$rvm_trustworthiness_result" = 0 ]]; then
|
793
808
|
rvm_previous_environment="$(__rvm_environment_identifier)"
|
794
809
|
rvm_rvmrc_cwd="$cwd"
|
795
810
|
source "$cwd/.rvmrc"
|
811
|
+
return 0
|
812
|
+
else
|
813
|
+
return "$rvm_trustworthiness_result"
|
796
814
|
fi
|
797
815
|
fi
|
798
816
|
break
|
@@ -810,7 +828,7 @@ __rvm_record_install() {
|
|
810
828
|
local rvm_install_command="$(echo "$recorded_ruby_name $rvm_install_arguments" | __rvm_strip)"
|
811
829
|
\touch "$rvm_install_record_file"
|
812
830
|
\rm -f "$rvm_install_record_file.tmp"
|
813
|
-
|
831
|
+
\grep -v "^$recorded_ruby_name " < "$rvm_install_record_file" > "$rvm_install_record_file.tmp"
|
814
832
|
echo "$rvm_install_command" >> "$rvm_install_record_file.tmp"
|
815
833
|
\rm -f "$rvm_install_record_file"
|
816
834
|
mv "$rvm_install_record_file.tmp" "$rvm_install_record_file"
|
@@ -821,7 +839,7 @@ __rvm_remove_install_record() {
|
|
821
839
|
local rvm_install_record_file="$rvm_config_path/installs"
|
822
840
|
if [[ -s "$rvm_install_record_file" ]]; then
|
823
841
|
mv "$rvm_install_record_file" "$rvm_install_record_file.tmp"
|
824
|
-
|
842
|
+
\grep -v "^$recorded_ruby_name " < "$rvm_install_record_file.tmp" > "$rvm_install_record_file"
|
825
843
|
\rm -f "$rvm_install_record_file.tmp"
|
826
844
|
fi
|
827
845
|
}
|
@@ -831,7 +849,7 @@ __rvm_recorded_install_command() {
|
|
831
849
|
[[ -z "$recorded_ruby_name" ]] && return 1
|
832
850
|
local recorded_ruby_match="^$recorded_ruby_name "
|
833
851
|
if [[ -s "$rvm_config_path/installs" ]] && \grep -q "$recorded_ruby_match" "$rvm_config_path/installs" ; then
|
834
|
-
|
852
|
+
\grep "$recorded_ruby_match" < "$rvm_config_path/installs" | head -n1
|
835
853
|
else
|
836
854
|
return 1
|
837
855
|
fi
|
@@ -853,7 +871,7 @@ __rvm_expand_ruby_string() {
|
|
853
871
|
elif [[ "$1" = "all-gemsets" ]]; then
|
854
872
|
$rvm_scripts_path/list gemsets strings | __rvm_strip
|
855
873
|
elif [[ "$1" = "default-with-rvmrc" || "$1" = "rvmrc" ]]; then
|
856
|
-
$rvm_scripts_path/tools path-identifier "$
|
874
|
+
$rvm_scripts_path/tools path-identifier "$PWD"
|
857
875
|
elif [[ "$1" == "all-rubies" || "$1" = "rubies" ]]; then
|
858
876
|
$rvm_scripts_path/list rubies strings | __rvm_strip
|
859
877
|
elif [[ "$1" == "current-ruby" || "$1" = "gemsets" ]]; then
|
@@ -862,8 +880,8 @@ __rvm_expand_ruby_string() {
|
|
862
880
|
elif [[ "$1" = "current" ]]; then
|
863
881
|
__rvm_environment_identifier
|
864
882
|
elif [[ "$1" = "aliases" ]]; then
|
865
|
-
|
883
|
+
awk -F= '{print $1}' < "$rvm_config_path/alias" | __rvm_strip
|
866
884
|
else
|
867
885
|
echo "$1" | tr "," "\n" | __rvm_strip
|
868
886
|
fi
|
869
|
-
}
|
887
|
+
}
|