rvm 0.1.39 → 0.1.40
Sign up to get free protection for your applications and to get access to all the features.
- data/config/db +17 -1
- data/config/known +1 -1
- data/config/md5 +4 -4
- data/install +10 -0
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +4 -2
- data/scripts/alias +4 -8
- data/scripts/base +14 -0
- data/scripts/cd +15 -3
- data/scripts/cleanup +31 -0
- data/scripts/cli +8 -3
- data/scripts/db +2 -2
- data/scripts/docs +2 -7
- data/scripts/env +1 -7
- data/scripts/fetch +2 -3
- data/scripts/gemsets +71 -13
- data/scripts/help +2 -6
- data/scripts/info +4 -7
- data/scripts/install +10 -0
- data/scripts/list +45 -2
- data/scripts/manage +76 -46
- data/scripts/monitor +1 -5
- data/scripts/notes +1 -1
- data/scripts/package +11 -37
- data/scripts/rubygems +3 -7
- data/scripts/rvm-install +10 -0
- data/scripts/selector +1 -1
- data/scripts/set +11 -11
- data/scripts/update +10 -0
- data/scripts/utility +91 -11
- data/scripts/wrapper +1 -7
- metadata +6 -4
data/scripts/help
CHANGED
@@ -1,10 +1,6 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
source $rvm_scripts_path/
|
4
|
-
|
5
|
-
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
6
|
-
|
7
|
-
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
|
2
|
+
rvm_base_except="selector"
|
3
|
+
source "$rvm_scripts_path/base"
|
8
4
|
|
9
5
|
rvm_help_path="${rvm_help_path:-"$rvm_path/help"}"
|
10
6
|
|
data/scripts/info
CHANGED
@@ -1,11 +1,8 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
source $rvm_scripts_path/
|
4
|
-
source $rvm_scripts_path/
|
5
|
-
source $rvm_scripts_path/selector
|
6
|
-
source $rvm_scripts_path/version
|
3
|
+
source "$rvm_scripts_path/base"
|
4
|
+
source "$rvm_scripts_path/version"
|
7
5
|
|
8
|
-
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
9
6
|
rvm_ruby_gem_home="${rvm_ruby_gem_home:-$GEM_HOME}"
|
10
7
|
|
11
8
|
if [[ ! -d "$rvm_ruby_gem_home" ]] && command -v gem > /dev/null 2>&1; then rvm_ruby_gem_home="$(gem env home)" ; fi
|
@@ -45,8 +42,8 @@ info_ruby() {
|
|
45
42
|
|
46
43
|
info_homes() {
|
47
44
|
rvm_info="$rvm_info\n homes:"
|
48
|
-
rvm_info="$rvm_info\n gem: \"${GEM_HOME:-
|
49
|
-
rvm_info="$rvm_info\n ruby: \"${MY_RUBY_HOME:-
|
45
|
+
rvm_info="$rvm_info\n gem: \"${GEM_HOME:-"not set"}\""
|
46
|
+
rvm_info="$rvm_info\n ruby: \"${MY_RUBY_HOME:-"not set"}\""
|
50
47
|
rvm_info="$rvm_info\n"
|
51
48
|
}
|
52
49
|
|
data/scripts/install
CHANGED
@@ -23,6 +23,13 @@ usage() {
|
|
23
23
|
"
|
24
24
|
}
|
25
25
|
|
26
|
+
check_rubyopt_conditions() {
|
27
|
+
if [[ -n "$RUBYOPT" ]]; then
|
28
|
+
printf "\n\nWARNING: You have RUBYOPT set in your current environment. This may interfere with normal rvm"
|
29
|
+
printf "\n operation. If errors show up, please try unsetting RUBYOPT first.\n"
|
30
|
+
fi
|
31
|
+
}
|
32
|
+
|
26
33
|
spinner_counter=0
|
27
34
|
spinner() {
|
28
35
|
array=('/' '-' '\\' '|' '/' '-' '\\' '|')
|
@@ -282,12 +289,14 @@ if [[ "$upgrade_flag" -eq 1 ]] ; then
|
|
282
289
|
printf "\n * 1.8.7 default patchlevel is p174, override ~/.rvm/config/db in ~/.rvm/config/user"
|
283
290
|
printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
|
284
291
|
printf "\n$(tput sgr0)\n"
|
292
|
+
check_rubyopt_conditions
|
285
293
|
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
|
286
294
|
else
|
287
295
|
if [[ "root" != "$(whoami)" ]] ; then
|
288
296
|
printf "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
|
289
297
|
printf "\n1) Place the folowing line at the end of your shell's loading files(.bashrc or .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
|
290
298
|
printf "\n [[ -s \$HOME/.rvm/scripts/rvm ]] && source \$HOME/.rvm/scripts/rvm"
|
299
|
+
printf "\n Please note that this must only occur once - so, you only need to add it the first time you install rvm."
|
291
300
|
printf "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
|
292
301
|
printf "\n This means that if you see '[ -z "$PS1" ] && return' then you must change this line to:"
|
293
302
|
printf "\n if [[ ! -z "$PS1" ]] ; then"
|
@@ -309,6 +318,7 @@ else
|
|
309
318
|
printf "\nEven if you use zsh you should still adjust the .bashrc as above."
|
310
319
|
printf "\nIf you have any questions about this please visit #rvm on irc.freenode.net.\n"
|
311
320
|
fi
|
321
|
+
check_rubyopt_conditions
|
312
322
|
printf "\nInstallation of RVM to $rvm_path/ is complete.\n\n"
|
313
323
|
fi
|
314
324
|
|
data/scripts/list
CHANGED
@@ -8,6 +8,47 @@ list_strings() {
|
|
8
8
|
echo $(\ls $rvm_rubies_path)
|
9
9
|
}
|
10
10
|
|
11
|
+
list_gemsets() {
|
12
|
+
echo
|
13
|
+
ruby=$(command -v ruby) ; current_ruby=""
|
14
|
+
if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo $ruby | awk '/rvm/')" ]] ; then
|
15
|
+
current_ruby="$(echo $ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null)"
|
16
|
+
fi
|
17
|
+
|
18
|
+
printf "rvm gemsets\n"
|
19
|
+
for version in $(\ls $rvm_gems_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
|
20
|
+
ruby_version_name="$(echo "$version" | awk -F"$rvm_gemset_separator" '{print $1}')"
|
21
|
+
if [[ -n "$(echo $version | awk '/^jruby-/')" ]] ; then
|
22
|
+
string="[ $($rvm_rubies_path/$ruby_version_name/bin/ruby -v | awk '{print $NF}' | sed -e 's/\[//' -e 's/\]//') ]"
|
23
|
+
elif [[ -n "$(echo $version | awk '/^maglev-|^macruby-/')" ]] ; then
|
24
|
+
string="[ x86_64 ]"
|
25
|
+
else
|
26
|
+
string="[ $(file $rvm_rubies_path/$ruby_version_name/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
27
|
+
fi
|
28
|
+
unset ruby_version_name
|
29
|
+
printf "\n"
|
30
|
+
if [[ "$version" = "$current_ruby" ]]; then
|
31
|
+
printf "=> "
|
32
|
+
else
|
33
|
+
printf " "
|
34
|
+
fi
|
35
|
+
printf "$(tput setaf 2)$version$(tput sgr0) $string"
|
36
|
+
done ; unset version
|
37
|
+
|
38
|
+
if [[ -f "$rvm_config_path/default" ]] && [[ -s $rvm_config_path/default ]] ; then
|
39
|
+
version=$(grep 'MY_RUBY_HOME' $rvm_config_path/default | head -n 1 | awk -F"'" '{print $2}' | xargs basename)
|
40
|
+
if [[ ! -z "$version" ]] ; then
|
41
|
+
printf "\n\nDefault Ruby (for new shells)\n"
|
42
|
+
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
43
|
+
printf "\n $(tput setaf 2)$version$(tput sgr0) $string"
|
44
|
+
fi ; unset version
|
45
|
+
fi
|
46
|
+
printf "\n"
|
47
|
+
|
48
|
+
unset current_ruby version selected system_ruby system_version string binary
|
49
|
+
echo
|
50
|
+
}
|
51
|
+
|
11
52
|
list_default() {
|
12
53
|
strings="$(echo $rvm_ruby_args | awk '{print $2}')"
|
13
54
|
if [[ "$strings" = "string" ]] ; then
|
@@ -51,7 +92,7 @@ list_rubies() {
|
|
51
92
|
printf "rvm rubies\n"
|
52
93
|
for version in $(\ls $rvm_rubies_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
|
53
94
|
if [[ ! -z "$(echo $version | awk '/^jruby-/')" ]] ; then
|
54
|
-
string="[ $($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}') ]"
|
95
|
+
string="[ $($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}' | sed -e 's/\[//' -e 's/\]//') ]"
|
55
96
|
elif [[ ! -z "$(echo $version | awk '/^maglev-|^macruby-/')" ]] ; then
|
56
97
|
string="[ x86_64 ]"
|
57
98
|
else
|
@@ -87,6 +128,8 @@ action="$(echo "$1" | awk '{print $1}')"
|
|
87
128
|
|
88
129
|
if [[ "known" = "$action" ]] ; then
|
89
130
|
list_known
|
131
|
+
elif [[ "gemsets" = "$action" ]] ; then
|
132
|
+
list_gemsets
|
90
133
|
elif [[ "default" = "$action" ]] ; then
|
91
134
|
list_default
|
92
135
|
elif [[ -z "$action" ]] || [[ "rubies" = "$action" ]] ; then
|
@@ -96,7 +139,7 @@ elif [[ "strings" = "$action" ]] ; then
|
|
96
139
|
elif [[ "ruby_svn_tags" = "$action" ]] ; then
|
97
140
|
list_ruby_svn_tags
|
98
141
|
else # help
|
99
|
-
printf "\nUsage: rvm list {known,default,rubies,strings}"
|
142
|
+
printf "\nUsage: rvm list {known,gemsets,default,rubies,strings}"
|
100
143
|
fi
|
101
144
|
|
102
145
|
exit $?
|
data/scripts/manage
CHANGED
@@ -3,13 +3,7 @@
|
|
3
3
|
original_ruby_version=$rvm_ruby_version
|
4
4
|
original_ruby_string=$rvm_ruby_string
|
5
5
|
|
6
|
-
source $rvm_scripts_path/
|
7
|
-
source $rvm_scripts_path/utility
|
8
|
-
source $rvm_scripts_path/selector
|
9
|
-
|
10
|
-
trap "rm -rf ${rvm_tmp_path}/$$* > /dev/null 2>&1 ; exit" 0 1 2 3 15
|
11
|
-
|
12
|
-
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
6
|
+
source "$rvm_scripts_path/base"
|
13
7
|
|
14
8
|
# Checks for bison, returns zero iff it is found
|
15
9
|
__rvm_check_for_bison() {
|
@@ -258,13 +252,11 @@ RubyWrapper
|
|
258
252
|
|
259
253
|
rbx|rubinius)
|
260
254
|
$rvm_scripts_path/log "info" "Installing pre-requisites"
|
261
|
-
|
262
|
-
|
263
|
-
|
255
|
+
|
256
|
+
# Ensure we have a 1.8.7 compatible ruby installed.
|
257
|
+
__rvm_ensure_has_18_compat_ruby || return 1
|
264
258
|
# TODO: use 'rvm gems load' here:
|
265
259
|
unset CFLAGS LDFLAGS ARCHFLAGS # Important.
|
266
|
-
__rvm_unset_ruby_variables ; rvm_ruby_string="$original_string" ; __rvm_select
|
267
|
-
unset original_string
|
268
260
|
|
269
261
|
unset BUNDLE_PATH GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC
|
270
262
|
PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
|
@@ -296,7 +288,7 @@ RubyWrapper
|
|
296
288
|
|
297
289
|
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
298
290
|
|
299
|
-
export ruby="$rvm_bin_path
|
291
|
+
export ruby="$rvm_bin_path/$(__rvm_18_compat_ruby)"
|
300
292
|
|
301
293
|
rvm_ruby_configure_flags="${rvm_ruby_configure_flags:-"--skip-system"}"
|
302
294
|
rvm_ruby_configure="$ruby configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags" ; message="Configuring rbx"
|
@@ -325,12 +317,18 @@ RubyWrapper
|
|
325
317
|
unset ruby
|
326
318
|
|
327
319
|
# Symlink rubinius wrappers
|
328
|
-
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/irb"
|
329
320
|
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/ruby"
|
330
|
-
|
321
|
+
|
322
|
+
# Install IRB Wrapper on Rubinius.
|
323
|
+
file_name="$rvm_ruby_home/bin/irb"
|
324
|
+
rm -f "$file_name"
|
325
|
+
printf '#!/usr/bin/env bash\n' > "$file_name"
|
326
|
+
printf "exec '$rvm_ruby_home/bin/rbx' 'irb' \"\$@\"\n" >> "$file_name"
|
327
|
+
[[ -f "$file_name" ]] && chmod +x "$file_name"
|
328
|
+
|
329
|
+
# Install Gem Wrapper on Rubinius.
|
331
330
|
file_name="$rvm_ruby_home/bin/gem"
|
332
331
|
cp -f "$rvm_ruby_home/lib/bin/gem.rb" "$file_name"
|
333
|
-
|
334
332
|
__rvm_inject_ruby_shebang "$file_name"
|
335
333
|
[[ -f "$file_name" ]] && chmod +x "$file_name"
|
336
334
|
unset file_name
|
@@ -399,7 +397,7 @@ RubyWrapper
|
|
399
397
|
;;
|
400
398
|
|
401
399
|
maglev)
|
402
|
-
|
400
|
+
__rvm_ensure_has_18_compat_ruby
|
403
401
|
|
404
402
|
$rvm_scripts_path/log "info" "Running MagLev prereqs checking script."
|
405
403
|
$rvm_scripts_path/maglev
|
@@ -469,17 +467,21 @@ RubyWrapper
|
|
469
467
|
fi
|
470
468
|
|
471
469
|
#ln -fs "$rvm_ruby_home/$(echo $rvm_gemstone_package_file | awk -F'.' '{print $1}')" "$rvm_ruby_home/gemstone"
|
470
|
+
|
471
|
+
compatible_ruby="$(__rvm_18_compat_ruby)"
|
472
472
|
|
473
473
|
if [[ ! -e ${rvm_ruby_home}/etc/conf.d/maglev.conf ]] ; then
|
474
474
|
$rvm_scripts_path/log "info" "Creating default 'maglev' repository."
|
475
|
-
$rvm_bin_path/rvm
|
475
|
+
$rvm_bin_path/rvm "$(compatible_ruby)" rake "stone:create[maglev]" >/dev/null 2>&1
|
476
476
|
fi
|
477
477
|
|
478
478
|
$rvm_scripts_path/log "info" "Generating maglev HTML documentation"
|
479
|
-
$rvm_bin_path/rvm
|
479
|
+
$rvm_bin_path/rvm "$(compatible_ruby)" rake rdoc >/dev/null 2>&1
|
480
480
|
|
481
481
|
$rvm_scripts_path/log "info" "Generating smalltalk FFI."
|
482
|
-
$rvm_bin_path/rvm
|
482
|
+
$rvm_bin_path/rvm "$(compatible_ruby)" rake stwrappers >/dev/null 2>&1
|
483
|
+
|
484
|
+
unset compatible_ruby
|
483
485
|
|
484
486
|
# TODO: Figure out if anything needs to be done with rubygems.
|
485
487
|
#__rvm_rubygems_setup
|
@@ -508,15 +510,20 @@ RubyWrapper
|
|
508
510
|
return 1
|
509
511
|
fi
|
510
512
|
|
513
|
+
__rvm_ensure_has_18_compat_ruby
|
514
|
+
|
511
515
|
__rvm_fetch_ruby
|
512
516
|
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
513
517
|
builtin cd $rvm_ruby_src_path
|
514
518
|
|
515
|
-
$
|
519
|
+
compatible_ruby="$(__rvm_18_compat_ruby)"
|
520
|
+
|
521
|
+
$rvm_bin_path/rvm "$(compatible_ruby)" -S gem install pathname2 --no-rdoc --no-ri
|
516
522
|
|
517
523
|
# MONO_LIB=/Library/Frameworks/Mono.framework/Versions/current/lib/
|
518
|
-
rvm_ruby_make="$rvm_bin_path/rvm
|
524
|
+
rvm_ruby_make="$rvm_bin_path/rvm $(compatible_ruby) -S rake MERLIN_ROOT=\"$rvm_ruby_src_path/Merlin/Main\" compile mono=1 configuration=release --trace"
|
519
525
|
__rvm_run "rake" "$rvm_ruby_make" "Building IronRuby..."
|
526
|
+
unset compatible_ruby
|
520
527
|
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
521
528
|
|
522
529
|
rm -rf $rvm_ruby_home/*
|
@@ -834,15 +841,16 @@ __rvm_remove_ruby() {
|
|
834
841
|
__rvm_remove_aliases
|
835
842
|
__rvm_remove_wrappers
|
836
843
|
__rvm_remove_environments
|
844
|
+
__rvm_remove_binaries
|
837
845
|
else
|
838
846
|
$rvm_scripts_path/log "fail" "Cannot remove unknown package '$rvm_ruby_string'"
|
839
847
|
fi ; unset rvm_remove_flag
|
840
848
|
}
|
841
849
|
|
842
850
|
__rvm_remove_gemsets() {
|
843
|
-
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string gemsets..."
|
844
851
|
if [[ ! -z "$rvm_gems_flag" ]] ; then
|
845
|
-
|
852
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string gemsets..."
|
853
|
+
gemsets="$rvm_gems_path/$rvm_ruby_string $(\ls -d "${rvm_gems_path}"/* | awk '/'$rvm_ruby_string'@/')"
|
846
854
|
for gemset in $gemsets ; do
|
847
855
|
if [[ -d "$gemset" ]] ; then
|
848
856
|
rm -rf "$gemset"
|
@@ -853,36 +861,48 @@ __rvm_remove_gemsets() {
|
|
853
861
|
|
854
862
|
__rvm_remove_wrappers() {
|
855
863
|
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string wrappers..."
|
856
|
-
wrappers="$rvm_wrappers_path/$rvm_ruby_string $(ls -d "$rvm_wrappers_path"/* | awk '/'$rvm_ruby_string'@/')"
|
864
|
+
wrappers="$rvm_wrappers_path/$rvm_ruby_string $(\ls -d "$rvm_wrappers_path"/* 2>/dev/null | awk '/'$rvm_ruby_string'@/')"
|
857
865
|
for wrapper in $wrappers ; do
|
858
866
|
rm -rf "$wrapper"
|
859
867
|
done ; unset wrapper wrappers
|
860
868
|
}
|
869
|
+
|
861
870
|
__rvm_remove_environments() {
|
862
871
|
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string environments..."
|
863
|
-
environments="$rvm_environments_path/$rvm_ruby_string $(ls -d "$rvm_environments_path"/* | awk '/'$rvm_ruby_string'@/')"
|
872
|
+
environments="$rvm_environments_path/$rvm_ruby_string $(\ls -d "$rvm_environments_path"/* | awk '/'$rvm_ruby_string'@/')"
|
864
873
|
for environment in $environments ; do
|
865
874
|
rm -rf "$environment"
|
866
875
|
done ; unset environment environments
|
867
876
|
}
|
877
|
+
|
868
878
|
__rvm_remove_aliases() {
|
869
879
|
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string aliases..."
|
870
|
-
aliases=$(awk '/'$rvm_ruby_string'/' $rvm_config_path/alias)
|
880
|
+
aliases=$(awk '/'$rvm_ruby_string'/' $rvm_config_path/alias | sed 's/=.*//')
|
871
881
|
for alias_name in $aliases ; do
|
872
882
|
# Remove from alias key-value store
|
873
|
-
$rvm_scripts_path/
|
874
|
-
# Remove the place holding symlink
|
875
|
-
rm -f $rvm_rubies_path/$alias_name
|
883
|
+
$rvm_scripts_path/alias delete "$alias_name" >/dev/null 2>&1
|
876
884
|
done ; unset alias_name aliases
|
877
885
|
}
|
878
886
|
|
879
887
|
__rvm_remove_archives() {
|
880
|
-
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string archives..."
|
881
888
|
if [[ ! -z "$rvm_archive_flag" ]] ; then
|
889
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string archives..."
|
882
890
|
rm -f $rvm_archives_path/${rvm_ruby_package_file}.${rvm_archive_extension}
|
883
891
|
fi
|
884
892
|
}
|
885
893
|
|
894
|
+
__rvm_remove_binaries() {
|
895
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string binaries..."
|
896
|
+
# Iterate over all binaries and check for symlinked wrappers etc.
|
897
|
+
for binary_name in $(\ls "$rvm_bin_path"); do
|
898
|
+
full_binary_path="$rvm_bin_path/$binary_name"
|
899
|
+
if [[ -L "$full_binary_path" ]] && $rvm_scripts_path/match "$(readlink "$full_binary_path")" "$rvm_ruby_string"; then
|
900
|
+
rm -f "$full_binary_path"
|
901
|
+
fi
|
902
|
+
unset full_binary_path
|
903
|
+
done; unset binary_name
|
904
|
+
}
|
905
|
+
|
886
906
|
__rvm_post_install() {
|
887
907
|
if [[ "$rvm_ruby_interpreter" != "jruby" ]] ; then
|
888
908
|
binaries="${binaries:-"gem irb erb ri rdoc testrb rake"}"
|
@@ -952,7 +972,20 @@ __rvm_rubygems_setup() {
|
|
952
972
|
|
953
973
|
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
|
954
974
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
955
|
-
|
975
|
+
|
976
|
+
directory_name="$rvm_ruby_home/lib/ruby/gems"
|
977
|
+
version_number="${rvm_release_version}.${rvm_major_version}"
|
978
|
+
if [[ "$version_number" == "." ]]; then
|
979
|
+
version_number="$(\ls "$directory_name" | grep '^[[:digit:]].[[:digit:]]\(.[[:digit:]]\)\?' | head -n1)"
|
980
|
+
if [[ -n "$version_number" ]]; then
|
981
|
+
ruby_lib_gem_path="${directory_name}/${version_number}"
|
982
|
+
else
|
983
|
+
ruby_lib_gem_path=""
|
984
|
+
fi
|
985
|
+
else
|
986
|
+
ruby_lib_gem_path="${directory_name}/${version_number}"
|
987
|
+
fi
|
988
|
+
unset directory_name version_number
|
956
989
|
elif [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^rbx|jruby/')" ]] ; then
|
957
990
|
# Hands off rubygems for rbx & jruby
|
958
991
|
if [[ ! -z "$rvm_debug_flag" ]] ; then $rvm_scripts_path/log "debug" "Skipping rubygems update for $rvm_ruby_version" ; fi
|
@@ -964,7 +997,6 @@ __rvm_rubygems_setup() {
|
|
964
997
|
rvm_rubygems_url=$(__rvm_db "rubygems_${rvm_rubygems_version}_url")
|
965
998
|
rvm_gem_package_name="rubygems-$rvm_rubygems_version"
|
966
999
|
rvm_gem_url="$rvm_rubygems_url/$rvm_gem_package_name.tgz"
|
967
|
-
|
968
1000
|
# Sanity check... If setup.rb is missing from the rubygems source path,
|
969
1001
|
# something went wrong. Cleanup, aisle 3!
|
970
1002
|
if [[ ! -f "$rvm_src_path/$rvm_gem_package_name/setup.rb" ]]; then
|
@@ -1000,14 +1032,12 @@ __rvm_rubygems_setup() {
|
|
1000
1032
|
fi
|
1001
1033
|
fi
|
1002
1034
|
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
unset ruby_lib_gem_path
|
1035
|
+
if [[ -n "$ruby_lib_gem_path" ]]; then
|
1036
|
+
# Add ruby's gem path to ruby's lib direcotry.
|
1037
|
+
mkdir -p $(dirname $ruby_lib_gem_path)
|
1038
|
+
if [[ -d "$ruby_lib_gem_path" ]] ; then rm -rf "$ruby_lib_gem_path" ; fi
|
1039
|
+
ln -nfs "$rvm_ruby_gem_home" "$ruby_lib_gem_path"
|
1040
|
+
fi; unset ruby_lib_gem_path
|
1011
1041
|
|
1012
1042
|
if [[ -s "$rvm_ruby_src_path/bin/rdoc" ]] ; then
|
1013
1043
|
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/rdoc"
|
@@ -1054,13 +1084,13 @@ __rvm_actual_file() {
|
|
1054
1084
|
}
|
1055
1085
|
|
1056
1086
|
__rvm_manage_rubies() {
|
1057
|
-
rubies=() ; successes=() ; errors=() ; statuses=()
|
1058
|
-
|
1059
1087
|
unset rvm_gemset_name rvm_ruby_selected_flag
|
1060
1088
|
|
1061
1089
|
rvm_ruby_gem_home=$(echo $rvm_ruby_gem_home | awk -F${rvm_gemset_separator} '{print $1}')
|
1062
1090
|
rvm_ruby_string=$(echo $rvm_ruby_string | awk -F${rvm_gemset_separator} '{print $1}')
|
1063
1091
|
|
1092
|
+
local manage_result=0
|
1093
|
+
|
1064
1094
|
if [[ ! -z "$rubies_string" ]] ;then
|
1065
1095
|
for rvm_ruby_string in $(echo $rubies_string | tr ',' ' ') ; do
|
1066
1096
|
eval "__rvm_${rvm_action}_ruby"
|
@@ -1081,9 +1111,9 @@ __rvm_manage_rubies() {
|
|
1081
1111
|
fi
|
1082
1112
|
fi
|
1083
1113
|
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1114
|
+
# TODO: This should return the exit status of the command that got called.
|
1115
|
+
return $manage_result
|
1116
|
+
|
1087
1117
|
}
|
1088
1118
|
|
1089
1119
|
rvm_action="$1" ; rubies_string="$2"
|
data/scripts/monitor
CHANGED
@@ -1,16 +1,12 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
if [[ -z "$rvm_trace_flag" ]] ; then set +x ; else set -x ; fi
|
4
|
-
|
5
3
|
original_ruby_strings=$rvm_ruby_strings
|
6
4
|
original_ruby_string=$rvm_ruby_string
|
7
5
|
|
8
|
-
source $rvm_scripts_path/
|
6
|
+
source "$rvm_scripts_path/base"
|
9
7
|
|
10
8
|
rvm_monitor_sleep="${rvm_monitor_sleep:-2}"
|
11
9
|
|
12
|
-
trap "rm -f $rvm_tmp_path/$$* > /dev/null 2>&1 ; exit" 0 1 2 3 15
|
13
|
-
|
14
10
|
timestamp() {
|
15
11
|
if [[ "Darwin" = "$(uname)" ]] ; then
|
16
12
|
echo $(stat -f "%m" $1)
|
data/scripts/notes
CHANGED
@@ -46,7 +46,7 @@ if [[ "Linux" = "$system" ]] ; then
|
|
46
46
|
|
47
47
|
elif [[ ! -z "$rvm_yum_binary" ]] ; then
|
48
48
|
printf "\n $item For MRI/ree (if you wish to use it) you will need:"
|
49
|
-
printf "\n $ yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel"
|
49
|
+
printf "\n $ yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel"
|
50
50
|
printf "\n $ yum install -y iconv-devel # NOTE: For centos 5.4 final iconv-devel might not be available :("
|
51
51
|
|
52
52
|
printf "\n $item For JRuby (if you wish to use it) you will need:"
|
data/scripts/package
CHANGED
@@ -1,26 +1,8 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
|
+
rvm_base_except="selector"
|
3
|
+
source "$rvm_scripts_path/base"
|
2
4
|
|
3
|
-
#
|
4
|
-
# ruby dependency packages:
|
5
|
-
#
|
6
|
-
|
7
|
-
for rvmrc in /etc/rvmrc $HOME/.rvmrc ; do
|
8
|
-
if [[ -f "$rvmrc" ]] ; then
|
9
|
-
if grep -q '^\s*rvm .*$' $rvmrc ; then
|
10
|
-
$rvm_scripts_path/log "error" "$rvmrc is for rvm settings only.\nrvm CLI may NOT be called from within $rvmrc. \nSkipping the loading of $rvmrc"
|
11
|
-
return 1
|
12
|
-
else
|
13
|
-
source "$rvmrc"
|
14
|
-
fi
|
15
|
-
fi
|
16
|
-
done
|
17
|
-
|
18
|
-
source $rvm_scripts_path/initialize
|
19
|
-
source $rvm_scripts_path/utility
|
20
|
-
__rvm_load_rvmrc
|
21
|
-
|
22
|
-
trap "rm -f $rvm_tmp_path/$$* > /dev/null 2>&1 ; exit" 0 1 2 3 15
|
23
|
-
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
5
|
+
# Tools to make managing ruby dependencies inside of rvm easier.
|
24
6
|
|
25
7
|
action="$(echo "$*" | awk '{print $1}')"
|
26
8
|
library="$(echo "$*" | awk '{print $2}')"
|
@@ -28,6 +10,8 @@ args=$(echo "$*" | awk '{$1="" ; $2="" ; print}' | sed -e 's/^[[:space:]]*//' -e
|
|
28
10
|
|
29
11
|
install_package() {
|
30
12
|
|
13
|
+
__rvm_db "${package}_url" "package_url"
|
14
|
+
|
31
15
|
if [[ ! -z "$rvm_make_flags_flag" ]] ; then __rvm_make_flags ; fi
|
32
16
|
|
33
17
|
__rvm_pushpop $rvm_src_path
|
@@ -60,13 +44,14 @@ install_package() {
|
|
60
44
|
__rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_usr_path"
|
61
45
|
fi
|
62
46
|
|
63
|
-
|
47
|
+
touch "$rvm_config_path/packages"
|
48
|
+
$rvm_scripts_path/db "$rvm_config_path/packages" "${package}" "${version}"
|
64
49
|
|
50
|
+
__rvm_pushpop
|
65
51
|
}
|
66
52
|
|
67
53
|
readline() {
|
68
54
|
package="readline" ; archive_format="tar.gz"
|
69
|
-
package_url="ftp://ftp.gnu.org/gnu/readline"
|
70
55
|
for version in 5.2 6.0 ; do
|
71
56
|
configure_flags="--disable-dependency-tracking --disable-static --enable-shared"
|
72
57
|
install_package
|
@@ -75,19 +60,16 @@ readline() {
|
|
75
60
|
|
76
61
|
iconv() {
|
77
62
|
package="libiconv" ; version=1.13.1 ; archive_format="tar.gz"
|
78
|
-
package_url="http://ftp.gnu.org/pub/gnu/libiconv"
|
79
63
|
install_package
|
80
64
|
}
|
81
65
|
|
82
66
|
curl() {
|
83
67
|
package="curl" ; version=7.19.7 ; archive_format="tar.gz"
|
84
|
-
package_url="http://curl.haxx.se/download"
|
85
68
|
install_package
|
86
69
|
}
|
87
70
|
|
88
71
|
openssl() {
|
89
72
|
package="openssl" ; version="0.9.8n" ; archive_format="tar.gz"
|
90
|
-
package_url="http://www.openssl.org/source"
|
91
73
|
if [[ "Darwin" = "$(uname)" ]] ; then
|
92
74
|
if $rvm_scripts_path/match "$rvm_archflags" "x86_64" ; then
|
93
75
|
export openssl_os="os/compiler darwin64-x86_64-cc"
|
@@ -106,39 +88,32 @@ openssl() {
|
|
106
88
|
|
107
89
|
zlib() {
|
108
90
|
package="zlib" ; version="1.2.5" ; archive_format="tar.gz"
|
109
|
-
package_url="http://www.zlib.net"
|
110
91
|
install_package
|
111
92
|
}
|
112
93
|
|
113
94
|
autoconf() {
|
114
|
-
package_url="ftp.gnu.org/gnu/autoconf"
|
115
95
|
package="autoconf" ; version="2.65" ; archive_format="tar.gz"
|
116
|
-
|
117
96
|
prefix_path="${rvm_bin_path:-"${rvm_path:-"$HOME/.rvm"}"}"
|
118
97
|
install_package
|
119
98
|
}
|
120
99
|
|
121
100
|
ncurses() {
|
122
|
-
package_url="http://ftp.gnu.org/pub/gnu/ncurses"
|
123
101
|
package="ncurses" ; version="5.7" ; archive_format="tar.gz"
|
124
102
|
configure_flags="--with-shared --disable-rpath --without-debug --without-ada --enable-safe-sprintf --enable-sigwinch --without-progs"
|
125
103
|
install_package
|
126
104
|
}
|
127
105
|
|
128
106
|
pkgconfig() {
|
129
|
-
package_url="http://pkgconfig.freedesktop.org/releases"
|
130
107
|
package="pkg-config" ; version="0.23" archive_format="tar.gz"
|
131
108
|
install_package
|
132
109
|
}
|
133
110
|
|
134
111
|
gettext() {
|
135
|
-
package_url="ftp://ftp.gnu.org/pub/gnu/gettext"
|
136
112
|
package="gettext" ; version="0.17" ; archive_format="tar.gz"
|
137
113
|
install_package
|
138
114
|
}
|
139
115
|
|
140
116
|
libxml2() {
|
141
|
-
package_url="ftp://xmlsoft.org/libxml2/"
|
142
117
|
package="libxml2" ; version="2.7.3" ; archive_format="tar.gz"
|
143
118
|
if [[ "Darwin" = "$(uname)" ]] ; then
|
144
119
|
configure="./configure --prefix=${rvm_usr_path} --build=i686-apple-darwin$(uname -r) --host=i686-apple-darwin$(uname -r)"
|
@@ -149,7 +124,6 @@ libxml2() {
|
|
149
124
|
|
150
125
|
glib() {
|
151
126
|
package="glib" ; version="2.23.1" ; archive_format="tar.gz"
|
152
|
-
package_url="http://ftp.gnome.org/pub/gnome/sources/glib/2.23"
|
153
127
|
configure="CC=\"cc -L$rvm_usr_path/lib\" ./configure --prefix=$rvm_usr_path"
|
154
128
|
|
155
129
|
install_package
|
@@ -162,17 +136,17 @@ mono() {
|
|
162
136
|
|
163
137
|
__rvm_mono_env
|
164
138
|
package="mono" ; version="2.6.1" ; archive_format="tar.bz2"
|
165
|
-
packge_url="http://ftp.novell.com/pub/mono/sources/mono/"
|
166
|
-
|
167
139
|
install_package
|
168
140
|
}
|
169
141
|
|
170
142
|
llvm() {
|
143
|
+
package="llvm" ; version="89156"
|
171
144
|
if [[ ! -z "$rvm_make_flags_flag" ]] ; then __rvm_make_flags ; fi
|
172
145
|
__rvm_pushpop $rvm_src_path
|
173
146
|
if [[ ! -d "$rvm_src_path/llvm/.svn" ]] ; then
|
147
|
+
__rvm_db "${package}_url" "package_url"
|
174
148
|
rm -rf "$rvm_src_path/llvm"
|
175
|
-
svn co -r
|
149
|
+
svn co -r "$version" "$package_url" llvm
|
176
150
|
builtin cd "$rvm_src_path/llvm"
|
177
151
|
./configure --enable-bindings=none
|
178
152
|
UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" ENABLE_OPTIMIZED=1 make -j2
|