rvm 0.1.36 → 0.1.37
Sign up to get free protection for your applications and to get access to all the features.
- data/config/db +2 -0
- data/config/known +4 -2
- data/gemsets/default.gems +1 -0
- data/gemsets/global.gems +2 -0
- data/install +15 -0
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +2 -2
- data/scripts/cli +1 -0
- data/scripts/db +1 -1
- data/scripts/gemsets +94 -26
- data/scripts/initialize +2 -1
- data/scripts/install +15 -0
- data/scripts/manage +50 -151
- data/scripts/rvm-install +15 -0
- data/scripts/selector +2 -1
- data/scripts/set +1 -1
- data/scripts/update +15 -0
- data/scripts/utility +4 -23
- data/scripts/wrapper +56 -23
- metadata +4 -4
data/config/db
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
niceness=0
|
2
2
|
interpreter=ruby
|
3
3
|
ruby_version=1.8.7
|
4
|
+
ruby_configure_flags=--enable-shared
|
4
5
|
ruby_patchlevel=174
|
5
6
|
ruby_configure=--enable-shared
|
6
7
|
ruby_repo_url=http://svn.ruby-lang.org/repos/ruby
|
@@ -27,6 +28,7 @@ rbx_version=1.0.0
|
|
27
28
|
rbx_1.0.0_patch_level=20100514
|
28
29
|
rbx_url=http://asset.rubini.us
|
29
30
|
ree_version=1.8.7
|
31
|
+
ree_configure_flags=--dont-install-useful-gems
|
30
32
|
ree_1.8.6_patch_level=20090610
|
31
33
|
ree_1.8.6_url=http://rubyforge.org/frs/download.php/58677
|
32
34
|
ree_1.8.6_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition.git
|
data/config/known
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# MRI Rubies
|
1
2
|
(ruby-)1.8.6(-p399)
|
2
3
|
(ruby-)1.8.6-head
|
3
4
|
(ruby-)1.8.7(-p174)
|
@@ -5,11 +6,12 @@
|
|
5
6
|
(ruby-)1.9.1(-p243)
|
6
7
|
(ruby-)1.9.1(-p376)
|
7
8
|
(ruby-)1.9.1-head
|
9
|
+
(ruby-)1.9.2-preview1
|
8
10
|
(ruby-)1.9.2-preview3
|
9
11
|
(ruby-)1.9.2-head
|
10
12
|
ruby-head
|
11
13
|
|
12
|
-
#
|
14
|
+
# JRuby
|
13
15
|
jruby-1.2.0
|
14
16
|
jruby-1.3.1
|
15
17
|
jruby-1.4.0
|
@@ -37,7 +39,7 @@ mput(-head)
|
|
37
39
|
macruby(-nightly) # the default macruby
|
38
40
|
macruby-head # Build from the macruby git repository
|
39
41
|
|
40
|
-
# Not
|
42
|
+
# IronRuby -- Not implemented yet.
|
41
43
|
ironruby-0.9.3
|
42
44
|
ironruby-1.0-rc2
|
43
45
|
ironruby-head
|
data/gemsets/default.gems
CHANGED
data/gemsets/global.gems
CHANGED
data/install
CHANGED
@@ -166,6 +166,21 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
|
|
166
166
|
fi
|
167
167
|
fi
|
168
168
|
|
169
|
+
#
|
170
|
+
# Initial Interpreter Gemsets.
|
171
|
+
#
|
172
|
+
spinner
|
173
|
+
mkdir -p "$rvm_gemsets_path"
|
174
|
+
for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
|
175
|
+
source_path="$install_source_path/gemsets"
|
176
|
+
destination="$rvm_gemsets_path/$gemset_file"
|
177
|
+
destination_path="$(dirname "$destination")"
|
178
|
+
if [[ ! -s "$destination" ]] ; then
|
179
|
+
mkdir -p "$destination_path"
|
180
|
+
cp "$source_path/$gemset_file" "$destination"
|
181
|
+
fi
|
182
|
+
done ; unset destination destination_path source_path
|
183
|
+
|
169
184
|
#
|
170
185
|
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
171
186
|
#
|
data/lib/VERSION.yml
CHANGED
data/rvm.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rvm}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.37"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Wayne E. Seguin"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-06-02}
|
13
13
|
s.default_executable = %q{rvm-install}
|
14
14
|
s.description = %q{Manages Ruby interpreter environments and switching between them.}
|
15
15
|
s.email = %q{wayneeseguin@gmail.com}
|
data/scripts/cli
CHANGED
data/scripts/db
CHANGED
@@ -28,7 +28,7 @@ else
|
|
28
28
|
sed -i.tmp "s#^$key=.*\$##" $database_file
|
29
29
|
else
|
30
30
|
if [[ -z "$value" ]] ; then # get
|
31
|
-
awk -F= '/^'"$key"'=/
|
31
|
+
awk -F= '/^'"$key"'=/' $database_file | sed "s#^$key=##"
|
32
32
|
else # set
|
33
33
|
if [[ -z "$(awk -F= "/^'"$key"'=/{print $2}" $database_file)" ]] ; then # append
|
34
34
|
echo "$key=$value" >> $database_file
|
data/scripts/gemsets
CHANGED
@@ -10,15 +10,15 @@ if [[ ! -d "$rvm_ruby_gem_home" ]] && command -v gem > /dev/null 2>&1; then rvm_
|
|
10
10
|
|
11
11
|
trap "if [[ -d $rvm_tmp_path/ ]] && [[ -s $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
gemset_name() {
|
14
|
+
gemset_dir | awk -F${rvm_gemset_separator} '{print $2}'
|
15
15
|
}
|
16
16
|
|
17
|
-
|
17
|
+
gemset_dir() {
|
18
18
|
echo "$rvm_ruby_gem_home"
|
19
19
|
}
|
20
20
|
|
21
|
-
|
21
|
+
gemset_create() {
|
22
22
|
rvm_ruby_gem_prefix=$(echo $rvm_ruby_gem_home | sed 's/'${rvm_gemset_separator}'.*$//')
|
23
23
|
for gemset in $(echo $gems_args) ; do
|
24
24
|
gem_home="${rvm_ruby_gem_prefix}${rvm_gemset_separator}${gems_args/ /}"
|
@@ -27,7 +27,7 @@ __rvm_gemset_create() {
|
|
27
27
|
done ; unset gem_home
|
28
28
|
}
|
29
29
|
|
30
|
-
|
30
|
+
gemset_list() {
|
31
31
|
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
32
32
|
|
33
33
|
$rvm_scripts_path/log "info" "gemsets : for $rvm_ruby_string (found in $rvm_gems_path/)"
|
@@ -43,7 +43,7 @@ __rvm_gemset_list() {
|
|
43
43
|
fi
|
44
44
|
}
|
45
45
|
|
46
|
-
|
46
|
+
gemset_delete() {
|
47
47
|
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
48
48
|
if [[ ! -z "$rvm_gemset_name" ]] ; then
|
49
49
|
gemdir="$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}$rvm_gemset_name"
|
@@ -67,7 +67,7 @@ __rvm_gemset_delete() {
|
|
67
67
|
fi
|
68
68
|
}
|
69
69
|
|
70
|
-
|
70
|
+
gemset_empty() {
|
71
71
|
if [[ -z "$rvm_ruby_gem_home" ]] ; then __rvm_select ; fi
|
72
72
|
gemdir="$rvm_ruby_gem_home"
|
73
73
|
if [[ -d "$gemdir" ]] && [[ "$gemdir" != '/' ]] && [[ ! -z "$rvm_force_flag" ]] ; then
|
@@ -87,7 +87,7 @@ __rvm_gemset_empty() {
|
|
87
87
|
}
|
88
88
|
|
89
89
|
# Migrate gemsets from ruby X to ruby Y
|
90
|
-
|
90
|
+
gemset_copy() {
|
91
91
|
source_ruby="$(echo $gems_args | awk '{print $1}')"
|
92
92
|
destination_ruby="$(echo $gems_args | awk '{print $2}')"
|
93
93
|
if [[ -z "$source_ruby" ]] ; then
|
@@ -115,7 +115,7 @@ __rvm_gemset_copy() {
|
|
115
115
|
unset source_ruby destination_ruby source_path destination_path
|
116
116
|
}
|
117
117
|
|
118
|
-
|
118
|
+
gemset_export() {
|
119
119
|
rvm_file_name="${rvm_file_name:-$gems_args}"
|
120
120
|
|
121
121
|
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
@@ -149,7 +149,7 @@ __rvm_gemset_export() {
|
|
149
149
|
done ; unset file_name
|
150
150
|
}
|
151
151
|
|
152
|
-
|
152
|
+
gemset_import() {
|
153
153
|
|
154
154
|
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
155
155
|
export GEM_HOME="$rvm_ruby_gem_home"
|
@@ -185,7 +185,7 @@ __rvm_gemset_import() {
|
|
185
185
|
while read -r line
|
186
186
|
do # Keep this on 2nd line :(
|
187
187
|
if [[ ! -z "$(echo $line | sed 's/\s//g')" ]] ; then
|
188
|
-
gems_args="$line" ;
|
188
|
+
gems_args="$line" ; gem_install
|
189
189
|
fi
|
190
190
|
done < <(awk '/^[^#]+/{print}' "${rvm_file_name}")
|
191
191
|
else
|
@@ -225,7 +225,7 @@ __rvm_parse_gems_args() {
|
|
225
225
|
}
|
226
226
|
|
227
227
|
# Install a gem
|
228
|
-
|
228
|
+
gem_install() {
|
229
229
|
# First we parse the gem args to pick apart the pieces.
|
230
230
|
|
231
231
|
__rvm_parse_gems_args
|
@@ -295,7 +295,7 @@ __rvm_gem_install() {
|
|
295
295
|
}
|
296
296
|
|
297
297
|
# Output the user's current gem directory.
|
298
|
-
|
298
|
+
gemset_info() {
|
299
299
|
if [[ "$rvm_user_flag" -eq 1 ]] ; then
|
300
300
|
echo $(rvm system ; gem env | grep "\- $HOME" | awk '{print $NF}')
|
301
301
|
elif [[ "$rvm_system_flag" -eq 1 ]] ; then
|
@@ -309,10 +309,74 @@ __rvm_gemset_info() {
|
|
309
309
|
fi
|
310
310
|
}
|
311
311
|
|
312
|
-
|
312
|
+
gemset_prune() {
|
313
|
+
temporary_cache_path="$GEM_HOME/temporary-cache"
|
314
|
+
live_cache_path="$GEM_HOME/cache"
|
315
|
+
mkdir -p "$temporary_cache_path"
|
316
|
+
$rvm_scripts_path/log "info" "Moving active gems into temporary cache..."
|
317
|
+
while read -r used_gem; do
|
318
|
+
gem_name="$(echo "$used_gem" | sed -e 's/ .*//')"
|
319
|
+
versions="$(echo "$used_gem" | sed -e 's/.* (//' -e 's/)//' | tr ', ' ' ')"
|
320
|
+
for version in $versions; do
|
321
|
+
cached_gem_name="${gem_name}-${version}.gem"
|
322
|
+
cached_file_path="${live_cache_path}/${cached_gem_name}"
|
323
|
+
if [[ -f "$cached_file_path" ]]; then
|
324
|
+
mv "$cached_file_path" "${temporary_cache_path}/${cached_gem_name}"
|
325
|
+
fi
|
326
|
+
done
|
327
|
+
done < <(gem list --versions)
|
328
|
+
$rvm_scripts_path/log "info" "Removing live cache and restoring temporary cache..."
|
329
|
+
# Switch the cache back.
|
330
|
+
rm -rf "$live_cache_path"
|
331
|
+
mv "$temporary_cache_path" "$live_cache_path"
|
332
|
+
}
|
333
|
+
|
334
|
+
gem_pristine() {
|
313
335
|
gem pristine --all
|
314
336
|
}
|
315
337
|
|
338
|
+
# Loads the default gemsets for the current interpreter and gemset.
|
339
|
+
gemset_initial() {
|
340
|
+
$rvm_scripts_path/log "info" "Importing initial gemsets for $(__rvm_environment_identifier)."
|
341
|
+
mkdir -p "$rvm_gemsets_path/$(echo "$rvm_ruby_string" | tr '-' '/')" 2>/dev/null
|
342
|
+
for gemsets_path in "$rvm_gemsets_path" "$rvm_gemsets_path/$rvm_ruby_interpreter" "$rvm_gemsets_path/$rvm_ruby_interpreter/$rvm_ruby_version" "$rvm_gemsets_path/$rvm_ruby_interpreter/$rvm_ruby_version/$rvm_ruby_patch_level" ; do
|
343
|
+
if [[ ! -z "$rvm_gemset_name" ]] ; then
|
344
|
+
if [[ -s "${gemsets_path}/${rvm_gemset_name}.gems" ]] ; then
|
345
|
+
printf $(rvm gemset import "${gemsets_path}/${rvm_gemset_name}.gems") > /dev/null
|
346
|
+
fi
|
347
|
+
else
|
348
|
+
if [[ -d "$gemsets_path" ]] && [[ -s "${gemsets_path}/default.gems" ]] ; then
|
349
|
+
printf $(rvm gemset import "$gemsets_path/default.gems") > /dev/null
|
350
|
+
fi
|
351
|
+
if [[ -d "$gemsets_path" ]] && [[ -s "${gemsets_path}/global.gems" ]] ; then
|
352
|
+
printf $(rvm use "$rvm_ruby_string@global" --create ; rvm gemset import "${gemsets_path}/global.gems") > /dev/null
|
353
|
+
fi
|
354
|
+
fi
|
355
|
+
done
|
356
|
+
$rvm_scripts_path/log "info" "Installation of gems for $(__rvm_environment_identifier) is complete."
|
357
|
+
|
358
|
+
# Original code, which swapped out the environments on the fly.
|
359
|
+
#post_install_gems="rdoc rake"
|
360
|
+
#for rvm_gem_name in $(echo $post_install_gems); do
|
361
|
+
# home="$GEM_HOME" ; path="$GEM_PATH" # Save
|
362
|
+
# for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
|
363
|
+
# GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir"
|
364
|
+
# export GEM_HOME GEM_PATH BUNDLE_PATH
|
365
|
+
# __rvm_run "gems.install" "$rvm_ruby_home/bin/gem install --no-rdoc --no-ri $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name to $dir"
|
366
|
+
|
367
|
+
# if [[ -x $rvm_ruby_gem_home/bin/$rvm_gem_name ]] ; then
|
368
|
+
# if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] && [[ ! -x $rvm_ruby_home/bin/$rvm_gem_name ]] ; then
|
369
|
+
# ln -nfs $rvm_ruby_gem_home/bin/$rvm_gem_name $rvm_ruby_home/bin/$rvm_gem_name
|
370
|
+
# fi
|
371
|
+
# __rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$rvm_gem_name"
|
372
|
+
# __rvm_inject_gem_env "$rvm_ruby_home/bin/$rvm_gem_name"
|
373
|
+
# fi
|
374
|
+
# done ; unset home path dir
|
375
|
+
# GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home"
|
376
|
+
# export GEM_HOME GEM_PATH BUNDLE_PATH
|
377
|
+
#done ; unset rvm_gem_name post_install_gems
|
378
|
+
}
|
379
|
+
|
316
380
|
unset GEM_PATH
|
317
381
|
|
318
382
|
if ! command -v gem > /dev/null ; then
|
@@ -325,29 +389,33 @@ gems_args=$(echo "$*" | awk '{$1="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's
|
|
325
389
|
export rvm_gemset_name
|
326
390
|
|
327
391
|
if [[ "import" = "$action" ]] || [[ "load" = "$action" ]] ; then
|
328
|
-
|
392
|
+
gemset_import
|
329
393
|
elif [[ "export" = "$action" ]] || [[ "dump" = "$action" ]] ; then
|
330
|
-
|
394
|
+
gemset_export
|
331
395
|
elif [[ "create" = "$action" ]] ; then
|
332
|
-
|
396
|
+
gemset_create
|
333
397
|
elif [[ "copy" = "$action" ]] ; then
|
334
|
-
|
398
|
+
gemset_copy
|
335
399
|
elif [[ "empty" = "$action" ]] ; then
|
336
|
-
|
400
|
+
gemset_empty
|
337
401
|
elif [[ "delete" = "$action" ]] ; then
|
338
|
-
|
402
|
+
gemset_delete
|
339
403
|
elif [[ "name" = "$action" ]] || [[ "string" = "$action" ]]; then
|
340
|
-
|
404
|
+
gemset_name
|
341
405
|
elif [[ "dir" = "$action" ]] ; then
|
342
|
-
|
406
|
+
gemset_dir
|
343
407
|
elif [[ "list" = "$action" ]] ; then
|
344
|
-
|
408
|
+
gemset_list
|
345
409
|
elif [[ "gemdir" = "$action" ]] || [[ "gempath" = "$action" ]] || [[ "gemhome" = "$action" ]] || [[ "home" = "$action" ]] || [[ "path" = "$action" ]] || [[ "version" = "$action" ]] ; then
|
346
|
-
|
410
|
+
gemset_info
|
347
411
|
elif [[ "install" = "$action" ]] ; then
|
348
|
-
|
412
|
+
gem_install $*
|
349
413
|
elif [[ "pristine" = "$action" ]] ; then
|
350
|
-
|
414
|
+
gem_pristine $*
|
415
|
+
elif [[ "initial" = "$action" ]] ; then
|
416
|
+
gemset_initial
|
417
|
+
elif [[ "prune" = "$action" ]] ; then
|
418
|
+
gemset_prune
|
351
419
|
elif [[ "clear" = "$action" ]] ; then
|
352
420
|
$rvm_scripts_path/log "info" "gemset cleared."
|
353
421
|
exit 0
|
data/scripts/initialize
CHANGED
@@ -13,6 +13,7 @@ rvm_project_rvmrc_default="${rvm_project_rvmrc_default:-0}"
|
|
13
13
|
|
14
14
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
15
15
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
16
|
+
rvm_repo_path="${rvm_repo_path:-"$rvm_path/repos"}"
|
16
17
|
rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
17
18
|
rvm_docs_path="${rvm_docs_path:-"$rvm_path/docs"}"
|
18
19
|
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
@@ -28,5 +29,5 @@ rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
|
28
29
|
rvm_usr_path="${rvm_usr_path:-"$rvm_path/usr"}"
|
29
30
|
rvm_gemset_separator="${rvm_gemset_separator:-"@"}"
|
30
31
|
|
31
|
-
export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator
|
32
|
+
export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator rvm_gemsets_path rvm_repo_path
|
32
33
|
|
data/scripts/install
CHANGED
@@ -166,6 +166,21 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
|
|
166
166
|
fi
|
167
167
|
fi
|
168
168
|
|
169
|
+
#
|
170
|
+
# Initial Interpreter Gemsets.
|
171
|
+
#
|
172
|
+
spinner
|
173
|
+
mkdir -p "$rvm_gemsets_path"
|
174
|
+
for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
|
175
|
+
source_path="$install_source_path/gemsets"
|
176
|
+
destination="$rvm_gemsets_path/$gemset_file"
|
177
|
+
destination_path="$(dirname "$destination")"
|
178
|
+
if [[ ! -s "$destination" ]] ; then
|
179
|
+
mkdir -p "$destination_path"
|
180
|
+
cp "$source_path/$gemset_file" "$destination"
|
181
|
+
fi
|
182
|
+
done ; unset destination destination_path source_path
|
183
|
+
|
169
184
|
#
|
170
185
|
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
171
186
|
#
|
data/scripts/manage
CHANGED
@@ -49,33 +49,17 @@ __rvm_install_source() {
|
|
49
49
|
fi
|
50
50
|
fi
|
51
51
|
|
52
|
-
#if [[ "1.8.5" = "$rvm_ruby_version" ]] ; then
|
53
|
-
# # How to install ruby 1.8.5... "sneaky sneaky, sir"
|
54
|
-
# src_dir="ruby-1.8.7-p$(__rvm_db "ruby_1.8.7_patch_level")"
|
55
|
-
# if [[ ! -d "$HOME/.rvm/src/$src_dir/ext/openssl/" ]] ; then $rvm_path/bin/rvm fetch 1.8.6-p248 > /dev/null ; fi
|
56
|
-
# cp ~/.rvm/src/$src_dir/ext/openssl/extconf.rb ~/.rvm/src/ruby-1.8.5-p231/ext/openssl/
|
57
|
-
# cp ~/.rvm/src/$src_dir/ext/openssl/openssl_missing.* ~/.rvm/src/ruby-1.8.5-p231/ext/openssl/
|
58
|
-
# cp ~/.rvm/src/$src_dir/ext/openssl/ossl_hmac.c ~/.rvm/src/ruby-1.8.5-p231/ext/openssl/
|
59
|
-
# src_dir="ruby-1.8.6-p$(__rvm_db "ruby_1.8.6_patch_level")"
|
60
|
-
# if [[ ! -d "$HOME/.rvm/src/$src_dir/ext/openssl/" ]] ; then $rvm_path/bin/rvm fetch 1.8.6-p383 > /dev/null ; fi
|
61
|
-
# cp ~/.rvm/src/$src_dir/ext/readline/* ~/.rvm/src/ruby-1.8.5-p231/ext/readline/
|
62
|
-
# unset src_dir
|
63
|
-
#fi
|
64
|
-
|
65
|
-
#
|
66
|
-
#if [[ -s ./Makefile ]] && [[ -z "$rvm_reconfigure_flag" ]] ; then
|
67
|
-
# (($rvm_debug_flag)) && $rvm_scripts_path/log "debug" "Skipping configure step, Makefile exists so configure must have already been run."
|
68
|
-
#el
|
69
52
|
if [[ ! -z "$rvm_ruby_configure" ]] ; then
|
70
53
|
__rvm_run "configure" "$rvm_ruby_configure"
|
71
54
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
72
55
|
$rvm_scripts_path/log "error" "There has been an error while configuring. Aborting the installation." ; __rvm_pushpop ; return $result
|
73
56
|
fi
|
74
57
|
elif [[ -s ./configure ]] ; then
|
75
|
-
|
58
|
+
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
59
|
+
__rvm_run "configure" "./configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags $configure_parameters" "Configuring $rvm_ruby_string, this may take a while depending on your cpu(s)..."
|
76
60
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
77
61
|
$rvm_scripts_path/log "error" "There has been an error while running configure. Aborting the installation." ; __rvm_pushpop ; return $result
|
78
|
-
fi ; unset configure_parameters
|
62
|
+
fi ; unset configure_parameters db_configure_flags
|
79
63
|
else
|
80
64
|
$rvm_scripts_path/log "error" "Skipping configure step, 'configure' does not exist, did autoconf not run successfully?"
|
81
65
|
fi
|
@@ -167,7 +151,7 @@ __rvm_install_ruby() {
|
|
167
151
|
|
168
152
|
binaries=(erb gem irb rake rdoc ri ruby testrb)
|
169
153
|
for binary_name in ${binaries[@]}; do
|
170
|
-
#
|
154
|
+
# TODO: This should be generated via an external script.
|
171
155
|
ruby_wrapper=$(cat <<RubyWrapper
|
172
156
|
#!/usr/bin/env bash
|
173
157
|
|
@@ -180,11 +164,10 @@ exec $macruby_path/mac$binary_name $prefix "\$@"
|
|
180
164
|
RubyWrapper
|
181
165
|
)
|
182
166
|
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
done
|
167
|
+
file_name="$rvm_ruby_home/bin/$binary_name"
|
168
|
+
rm -f $file_name
|
169
|
+
echo "$ruby_wrapper" > $file_name
|
170
|
+
if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
|
188
171
|
if [[ "$binary_name" = "ruby" ]] ; then
|
189
172
|
echo "$ruby_wrapper" > $rvm_bin_path/$rvm_ruby_string
|
190
173
|
fi
|
@@ -230,7 +213,9 @@ RubyWrapper
|
|
230
213
|
rvm_ree_options="${rvm_ree_options} --no-tcmalloc"
|
231
214
|
fi
|
232
215
|
|
233
|
-
|
216
|
+
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
217
|
+
|
218
|
+
__rvm_run "install" "./installer -a $rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options $db_configure_flags $rvm_ruby_configure_flags" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
|
234
219
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
235
220
|
$rvm_scripts_path/log "error" "There has been an error while trying to run the ree installer. Aborting the installation." ; __rvm_pushpop ; return $result
|
236
221
|
fi
|
@@ -238,21 +223,14 @@ RubyWrapper
|
|
238
223
|
chmod +x $rvm_ruby_home/bin/*
|
239
224
|
|
240
225
|
__rvm_rubygems_setup
|
241
|
-
|
242
|
-
for rvm_gem_name in rdoc rake ; do
|
243
|
-
__rvm_run "gems" "$rvm_ruby_home/bin/gem install $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name"
|
244
|
-
done
|
245
|
-
__rvm_inject_ruby_shebang "$rvm_ruby_gem_home/bin/rake"
|
246
|
-
__rvm_inject_gem_env "$rvm_ruby_gem_home/bin/rake"
|
247
|
-
|
248
226
|
__rvm_irbrc
|
249
227
|
__rvm_bin_script
|
250
228
|
__rvm_post_install
|
251
229
|
__rvm_pushpop
|
252
230
|
else
|
253
|
-
__rvm_db "
|
231
|
+
__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_repo_url" "rvm_url"
|
254
232
|
if [[ -z "$rvm_url" ]] ; then
|
255
|
-
$rvm_scripts_path/log "fail" "rvm does not know the rvm repo url for '
|
233
|
+
$rvm_scripts_path/log "fail" "rvm does not know the rvm repo url for '${rvm_ruby_interpreter}_${rvm_ruby_version}'"
|
256
234
|
result=1
|
257
235
|
else
|
258
236
|
rvm_ruby_repo_url=$rvm_url
|
@@ -292,9 +270,11 @@ RubyWrapper
|
|
292
270
|
else
|
293
271
|
__rvm_db "rubinius_repo_url" "rvm_ruby_repo_url"
|
294
272
|
#rvm_ruby_home="$rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version"
|
295
|
-
if [[ ! -d "$
|
296
|
-
rm -rf "$
|
297
|
-
|
273
|
+
if [[ ! -d "$rvm_ruby_repo_path" ]] || [[ ! -d "$rvm_ruby_repo_path/.git" ]] ; then
|
274
|
+
rm -rf "$rvm_ruby_repo_path" "$rvm_ruby_src_path"
|
275
|
+
builtin cd "$rvm_home"
|
276
|
+
__rvm_run "rbx.repo" "git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_repo_path" "Cloning $rvm_ruby_repo_url"
|
277
|
+
__rvm_run "rbx.copy" "cp -R \"$rvm_ruby_repo_path\" \"$rvm_ruby_src_path\"" "Copying from repo to source..."
|
298
278
|
builtin cd "$rvm_ruby_src_path"
|
299
279
|
else
|
300
280
|
builtin cd "$rvm_ruby_src_path"
|
@@ -305,13 +285,12 @@ RubyWrapper
|
|
305
285
|
fi
|
306
286
|
fi
|
307
287
|
|
308
|
-
#if [[ ! -x "$rvm_ruby_distclean" ]] ; then
|
309
|
-
# __rvm_run "rake.distclean" "\$(rvm 1.8.7 ; rake distclean --trace)" "Running distclean."
|
310
|
-
#fi
|
311
|
-
|
312
288
|
builtin cd "$rvm_ruby_src_path" ; chmod +x ./configure
|
289
|
+
|
290
|
+
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
291
|
+
|
313
292
|
rvm_ruby_configure_flags="${rvm_ruby_configure_flags:-"--skip-system"}"
|
314
|
-
rvm_ruby_configure="ruby configure --prefix=$rvm_ruby_home $rvm_ruby_configure_flags" ; message="Configuring rbx"
|
293
|
+
rvm_ruby_configure="ruby configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags" ; message="Configuring rbx"
|
315
294
|
if [[ "$rvm_llvm_flag" = "0" ]] ; then
|
316
295
|
rvm_ruby_configure="$rvm_ruby_configure --disable-llvm"
|
317
296
|
else
|
@@ -334,23 +313,17 @@ RubyWrapper
|
|
334
313
|
$rvm_scripts_path/log "error" "There has been an error while running '$rvm_ruby_configure'. Aborting the installation." ; __rvm_pushpop ; return $result
|
335
314
|
fi
|
336
315
|
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
echo "$ruby_wrapper" > $file_name
|
349
|
-
if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
|
350
|
-
done
|
351
|
-
|
352
|
-
unset file_name binaries ruby_wrapper binary_name files prefix
|
353
|
-
done ; unset binary_name
|
316
|
+
# Symlink rubinius wrappers
|
317
|
+
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/irb"
|
318
|
+
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/ruby"
|
319
|
+
# Install a wrapper around gem.
|
320
|
+
file_name="$rvm_ruby_home/bin/gem"
|
321
|
+
if [[ ! -f "$file_name" ]]; then
|
322
|
+
echo "#!/usr/bin/env bash" > "$file_name"
|
323
|
+
echo "exec $rvm_ruby_home/bin/rbx gem \"\$@\"" >> "$file_name"
|
324
|
+
[[ -f "$file_name" ]] && chmod +x "$file_name"
|
325
|
+
fi
|
326
|
+
unset file_name
|
354
327
|
|
355
328
|
binaries="erb ri rdoc"
|
356
329
|
__rvm_post_install
|
@@ -578,36 +551,6 @@ RubyWrapper
|
|
578
551
|
ln -fs $rvm_ruby_home/bin/ir $rvm_ruby_home/bin/ruby
|
579
552
|
|
580
553
|
__rvm_run "gems.install" "PATH=$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:$PATH GEM_HOME=$rvm_ruby_gem_home GEM_PATH=$rvm_ruby_gem_home $rvm_ruby_home/bin/gem install --no-rdoc --no-ri rake $rvm_gem_options" "Installing $rvm_gem_name to $dir"
|
581
|
-
|
582
|
-
binaries=() # Don't wrap any longer.
|
583
|
-
for binary_name in ${binaries[@]} ; do
|
584
|
-
binary_path=""
|
585
|
-
if [[ "ruby" != "$binary_name" ]] ; then
|
586
|
-
binary_path="$rvm_ruby_home/bin/i$binary_name"
|
587
|
-
fi
|
588
|
-
ruby_wrapper=$(cat <<RubyWrapper
|
589
|
-
#!/bin/bash
|
590
|
-
|
591
|
-
export GEM_HOME="$rvm_ruby_gem_home"
|
592
|
-
export GEM_PATH="$rvm_ruby_gem_path"
|
593
|
-
export BUNDLE_PATH="$rvm_ruby_gem_home"
|
594
|
-
export MY_RUBY_HOME="$rvm_ruby_home"
|
595
|
-
export PATH="$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:\$PATH"
|
596
|
-
|
597
|
-
exec mono $rvm_ruby_home/bin/ir.exe $binary_path "\$@"
|
598
|
-
RubyWrapper
|
599
|
-
)
|
600
|
-
files="$rvm_ruby_home/bin/$binary_name $rvm_bin_path/$binary_name-$rvm_ruby_string"
|
601
|
-
for file_name in $(echo $files) ; do
|
602
|
-
rm -f $file_name
|
603
|
-
echo "$ruby_wrapper" > $file_name
|
604
|
-
if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
|
605
|
-
done
|
606
|
-
if [[ "$binary_name" = "ruby" ]] ; then
|
607
|
-
echo "$ruby_wrapper" > $rvm_bin_path/$rvm_ruby_string
|
608
|
-
fi
|
609
|
-
unset file_name ruby_wrapper binary_name binary_path files prefix
|
610
|
-
done
|
611
554
|
;;
|
612
555
|
|
613
556
|
mput|shyouhei)
|
@@ -621,8 +564,9 @@ RubyWrapper
|
|
621
564
|
builtin cd $rvm_src_path
|
622
565
|
|
623
566
|
if [[ ! -d "$rvm_ruby_src_path" ]] || [[ ! -d "$rvm_ruby_src_path/.git" ]] ; then
|
624
|
-
rm -rf $rvm_ruby_src_path
|
625
|
-
__rvm_run "mput.repo" "git clone --depth 1 $rvm_ruby_repo_url $
|
567
|
+
rm -rf $rvm_ruby_src_path $rvm_ruby_repo_path
|
568
|
+
__rvm_run "mput.repo" "git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_repo_path" "Cloning $rvm_ruby_repo_url"
|
569
|
+
__rvm_run "mput.copy" "cp -R \"$rvm_ruby_repo_path\" \"$rvm_ruby_src_path\"" "Copying from repo to source..."
|
626
570
|
builtin cd $rvm_ruby_src_path
|
627
571
|
else
|
628
572
|
builtin cd $rvm_ruby_src_path
|
@@ -695,6 +639,10 @@ RubyWrapper
|
|
695
639
|
|
696
640
|
esac
|
697
641
|
|
642
|
+
|
643
|
+
# Import the initial gemsets.
|
644
|
+
(source $rvm_scripts_path/rvm; rvm use "$rvm_ruby_string"; $rvm_scripts_path/gemsets initial)
|
645
|
+
|
698
646
|
rvm_hook="after_install" ; source $rvm_scripts_path/hook
|
699
647
|
|
700
648
|
if [[ ! -z "$ruby_options" ]] ; then RUBYOPT=$ruby_options ; export RUBYOPT ; fi
|
@@ -743,9 +691,10 @@ __rvm_fetch_ruby() {
|
|
743
691
|
$rvm_scripts_path/log "info" "$rvm_ruby_src_path has already been extracted." ; __rvm_pushpop ; return 0
|
744
692
|
fi
|
745
693
|
else
|
694
|
+
mkdir -p "$rvm_repo_path"
|
746
695
|
if [[ ! -z "$(echo $rvm_url | awk '/^git/')" ]] ; then
|
747
|
-
if [[ -d "$
|
748
|
-
builtin cd $
|
696
|
+
if [[ -d "$rvm_ruby_repo_path/.git" ]] ; then
|
697
|
+
builtin cd $rvm_ruby_repo_path
|
749
698
|
if [[ -z "$rvm_ruby_revision" ]] ; then
|
750
699
|
$rvm_scripts_path/log "info" "Pulling from $rvm_ruby_repo_url, this may take a while depending on your connection..."
|
751
700
|
git pull origin master
|
@@ -764,7 +713,7 @@ __rvm_fetch_ruby() {
|
|
764
713
|
fi
|
765
714
|
else
|
766
715
|
$rvm_scripts_path/log "info" "Cloning from $rvm_ruby_repo_url, this may take a while depending on your connection..."
|
767
|
-
git clone --depth 1 $rvm_ruby_repo_url $
|
716
|
+
git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_repo_path
|
768
717
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
769
718
|
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the repository. Aborting the installation." ; __rvm_pushpop ; return $result
|
770
719
|
fi
|
@@ -792,8 +741,8 @@ __rvm_fetch_ruby() {
|
|
792
741
|
rvm_rev="-$rvm_ruby_revision"
|
793
742
|
fi
|
794
743
|
|
795
|
-
if [[ -d "$
|
796
|
-
builtin cd $
|
744
|
+
if [[ -d "$rvm_ruby_repo_path/.svn" ]] ; then
|
745
|
+
builtin cd $rvm_ruby_repo_path
|
797
746
|
$rvm_scripts_path/log "info" "Updating ruby from $rvm_url"
|
798
747
|
__rvm_run "svn.switch" "svn switch $rvm_url"
|
799
748
|
__rvm_run "svn.update" "svn update"
|
@@ -802,14 +751,16 @@ __rvm_fetch_ruby() {
|
|
802
751
|
__rvm_run "svn.checkout" "svn update -q ${rvm_rev/-r/-r }"
|
803
752
|
fi
|
804
753
|
else
|
805
|
-
rm -rf $
|
806
|
-
__rvm_run "svn.checkout" "svn checkout -q ${rvm_rev/-r/-r } $rvm_url $
|
754
|
+
rm -rf $rvm_ruby_repo_path
|
755
|
+
__rvm_run "svn.checkout" "svn checkout -q ${rvm_rev/-r/-r } $rvm_url $rvm_ruby_repo_path" "Downloading source from ${rvm_url}."
|
807
756
|
fi
|
808
757
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
809
758
|
$rvm_scripts_path/log "error" "There has been an error while trying to fetch / update the source. Aborting the installation." ; __rvm_pushpop ; return $result
|
810
759
|
fi
|
811
760
|
|
812
761
|
fi
|
762
|
+
$rvm_scripts_path/log "info" "Copying from repo to src path..."
|
763
|
+
cp -r "$rvm_ruby_repo_path" "$rvm_ruby_src_path"
|
813
764
|
fi
|
814
765
|
}
|
815
766
|
|
@@ -886,32 +837,7 @@ __rvm_post_install() {
|
|
886
837
|
done ; unset binary binaries
|
887
838
|
fi
|
888
839
|
|
889
|
-
# TODO: Merge this vvv into the default gemset loading.
|
890
|
-
post_install_gems="rdoc rake"
|
891
|
-
$rvm_scripts_path/log "info" "Installing gems for $rvm_ruby_string ($post_install_gems)."
|
892
|
-
for rvm_gem_name in $(echo $post_install_gems); do
|
893
|
-
home="$GEM_HOME" ; path="$GEM_PATH" # Save
|
894
|
-
for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
|
895
|
-
GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir"
|
896
|
-
export GEM_HOME GEM_PATH BUNDLE_PATH
|
897
|
-
__rvm_run "gems.install" "$rvm_ruby_home/bin/gem install --no-rdoc --no-ri $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name to $dir"
|
898
|
-
|
899
|
-
if [[ -x $rvm_ruby_gem_home/bin/$rvm_gem_name ]] ; then
|
900
|
-
if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] && [[ ! -x $rvm_ruby_home/bin/$rvm_gem_name ]] ; then
|
901
|
-
ln -nfs $rvm_ruby_gem_home/bin/$rvm_gem_name $rvm_ruby_home/bin/$rvm_gem_name
|
902
|
-
fi
|
903
|
-
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$rvm_gem_name"
|
904
|
-
__rvm_inject_gem_env "$rvm_ruby_home/bin/$rvm_gem_name"
|
905
|
-
fi
|
906
|
-
done ; unset home path dir
|
907
|
-
GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home"
|
908
|
-
export GEM_HOME GEM_PATH BUNDLE_PATH
|
909
|
-
done ; unset rvm_gem_name post_install_gems
|
910
|
-
$rvm_scripts_path/log "info" "Installation of gems for $rvm_ruby_string is complete."
|
911
|
-
|
912
840
|
__rvm_irbrc
|
913
|
-
__rvm_load_gemsets
|
914
|
-
|
915
841
|
__rvm_generate_default_docs
|
916
842
|
}
|
917
843
|
|
@@ -922,33 +848,6 @@ __rvm_generate_default_docs() {
|
|
922
848
|
fi
|
923
849
|
}
|
924
850
|
|
925
|
-
__rvm_load_gemsets() {
|
926
|
-
# Gemset for every interpreter's global gems
|
927
|
-
if [[ -s "$rvm_gemsets_path/global.gems" ]] ; then
|
928
|
-
dir=$rvm_ruby_global_gems_path
|
929
|
-
GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir" ; export GEM_HOME GEM_PATH BUNDLE_PATH
|
930
|
-
|
931
|
-
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/global.gems"
|
932
|
-
|
933
|
-
GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home" ; export GEM_HOME GEM_PATH BUNDLE_PATH
|
934
|
-
fi ; unset home path dir
|
935
|
-
|
936
|
-
# gemset for any installed ruby.
|
937
|
-
if [[ -s "$rvm_gemsets_path/default.gems" ]] ; then
|
938
|
-
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/default.gems"
|
939
|
-
fi
|
940
|
-
|
941
|
-
# gemset for any installation of a given interpreter.
|
942
|
-
if [[ -s "$rvm_gemsets_path/$rvm_ruby_interpreter.gems" ]] ; then
|
943
|
-
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/$rvm_ruby_interpreter.gems"
|
944
|
-
fi
|
945
|
-
|
946
|
-
# gemset for a specific match of the ruby string.
|
947
|
-
if [[ -s "$rvm_gemsets_path/$rvm_ruby_string.gems" ]] ; then
|
948
|
-
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/$rvm_ruby_string.gems"
|
949
|
-
fi
|
950
|
-
}
|
951
|
-
|
952
851
|
__rvm_rubygems_setup() {
|
953
852
|
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.9/')" ]] || [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^mput/')" ]] ; then
|
954
853
|
install=0
|
data/scripts/rvm-install
CHANGED
@@ -166,6 +166,21 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
|
|
166
166
|
fi
|
167
167
|
fi
|
168
168
|
|
169
|
+
#
|
170
|
+
# Initial Interpreter Gemsets.
|
171
|
+
#
|
172
|
+
spinner
|
173
|
+
mkdir -p "$rvm_gemsets_path"
|
174
|
+
for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
|
175
|
+
source_path="$install_source_path/gemsets"
|
176
|
+
destination="$rvm_gemsets_path/$gemset_file"
|
177
|
+
destination_path="$(dirname "$destination")"
|
178
|
+
if [[ ! -s "$destination" ]] ; then
|
179
|
+
mkdir -p "$destination_path"
|
180
|
+
cp "$source_path/$gemset_file" "$destination"
|
181
|
+
fi
|
182
|
+
done ; unset destination destination_path source_path
|
183
|
+
|
169
184
|
#
|
170
185
|
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
171
186
|
#
|
data/scripts/selector
CHANGED
@@ -202,6 +202,7 @@ __rvm_select() {
|
|
202
202
|
rvm_ruby_package_name="${rvm_ruby_package_name:-$rvm_ruby_string}"
|
203
203
|
rvm_ruby_home="$rvm_rubies_path/$rvm_ruby_string"
|
204
204
|
rvm_ruby_log_path="$rvm_log_path/$rvm_ruby_string"
|
205
|
+
rvm_ruby_repo_path="$rvm_repo_path/$rvm_ruby_string"
|
205
206
|
rvm_ruby_src_path="$rvm_src_path/$rvm_ruby_string"
|
206
207
|
rvm_ruby_binary="$rvm_ruby_home/bin/ruby"
|
207
208
|
rvm_ruby_irbrc="$rvm_ruby_home/.irbrc"
|
@@ -321,7 +322,7 @@ __rvm_use() {
|
|
321
322
|
fi
|
322
323
|
|
323
324
|
if [[ ! -z "$rvm_rvmrc_flag" ]] ; then __rvm_set_rvmrc ; fi
|
324
|
-
# Export ruby string and gem set me for
|
325
|
+
# Export ruby string and gem set me for extrenal scripts to take advantage of them.
|
325
326
|
if [[ ! -z "$rvm_ruby_string" ]] ; then export rvm_ruby_string ; fi
|
326
327
|
if [[ ! -z "$rvm_gemset_name" ]] ; then export rvm_gemset_name ; fi
|
327
328
|
if [[ ! -z "$new_path" ]] ; then export PATH="$new_path" ; unset new_path ; fi
|
data/scripts/set
CHANGED
@@ -60,7 +60,7 @@ __rvm_ruby_do() {
|
|
60
60
|
eval "$rvm_command" >> ./log/$rvm_ruby_string/$action.log 2>> ./log/$rvm_ruby_string/$action.error.log
|
61
61
|
else
|
62
62
|
if [[ "$rvm_verbose_flag" != "0" ]] ; then
|
63
|
-
$rvm_scripts_path/log "info" "$rvm_ruby_string: $(
|
63
|
+
$rvm_scripts_path/log "info" "$rvm_ruby_string: $(ruby -v $rvm_ruby_mode | tr "\n" ' ')\n"
|
64
64
|
fi
|
65
65
|
eval "$rvm_command"
|
66
66
|
fi
|
data/scripts/update
CHANGED
@@ -166,6 +166,21 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
|
|
166
166
|
fi
|
167
167
|
fi
|
168
168
|
|
169
|
+
#
|
170
|
+
# Initial Interpreter Gemsets.
|
171
|
+
#
|
172
|
+
spinner
|
173
|
+
mkdir -p "$rvm_gemsets_path"
|
174
|
+
for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
|
175
|
+
source_path="$install_source_path/gemsets"
|
176
|
+
destination="$rvm_gemsets_path/$gemset_file"
|
177
|
+
destination_path="$(dirname "$destination")"
|
178
|
+
if [[ ! -s "$destination" ]] ; then
|
179
|
+
mkdir -p "$destination_path"
|
180
|
+
cp "$source_path/$gemset_file" "$destination"
|
181
|
+
fi
|
182
|
+
done ; unset destination destination_path source_path
|
183
|
+
|
169
184
|
#
|
170
185
|
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
171
186
|
#
|
data/scripts/utility
CHANGED
@@ -43,7 +43,7 @@ __rvm_db() {
|
|
43
43
|
if [[ -z $variable ]] ; then
|
44
44
|
echo $value
|
45
45
|
else
|
46
|
-
eval "$variable
|
46
|
+
eval "$variable='$value'"
|
47
47
|
fi
|
48
48
|
fi
|
49
49
|
unset key value variable
|
@@ -120,7 +120,7 @@ __rvm_cleanup_variables() {
|
|
120
120
|
|
121
121
|
# Unset ruby-specific variables
|
122
122
|
__rvm_unset_ruby_variables() {
|
123
|
-
unset rvm_ruby_interpreter rvm_ruby_version rvm_url rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_release_version rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_ruby_binary rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_src_path rvm_ruby_repo_url rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_head_flag rvm_ruby_configure rvm_ruby_mode rvm_ruby_package_file rvm_ruby_package_name rvm_ruby_gem_path rvm_ruby_name rvm_ruby_alias rvm_ruby_strings
|
123
|
+
unset rvm_ruby_interpreter rvm_ruby_version rvm_url rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_release_version rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_ruby_binary rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_src_path rvm_ruby_repo_url rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_head_flag rvm_ruby_configure rvm_ruby_mode rvm_ruby_package_file rvm_ruby_package_name rvm_ruby_gem_path rvm_ruby_name rvm_ruby_alias rvm_ruby_strings rvm_ruby_repo_path
|
124
124
|
}
|
125
125
|
|
126
126
|
__rvm_set_rvmrc() {
|
@@ -167,7 +167,6 @@ __rvm_benchmark() {
|
|
167
167
|
$rvm_scripts_path/set $rvm_action $rvm_ruby_args
|
168
168
|
}
|
169
169
|
|
170
|
-
|
171
170
|
# Loop over the currently installed rubies and refresh their binscripts.
|
172
171
|
__rvm_bin_scripts() {
|
173
172
|
for rvm_ruby_binary in $rvm_rubies_path/*/bin/ruby ; do
|
@@ -182,25 +181,7 @@ __rvm_bin_scripts() {
|
|
182
181
|
# Write the bin/ wrapper script for currently selected ruby.
|
183
182
|
# TODO: Adjust binscript to be able to handle all rubies not just the standard interpreteres.
|
184
183
|
__rvm_bin_script() {
|
185
|
-
|
186
|
-
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
187
|
-
|
188
|
-
ruby_wrapper=$(cat <<RubyWrapper
|
189
|
-
#!/usr/bin/env bash
|
190
|
-
|
191
|
-
export GEM_HOME="$rvm_ruby_gem_home"
|
192
|
-
export GEM_PATH="$rvm_ruby_gem_path"
|
193
|
-
export BUNDLE_PATH="$rvm_ruby_gem_home"
|
194
|
-
export MY_RUBY_HOME="$rvm_ruby_home"
|
195
|
-
export PATH="$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:$rvm_bin_path:\$PATH"
|
196
|
-
|
197
|
-
exec "$rvm_ruby_binary" "\$@"
|
198
|
-
RubyWrapper
|
199
|
-
)
|
200
|
-
rm -f $rvm_bin_path/$rvm_ruby_package_name
|
201
|
-
echo "$ruby_wrapper" > $rvm_bin_path/$rvm_ruby_package_name
|
202
|
-
unset ruby_wrapper
|
203
|
-
chmod +x $rvm_bin_path/$rvm_ruby_package_name
|
184
|
+
$rvm_scripts_path/wrapper "$rvm_ruby_string"
|
204
185
|
}
|
205
186
|
|
206
187
|
# Reset any rvm gathered information about the system and its state.
|
@@ -273,7 +254,7 @@ __rvm_initialize() {
|
|
273
254
|
PATH=$rvm_bin_path:$PATH ; export PATH
|
274
255
|
fi
|
275
256
|
|
276
|
-
mkdir -p $rvm_src_path $rvm_bin_path $rvm_archives_path $rvm_gems_path $rvm_tmp_path
|
257
|
+
mkdir -p $rvm_src_path $rvm_bin_path $rvm_archives_path $rvm_gems_path $rvm_tmp_path $rvm_repo_path
|
277
258
|
}
|
278
259
|
|
279
260
|
# Update rubygems or binscripts based on CLI selection.
|
data/scripts/wrapper
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
# Recursive loops, oh my!
|
4
3
|
unset rvm_default_flag
|
5
4
|
|
6
5
|
source $rvm_scripts_path/initialize
|
@@ -11,56 +10,90 @@ if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
|
11
10
|
|
12
11
|
trap "if [[ -d $rvm_tmp_path/ ]] && [[ -s $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
|
13
12
|
|
13
|
+
full_binary_name() {
|
14
|
+
echo "$binary_name" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
|
15
|
+
}
|
16
|
+
|
14
17
|
wrap() {
|
15
18
|
mkdir -p "$(dirname "$file_name")"
|
19
|
+
rm -f "$file_name"
|
16
20
|
printf "#!/usr/bin/env sh\n" > "$file_name"
|
17
|
-
printf "
|
21
|
+
printf "source \"${rvm_environments_path}/${environment_identifier}\"\n" >> "$file_name"
|
18
22
|
printf "exec $binary_name \"\$@\"\n" >> "$file_name"
|
23
|
+
|
19
24
|
if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
|
20
25
|
}
|
21
26
|
|
27
|
+
symlink_binary() {
|
28
|
+
# Generate the default wrapper with the given binary name.
|
29
|
+
[[ ! -f "$file_name" ]] && wrap_binary
|
30
|
+
# Then symlink it into place.
|
31
|
+
ln -fs "$file_name" "${rvm_bin_path}/${prefix}_${binary_name}"
|
32
|
+
}
|
33
|
+
|
34
|
+
wrap_binary() {
|
35
|
+
# Iff the command is found in the path.
|
36
|
+
if command -v $binary_name > /dev/null; then
|
37
|
+
wrap
|
38
|
+
else
|
39
|
+
$rvm_scripts_path/log "error" "Binary '$binary_name' not found in path."
|
40
|
+
fi
|
41
|
+
}
|
42
|
+
|
22
43
|
usage() {
|
23
44
|
printf "Usage: 'rvm wrapper [ruby_string] [wrapper_prefix] [binary[ binary[ ...]]]'\n"
|
24
45
|
printf " Where binary defaults to ruby, gem, rake, irb, rdoc, ri, testrb\n"
|
25
46
|
printf " For more information, see 'rvm help wrapper'\n"
|
26
47
|
}
|
27
48
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
49
|
+
# Empty ruby string: show usage and exit.
|
50
|
+
if [[ -z "$1" ]]; then
|
51
|
+
usage
|
52
|
+
exit 1
|
53
|
+
fi
|
54
|
+
|
55
|
+
ruby_string="$1"; shift
|
56
|
+
|
57
|
+
prefix="$1"
|
58
|
+
if [[ -n "$1" ]]; then shift; fi
|
32
59
|
|
33
|
-
|
34
|
-
|
60
|
+
binaries="$(echo "$@" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
|
61
|
+
|
62
|
+
if [[ 'system' == '$ruby_string' ]]; then
|
63
|
+
$rvm_scripts_path/log "error" "Wrapper can't be called with system rubies - sorry!"
|
64
|
+
exit 1
|
35
65
|
fi
|
36
66
|
|
67
|
+
# Default the list of binaries to those we use regularily.
|
37
68
|
if [[ -z "$binaries" ]] ; then
|
38
|
-
# TODO: Extract out into a rvm_ variable.
|
39
69
|
binaries="ruby gem irb ri rdoc rake erb testrb"
|
40
70
|
fi
|
41
71
|
|
72
|
+
# Use the correct ruby.
|
42
73
|
rvm_ruby_string="${ruby_string}"
|
43
|
-
__rvm_select
|
44
|
-
__rvm_use
|
74
|
+
__rvm_select > /dev/null 2>&1
|
75
|
+
__rvm_use > /dev/null 2>&1
|
76
|
+
|
77
|
+
__rvm_ensure_has_enviroment_files
|
45
78
|
|
46
79
|
environment_identifier="$(__rvm_environment_identifier)"
|
47
80
|
|
48
|
-
|
81
|
+
# For each binary, we want to generate the wrapper / symlink
|
82
|
+
# it to the existing wrapper if needed.
|
83
|
+
for binary_name in $binaries; do
|
84
|
+
file_name="${rvm_wrappers_path}/${environment_identifier}/${binary_name}"
|
49
85
|
if [[ -z "$prefix" ]] ; then
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
86
|
+
wrap_binary
|
87
|
+
# Symlink it into place.
|
88
|
+
if [[ "$binary_name" == "ruby" ]]; then
|
89
|
+
ln -sf "$file_name" "$rvm_bin_path/$environment_identifier"
|
90
|
+
else
|
91
|
+
ln -sf "$file_name" "$rvm_bin_path/$binary_name-$environment_identifier"
|
92
|
+
fi
|
57
93
|
else
|
58
|
-
|
94
|
+
symlink_binary
|
59
95
|
fi
|
60
96
|
unset file_name
|
61
97
|
done
|
62
98
|
|
63
|
-
unset rvm_ruby_string args ruby_string prefix binaries environment_identifier
|
64
|
-
__rvm_unset_ruby_variables
|
65
|
-
|
66
99
|
exit $?
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 81
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 37
|
10
|
+
version: 0.1.37
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Wayne E. Seguin
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-06-02 00:00:00 -04:00
|
19
19
|
default_executable: rvm-install
|
20
20
|
dependencies: []
|
21
21
|
|