rvm 0.1.32 → 0.1.33
Sign up to get free protection for your applications and to get access to all the features.
- 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
|