rvm 0.1.32 → 0.1.33
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 +4 -0
- data/binscripts/rvm +1 -1
- data/binscripts/rvm-prompt +1 -1
- data/config/db +20 -10
- data/config/md5 +4 -4
- data/gemsets/default.gems +1 -0
- data/gemsets/global.gems +0 -0
- data/help/info +64 -0
- data/help/wrapper +41 -0
- data/install +62 -64
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +39 -30
- data/scripts/alias +103 -0
- data/scripts/cli +64 -23
- data/scripts/db +9 -2
- data/scripts/docs +57 -0
- data/scripts/env +48 -0
- data/scripts/fetch +1 -1
- data/scripts/gemsets +14 -14
- data/scripts/help +30 -0
- data/scripts/info +142 -0
- data/scripts/initialize +4 -2
- data/scripts/install +62 -64
- data/scripts/list +102 -0
- data/scripts/log +12 -12
- data/scripts/manage +71 -38
- data/scripts/notes +35 -34
- data/scripts/package +4 -4
- data/scripts/rvm +5 -9
- data/scripts/rvm-install +62 -64
- data/scripts/selector +44 -63
- data/scripts/set +8 -8
- data/scripts/update +62 -64
- data/scripts/utility +51 -250
- data/scripts/wrapper +66 -0
- metadata +42 -30
- data/scripts/symlink +0 -18
data/scripts/log
CHANGED
@@ -8,21 +8,21 @@ message=$1
|
|
8
8
|
|
9
9
|
if [[ -z "$rvm_interactive" ]] || [[ -z "$TERM" ]] || [[ "unknown" = "$TERM" ]] ; then
|
10
10
|
case "$level" in
|
11
|
-
debug) shift ;
|
12
|
-
info) shift ;
|
13
|
-
warn) shift ;
|
14
|
-
error) shift ;
|
15
|
-
fail) shift ;
|
16
|
-
*)
|
11
|
+
debug) shift ; printf "\n<d>$message </d>\n" ;;
|
12
|
+
info) shift ; printf "\n<i>$message </i>\n" ;;
|
13
|
+
warn) shift ; printf "\n<w>$message </w>\n" ;;
|
14
|
+
error) shift ; printf "\n<e>$message </e>\n" >&2 ;;
|
15
|
+
fail) shift ; printf "\n<f>$message </f>\n" >&2 ;;
|
16
|
+
*) printf "$message"
|
17
17
|
esac
|
18
18
|
else
|
19
19
|
case "$level" in
|
20
|
-
debug) shift ;
|
21
|
-
info) shift ;
|
22
|
-
warn) shift ;
|
23
|
-
error) shift ;
|
24
|
-
fail) shift ;
|
25
|
-
*)
|
20
|
+
debug) shift ; printf "\n$(tput setaf 5)$message$(tput sgr0)\n" ;;
|
21
|
+
info) shift ; printf "\n$(tput setaf 2)$message$(tput sgr0)\n" ;;
|
22
|
+
warn) shift ; printf "\n$(tput setaf 3)$message$(tput sgr0)\n" ;;
|
23
|
+
error) shift ; printf "\n$(tput setaf 1)$message$(tput sgr0)\n" >&2 ;;
|
24
|
+
fail) shift ; printf "\n$(tput setaf 1)$message$(tput sgr0)\n" >&2 ;;
|
25
|
+
*) printf "$message"
|
26
26
|
esac
|
27
27
|
fi
|
28
28
|
|
data/scripts/manage
CHANGED
@@ -267,12 +267,10 @@ RubyWrapper
|
|
267
267
|
PATH=$rvm_bin_path:$PATH ; export PATH
|
268
268
|
|
269
269
|
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.0/')" ]] && [[ -z "$rvm_head_flag" ]] ; then
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
|
275
|
-
fi
|
270
|
+
$rvm_scripts_path/log "info" "Downloading $rvm_ruby_file, this may take a while depending on your connection..."
|
271
|
+
$rvm_scripts_path/fetch "$rvm_url"
|
272
|
+
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
273
|
+
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
|
276
274
|
fi
|
277
275
|
__rvm_run "extract" "cat $rvm_archives_path/$(basename $rvm_ruby_package_file) | gunzip | tar xf - -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..."
|
278
276
|
|
@@ -303,7 +301,7 @@ RubyWrapper
|
|
303
301
|
|
304
302
|
builtin cd "$rvm_ruby_src_path" ; chmod +x ./configure
|
305
303
|
rvm_ruby_configure_flags="${rvm_ruby_configure_flags:-"--skip-system"}"
|
306
|
-
rvm_ruby_configure="
|
304
|
+
rvm_ruby_configure="ruby configure --prefix=$rvm_ruby_home $rvm_ruby_configure_flags" ; message="Configuring rbx"
|
307
305
|
if [[ "$rvm_llvm_flag" = "0" ]] ; then
|
308
306
|
rvm_ruby_configure="$rvm_ruby_configure --disable-llvm"
|
309
307
|
else
|
@@ -334,7 +332,7 @@ RubyWrapper
|
|
334
332
|
for binary_name in "gem" ; do
|
335
333
|
if [[ $binary_name != "gem" ]] ; then prefix="-S " ; else unset prefix; fi
|
336
334
|
|
337
|
-
ruby_wrapper=$(
|
335
|
+
ruby_wrapper=$(printf "#!/usr/bin/env bash\nexec $rvm_ruby_home/bin/rbx $prefix$binary_name \"\$@\"")
|
338
336
|
for file_name in "$rvm_ruby_home/bin/$binary_name" "$rvm_bin_path/$binary_name-$rvm_ruby_string" ; do
|
339
337
|
rm -f $file_name
|
340
338
|
echo "$ruby_wrapper" > $file_name
|
@@ -352,7 +350,7 @@ RubyWrapper
|
|
352
350
|
|
353
351
|
jruby)
|
354
352
|
if ! command -v java > /dev/null; then
|
355
|
-
|
353
|
+
printf "java must be installed and in your path in order to install JRuby." ; return 1
|
356
354
|
fi
|
357
355
|
|
358
356
|
__rvm_pushpop $rvm_src_path
|
@@ -384,8 +382,9 @@ RubyWrapper
|
|
384
382
|
done ; unset binary
|
385
383
|
__rvm_pushpop
|
386
384
|
|
387
|
-
|
388
|
-
|
385
|
+
# -server is "a lot slower for short-lived scripts like rake tasks, and takes longer to load"
|
386
|
+
#sed -e 's#^JAVA_VM=-client#JAVA_VM=-server#' $rvm_ruby_home/bin/jruby > $rvm_ruby_home/bin/jruby.new &&
|
387
|
+
# mv $rvm_ruby_home/bin/jruby.new $rvm_ruby_home/bin/jruby
|
389
388
|
chmod +x $rvm_ruby_home/bin/jruby
|
390
389
|
|
391
390
|
for binary in jrubyc jirb_swing jirb jgem rdoc ri spec autospec testrb ast generate_yaml_index.rb ; do
|
@@ -399,6 +398,8 @@ RubyWrapper
|
|
399
398
|
__rvm_bin_script
|
400
399
|
__rvm_use
|
401
400
|
|
401
|
+
__rvm_post_install
|
402
|
+
|
402
403
|
for rvm_gem_name in rake jruby-openssl ; do
|
403
404
|
__rvm_run "gems" "$rvm_ruby_home/bin/gem install $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name"
|
404
405
|
done ; unset rvm_gem_name
|
@@ -424,7 +425,7 @@ RubyWrapper
|
|
424
425
|
fi
|
425
426
|
|
426
427
|
if [[ ! -z "$rvm_head_flag" ]] ; then
|
427
|
-
cd $rvm_ruby_src_path
|
428
|
+
builtin cd $rvm_ruby_src_path
|
428
429
|
rvm_gemstone_package_file="GemStone-$(grep ^GEMSTONE version.txt | cut -f2 -d-).$(uname -sm | tr ' ' '-')"
|
429
430
|
rvm_gemstone_url="${rvm_gemstone_url:-"$maglev_url/${rvm_gemstone_package_file}.${rvm_archive_extension}"}"
|
430
431
|
fi
|
@@ -496,7 +497,7 @@ RubyWrapper
|
|
496
497
|
|
497
498
|
ironruby|ir)
|
498
499
|
if ! command -v mono > /dev/null ; then
|
499
|
-
|
500
|
+
printf "mono must be installed and in your path in order to install IronRuby." ; return 1
|
500
501
|
fi
|
501
502
|
|
502
503
|
if [[ "$rvm_head_flag" = 1 ]] ; then
|
@@ -505,12 +506,12 @@ RubyWrapper
|
|
505
506
|
mono_major_ver="$(echo $mono_version | cut -d '.' -f1)"
|
506
507
|
mono_minor_ver="$(echo $mono_version | cut -d '.' -f2)"
|
507
508
|
if [[ $mono_major_ver -lt 2 ]] || ( [[ $mono_major_ver -eq 2 ]] && [[ $mono_minor_ver -lt 6 ]] ) ; then
|
508
|
-
|
509
|
-
|
509
|
+
printf "Mono 2.6 (or greater) must be installed and in your path in order to build IronRuby from the repository."
|
510
|
+
printf "Version detected: ${mono_version}"
|
510
511
|
return 1
|
511
512
|
fi
|
512
513
|
else
|
513
|
-
|
514
|
+
printf "Cannot recognize mono version."
|
514
515
|
return 1
|
515
516
|
fi
|
516
517
|
|
@@ -695,7 +696,7 @@ __rvm_fetch_ruby() {
|
|
695
696
|
rvm_archive_extension="${rvm_archive_extension:-tar.gz}"
|
696
697
|
if [[ ! -s "$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension" ]] ; then
|
697
698
|
if [[ "ruby" = "$rvm_ruby_interpreter" ]] ; then
|
698
|
-
rvm_url="
|
699
|
+
rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_release_version}.${rvm_major_version}_url")/$rvm_ruby_package_file.$rvm_archive_extension"
|
699
700
|
elif [[ "ree" = "$rvm_ruby_interpreter" ]] ; then
|
700
701
|
rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_url")/$rvm_ruby_package_file.$rvm_archive_extension"
|
701
702
|
elif [[ "jruby" = "$rvm_ruby_interpreter" ]] ; then
|
@@ -765,12 +766,12 @@ __rvm_fetch_ruby() {
|
|
765
766
|
if [[ -z "$rvm_minor_version" ]] || [[ "$rvm_minor_version" = 3 ]] ; then
|
766
767
|
rvm_url="${rvm_url:-"$rvm_ruby_repo_url/trunk"}"
|
767
768
|
else
|
768
|
-
rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/
|
769
|
+
rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/ruby_${rvm_release_version}_${rvm_major_version}_${rvm_minor_version}"}"
|
769
770
|
fi
|
770
771
|
elif [[ -z "$rvm_minor_version" ]] || [[ "$rvm_major_version.$rvm_minor_version" = "8.8" ]] ; then
|
771
|
-
rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/
|
772
|
+
rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/ruby_${rvm_release_version}_${rvm_major_version}"}"
|
772
773
|
else
|
773
|
-
rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/
|
774
|
+
rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/ruby_${rvm_release_version}_${rvm_major_version}_${rvm_minor_version}"}"
|
774
775
|
fi
|
775
776
|
|
776
777
|
rvm_rev=""
|
@@ -855,23 +856,27 @@ __rvm_remove_gemsets() {
|
|
855
856
|
}
|
856
857
|
|
857
858
|
__rvm_post_install() {
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
859
|
+
if [[ "$rvm_ruby_interpreter" != "jruby" ]] ; then
|
860
|
+
binaries="${binaries:-"gem irb erb ri rdoc testrb rake"}"
|
861
|
+
$rvm_scripts_path/log "info" "adjusting shebangs for $rvm_ruby_string ($binaries)."
|
862
|
+
for binary in $(echo $binaries) ; do
|
863
|
+
if [[ -e "$rvm_ruby_home/bin/$binary" ]] || [[ -e "$rvm_ruby_src_path/bin/$binary" ]] ; then
|
864
|
+
if [[ "$rvm_ruby_src_path" != "$rvm_ruby_home" ]] && [[ -f "$rvm_ruby_src_path/bin/$binary" ]] ; then
|
865
|
+
cp -f "$rvm_ruby_src_path/bin/$binary" "$rvm_ruby_home/bin/$binary"
|
866
|
+
elif [[ -f "$rvm_ruby_gem_home/bin/$binary" ]] ; then
|
867
|
+
cp -f "$rvm_ruby_gem_home/bin/$binary" "$rvm_ruby_home/bin/$binary"
|
868
|
+
fi
|
869
|
+
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
|
870
|
+
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$binary"
|
871
|
+
chmod +x "$rvm_ruby_home/bin/$binary"
|
865
872
|
fi
|
866
|
-
|
867
|
-
|
868
|
-
chmod +x "$rvm_ruby_home/bin/$binary"
|
869
|
-
fi
|
870
|
-
done ; unset binary binaries
|
871
|
-
|
872
|
-
$rvm_scripts_path/log "info" "Installing gems for $rvm_ruby_string."
|
873
|
+
done ; unset binary binaries
|
874
|
+
fi
|
873
875
|
|
874
|
-
|
876
|
+
# TODO: Merge this vvv into the default gemset loading.
|
877
|
+
post_install_gems="rdoc rake"
|
878
|
+
$rvm_scripts_path/log "info" "Installing gems for $rvm_ruby_string ($post_install_gems)."
|
879
|
+
for rvm_gem_name in $(echo $post_install_gems); do
|
875
880
|
home="$GEM_HOME" ; path="$GEM_PATH" # Save
|
876
881
|
for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
|
877
882
|
GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir"
|
@@ -888,10 +893,38 @@ __rvm_post_install() {
|
|
888
893
|
done ; unset home path dir
|
889
894
|
GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home"
|
890
895
|
export GEM_HOME GEM_PATH BUNDLE_PATH
|
891
|
-
done ; unset rvm_gem_name
|
896
|
+
done ; unset rvm_gem_name post_install_gems
|
892
897
|
$rvm_scripts_path/log "info" "Installation of gems for $rvm_ruby_string is complete."
|
893
898
|
|
894
899
|
__rvm_irbrc
|
900
|
+
__rvm_load_gemsets
|
901
|
+
}
|
902
|
+
|
903
|
+
__rvm_load_gemsets() {
|
904
|
+
# Gemset for every interpreter's global gems
|
905
|
+
if [[ -s "$rvm_gemsets_path/global.gems" ]] ; then
|
906
|
+
dir=$rvm_ruby_global_gems_path
|
907
|
+
GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir" ; export GEM_HOME GEM_PATH BUNDLE_PATH
|
908
|
+
|
909
|
+
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/global.gems"
|
910
|
+
|
911
|
+
GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home" ; export GEM_HOME GEM_PATH BUNDLE_PATH
|
912
|
+
fi ; unset home path dir
|
913
|
+
|
914
|
+
# gemset for any installed ruby.
|
915
|
+
if [[ -s "$rvm_gemsets_path/default.gems" ]] ; then
|
916
|
+
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/default.gems"
|
917
|
+
fi
|
918
|
+
|
919
|
+
# gemset for any installation of a given interpreter.
|
920
|
+
if [[ -s "$rvm_gemsets_path/$rvm_ruby_interpreter.gems" ]] ; then
|
921
|
+
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/$rvm_ruby_interpreter.gems"
|
922
|
+
fi
|
923
|
+
|
924
|
+
# gemset for a specific match of the ruby string.
|
925
|
+
if [[ -s "$rvm_gemsets_path/$rvm_ruby_string.gems" ]] ; then
|
926
|
+
$rvm_scripts_path/gemsets "import" "$rvm_gemsets_path/$rvm_ruby_string.gems"
|
927
|
+
fi
|
895
928
|
}
|
896
929
|
|
897
930
|
__rvm_rubygems_setup() {
|
@@ -922,7 +955,7 @@ __rvm_rubygems_setup() {
|
|
922
955
|
|
923
956
|
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
|
924
957
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
925
|
-
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems
|
958
|
+
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/${rvm_release_version}.$rvm_major_version"
|
926
959
|
elif [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^rbx|jruby/')" ]] ; then
|
927
960
|
# Hands off rubygems for rbx & jruby
|
928
961
|
if [[ ! -z "$rvm_debug_flag" ]] ; then $rvm_scripts_path/log "debug" "Skipping rubygems update for $rvm_ruby_version" ; fi
|
@@ -963,7 +996,7 @@ __rvm_rubygems_setup() {
|
|
963
996
|
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
|
964
997
|
|
965
998
|
if [[ ! -z "$rvm_major_version" ]] ; then
|
966
|
-
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems
|
999
|
+
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/${rvm_release_version}.$rvm_major_version"
|
967
1000
|
else
|
968
1001
|
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/$interpreter"
|
969
1002
|
fi
|
data/scripts/notes
CHANGED
@@ -7,64 +7,65 @@ if [[ "Linux" = "$system" ]] ; then
|
|
7
7
|
for file in /etc/*-release ; do
|
8
8
|
release="( $(cat $file) )" ; break
|
9
9
|
done
|
10
|
-
|
10
|
+
printf "\n\n$(tput setaf 2)Notes for ${system} $release$(tput sgr0)\n"
|
11
11
|
|
12
12
|
rvm_apt_get_binary="$(command -v aptitude)"
|
13
13
|
rvm_emerge_binary="$(command -v emerge)"
|
14
14
|
rvm_pacman_binary="$(command -v pacman)"
|
15
15
|
rvm_yum_binary="$(command -v yum)"
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
printf "\n $item curl is required.\n"
|
18
|
+
printf "\n $item patch is required (for ree, some ruby head's).\n"
|
19
|
+
printf "\n $item If you wish to install rbx and/or any MRI head (eg. 1.9.2-head) then you must install and use rvm 1.8.7 first.\n"
|
19
20
|
if [[ ! -z "$rvm_apt_get_binary" ]] ; then
|
20
|
-
|
21
|
-
|
21
|
+
printf "\n $item For JRuby (if you wish to use it) you will need:"
|
22
|
+
printf "\n $ aptitude install curl sun-java6-bin sun-java6-jre sun-java6-jdk"
|
22
23
|
|
23
|
-
|
24
|
-
|
24
|
+
printf "\n $item For MRI & ree (if you wish to use it) you will need:"
|
25
|
+
printf "\n $ aptitude install curl bison build-essential zlib1g zlib1g-dev libssl-dev libreadline5-dev libreadline6-dev libxml2-dev git-core subversion autoconf"
|
25
26
|
|
26
|
-
|
27
|
-
|
27
|
+
printf "\n $item For IronRuby (if you wish to use it) you will need:"
|
28
|
+
printf "\n $ aptitude install curl mono-2.0-devel"
|
28
29
|
|
29
30
|
elif [[ ! -z "$rvm_emerge_binary" ]] ; then
|
30
|
-
|
31
|
-
|
31
|
+
printf "\n $item For JRuby (if you wish to use it) you will need:"
|
32
|
+
printf "\n $ emerge dev-java/sun-jdk dev-java/sun-jre-bin"
|
32
33
|
|
33
|
-
|
34
|
-
|
34
|
+
printf "\n $item For IronRuby (if you wish to use it) you will need:"
|
35
|
+
printf "\n $ emerge dev-lang/mono"
|
35
36
|
|
36
37
|
elif [[ ! -z "$rvm_pacman_binary" ]] ; then
|
37
|
-
|
38
|
-
|
38
|
+
printf "\n $item For MRI based rubies you will need:"
|
39
|
+
printf "\n $ pacman -Sy autoconf diffutils patch curl bison zlib readline libxml2 git"
|
39
40
|
|
40
|
-
|
41
|
-
|
41
|
+
printf "\n $item For JRuby (if you wish to use it) you will need:"
|
42
|
+
printf "\n $ pacman -Sy jdk jre curl"
|
42
43
|
|
43
|
-
|
44
|
-
|
44
|
+
printf "\n $item For IronRuby (if you wish to use it) you will need:"
|
45
|
+
printf "\n $ pacman -Sy mono"
|
45
46
|
|
46
47
|
elif [[ ! -z "$rvm_yum_binary" ]] ; then
|
47
|
-
|
48
|
-
|
49
|
-
|
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"
|
50
|
+
printf "\n $ yum install -y iconv-devel # NOTE: For centos 5.4 final iconv-devel might not be available :("
|
50
51
|
|
51
|
-
|
52
|
-
|
52
|
+
printf "\n $item For JRuby (if you wish to use it) you will need:"
|
53
|
+
printf "\n $ yum install -y java"
|
53
54
|
|
54
55
|
else
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
56
|
+
printf "\n $item For JRuby (if you wish to use it) you will need:"
|
57
|
+
printf "\n The SUN java runtime environment and development kit."
|
58
|
+
printf "\n $item For IronRuby (if you wish to use it) you will need:"
|
59
|
+
printf "\n The Mono Runtime and Development Platform (version 2.6 or greater is recommended)."
|
59
60
|
fi
|
60
61
|
elif [[ "Darwin" = "$system" ]] ; then
|
61
62
|
release="( $(sw_vers -productName) )"
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
printf "\n$(tput setaf 2)Notes for ${system} $release $(tput sgr0)\n"
|
64
|
+
printf "\n $item For Snow Leopard be sure to have XCode Tools Version 3.2.1 (1613) or later (there were bugs with the dvd release version)."
|
65
|
+
printf "\n $item You should download the latest XCode tools from developer.apple.com. This is necessary since the dvd install for Snow Leopard has bugs."
|
66
|
+
printf "\n $item If you intend on installing MacRuby you must install LLVM first."
|
67
|
+
printf "\n $item If you intend on installing JRuby you must install the JDK."
|
68
|
+
printf "\n $item If you intend on installing IronRuby you must install Mono (version 2.6 or greater is recommended)."
|
68
69
|
fi
|
69
70
|
|
70
71
|
echo
|
data/scripts/package
CHANGED
@@ -22,8 +22,8 @@ __rvm_load_rvmrc
|
|
22
22
|
trap "rm -f $rvm_tmp_path/$$* > /dev/null 2>&1 ; exit" 0 1 2 3 15
|
23
23
|
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
24
24
|
|
25
|
-
action="$(echo $* | awk '{print $1}')"
|
26
|
-
library="$(echo $* | awk '{print $2}')"
|
25
|
+
action="$(echo "$*" | awk '{print $1}')"
|
26
|
+
library="$(echo "$*" | awk '{print $2}')"
|
27
27
|
args=$(echo "$*" | awk '{$1="" ; $2="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
28
28
|
|
29
29
|
install_package() {
|
@@ -44,7 +44,7 @@ install_package() {
|
|
44
44
|
$rvm_scripts_path/fetch "$package_url/$package-$version.$archive_format" || (result=$? && return $result)
|
45
45
|
__rvm_run "$package/extract" "unzip -q -o $rvm_archives_path/$package-$version.$archive_format -d $rvm_src_path/$package-$version" "Extracting $package-$version.$archive_format to $rvm_src_path"
|
46
46
|
else
|
47
|
-
|
47
|
+
printf "\nUnrecognized archive format '$archive_format'" ; return 1
|
48
48
|
fi
|
49
49
|
|
50
50
|
builtin cd "$rvm_src_path/$package-$version"
|
@@ -107,7 +107,7 @@ autoconf() {
|
|
107
107
|
package_url="ftp.gnu.org/gnu/autoconf"
|
108
108
|
package="autoconf" ; version="2.65" ; archive_format="tar.gz"
|
109
109
|
|
110
|
-
prefix_path="${
|
110
|
+
prefix_path="${rvm_bin_path:-"${rvm_path:-"$HOME/.rvm"}"}"
|
111
111
|
install_package
|
112
112
|
}
|
113
113
|
|
data/scripts/rvm
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
# rvm : Ruby
|
3
|
+
# rvm : Ruby enVironment Manager
|
4
4
|
# http://rvm.beginrescueend.com
|
5
5
|
# http://gitub.com/wayneeseguin/rvm
|
6
6
|
|
@@ -12,7 +12,7 @@ if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
|
|
12
12
|
for rvmrc in /etc/rvmrc $HOME/.rvmrc ; do
|
13
13
|
if [[ -f "$rvmrc" ]] ; then
|
14
14
|
if grep -q '^\s*rvm .*$' $rvmrc ; then
|
15
|
-
|
15
|
+
printf "\nError: $rvmrc is for rvm settings only.\nrvm CLI may NOT be called from within $rvmrc. \nSkipping the loading of $rvmrc"
|
16
16
|
return 1
|
17
17
|
else
|
18
18
|
source "$rvmrc"
|
@@ -72,15 +72,11 @@ if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
|
|
72
72
|
|
73
73
|
alias rvm-restart="source '${rvm_path}/scripts/rvm'"
|
74
74
|
|
75
|
-
if
|
76
|
-
|
77
|
-
elif [[ -s "$rvm_config_path/default" ]] ; then
|
78
|
-
source "$rvm_config_path/default"
|
79
|
-
elif [[ -s "$rvm_prefix/rvm/config/default" ]] ; then
|
80
|
-
source "$rvm_prefix/rvm/config/default"
|
75
|
+
if command -v ruby >/dev/null 2>&1 && command -v ruby | grep -v rvm >/dev/null ; then
|
76
|
+
[[ -s "$rvm_environments_path/default" ]] && source "$rvm_environments_path/default"
|
81
77
|
fi
|
82
78
|
else
|
83
|
-
|
79
|
+
printf "\n\$rvm_path is not set. rvm cannot load."
|
84
80
|
fi
|
85
81
|
fi
|
86
82
|
|
data/scripts/rvm-install
CHANGED
@@ -11,7 +11,7 @@ source scripts/version
|
|
11
11
|
source scripts/utility
|
12
12
|
|
13
13
|
usage() {
|
14
|
-
|
14
|
+
printf "
|
15
15
|
Usage:
|
16
16
|
${0} [options]
|
17
17
|
|
@@ -27,7 +27,7 @@ spinner_counter=0
|
|
27
27
|
spinner() {
|
28
28
|
array=('/' '-' '\\' '|' '/' '-' '\\' '|')
|
29
29
|
index=$((($spinner_counter % 8)))
|
30
|
-
|
30
|
+
printf "\r${array[$index]}"
|
31
31
|
let "spinner_counter=spinner_counter+1"
|
32
32
|
command -v perl > /dev/null 2>&1 && perl -e 'sleep 0.5'
|
33
33
|
}
|
@@ -86,19 +86,17 @@ rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
|
|
86
86
|
rvm_config_path="${rvm_config_path:-"$rvm_path/config"}"
|
87
87
|
rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
|
88
88
|
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
89
|
-
rvm_symlink_path="${rvm_symlink_path:-$rvm_prefix/bin}"
|
90
89
|
|
91
90
|
export rvm_gemset_separator="@" # TODO: Remove this after a while.
|
92
91
|
|
93
|
-
|
94
|
-
|
95
|
-
|
92
|
+
printf "\n$(tput setaf 2)RVM:$(tput sgr0) shell scripts which allow management of multiple ruby interpreters and environments."
|
93
|
+
printf "\n$(tput setaf 2)RTFM: $(tput sgr0) http://rvm.beginrescueend.com/"
|
94
|
+
printf "\n$(tput setaf 2)HELP: $(tput sgr0) http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)"
|
96
95
|
|
97
|
-
echo -e "\n********************************************************************************"
|
98
96
|
if [[ "$upgrade_flag" -eq 1 ]] ;then
|
99
|
-
|
97
|
+
printf "\n\n Upgrading the RVM installation in $rvm_path/"
|
100
98
|
else
|
101
|
-
|
99
|
+
printf "\n\n Installing rvm to $rvm_path/"
|
102
100
|
fi
|
103
101
|
|
104
102
|
spinner
|
@@ -150,19 +148,19 @@ chmod +x $rvm_bin_path/*
|
|
150
148
|
#
|
151
149
|
spinner
|
152
150
|
if [[ ! -z "$rvm_auto_flag" ]] ; then
|
153
|
-
|
151
|
+
printf "Checking rc files... ($rvm_rc_files)"
|
154
152
|
if [[ "$rvm_loaded_flag" != "1" ]] ; then
|
155
153
|
for rcfile in $(echo $rvm_rc_files) ; do
|
156
154
|
if [[ ! -f $rcfile ]] ; then touch $rcfile ; fi
|
157
155
|
if [[ -s "$HOME/.profile" ]] ; then
|
158
156
|
if ! grep -q '.profile' "$rcfile" ; then
|
159
157
|
echo " Adding 'if [[ -s \$HOME/.profile ]] ; then source \$HOME ; fi' to $rcfile."
|
160
|
-
|
158
|
+
printf "\n# rvm-install added line:\nif [[ -s \$HOME/.profile ]] ; then source \$HOME/.profile ; fi\n" >> $rcfile
|
161
159
|
fi
|
162
160
|
fi
|
163
161
|
if ! grep -q "scripts\/rvm" "$rcfile" ; then
|
164
162
|
echo " Adding 'if [[ -s $rvm_scripts_path/rvm ]] ; then source $rvm_scripts_path/rvm ; fi' to $rcfile."
|
165
|
-
|
163
|
+
printf "\n# rvm-install added:\nif [[ -s $rvm_scripts_path/rvm ]] ; then source $rvm_scripts_path/rvm ; fi\n" >> $rcfile
|
166
164
|
fi
|
167
165
|
done
|
168
166
|
fi
|
@@ -196,12 +194,12 @@ done
|
|
196
194
|
# Migrate old gemset directories to new gemset pattern.
|
197
195
|
#
|
198
196
|
spinner
|
199
|
-
|
197
|
+
printf "\r*" # Stop spinner.
|
200
198
|
|
201
199
|
for gemset in $rvm_path/gems/*\%* ; do
|
202
200
|
new_path=${gemset/\%/${rvm_gemset_separator}}
|
203
201
|
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
204
|
-
|
202
|
+
printf "\n Renaming $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
205
203
|
mv $gemset $new_path
|
206
204
|
fi
|
207
205
|
done
|
@@ -209,22 +207,26 @@ done
|
|
209
207
|
for gemset in $rvm_path/gems/*\+* ; do
|
210
208
|
new_path=${gemset/\+/${rvm_gemset_separator}}
|
211
209
|
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
212
|
-
|
210
|
+
printf "\n Renaming $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
213
211
|
mv $gemset $new_path
|
214
212
|
fi
|
215
213
|
done
|
216
214
|
for gemset in $rvm_path/gems/*\@ ; do
|
217
215
|
new_path=$(echo $gemset | sed -e 's#\@$##')
|
218
216
|
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
219
|
-
|
217
|
+
printf "\n Fixing: $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
220
218
|
mv $gemset $new_path
|
221
219
|
fi
|
222
220
|
done
|
223
221
|
|
224
|
-
#
|
225
|
-
if [[ -s $rvm_config_path/default ]]
|
226
|
-
|
227
|
-
|
222
|
+
# Move from legacy defaults to the new, alias based system.
|
223
|
+
if [[ -s "$rvm_config_path/default" ]]; then
|
224
|
+
original_version="$(basename "$(grep GEM_HOME "$rvm_config_path/default" | awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator}#")")"
|
225
|
+
if [[ -n "$original_version" ]]; then
|
226
|
+
$rvm_scripts_path/alias create default "$original_version" &> /dev/null
|
227
|
+
fi
|
228
|
+
unset original_version
|
229
|
+
rm -rf "$rvm_config_path/default"
|
228
230
|
fi
|
229
231
|
|
230
232
|
#
|
@@ -232,64 +234,60 @@ fi
|
|
232
234
|
#
|
233
235
|
|
234
236
|
if [[ "root" = "$(whoami)" ]] ; then
|
235
|
-
|
236
|
-
mkdir -p $
|
237
|
-
|
238
|
-
|
239
|
-
chmod +x $rvm_symlink_path/rvm
|
240
|
-
chmod +x $rvm_symlink_path/rvmsudo
|
237
|
+
printf "\n Symlinking rvm to $rvm_bin_path/rvm ..."
|
238
|
+
mkdir -p $rvm_bin_path
|
239
|
+
chmod +x $rvm_bin_path/rvm
|
240
|
+
chmod +x $rvm_bin_path/rvmsudo
|
241
241
|
fi
|
242
242
|
|
243
243
|
if [[ "$upgrade_flag" -eq 0 ]] ; then
|
244
|
-
echo -e "\n********************************************************************************"
|
245
244
|
./scripts/notes
|
246
245
|
fi
|
247
246
|
|
248
|
-
echo -e "\n********************************************************************************"
|
249
247
|
name="$(awk -F= '/^[[:space:]]*name/{print $2}' ~/.gitconfig 2>/dev/null)"
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
echo -e "\n********************************************************************************"
|
248
|
+
printf "\n\n${name:-"$(whoami)"},\n"
|
249
|
+
printf "\nThank you for using rvm. I hope that it makes your work easier and more enjoyable."
|
250
|
+
printf "\nIf you have any questions, issues and/or ideas for improvement please hop in #rvm on irc.freenode.net and let me know."
|
251
|
+
printf "\nMy irc nickname is 'wayneeseguin' and I hang out from ~09:00-17:00EST and again from ~21:00EST-~00:00EST."
|
252
|
+
printf "\nIf I do not respond right away, please hang around after asking your question, I will respond as soon as I am back."
|
253
|
+
printf "\nBe sure to get head often as rvm development happens fast, you can do this by typing 'rvm update --head'."
|
254
|
+
printf "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
|
255
|
+
printf "\n ~ Wayne\n"
|
259
256
|
|
260
257
|
if [[ "$upgrade_flag" -eq 1 ]] ; then
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
258
|
+
printf "\n$(tput setaf 6)Upgrade Notes\n"
|
259
|
+
printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
|
260
|
+
printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
|
261
|
+
printf "\n * Do not forget that 'rvm notes' tells you OS dependency packages for installing rubies."
|
262
|
+
printf "\n$(tput sgr0)\n"
|
263
|
+
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
|
266
264
|
else
|
267
265
|
if [[ "root" != "$(whoami)" ]] ; then
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
266
|
+
printf "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
|
267
|
+
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:"
|
268
|
+
printf "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
|
269
|
+
printf "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
|
270
|
+
printf "\n This means that if you see '[ -z "$PS1" ] && return' then you must change this line to:"
|
271
|
+
printf "\n if [[ ! -z "$PS1" ]] ; then"
|
272
|
+
printf "\n ... original content that was below the && return line ..."
|
273
|
+
printf "\n fi # <= be sure to close the if."
|
274
|
+
printf "\n #EOF .bashrc"
|
275
|
+
printf "\n Be absolutely *sure* to REMOVE the '&& return'."
|
276
|
+
printf "\n If you wish to DRY up your config you can 'source ~/.bashrc' at the top of your .bash_profile."
|
277
|
+
printf "\n placing all non-interactive items in the .bashrc"
|
278
|
+
printf "\n3) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
|
281
279
|
fi
|
282
280
|
if [[ -s $HOME/.bashrc ]] && grep '&& return' $HOME/.bashrc ; then
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
281
|
+
printf "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc."
|
282
|
+
printf "\n This means that if you see '[ -z "\$PS1" ] && return' then you must change this line to:"
|
283
|
+
printf "\n if [[ -n "\$PS1" ]] ; then"
|
284
|
+
printf "\n ... original content that was below the && return line ..."
|
285
|
+
printf "\n fi # <= be sure to close the if."
|
286
|
+
printf "\n #EOF .bashrc"
|
287
|
+
printf "\nEven if you use zsh you should still adjust the .bashrc as above."
|
288
|
+
printf "\nIf you have any questions about this please visit #rvm on irc.freenode.net.\n"
|
291
289
|
fi
|
292
|
-
|
290
|
+
printf "\nInstallation of RVM to $rvm_path/ is complete.\n\n"
|
293
291
|
fi
|
294
292
|
|
295
293
|
exit 0
|