rvm 0.1.43 → 0.1.44
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 +25 -14
- data/binscripts/rvm-auto-ruby +18 -0
- data/binscripts/rvm-prompt +6 -0
- data/binscripts/rvm-shell +14 -12
- data/binscripts/rvm-update-head +6 -2
- data/binscripts/rvm-update-latest +5 -2
- data/binscripts/rvmsudo +8 -1
- data/config/db +1 -1
- data/config/known +1 -1
- data/config/md5 +4 -4
- data/contrib/gemset_snapshot +1 -1
- data/contrib/install-system-wide +12 -10
- data/gemsets/default.gems +0 -1
- data/gemsets/global.gems +0 -1
- data/install +38 -31
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +5 -2
- data/scripts/cd +4 -0
- data/scripts/cli +21 -19
- data/scripts/completion +32 -26
- data/scripts/environment-convertor +60 -0
- data/scripts/gemsets +23 -14
- data/scripts/help +1 -1
- data/scripts/info +6 -6
- data/scripts/initialize +11 -13
- data/scripts/install +38 -31
- data/scripts/irbrc.rb +5 -0
- data/scripts/list +7 -8
- data/scripts/maglev +1 -1
- data/scripts/manage +37 -24
- data/scripts/manpages +1 -1
- data/scripts/notes +2 -0
- data/scripts/repair +66 -0
- data/scripts/rubygems +5 -0
- data/scripts/rvm +25 -12
- data/scripts/rvm-install +38 -31
- data/scripts/selector +160 -33
- data/scripts/set +2 -2
- data/scripts/snapshot +1 -1
- data/scripts/update +38 -31
- data/scripts/utility +87 -179
- metadata +7 -4
data/scripts/set
CHANGED
@@ -72,7 +72,7 @@ __rvm_ruby_do() {
|
|
72
72
|
if [[ "$current_env" != "$current_set_ruby" ]]; then
|
73
73
|
current_env="$current_set_ruby ($current_env)"
|
74
74
|
fi
|
75
|
-
$rvm_scripts_path/log "info" "$current_env: $(ruby -v $rvm_ruby_mode | tr "\n" ' ')\n"
|
75
|
+
$rvm_scripts_path/log "info" "$current_env: $(ruby -v $rvm_ruby_mode | \tr "\n" ' ')\n"
|
76
76
|
unset current_env
|
77
77
|
fi
|
78
78
|
eval "$rvm_command"
|
@@ -160,7 +160,7 @@ __rvm_json() {
|
|
160
160
|
rubies=() ; successes=() ; errors=() ; statuses=()
|
161
161
|
|
162
162
|
rvm_ruby_strings="${rvm_ruby_strings:-"$($rvm_scripts_path/list strings)"}"
|
163
|
-
rvm_ruby_strings="$(echo "$rvm_ruby_strings" | tr ',' ' ')"
|
163
|
+
rvm_ruby_strings="$(echo "$rvm_ruby_strings" | \tr ',' ' ')"
|
164
164
|
|
165
165
|
# Check for a single ruby && exec if present.
|
166
166
|
__rvm_attempt_single_exec
|
data/scripts/snapshot
CHANGED
@@ -59,7 +59,7 @@ snapshot_save() {
|
|
59
59
|
local snapshot_installable_file="$rvm_tmp_path/$$-installable"
|
60
60
|
|
61
61
|
$rvm_scripts_path/alias list | awk -F ' => ' '{print $1}' | sort | uniq 2>/dev/null > "$snapshot_alias_name_file"
|
62
|
-
$rvm_scripts_path/list strings | tr ' ' '\n' | sort | uniq > "$snapshot_ruby_name_file"
|
62
|
+
$rvm_scripts_path/list strings | \tr ' ' '\n' | sort | uniq > "$snapshot_ruby_name_file"
|
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
|
|
data/scripts/update
CHANGED
@@ -1,10 +1,18 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
+
if [[ -z "$rvm_sandboxed" ]]; then
|
4
|
+
if [[ "root" = "$(whoami)" ]] || [[ -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
|
5
|
+
export rvm_sandboxed=0
|
6
|
+
else
|
7
|
+
export rvm_sandboxed=1
|
8
|
+
fi
|
9
|
+
fi
|
10
|
+
|
3
11
|
unset rvm_auto_flag
|
4
12
|
|
5
|
-
install_source_path
|
13
|
+
install_source_path="$(dirname "$0" | sed 's#\/scripts$##')"
|
6
14
|
if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then
|
7
|
-
builtin cd $install_source_path
|
15
|
+
builtin cd "$install_source_path"
|
8
16
|
fi
|
9
17
|
|
10
18
|
source scripts/version
|
@@ -53,7 +61,7 @@ done
|
|
53
61
|
|
54
62
|
if [[ -z "$rvm_prefix" ]] ; then
|
55
63
|
__rvm_load_rvmrc
|
56
|
-
if [[ "
|
64
|
+
if [[ "$rvm_sandboxed" = "0" ]] ; then
|
57
65
|
rvm_prefix="${rvm_prefix:-"/usr/local/"}"
|
58
66
|
else
|
59
67
|
rvm_prefix="${rvm_prefix:-"$HOME/."}"
|
@@ -64,7 +72,7 @@ if [[ -z "$rvm_path" ]] ; then rvm_path="${rvm_prefix}rvm" ; fi
|
|
64
72
|
|
65
73
|
source scripts/initialize
|
66
74
|
|
67
|
-
if grep -q 'scripts/rvm' $HOME/.bash* || grep -q 'scripts/rvm' $HOME/.zsh
|
75
|
+
if grep -q 'scripts/rvm' $HOME/.bash* 2>/dev/null || grep -q 'scripts/rvm' $HOME/.zsh* 2>/dev/null; then
|
68
76
|
if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then
|
69
77
|
export upgrade_flag=1
|
70
78
|
else
|
@@ -114,7 +122,7 @@ fi
|
|
114
122
|
|
115
123
|
spinner
|
116
124
|
|
117
|
-
mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gems_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path
|
125
|
+
mkdir -p "$rvm_archives_path" "$rvm_src_path" "$rvm_log_path" "$rvm_bin_path" "$rvm_gems_path" "$rvm_rubies_path" "$rvm_config_path" "$rvm_hooks_path" "$rvm_tmp_path"
|
118
126
|
|
119
127
|
for file in README LICENCE ; do
|
120
128
|
spinner
|
@@ -148,7 +156,7 @@ done
|
|
148
156
|
# Bin Scripts
|
149
157
|
#
|
150
158
|
# Cleanse and purge...
|
151
|
-
for file in rvm-prompt rvm rvmsudo rvm-shell ; do
|
159
|
+
for file in rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby ; do
|
152
160
|
spinner && perl -e 'sleep 0.2'
|
153
161
|
rm -f "$rvm_bin_path/$file"
|
154
162
|
cp -f "$source_path/binscripts/$file" $rvm_bin_path/
|
@@ -183,29 +191,30 @@ fi
|
|
183
191
|
# Initial Interpreter Gemsets.
|
184
192
|
#
|
185
193
|
spinner
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
done ; unset destination destination_path
|
194
|
+
if [[ -d gemsets/ ]] ; then
|
195
|
+
mkdir -p "$rvm_gemsets_path"
|
196
|
+
for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do
|
197
|
+
destination="$rvm_gemsets_path/$gemset_file"
|
198
|
+
destination_path="$(dirname "$destination")"
|
199
|
+
if [[ ! -s "$destination" ]] ; then
|
200
|
+
mkdir -p "$destination_path"
|
201
|
+
cp "gemsets/$gemset_file" "$destination"
|
202
|
+
fi
|
203
|
+
done ; unset destination destination_path gemset_file
|
204
|
+
fi
|
196
205
|
|
197
206
|
spinner
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
done ; unset destination destination_path
|
208
|
-
|
207
|
+
if [[ -d patchsets/ ]] ; then
|
208
|
+
mkdir -p "$rvm_patchsets_path"
|
209
|
+
for patchset_file in $(cd patchsets ; find . -iname '*' | sed 's/^\.\///') ; do
|
210
|
+
destination="$rvm_patchsets_path/$patchset_file"
|
211
|
+
destination_path="$(dirname "$destination")"
|
212
|
+
if [[ ! -s "$destination" ]] ; then
|
213
|
+
mkdir -p "$destination_path"
|
214
|
+
cp "patchsets/$patchset_file" "$destination"
|
215
|
+
fi
|
216
|
+
done ; unset destination destination_path patchset_file
|
217
|
+
fi
|
209
218
|
|
210
219
|
#
|
211
220
|
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
@@ -276,7 +285,7 @@ fi
|
|
276
285
|
|
277
286
|
printf "\n Correct permissions for base binaries in $rvm_bin_path..."
|
278
287
|
mkdir -p $rvm_bin_path
|
279
|
-
for file in rvm rvmsudo rvm-shell ; do
|
288
|
+
for file in rvm rvmsudo rvm-shell rvm-auto-ruby; do
|
280
289
|
[[ -s "$rvm_bin_path/$file" ]] && chmod +x "$rvm_bin_path/$file"
|
281
290
|
done; unset file
|
282
291
|
printf "\n Copying manpages into place."
|
@@ -285,9 +294,7 @@ for man_file in $(\ls "$install_source_path/man"); do
|
|
285
294
|
cp -R "$install_source_path/man/$man_file" "$rvm_man_path/"
|
286
295
|
done
|
287
296
|
|
288
|
-
|
289
|
-
./scripts/notes
|
290
|
-
fi
|
297
|
+
[[ "$upgrade_flag" = 0 ]] && ./scripts/notes
|
291
298
|
|
292
299
|
name="$(awk -F= '/^[[:space:]]*name/{print $2}' ~/.gitconfig 2>/dev/null)"
|
293
300
|
printf "\n\n${name:-"$(whoami)"},\n"
|
data/scripts/utility
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
__rvm_setup() {
|
4
4
|
# ZSH has 1 based array indexing, bash has 0 based.
|
5
|
-
if [[
|
5
|
+
if [[ -n "$ZSH_VERSION" ]] ; then
|
6
6
|
__shell_array_start=1
|
7
7
|
# Set clobber for zsh users, for compatibility with bash's append operator ( >> file ) behavior
|
8
8
|
setopt | grep -qs '^noclobber$'
|
@@ -14,7 +14,7 @@ __rvm_setup() {
|
|
14
14
|
}
|
15
15
|
|
16
16
|
__rvm_teardown() {
|
17
|
-
if [[
|
17
|
+
if [[ -n "$ZSH_VERSION" ]] ; then
|
18
18
|
if [[ "$rvm_zsh_clobber" -eq 0 ]] ; then
|
19
19
|
setopt noclobber
|
20
20
|
fi ; unset rvm_zsh_clobber
|
@@ -24,7 +24,7 @@ __rvm_teardown() {
|
|
24
24
|
# Ruby strings are scoped to their action.
|
25
25
|
# Hence, we ensure we remove them at in
|
26
26
|
# the cleanup phase.
|
27
|
-
|
27
|
+
|
28
28
|
# Clean up after CC switch
|
29
29
|
if [[ -n "$rvm_clang_flag" ]] ; then
|
30
30
|
if [[ -n "$rvm_prior_cc" ]] ; then
|
@@ -34,16 +34,33 @@ __rvm_teardown() {
|
|
34
34
|
fi
|
35
35
|
unset rvm_prior_cc
|
36
36
|
fi
|
37
|
-
|
37
|
+
|
38
38
|
unset rvm_ruby_strings
|
39
|
+
|
40
|
+
[[ -n "$rvm_dump_environment_flag" ]] && __rvm_dump_environment
|
41
|
+
|
39
42
|
}
|
40
43
|
|
44
|
+
__rvm_dump_environment() {
|
45
|
+
local dump_environment_file="$(echo "$rvm_dump_environment_flag" | awk -F, '{print $1}')"
|
46
|
+
local dump_environment_type="$(echo "$rvm_dump_environment_flag" | awk -F, '{print $2}')"
|
47
|
+
if [[ -n "$dump_environment_file" && -n "$dump_environment_type" ]]; then
|
48
|
+
if [[ "$dump_environment_type" == "atheis"* ]]; then
|
49
|
+
rm -rf "$dump_environment_file" && ln -s /dev/null "$dump_environment_file" >/dev/null 2>&1
|
50
|
+
else
|
51
|
+
$rvm_scripts_path/environment-convertor "$dump_environment_type" "$(__rvm_environment_identifier)" > "$dump_environment_file"
|
52
|
+
[[ "$?" -gt 0 ]] && rm -rf "$dump_environment_file"
|
53
|
+
fi
|
54
|
+
fi
|
55
|
+
unset rvm_dump_environment_flag
|
56
|
+
}
|
57
|
+
|
41
58
|
# Return a list of directories under a given base path.
|
42
59
|
# Derived from rvm_ruby_string.
|
43
60
|
__rvm_ruby_string_paths_under() {
|
44
|
-
local patch_parts="$(echo "$rvm_ruby_string" | tr '-' ' ' | __rvm_strip)"
|
61
|
+
local patch_parts="$(echo "$rvm_ruby_string" | \tr '-' ' ' | __rvm_strip)"
|
45
62
|
while true; do
|
46
|
-
echo "$1/$patch_parts" | tr ' ' '/' | sed 's#\/$##'
|
63
|
+
echo "$1/$patch_parts" | \tr ' ' '/' | sed 's#\/$##'
|
47
64
|
[[ -z "$patch_parts" ]] && break
|
48
65
|
patch_parts="$(echo "$patch_parts" | awk '{$NF=""; print}' | __rvm_strip)"
|
49
66
|
done
|
@@ -61,7 +78,7 @@ __rvm_db() {
|
|
61
78
|
value="$($rvm_scripts_path/db "$rvm_config_path/db" "$key")"
|
62
79
|
fi
|
63
80
|
|
64
|
-
if [[
|
81
|
+
if [[ -n "$value" ]] ; then
|
65
82
|
if [[ -z $variable ]] ; then
|
66
83
|
echo $value
|
67
84
|
else
|
@@ -87,8 +104,11 @@ __rvm_quote_args() {
|
|
87
104
|
|
88
105
|
__rvm_quote_args_with_shift() {
|
89
106
|
local shift_value="$1"; shift
|
90
|
-
|
91
|
-
|
107
|
+
while [[ "$shift_value" -gt 0 && "$#" -gt 0 ]]; do
|
108
|
+
shift
|
109
|
+
let shift_value=shift_value-1
|
110
|
+
done
|
111
|
+
__rvm_quote_args "$@"
|
92
112
|
}
|
93
113
|
|
94
114
|
__rvm_warn_on_rubyopt() {
|
@@ -124,15 +144,23 @@ __rvm_push() {
|
|
124
144
|
unset array item
|
125
145
|
}
|
126
146
|
|
147
|
+
__rvm_set_path_variable() {
|
148
|
+
if [[ -d "$1" ]] ; then
|
149
|
+
eval "${path_variable}=${1}"
|
150
|
+
else
|
151
|
+
$rvm_scripts_path/log "error" "'$1' is not a valid path."
|
152
|
+
fi ; unset path_variable
|
153
|
+
}
|
154
|
+
|
127
155
|
# Clean all *duplicate* items out of the path. (keep first occurrence of each)
|
128
156
|
__rvm_clean_path() {
|
129
|
-
PATH=$(echo $PATH | tr -s ':' '\n' | awk '!($0 in a){a[$0];print}' | tr -s '\n' ':' | sed 's#:$##')
|
157
|
+
PATH=$(echo $PATH | \tr -s ':' '\n' | awk '!($0 in a){a[$0];print}' | \tr -s '\n' ':' | sed 's#:$##')
|
130
158
|
export PATH
|
131
159
|
}
|
132
160
|
|
133
161
|
# Clean all rvm items out of the current working path.
|
134
162
|
__rvm_remove_rvm_from_path() {
|
135
|
-
PATH=$(echo $PATH | tr -s ':' '\n' | grep -v "\.rvm" | tr -s '\n' ':' | sed 's#:$##')
|
163
|
+
PATH=$(echo $PATH | \tr -s ':' '\n' | grep -v "\.rvm" | \tr -s '\n' ':' | sed 's#:$##')
|
136
164
|
export PATH
|
137
165
|
}
|
138
166
|
|
@@ -140,8 +168,8 @@ __rvm_remove_rvm_from_path() {
|
|
140
168
|
__rvm_run() {
|
141
169
|
log_file_name="$1" ; command="$2" ; message="$3"
|
142
170
|
if [[ -z "$rvm_ruby_log_path" ]] ; then rvm_ruby_log_path="$rvm_log_path" ; fi
|
143
|
-
if [[
|
144
|
-
if [[
|
171
|
+
if [[ -n "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
|
172
|
+
if [[ -n "$rvm_debug_flag" ]] ; then
|
145
173
|
$rvm_scripts_path/log "debug" "Executing: $command"
|
146
174
|
fi
|
147
175
|
|
@@ -162,8 +190,8 @@ __rvm_run_with_env() {
|
|
162
190
|
log_file_name="$1" ; env_name="$2" ; command="$3" ; message="$4"
|
163
191
|
if [[ -z "$env_name" ]]; then env_name="$(__rvm_environment_identifier)"; fi
|
164
192
|
if [[ -z "$rvm_ruby_log_path" ]] ; then rvm_ruby_log_path="$rvm_log_path" ; fi
|
165
|
-
if [[
|
166
|
-
if [[
|
193
|
+
if [[ -n "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
|
194
|
+
if [[ -n "$rvm_debug_flag" ]] ; then
|
167
195
|
$rvm_scripts_path/log "debug" "Executing: $command in environment "$env_name""
|
168
196
|
fi
|
169
197
|
|
@@ -186,7 +214,7 @@ __rvm_cleanup_variables() {
|
|
186
214
|
|
187
215
|
if [[ "$rvm_sticky_flag" = "1" ]] ; then export rvm_gemset_name ; else unset rvm_gemset_name ; fi
|
188
216
|
|
189
|
-
unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_sticky_flag rvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag rvm_docs_flag rvm_ruby_aliases rvm_ruby_aliases rvm_patch_names rvm_clang_flag rvm_install_arguments
|
217
|
+
unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_sticky_flag rvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag rvm_docs_flag rvm_ruby_aliases rvm_ruby_aliases rvm_patch_names rvm_clang_flag rvm_install_arguments rvm_dump_environment_flag
|
190
218
|
}
|
191
219
|
|
192
220
|
# Unset ruby-specific variables
|
@@ -215,7 +243,7 @@ __rvm_18_compat_ruby() {
|
|
215
243
|
rubies="$rubies $ruby_name"
|
216
244
|
fi
|
217
245
|
done; unset ruby_name
|
218
|
-
echo "$rubies" | sed 's/^ //' | tr ' ' '\n' | sort | tail -n1
|
246
|
+
echo "$rubies" | sed 's/^ //' | \tr ' ' '\n' | sort | tail -n1
|
219
247
|
unset rubies
|
220
248
|
}
|
221
249
|
|
@@ -274,6 +302,7 @@ __rvm_set_rvmrc() {
|
|
274
302
|
|
275
303
|
}
|
276
304
|
__rvm_load_rvmrc() {
|
305
|
+
[[ -z "$rvm_ignore_rvmrc" ]] && return
|
277
306
|
for rvmrc in /etc/rvmrc $HOME/.rvmrc ; do
|
278
307
|
if [[ -f "$rvmrc" ]] ; then
|
279
308
|
if grep -q '^\s*rvm .*$' $rvmrc ; then
|
@@ -296,7 +325,7 @@ __rvm_benchmark() {
|
|
296
325
|
rvm_ruby_args="$rvm_tmp_path/$$.rb"
|
297
326
|
rvm_benchmark_flag=1
|
298
327
|
rvm_action="ruby"
|
299
|
-
if [[
|
328
|
+
if [[ -n "$rvm_debug_flag" ]] ; then printf "\n$rvm_tmp_path/$$.rb:\n$(cat $rvm_tmp_path/$$.rb)" ; fi
|
300
329
|
# Override ruby string stuff, pass through.
|
301
330
|
old_rvm_ruby_string=$rvm_ruby_string
|
302
331
|
unset rvm_ruby_string
|
@@ -328,14 +357,16 @@ __rvm_bin_script() {
|
|
328
357
|
# Reset any rvm gathered information about the system and its state.
|
329
358
|
# rvm will refresh the stored information the next time it is called after reset.
|
330
359
|
__rvm_reset() {
|
331
|
-
PATH="$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)"
|
360
|
+
PATH="$(echo $PATH | \tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)"
|
332
361
|
PATH="$rvm_bin_path:$PATH" ; export PATH
|
333
362
|
|
334
363
|
for flag in default passenger editor ; do rm -f "$rvm_bin_path"/${flag}_* ; done
|
335
364
|
unset flag
|
336
365
|
|
337
366
|
for file in system default ; do
|
338
|
-
|
367
|
+
[[ -f "${rvm_path}/${file}" ]] && rm -f "$rvm_path/${file}"
|
368
|
+
[[ -f "${rvm_config_path}/${file}" ]] && rm -f "$rvm_config_path/${file}"
|
369
|
+
[[ -f "${rvm_environments_path}/${file}" ]] && rm -f "$rvm_environments_path/${file}"
|
339
370
|
done; unset file
|
340
371
|
|
341
372
|
# Go back to a clean state.
|
@@ -391,22 +422,24 @@ __rvm_initialize() {
|
|
391
422
|
|
392
423
|
__rvm_clean_path
|
393
424
|
|
394
|
-
if echo $PATH | grep -q 'rvm\/bin:' ; then
|
395
|
-
PATH
|
425
|
+
if echo "$PATH" | grep -q 'rvm\/bin:' ; then
|
426
|
+
PATH="$rvm_bin_path:$PATH"
|
427
|
+
export PATH
|
396
428
|
fi
|
397
429
|
|
398
|
-
mkdir -p $rvm_src_path $rvm_bin_path $rvm_archives_path $rvm_gems_path $rvm_tmp_path $rvm_repo_path
|
430
|
+
mkdir -p "$rvm_src_path" "$rvm_bin_path" "$rvm_archives_path" "$rvm_gems_path" "$rvm_tmp_path" "$rvm_repo_path"
|
399
431
|
}
|
400
432
|
|
401
433
|
# Update rubygems or binscripts based on CLI selection.
|
402
434
|
__rvm_update() {
|
403
435
|
__rvm_pushpop $rvm_path
|
404
|
-
if [[ "$rvm_head_flag" == "1" ]] || [[
|
436
|
+
if [[ "$rvm_head_flag" == "1" ]] || [[ -n "$rvm_self_flag" ]] || [[ "update" = "$rvm_action" ]] || [[ -n "$rvm_update_flag" ]] ; then
|
405
437
|
__rvm_version
|
406
438
|
__rvm_update_rvm
|
407
439
|
fi
|
408
|
-
|
409
|
-
|
440
|
+
[[ -n "$rvm_bin_flag" ]] && __rvm_bin_scripts
|
441
|
+
# Update to the latest rubygems.
|
442
|
+
[[ -n "$rvm_rubygems_flag" ]] && $rvm_scripts_path/rubygems current
|
410
443
|
|
411
444
|
unset rvm_update_flag rvm_action rvm_self_flag rvm_ruby_revision rvm_bin_flag rvm_rubygems_flag
|
412
445
|
__rvm_pushpop
|
@@ -420,12 +453,12 @@ __rvm_update_rvm() {
|
|
420
453
|
|
421
454
|
if [[ "$rvm_head_flag" == "1" ]] ; then
|
422
455
|
if [[ -d "$rvm_src_path/rvm/.git" ]] ; then
|
423
|
-
builtin cd $rvm_src_path/rvm/ && git pull origin master && ./scripts/install
|
456
|
+
builtin cd "$rvm_src_path/rvm/" && git pull origin master && ./scripts/install
|
424
457
|
else
|
425
|
-
builtin cd $rvm_src_path && git clone http://github.com/wayneeseguin/rvm.git && builtin cd rvm/ && ./scripts/install
|
458
|
+
builtin cd "$rvm_src_path" && git clone http://github.com/wayneeseguin/rvm.git && builtin cd rvm/ && ./scripts/install
|
426
459
|
fi
|
427
460
|
else
|
428
|
-
stable_version
|
461
|
+
stable_version="$(curl -s http://rvm.beginrescueend.com/releases/stable-version.txt)"
|
429
462
|
|
430
463
|
__rvm_run "fetch" "$rvm_scripts_path/fetch 'http://rvm.beginrescueend.com/releases/rvm-${stable_version}.tar.gz'" "fetching rvm-${stable_version}.tar.gz"
|
431
464
|
|
@@ -435,7 +468,7 @@ __rvm_update_rvm() {
|
|
435
468
|
fi
|
436
469
|
|
437
470
|
__rvm_pushpop
|
438
|
-
rvm_hook="after_update" ; source $rvm_scripts_path/hook
|
471
|
+
rvm_hook="after_update" ; source "$rvm_scripts_path/hook"
|
439
472
|
}
|
440
473
|
|
441
474
|
__rvm_reboot() {
|
@@ -498,12 +531,12 @@ __rvm_inspect() {
|
|
498
531
|
for binary in $rvm_ruby_args ; do
|
499
532
|
actual_file="$(command -v $binary)"
|
500
533
|
$rvm_scripts_path/log "info" "$actual_file:"
|
501
|
-
if [[
|
502
|
-
if [[
|
503
|
-
if [[
|
504
|
-
if [[
|
505
|
-
if [[
|
506
|
-
if [[
|
534
|
+
if [[ -n "$rvm_shebang_flag" ]] ; then cat $actual_file | head -n 1 ; fi
|
535
|
+
if [[ -n "$rvm_env_flag" ]] ; then cat $actual_file | awk '/ENV/' ; fi
|
536
|
+
if [[ -n "$rvm_path_flag" ]] ; then cat $actual_file | awk '/PATH/' ; fi
|
537
|
+
if [[ -n "$rvm_head_flag" ]] ; then cat $actual_file | head -n 5 ; fi
|
538
|
+
if [[ -n "$rvm_tail_flag" ]] ; then cat $actual_file | tail -n 5 ; fi
|
539
|
+
if [[ -n "$rvm_all_flag" ]] ; then cat $actual_file ; fi
|
507
540
|
done
|
508
541
|
}
|
509
542
|
|
@@ -517,7 +550,7 @@ __rvm_make_flags() {
|
|
517
550
|
# Set the build & host type
|
518
551
|
if [[ "Power Macintosh" = "$(sysctl -n hw.machine)" ]] ; then
|
519
552
|
: # Do nothing ?
|
520
|
-
elif [[ "$(sysctl -n hw.cpu64bit_capable)" = 1 || "$(sysctl -n hw.optional.x86_64)" = 1 ]] ; then
|
553
|
+
elif [[ "$(sysctl -n hw.cpu64bit_capable)" = 1 || "$(sysctl -n hw.optional.x86_64)" = 1 ]] ; then
|
521
554
|
# 64 bit capable
|
522
555
|
if [[ "-arch x86_64" = "$rvm_archflags" ]] ; then
|
523
556
|
rvm_ruby_configure_flags="${rvm_ruby_configure_flags} --build=x86_64-apple-darwin$(uname -r) --host=x86_64-apple-darwin$(uname -r)"
|
@@ -529,7 +562,7 @@ __rvm_make_flags() {
|
|
529
562
|
fi
|
530
563
|
fi
|
531
564
|
|
532
|
-
if [[
|
565
|
+
if [[ -n "$rvm_archflags" ]] ; then
|
533
566
|
ARCHFLAGS="$rvm_archflags" ; export ARCHFLAGS
|
534
567
|
# Use the latest sdk available.
|
535
568
|
if [[ -z "$rvm_sdk" ]] ; then rvm_sdk="$(/usr/bin/basename -a /Developer/SDKs/* | awk '/^M/' | sort | tail -n 1)" ; fi
|
@@ -540,133 +573,6 @@ __rvm_make_flags() {
|
|
540
573
|
fi
|
541
574
|
}
|
542
575
|
|
543
|
-
# Select a gemset based on CLI set options and environment.
|
544
|
-
# This only sets 'rvm_ruby_gem_home'
|
545
|
-
__rvm_gemset_select() {
|
546
|
-
command -v gem > /dev/null
|
547
|
-
if [[ $? -gt 0 ]] ; then return 0 ; fi # Stop if no 'gem' command is available.
|
548
|
-
|
549
|
-
rvm_ruby_global_gems_path="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}global"
|
550
|
-
|
551
|
-
#if [[ -z "$(echo $rvm_ruby_gem_home | grep "$rvm_path")" ]] ; then
|
552
|
-
# $rvm_scripts_path/log "warn" "Gemsets cannot be used with system ruby installs (yet)."
|
553
|
-
#fi
|
554
|
-
|
555
|
-
if [[ -z "$rvm_gemset_name" ]] ; then
|
556
|
-
# No longer defaulting to 'sticky' gem sets.
|
557
|
-
# Set 'rvm_sticky_flag=1' in ~/.rvmrc to enable.
|
558
|
-
if [[ ! -z "$rvm_sticky_flag" ]] ; then
|
559
|
-
if [[ ! -z "$GEM_HOME" ]] ; then
|
560
|
-
rvm_gemset_name=$(echo $GEM_HOME | xargs basename | awk -F${rvm_gemset_separator} '{print $2}')
|
561
|
-
fi
|
562
|
-
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
563
|
-
rvm_gemset_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F${rvm_gemset_separator} '{print $2}')
|
564
|
-
fi
|
565
|
-
fi
|
566
|
-
|
567
|
-
if [[ ! -z "$rvm_gemset_name" ]] && ! $rvm_scripts_path/match "$rvm_gemset_name" "^[0-9]\.[0-9]" ; then
|
568
|
-
rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
|
569
|
-
else
|
570
|
-
if [[ ! -z "$rvm_ruby_string" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
|
571
|
-
rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
|
572
|
-
elif [[ -z "$GEM_HOME" ]] && [[ ! -z "$(command -v gem)" ]] ; then
|
573
|
-
rvm_ruby_gem_home=$(gem env gemdir)
|
574
|
-
elif [[ ! -z "$GEM_HOME" ]] ; then
|
575
|
-
rvm_ruby_gem_home="$GEM_HOME"
|
576
|
-
else
|
577
|
-
unset rvm_ruby_gem_home
|
578
|
-
fi
|
579
|
-
fi
|
580
|
-
if [[ -z "$rvm_gemset_name" ]] ; then unset rvm_gemset_name ; fi
|
581
|
-
else
|
582
|
-
gemset=$(echo "$rvm_ruby_gem_home" | awk -F'@' '{print $NF}')
|
583
|
-
if [[ -z "$rvm_ruby_string" ]] && [[ ! -z "${GEM_HOME/@*/}" ]] ; then
|
584
|
-
rvm_ruby_string=$(basename ${GEM_HOME/@*/})
|
585
|
-
fi
|
586
|
-
|
587
|
-
if [[ ! -z "$rvm_ruby_string" ]] ; then
|
588
|
-
if [[ -z "$rvm_ruby_gem_home" ]] || [[ ! -z "$gemset" ]] ; then
|
589
|
-
rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
|
590
|
-
elif [[ ! -z "$gemset" ]] && [[ "$rvm_gemset_name" != "$gemset" ]] ; then
|
591
|
-
rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
|
592
|
-
fi ; unset gemset
|
593
|
-
else
|
594
|
-
$rvm_scripts_path/log "error" "Gemsets can not be used with non rvm controlled rubies (currently)."
|
595
|
-
return 1
|
596
|
-
fi
|
597
|
-
fi
|
598
|
-
|
599
|
-
# If the gemset does not exist, then notify the user as such and abort the action.
|
600
|
-
if [[ ! -z "$rvm_gemset_name" ]] && [[ ! -d "$rvm_ruby_gem_home" ]] ; then
|
601
|
-
if [[ "$rvm_gemset_create_on_use_flag" -ne 1 ]] && [[ "$rvm_create_flag" -ne 1 ]] && [[ "$rvm_delete_flag" -ne 1 ]] ; then
|
602
|
-
$rvm_scripts_path/log "error" "Gemset '$rvm_gemset_name' does not exist, rvm gemset create '$rvm_gemset_name' first."
|
603
|
-
return 1
|
604
|
-
fi
|
605
|
-
elif [[ "$rvm_delete_flag" -eq 1 ]] ; then
|
606
|
-
return 1
|
607
|
-
fi
|
608
|
-
|
609
|
-
if [[ -z "$rvm_ruby_gem_home" ]] && [[ ! -z $rvm_ruby_string ]] ; then
|
610
|
-
rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
|
611
|
-
rvm_ruby_global_gems_path="$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}global"
|
612
|
-
fi
|
613
|
-
|
614
|
-
rvm_ruby_gem_path="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
|
615
|
-
|
616
|
-
# Ensure that the ruby gem home exists.
|
617
|
-
mkdir -p "$rvm_ruby_gem_home"
|
618
|
-
if [[ -n "$rvm_ruby_gem_home" ]] && echo "$rvm_ruby_gem_home" | grep -q 'rvm'; then
|
619
|
-
if __rvm_using_gemset_globalcache && [[ ! -L "$rvm_ruby_gem_home/cache" ]]; then
|
620
|
-
mv "$rvm_ruby_gem_home/cache/"*.gem "$rvm_gems_cache_path/" 2>/dev/null
|
621
|
-
rm -rf "$rvm_ruby_gem_home/cache"
|
622
|
-
ln -nfs "$rvm_gems_cache_path" "$rvm_ruby_gem_home/cache"
|
623
|
-
fi
|
624
|
-
fi
|
625
|
-
|
626
|
-
export rvm_ruby_gem_path rvm_ruby_gem_home
|
627
|
-
}
|
628
|
-
|
629
|
-
# Use a gemset specified by 'rvm_ruby_gem_home'
|
630
|
-
__rvm_gemset_use() {
|
631
|
-
#if [[ -z "$(echo $rvm_ruby_gem_home | grep "rvm")" ]] ; then
|
632
|
-
# $rvm_scripts_path/log "warn" "Gemsets cannot be used with system ruby installs (yet)."
|
633
|
-
#fi
|
634
|
-
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
635
|
-
if [[ ! -d "$rvm_ruby_gem_home" ]] ; then
|
636
|
-
if [[ "$rvm_gemset_create_on_use_flag" -eq 1 ]] || [[ "$rvm_create_flag" -eq 1 ]]; then
|
637
|
-
$rvm_scripts_path/gemsets create $rvm_gemset_name
|
638
|
-
else
|
639
|
-
$rvm_scripts_path/log "error" "Gemset '$rvm_gemset_name' does not exist, rvm gemset create '$rvm_gemset_name' first."
|
640
|
-
return 1
|
641
|
-
fi
|
642
|
-
fi
|
643
|
-
|
644
|
-
if [[ "$rvm_interactive" -eq 1 ]] || [[ "$rvm_verbose_flag" -eq 1 ]] ; then
|
645
|
-
$rvm_scripts_path/log "info" "Now using gemset '${rvm_gemset_name:-default}'"
|
646
|
-
fi
|
647
|
-
|
648
|
-
rvm_ruby_gem_home="$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')${rvm_gemset_separator}${rvm_gemset_name}"
|
649
|
-
GEM_HOME="$rvm_ruby_gem_home"
|
650
|
-
BUNDLE_PATH="$rvm_ruby_gem_home"
|
651
|
-
GEM_PATH="$rvm_ruby_gem_home/bin:$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')${rvm_gemset_separator}global/bin"
|
652
|
-
export rvm_ruby_gem_home GEM_HOME BUNDLE_PATH GEM_PATH
|
653
|
-
|
654
|
-
__rvm_use # Now ensure the selection takes effect for the environment.
|
655
|
-
fi
|
656
|
-
return 0
|
657
|
-
}
|
658
|
-
|
659
|
-
__rvm_gemset_clear() {
|
660
|
-
unset rvm_gemset_name ; shift
|
661
|
-
rvm_ruby_gem_home="$(echo $GEM_HOME | sed "s#${rvm_gemset_separator:-'@'}.*\$##g")"
|
662
|
-
rvm_ruby_global_gems_path="$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')${rvm_gemset_separator}global"
|
663
|
-
GEM_HOME=$rvm_ruby_gem_home
|
664
|
-
BUNDLE_PATH="$rvm_ruby_gem_home"
|
665
|
-
GEM_PATH="$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin"
|
666
|
-
export rvm_ruby_gem_home rvm_ruby_global_gems_path GEM_HOME BUNDLE_PATH GEM_PATH
|
667
|
-
__rvm_use # Now ensure the selection takes effect for the environment.
|
668
|
-
}
|
669
|
-
|
670
576
|
__rvm_mono_env() {
|
671
577
|
export DYLD_LIBRARY_PATH="$rvm_usr_path/lib:$DYLD_LIBRARY_PATH"
|
672
578
|
export C_INCLUDE_PATH="$rvm_usr_path/include:$C_INCLUDE_PATH"
|
@@ -676,16 +582,6 @@ __rvm_mono_env() {
|
|
676
582
|
PATH="$rvm_usr_path/bin:$PATH"
|
677
583
|
}
|
678
584
|
|
679
|
-
__rvm_environment_identifier() {
|
680
|
-
ruby_string="$(command -v ruby)"
|
681
|
-
if [ -n "$ruby_string" ] && echo "$ruby_string" | grep -q -F "$rvm_rubies_path"; then
|
682
|
-
echo "$GEM_HOME" | xargs basename
|
683
|
-
else
|
684
|
-
echo "system"
|
685
|
-
fi
|
686
|
-
unset ruby_string
|
687
|
-
}
|
688
|
-
|
689
585
|
__rvm_become() {
|
690
586
|
[[ -n "$1" ]] && rvm_ruby_string="$1"
|
691
587
|
{ __rvm_ruby_string && __rvm_select && __rvm_use; } > /dev/null 2>&1
|
@@ -709,13 +605,14 @@ __rvm_ensure_has_enviroment_files() {
|
|
709
605
|
for variable in RUBY_VERSION GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME IRBRC rvm_ruby_string rvm_gemset_name MAGLEV_HOME ; do
|
710
606
|
eval "export $variable"
|
711
607
|
eval value=\$${variable}
|
712
|
-
if [[
|
713
|
-
|
608
|
+
if [[ -n "$value" ]] ; then
|
609
|
+
printf "${variable}='$value'\nexport ${variable}\n" >> $file_name
|
714
610
|
else
|
715
|
-
|
611
|
+
printf "unset ${variable}\n" >> $file_name
|
716
612
|
fi
|
717
613
|
done ; unset variable value
|
718
614
|
fi ; unset file_name
|
615
|
+
|
719
616
|
# Next, ensure we have default wrapper files. Also, prevent it from recursing.
|
720
617
|
if [[ -z "$rvm_creating_default_wrappers" ]]; then
|
721
618
|
# We need to generate wrappers for both the default gemset and the global gemset.
|
@@ -787,7 +684,7 @@ __rvm_project_rvmrc() {
|
|
787
684
|
fi
|
788
685
|
break
|
789
686
|
else
|
790
|
-
cwd
|
687
|
+
cwd="$(dirname "$cwd")"
|
791
688
|
fi
|
792
689
|
fi
|
793
690
|
done
|
@@ -826,3 +723,14 @@ __rvm_recorded_install_command() {
|
|
826
723
|
return 1
|
827
724
|
fi
|
828
725
|
}
|
726
|
+
|
727
|
+
|
728
|
+
__rvm_environment_identifier() {
|
729
|
+
ruby_string="$(command -v ruby)"
|
730
|
+
if [ -n "$ruby_string" ] && echo "$ruby_string" | grep -q -F "$rvm_rubies_path"; then
|
731
|
+
echo "$GEM_HOME" | xargs basename
|
732
|
+
else
|
733
|
+
echo "system"
|
734
|
+
fi
|
735
|
+
unset ruby_string
|
736
|
+
}
|