rvm 1.0.6 → 1.0.7
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/README +2 -5
- data/binscripts/rvm-prompt +4 -2
- data/binscripts/rvm-shell +1 -1
- data/config/known +20 -20
- data/examples/rvmrc +0 -4
- data/install +153 -29
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +2 -2
- data/scripts/alias +26 -22
- data/scripts/base +1 -1
- data/scripts/cleanup +32 -8
- data/scripts/cli +104 -115
- data/scripts/db +3 -3
- data/scripts/default +1 -1
- data/scripts/disk-usage +1 -1
- data/scripts/docs +28 -18
- data/scripts/env +1 -1
- data/scripts/environment-convertor +2 -2
- data/scripts/fetch +17 -17
- data/scripts/gemsets +394 -159
- data/scripts/help +8 -4
- data/scripts/hook +1 -1
- data/scripts/info +5 -5
- data/scripts/initialize +16 -6
- data/scripts/install +153 -29
- data/scripts/list +38 -35
- data/scripts/log +6 -3
- data/scripts/maglev +18 -18
- data/scripts/manage +306 -203
- data/scripts/migrate +12 -12
- data/scripts/monitor +5 -5
- data/scripts/notes +1 -1
- data/scripts/package +18 -12
- data/scripts/patches +8 -3
- data/scripts/patchsets +42 -10
- data/scripts/repair +12 -12
- data/scripts/rubygems +11 -11
- data/scripts/rvm +4 -7
- data/scripts/rvm-install +153 -29
- data/scripts/selector +139 -121
- data/scripts/set +11 -11
- data/scripts/snapshot +54 -35
- data/scripts/tools +2 -2
- data/scripts/update +153 -29
- data/scripts/upgrade +8 -8
- data/scripts/utility +59 -74
- data/scripts/wrapper +2 -2
- metadata +4 -4
data/scripts/set
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
source "$
|
3
|
+
source "$rvm_path/scripts/base"
|
4
4
|
|
5
5
|
__rvm_attempt_single_exec() {
|
6
6
|
# Return if we have multiple rubies. or we're not running exec.
|
@@ -37,7 +37,7 @@ __rvm_ruby_do() {
|
|
37
37
|
binary="$(basename $(command -v $binary) 2>/dev/null)"
|
38
38
|
|
39
39
|
else
|
40
|
-
"$
|
40
|
+
"$rvm_path/scripts/log" "warn" "'$binary not found for $rvm_ruby_string' either does not exist or is not executable? :("
|
41
41
|
__rvm_unset_ruby_variables
|
42
42
|
return 1
|
43
43
|
fi
|
@@ -51,11 +51,11 @@ __rvm_ruby_do() {
|
|
51
51
|
# TODO: the else case below should be run if $args =~ /\.rb$/
|
52
52
|
if [[ "ruby" = "$(basename $binary)" && "$rvm_benchmark_flag" -ne 1 ]] ; then
|
53
53
|
|
54
|
-
if "$
|
54
|
+
if "$rvm_path/scripts/match" "$args" "\.rb$" ; then
|
55
55
|
|
56
56
|
if [[ -z "$prefix" ]] ; then prefix="-S" ; fi
|
57
57
|
|
58
|
-
if ! "$
|
58
|
+
if ! "$rvm_path/scripts/match" "$args" "$prefix" ; then
|
59
59
|
args="$prefix $args"
|
60
60
|
fi
|
61
61
|
fi
|
@@ -76,7 +76,7 @@ __rvm_ruby_do() {
|
|
76
76
|
if [[ "$current_env" != "$current_set_ruby" ]]; then
|
77
77
|
current_env="$current_set_ruby ($current_env)"
|
78
78
|
fi
|
79
|
-
"$
|
79
|
+
"$rvm_path/scripts/log" "info" "$current_env: $(ruby -v $rvm_ruby_mode | \tr "\n" ' ')\n"
|
80
80
|
unset current_env
|
81
81
|
fi
|
82
82
|
eval "$rvm_command"
|
@@ -126,7 +126,7 @@ __rvm_yaml() {
|
|
126
126
|
if [[ -n "${ZSH_VERSION:-""}" ]] ; then array_start=1 ; else array_start=0 ; fi
|
127
127
|
for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do
|
128
128
|
if [[ ${rvm_debug_flag:-0} -gt 0 ]] ; then
|
129
|
-
"$
|
129
|
+
"$rvm_path/scripts/log" "debug" "${rubies[$index]}: ${statuses[$index]}"
|
130
130
|
fi
|
131
131
|
yaml="$yaml\n \"${rubies[$index]}\": ${statuses[$index]}"
|
132
132
|
done ; unset index array_start
|
@@ -149,7 +149,7 @@ __rvm_json() {
|
|
149
149
|
|
150
150
|
for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do
|
151
151
|
if [[ ${rvm_debug_flag:-0} -gt 0 ]] ; then
|
152
|
-
"$
|
152
|
+
"$rvm_path/scripts/log" "debug" "${rubies[$index]}: ${statuses[$index]}"
|
153
153
|
fi
|
154
154
|
json="$json\n {\"${rubies[$index]}\": ${statuses[$index]}}"
|
155
155
|
if (( $index + 1 < $total + $array_start )) ; then json="$json, " ; fi
|
@@ -172,13 +172,13 @@ action="${args[0]}"
|
|
172
172
|
args=${args[@]:1}
|
173
173
|
|
174
174
|
if [[ -z "$action" ]] ; then
|
175
|
-
"$
|
175
|
+
"$rvm_path/scripts/log" "error" "Action must be specified."
|
176
176
|
exit 1
|
177
177
|
fi
|
178
178
|
|
179
179
|
if [[ "$action" == "ruby" ]] && echo "$args" | \grep -q "^'--[^[:space:]]*'$" ; then
|
180
|
-
"$
|
181
|
-
"$
|
180
|
+
"$rvm_path/scripts/log" "warn" "You called rvm ruby with the arguments $args which look like use options."
|
181
|
+
"$rvm_path/scripts/log" "warn" "Please note that 'rvm ruby' invokes set operations instead."
|
182
182
|
fi
|
183
183
|
|
184
184
|
rvm_ruby_strings=$(__rvm_expand_ruby_string "$rvm_ruby_strings")
|
@@ -195,6 +195,6 @@ if [[ ! -z "$rvm_summary_flag" ]] ; then __rvm_summary ; fi
|
|
195
195
|
if [[ ! -z "$rvm_yaml_flag" ]] ; then __rvm_yaml ; fi
|
196
196
|
if [[ ! -z "$rvm_json_flag" ]] ; then __rvm_json ; fi
|
197
197
|
|
198
|
-
rvm_hook="after_do" ; source "$
|
198
|
+
rvm_hook="after_do" ; source "$rvm_path/scripts/hook"
|
199
199
|
|
200
200
|
exit ${#errors[*]}
|
data/scripts/snapshot
CHANGED
@@ -3,11 +3,11 @@
|
|
3
3
|
unset GREP_COLOR
|
4
4
|
unset GREP_OPTIONS
|
5
5
|
|
6
|
-
source "$
|
6
|
+
source "$rvm_path/scripts/base"
|
7
7
|
|
8
8
|
__error_on_result() {
|
9
9
|
if [[ "$1" -gt 0 ]]; then
|
10
|
-
"$
|
10
|
+
"$rvm_path/scripts/log" "fail" "$2 - Aborting now."
|
11
11
|
return 0
|
12
12
|
else
|
13
13
|
return 1
|
@@ -27,41 +27,47 @@ snapshot_save() {
|
|
27
27
|
\rm -rf "$snapshot_temp_path"
|
28
28
|
\mkdir -p "$snapshot_temp_path"
|
29
29
|
|
30
|
-
"$
|
30
|
+
"$rvm_path/scripts/log" "info" "Backing up a list of aliases"
|
31
31
|
\cp "$rvm_config_path/alias" "$snapshot_temp_path/"
|
32
32
|
|
33
|
-
"$
|
33
|
+
"$rvm_path/scripts/log" "info" "Backing up your user preferences"
|
34
34
|
\cp "$rvm_config_path/user" "$snapshot_temp_path/"
|
35
35
|
|
36
|
-
"$
|
36
|
+
"$rvm_path/scripts/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_path/scripts/log" "info" "Backing up all of your gemsets"
|
40
40
|
\mkdir -p "$snapshot_temp_path/gems"
|
41
41
|
|
42
42
|
(
|
43
43
|
builtin cd "$snapshot_temp_path/gems"
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
|
45
|
+
for snapshot_gemset in $("$rvm_path/scripts/list" gemsets strings) ; do
|
46
|
+
|
47
|
+
__rvm_become "$snapshot_gemset" ; result="$?"
|
48
|
+
|
47
49
|
__error_on_result "$result" "Error becoming ruby $snapshot_gemset" && return "$result"
|
48
|
-
|
49
|
-
result="$?"
|
50
|
+
|
51
|
+
"$rvm_path/scripts/gemsets" export "${snapshot_gemset}.gems" >/dev/null ; result="$?"
|
52
|
+
|
50
53
|
__error_on_result "$result" "Error exporting gemset contents for $snapshot_gemset" && return "$result"
|
54
|
+
|
51
55
|
\mkdir -p "./$snapshot_gemset/"
|
56
|
+
|
52
57
|
[[ -d "$GEM_HOME/cache/" ]] && \cp -R "$GEM_HOME/cache/" "./$snapshot_gemset/"
|
53
|
-
|
58
|
+
|
59
|
+
done
|
54
60
|
)
|
55
61
|
|
56
|
-
"$
|
62
|
+
"$rvm_path/scripts/log" "info" "Backing up all of your installed rubies"
|
57
63
|
echo '#!/usr/bin/env bash -e' > "$snapshot_temp_path/install-rubies.sh"
|
58
|
-
echo "source \"\$
|
64
|
+
echo "source \"\$rvm_path/scripts/rvm\" || true" >> "$snapshot_temp_path/install-rubies.sh"
|
59
65
|
local snapshot_ruby_name_file="$rvm_tmp_path/$$-rubies"
|
60
66
|
local snapshot_alias_name_file="$rvm_tmp_path/$$-aliases"
|
61
67
|
local snapshot_installable_file="$rvm_tmp_path/$$-installable"
|
62
68
|
|
63
|
-
"$
|
64
|
-
"$
|
69
|
+
"$rvm_path/scripts/alias" list | awk -F ' => ' '{print $1}' | sort | uniq 2>/dev/null > "$snapshot_alias_name_file"
|
70
|
+
"$rvm_path/scripts/list" strings | \tr ' ' '\n' | sort | uniq > "$snapshot_ruby_name_file"
|
65
71
|
comm -2 -3 "$snapshot_ruby_name_file" "$snapshot_alias_name_file" > "$snapshot_installable_file"
|
66
72
|
\rm -rf "$snapshot_ruby_name_file" "$snapshot_alias_name_file"
|
67
73
|
|
@@ -80,7 +86,7 @@ snapshot_save() {
|
|
80
86
|
|
81
87
|
\rm -rf "$snapshot_installable_file"
|
82
88
|
|
83
|
-
"$
|
89
|
+
"$rvm_path/scripts/log" "info" "Compressing snapshotting"
|
84
90
|
local destination_path="$PWD"
|
85
91
|
(
|
86
92
|
builtin cd "$snapshot_temp_path"
|
@@ -90,10 +96,10 @@ snapshot_save() {
|
|
90
96
|
__error_on_result "$result" "Error creating archive $destination_path/$1.tar.gz" && return "$result"
|
91
97
|
)
|
92
98
|
|
93
|
-
"$
|
99
|
+
"$rvm_path/scripts/log" "info" "Cleaning up"
|
94
100
|
\rm -rf "$snapshot_temp_path"
|
95
101
|
|
96
|
-
"$
|
102
|
+
"$rvm_path/scripts/log" "info" "Snapshot complete"
|
97
103
|
}
|
98
104
|
|
99
105
|
snapshot_load() {
|
@@ -115,7 +121,7 @@ snapshot_load() {
|
|
115
121
|
\rm -rf "$snapshot_temp_path"
|
116
122
|
\mkdir -p "$snapshot_temp_path"
|
117
123
|
|
118
|
-
"$
|
124
|
+
"$rvm_path/scripts/log" "info" "Extracting snapshot"
|
119
125
|
(
|
120
126
|
builtin cd "$snapshot_temp_path"
|
121
127
|
tar xzf "$snapshot_archive"
|
@@ -123,59 +129,72 @@ snapshot_load() {
|
|
123
129
|
__error_on_result "$result" "Error extracting the archive '$snapshot_archive'" && return "$result"
|
124
130
|
)
|
125
131
|
|
126
|
-
"$
|
132
|
+
"$rvm_path/scripts/log" "info" "Restoring user settings"
|
127
133
|
\cp -f "$snapshot_temp_path/user" "$rvm_config_path/user"
|
128
134
|
|
129
|
-
"$
|
135
|
+
"$rvm_path/scripts/log" "info" "Installing rvm-managed packages"
|
130
136
|
for snapshot_package in $(cat "$snapshot_temp_path/packages"); do
|
131
|
-
"$
|
137
|
+
"$rvm_path/scripts/package" install "$snapshot_package"
|
132
138
|
result="$?"
|
133
139
|
__error_on_result "$result" "Error installing package '$snapshot_package'" && return "$result"
|
134
140
|
done; unset snapshot_package
|
135
141
|
|
136
|
-
"$
|
142
|
+
"$rvm_path/scripts/log" "info" "Installing rubies"
|
137
143
|
chmod +x "$snapshot_temp_path/install-rubies.sh"
|
138
144
|
"$snapshot_temp_path/install-rubies.sh"
|
139
145
|
result="$?"
|
140
146
|
__error_on_result "$result" "Error importing rubies." && return "$result"
|
141
147
|
|
142
148
|
export rvm_create_flag=1
|
143
|
-
"$
|
149
|
+
"$rvm_path/scripts/log" "info" "Setting up gemsets"
|
144
150
|
(
|
145
151
|
builtin cd "$snapshot_temp_path/gems"
|
146
|
-
|
152
|
+
|
153
|
+
gems=($(find . -mindepth 0 -maxdepth 0 -type f -iname '*.gems' | sed 's/.gems$//'))
|
154
|
+
|
155
|
+
for snapshot_gemset in "${gems[@]//.\/}" ; do
|
156
|
+
|
147
157
|
__rvm_become "$snapshot_gemset"
|
148
158
|
result="$?"
|
149
|
-
|
159
|
+
|
160
|
+
__error_on_result "$result" \
|
161
|
+
"Error becoming '$snapshot_gemset'" && return "$result"
|
162
|
+
|
150
163
|
mkdir -p "$GEM_HOME/cache/"
|
164
|
+
|
151
165
|
cp -Rf "$snapshot_gemset/" "$GEM_HOME/cache/"
|
152
166
|
result="$?"
|
153
|
-
|
154
|
-
|
167
|
+
|
168
|
+
__error_on_result "$result" \
|
169
|
+
"Error copying across cache for $snapshot_gemset" && return "$result"
|
170
|
+
|
171
|
+
"$rvm_path/scripts/gemsets" import "$snapshot_gemset" >/dev/null 2>&1
|
155
172
|
result="$?"
|
156
|
-
|
173
|
+
|
174
|
+
__error_on_result "$result" \
|
175
|
+
"Error importing gemset for $snapshot_gemset" && return "$result"
|
157
176
|
done
|
158
177
|
)
|
159
178
|
|
160
|
-
"$
|
179
|
+
"$rvm_path/scripts/log" "info" "Restoring aliases"
|
161
180
|
while read -r package_info; do
|
162
181
|
# Note: this assumes an '=' int the input...
|
163
182
|
local alias_name="${package_info/=*}"
|
164
183
|
local alias_ruby="${package_info/*=}"
|
165
184
|
|
166
|
-
"$
|
185
|
+
"$rvm_path/scripts/alias" create "$alias_name" "$alias_ruby"
|
167
186
|
if [[ "$alias_name" = "default" ]]; then
|
168
|
-
(source "$
|
187
|
+
(source "$rvm_path/scripts/rvm" && rvm use "$alias_ruby" --default) >/dev/null 2>&1
|
169
188
|
result="$?"
|
170
189
|
__error_on_result "$result" "Error setting default to $alias_ruby" && return "$result"
|
171
190
|
fi
|
172
191
|
done < "$snapshot_temp_path/alias"
|
173
192
|
unset package_info
|
174
193
|
|
175
|
-
"$
|
194
|
+
"$rvm_path/scripts/log" "info" "Cleaning up load process"
|
176
195
|
\rm -rf "$snapshot_temp_path"
|
177
196
|
|
178
|
-
"$
|
197
|
+
"$rvm_path/scripts/log" "info" "Loaded snapshot from $(basename "$snapshot_archive")"
|
179
198
|
}
|
180
199
|
|
181
200
|
snapshot_usage() {
|
data/scripts/tools
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
source "$
|
3
|
+
source "$rvm_path/scripts/base"
|
4
4
|
|
5
5
|
usage() {
|
6
6
|
echo "Usage: rvm tools {identifier,path-identifier,strings}" 1>&2
|
@@ -18,7 +18,7 @@ tools_path_identifier() {
|
|
18
18
|
return 1
|
19
19
|
fi
|
20
20
|
|
21
|
-
source "$
|
21
|
+
source "$rvm_path/scripts/rvm"
|
22
22
|
builtin cd "$1"
|
23
23
|
rvm_promptless=1 __rvm_project_rvmrc
|
24
24
|
rvmrc_result="$?"
|
data/scripts/update
CHANGED
@@ -126,7 +126,7 @@ Be sure to get head often as rvm development happens fast,
|
|
126
126
|
you can do this by running 'rvm update --head' followed by 'rvm reload'
|
127
127
|
or opening a new shell
|
128
128
|
|
129
|
-
w
|
129
|
+
w⦿‿⦿t
|
130
130
|
|
131
131
|
~ Wayne
|
132
132
|
|
@@ -145,7 +145,7 @@ Upgrade Notes
|
|
145
145
|
rvm remove X ; rvm install X
|
146
146
|
|
147
147
|
* If you wish to have the 'pretty colors' again, set in ~/.rvmrc:
|
148
|
-
export
|
148
|
+
export rvm_pretty_print_flag=1
|
149
149
|
"
|
150
150
|
}
|
151
151
|
|
@@ -192,6 +192,7 @@ __rvm_initialize
|
|
192
192
|
item="* "
|
193
193
|
question="\n<?>"
|
194
194
|
cwd="$PWD"
|
195
|
+
|
195
196
|
source_path="${source_path:-$cwd}"
|
196
197
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
197
198
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
@@ -209,13 +210,10 @@ fi
|
|
209
210
|
|
210
211
|
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
211
212
|
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
212
|
-
rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
|
213
213
|
rvm_config_path="${rvm_config_path:-"$rvm_path/config"}"
|
214
214
|
rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
|
215
215
|
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
216
216
|
|
217
|
-
export rvm_gemset_separator="@" # TODO: Remove this after a while.
|
218
|
-
|
219
217
|
printf "
|
220
218
|
RVM: Shell scripts enabling management of multiple ruby environments.
|
221
219
|
RTFM: http://rvm.beginrescueend.com/
|
@@ -223,35 +221,60 @@ printf "
|
|
223
221
|
"
|
224
222
|
|
225
223
|
if [[ ${upgrade_flag:-0} -eq 1 ]] ;then
|
224
|
+
|
226
225
|
printf "\nUpgrading the RVM installation in $rvm_path/"
|
226
|
+
|
227
227
|
else
|
228
|
-
|
228
|
+
|
229
|
+
printf "\nInstalling RVM to $rvm_path/"
|
230
|
+
|
229
231
|
fi
|
230
232
|
|
231
|
-
|
233
|
+
for directory in "$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" ; do
|
234
|
+
|
235
|
+
if [[ ! -d "$directory" ]] ; then
|
236
|
+
|
237
|
+
mkdir -p "$directory"
|
238
|
+
|
239
|
+
fi
|
240
|
+
|
241
|
+
done
|
232
242
|
|
233
243
|
for file in README LICENCE ; do
|
244
|
+
|
234
245
|
cp -f "$source_path/$file" "$rvm_path/"
|
246
|
+
|
235
247
|
done
|
236
248
|
|
237
249
|
#
|
238
250
|
# Scripts
|
239
251
|
#
|
240
252
|
for dir_name in config scripts examples lib hooks help patches; do
|
241
|
-
|
253
|
+
|
242
254
|
if [[ -d "$source_path/$dir_name" ]] ; then
|
255
|
+
|
256
|
+
if [[ ! -d "$rvm_path/$dir_name" ]] ; then
|
257
|
+
|
258
|
+
mkdir -p "$rvm_path/$dir_name"
|
259
|
+
|
260
|
+
fi
|
261
|
+
|
243
262
|
cp -Rf "$source_path/$dir_name" "$rvm_path"
|
263
|
+
|
244
264
|
fi
|
245
|
-
|
265
|
+
|
266
|
+
done
|
246
267
|
|
247
268
|
if [[ ! -s "$rvm_config_path/user" ]] ; then
|
248
|
-
mkdir -p "$rvm_config_path/"
|
249
269
|
echo '# Users settings file, overrides db file settings and persists across installs.' >> "$rvm_config_path/user"
|
250
270
|
fi
|
251
271
|
|
252
|
-
scripts=(
|
272
|
+
scripts=(monitor match log install color db fetch log set package)
|
273
|
+
|
253
274
|
for script_name in "${scripts[@]}" ; do
|
254
|
-
|
275
|
+
|
276
|
+
chmod +x "$rvm_path/scripts/$script_name" 2>/dev/null # Hide errors.
|
277
|
+
|
255
278
|
done
|
256
279
|
|
257
280
|
#
|
@@ -259,29 +282,48 @@ done
|
|
259
282
|
#
|
260
283
|
# Cleanse and purge...
|
261
284
|
for file in rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby ; do
|
285
|
+
|
262
286
|
rm -f "$rvm_bin_path/$file"
|
287
|
+
|
263
288
|
cp -f "$source_path/binscripts/$file" $rvm_bin_path/
|
289
|
+
|
264
290
|
done
|
265
|
-
|
291
|
+
|
292
|
+
chmod +x "$rvm_bin_path"/* # TODO: this is quite suboptimal.
|
266
293
|
|
267
294
|
#
|
268
295
|
# RC Files
|
269
296
|
#
|
270
297
|
if [[ -n "$rvm_auto_flag" ]] ; then
|
298
|
+
|
271
299
|
printf "Checking rc files... ($rvm_rc_files)"
|
300
|
+
|
272
301
|
if [[ "$rvm_loaded_flag" != "1" ]] ; then
|
302
|
+
|
273
303
|
for rcfile in $(printf $rvm_rc_files) ; do
|
304
|
+
|
274
305
|
if [[ ! -f $rcfile ]] ; then touch $rcfile ; fi
|
306
|
+
|
275
307
|
if [[ -s "$HOME/.profile" ]] ; then
|
308
|
+
|
276
309
|
if ! grep -q '.profile' "$rcfile" ; then
|
310
|
+
|
277
311
|
echo " Adding 'if [[ -s \$HOME/.profile ]] ; then source \$HOME ; fi' to $rcfile."
|
312
|
+
|
278
313
|
printf "\n# rvm-install added line:\nif [[ -s \$HOME/.profile ]] ; then source \$HOME/.profile ; fi\n" >> "$rcfile"
|
314
|
+
|
279
315
|
fi
|
316
|
+
|
280
317
|
fi
|
318
|
+
|
281
319
|
if ! grep -q "scripts\/rvm" "$rcfile" ; then
|
282
|
-
|
283
|
-
|
320
|
+
|
321
|
+
echo " Adding 'if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi' to $rcfile."
|
322
|
+
|
323
|
+
printf "\n# rvm-install added:\nif [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi\n" >> "$rcfile"
|
324
|
+
|
284
325
|
fi
|
326
|
+
|
285
327
|
done
|
286
328
|
fi
|
287
329
|
fi
|
@@ -290,47 +332,91 @@ fi
|
|
290
332
|
# Initial Interpreter Gemsets.
|
291
333
|
#
|
292
334
|
if [[ -d gemsets/ ]] ; then
|
293
|
-
|
335
|
+
|
336
|
+
if [[ ! -d "$rvm_path/gemsets" ]] ; then
|
337
|
+
|
338
|
+
mkdir -p "$rvm_path/gemsets"
|
339
|
+
|
340
|
+
fi
|
294
341
|
|
295
342
|
for gemset_file in $(builtin cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
|
296
|
-
|
343
|
+
|
344
|
+
destination="$rvm_path/gemsets/$gemset_file"
|
345
|
+
|
297
346
|
destination_path="$(dirname "$destination")"
|
347
|
+
|
298
348
|
if [[ ! -s "$destination" ]] ; then
|
349
|
+
|
299
350
|
mkdir -p "$destination_path"
|
351
|
+
|
300
352
|
cp "gemsets/$gemset_file" "$destination"
|
353
|
+
|
301
354
|
fi
|
302
|
-
|
355
|
+
|
356
|
+
done
|
357
|
+
|
358
|
+
unset destination destination_path gemset_file
|
359
|
+
|
303
360
|
fi
|
304
361
|
|
305
362
|
if [[ -d patchsets/ ]] ; then
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
363
|
+
|
364
|
+
if [[ ! -d "$rvm_path/patchsets" ]] ; then
|
365
|
+
|
366
|
+
mkdir -p "$rvm_path/patchsets"
|
367
|
+
|
368
|
+
fi
|
369
|
+
|
370
|
+
patchsets=($(builtin cd patchsets ; find \. -iname '*' | sed 's/^\.\///'))
|
371
|
+
|
372
|
+
for patchset_file in "${patchsets[@]}" ; do
|
373
|
+
|
374
|
+
destination="$rvm_path/patchsets/$patchset_file"
|
375
|
+
|
310
376
|
if [[ ! -s "$destination" ]] ; then
|
377
|
+
|
378
|
+
destination_path="$(dirname "$destination")"
|
379
|
+
|
311
380
|
mkdir -p "$destination_path"
|
381
|
+
|
312
382
|
cp "patchsets/$patchset_file" "$destination"
|
383
|
+
|
313
384
|
fi
|
314
|
-
done
|
385
|
+
done
|
386
|
+
|
315
387
|
fi
|
316
388
|
|
317
389
|
#
|
318
390
|
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
319
391
|
#
|
320
392
|
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
393
|
+
|
321
394
|
mkdir -p "$rvm_rubies_path/"
|
395
|
+
|
322
396
|
for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* $rvm_path/rbx-* $rvm_path/maglev-* $rvm_path/ree-* ; do
|
397
|
+
|
323
398
|
if [[ -d "$ruby" ]] ; then
|
399
|
+
|
324
400
|
mv "$ruby" "$rvm_rubies_path/"
|
401
|
+
|
325
402
|
new_path="$rvm_rubies_path/$(basename $ruby)"
|
403
|
+
|
326
404
|
for file in gem rake ; do
|
405
|
+
|
327
406
|
if [[ -s "$new_path/bin/$file" ]] ; then
|
407
|
+
|
328
408
|
sed -e '1,1s=.*=#!'"${new_path}/bin/ruby=" "${new_path}/bin/${file}" > "${new_path}/bin/${file}.new"
|
409
|
+
|
329
410
|
mv -f "$new_path/bin/$file.new" "$new_path/bin/$file"
|
411
|
+
|
330
412
|
chmod +x "$new_path/bin/$file"
|
413
|
+
|
331
414
|
fi
|
415
|
+
|
332
416
|
done
|
417
|
+
|
333
418
|
fi
|
419
|
+
|
334
420
|
done
|
335
421
|
#
|
336
422
|
# End of rubies migration.
|
@@ -340,36 +426,60 @@ done
|
|
340
426
|
# Migrate old gemset directories to new gemset pattern.
|
341
427
|
#
|
342
428
|
for gemset in "$rvm_path"/gems/*\%* ; do
|
343
|
-
|
429
|
+
|
430
|
+
new_path=${gemset/\%/${rvm_gemset_separator:-"@"}}
|
431
|
+
|
344
432
|
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
433
|
+
|
345
434
|
printf "\n Renaming $(basename "$gemset") to $(basename "$new_path") for new gemset separator."
|
435
|
+
|
346
436
|
mv "$gemset" "$new_path"
|
437
|
+
|
347
438
|
fi
|
439
|
+
|
348
440
|
done
|
349
441
|
|
350
442
|
for gemset in "$rvm_path"/gems/*\+* ; do
|
351
|
-
|
443
|
+
|
444
|
+
new_path=${gemset/\+/${rvm_gemset_separator:-"@"}}
|
445
|
+
|
352
446
|
if [[ -d "$gemset" && ! -d "$new_path" ]] ; then
|
447
|
+
|
353
448
|
printf "\n Renaming $(basename "$gemset") to $(basename "$new_path") for new gemset separator."
|
449
|
+
|
354
450
|
mv $gemset $new_path
|
451
|
+
|
355
452
|
fi
|
453
|
+
|
356
454
|
done
|
357
455
|
|
358
456
|
for gemset in "$rvm_path"/gems/*\@ ; do
|
457
|
+
|
359
458
|
new_path=$(echo $gemset | sed -e 's#\@$##')
|
459
|
+
|
360
460
|
if [[ -d "$gemset" && ! -d "$new_path" ]] ; then
|
461
|
+
|
361
462
|
printf "\n Fixing: $(basename "$gemset") to $(basename "$new_path") for new gemset separator."
|
463
|
+
|
362
464
|
mv "$gemset" "$new_path"
|
465
|
+
|
363
466
|
fi
|
467
|
+
|
364
468
|
done
|
365
469
|
|
366
470
|
# Move from legacy defaults to the new, alias based system.
|
367
471
|
if [[ -s "$rvm_config_path/default" ]]; then
|
368
|
-
|
472
|
+
|
473
|
+
original_version="$(basename "$(grep GEM_HOME "$rvm_config_path/default" | awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator:-"@"}#")")"
|
474
|
+
|
369
475
|
if [[ -n "$original_version" ]]; then
|
370
|
-
|
476
|
+
|
477
|
+
"$rvm_path/scripts/alias" create default "$original_version" &> /dev/null
|
478
|
+
|
371
479
|
fi ; unset original_version
|
480
|
+
|
372
481
|
rm -rf "$rvm_config_path/default"
|
482
|
+
|
373
483
|
fi
|
374
484
|
|
375
485
|
#
|
@@ -380,13 +490,21 @@ printf "\n Correct permissions for base binaries in $rvm_bin_path..."
|
|
380
490
|
mkdir -p "$rvm_bin_path"
|
381
491
|
|
382
492
|
for file in rvm rvmsudo rvm-shell rvm-auto-ruby ; do
|
493
|
+
|
383
494
|
[[ -s "$rvm_bin_path/$file" ]] && chmod +x "$rvm_bin_path/$file"
|
384
|
-
|
495
|
+
|
496
|
+
done
|
497
|
+
|
385
498
|
printf "\n Copying manpages into place."
|
386
499
|
|
387
|
-
|
500
|
+
files=($(builtin cd "$install_source_path/man" ; find . -maxdepth 1 -mindepth 1 -type f -print))
|
501
|
+
|
502
|
+
for file in "${files[@]//.\/}" ; do
|
503
|
+
|
388
504
|
rm -rf "$rvm_man_path/$man_file"
|
505
|
+
|
389
506
|
cp -R "$install_source_path/man/$man_file" "$rvm_man_path/"
|
507
|
+
|
390
508
|
done
|
391
509
|
|
392
510
|
[[ "$upgrade_flag" = 0 ]] && ./scripts/notes
|
@@ -400,13 +518,19 @@ if [[ ${upgrade_flag:-0} -eq 1 ]] ; then
|
|
400
518
|
check_rubyopt_conditions
|
401
519
|
|
402
520
|
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
|
521
|
+
|
403
522
|
else
|
523
|
+
|
404
524
|
if [[ ${rvm_selfcontained:-0} -eq 1 ]] ; then
|
525
|
+
|
405
526
|
installation_complete
|
527
|
+
|
406
528
|
fi
|
407
529
|
|
408
530
|
if [[ -s "$HOME/.bashrc" ]] && grep -q '&& return' "$HOME/.bashrc" ; then
|
531
|
+
|
409
532
|
andand_return_warning
|
533
|
+
|
410
534
|
fi
|
411
535
|
|
412
536
|
check_rubyopt_conditions
|