rvm 0.0.99 → 0.0.999

Sign up to get free protection for your applications and to get access to all the features.
data/config/db CHANGED
@@ -23,8 +23,8 @@ ree_1.8.7_url=http://rubyforge.org/frs/download.php/66162
23
23
  ree_1.8.7_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition187.git
24
24
  ree_1.8.7_patch_level=2009.10
25
25
  rbx_version=1.0.0
26
- rbx_patch_level=rc1
27
- rbx_url=http://asset.rubini.us/rubinius-1.0.0-rc1-20091125.tar.gz
26
+ rbx_patch_level=rc2
27
+ rbx_url=http://asset.rubini.us/rubinius-1.0.0-rc2-20100104.tar.gz
28
28
  ruby_1.9.1_patch_level=376
29
29
  ruby_1.9.2_patch_level=preview1
30
30
  ruby_1.8.5_patch_level=231
data/install CHANGED
@@ -1,6 +1,32 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- if [[ "--auto" = "$1" ]] ; then rvm_auto_flag=1 ; else unset rvm_auto_flag ; fi
3
+ unset rvm_auto_flag
4
+
5
+ source scripts/version
6
+ source scripts/utility
7
+
8
+ usage() {
9
+ echo -e "
10
+ Usage:
11
+ ${0} <options>
12
+
13
+ Options:
14
+ --auto : Automatically update shell profile files.
15
+ --prefix : Installation prefix directory.
16
+ --help : Display help/usage (this) message
17
+ --version : display rvm package version
18
+ "
19
+ }
20
+
21
+ while [[ $# -gt 0 ]] ; do
22
+ token="$1" ; shift
23
+ case "$token" in
24
+ --auto) rvm_auto_flag=1 ;;
25
+ --prefix) prefix_path="$1" ; shift ;;
26
+ --version) rvm_path="$(pwd)" ; __rvm_version ; unset rvm_path ; exit ;;
27
+ --help|*) usage ;;
28
+ esac
29
+ done
4
30
 
5
31
  if [[ -f /etc/rvmrc ]] ; then source /etc/rvmrc ; fi
6
32
  if [[ -f "$HOME/.rvmrc" ]] ; then source "$HOME/.rvmrc" ; fi
@@ -14,7 +40,6 @@ if ! [[ "$rvm_path" =~ /rvm/?$ ]] ; then
14
40
  fi
15
41
  fi
16
42
 
17
- source scripts/utility
18
43
  source scripts/initialize
19
44
 
20
45
  __rvm_initialize
@@ -25,16 +50,16 @@ __rvm_initialize
25
50
  item="$(tput setaf 2)* $(tput sgr0)"
26
51
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
27
52
  cwd=$(pwd)
28
- source_dir="${source_dir:-"$(dirname $0 | xargs dirname)"}"
29
- if [[ ! -d "$source_dir" ]] ; then unset source_dir ; fi
30
- source_dir="${source_dir:-$cwd}"
53
+ source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
54
+ if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
55
+ source_path="${source_path:-$cwd}"
31
56
 
32
57
  # State what is required to use rvm
33
58
  echo -e "\nInstalling rvm to $rvm_path/ ..."
34
59
  for dir_name in src scripts bin log archives config gems examples ; do
35
60
  mkdir -p "$rvm_path/$dir_name"
36
61
  done
37
- cp -f "$source_dir/README" "$rvm_path/"
62
+ cp -f "$source_path/README" "$rvm_path/"
38
63
 
39
64
  #
40
65
  # Scripts
@@ -42,8 +67,8 @@ cp -f "$source_dir/README" "$rvm_path/"
42
67
  rm -rf $rvm_path/scripts # Clear the old scripts directory so that the old style rvm- scripts are cleared out.
43
68
  for dir_name in config scripts examples lib hooks ; do
44
69
  mkdir -p "$rvm_path/$dir_name"
45
- if [[ -d "$source_dir/$dir_name" ]] ; then
46
- cp -Rf "$source_dir/$dir_name" "$rvm_path"
70
+ if [[ -d "$source_path/$dir_name" ]] ; then
71
+ cp -Rf "$source_path/$dir_name" "$rvm_path"
47
72
  fi
48
73
  done ; unset dir_name
49
74
 
@@ -57,7 +82,7 @@ fi
57
82
  # Cleanse and purge...
58
83
  rm -f $rvm_path/bin/rvm ; rm -rf $rvm_path/bin/binscripts
59
84
  for file in rvm-prompt rvm rvmsudo ; do
60
- cp -f "$source_dir/binscripts/$file" $rvm_path/bin/
85
+ cp -f "$source_path/binscripts/$file" $rvm_path/bin/
61
86
  done
62
87
  chmod +x $rvm_path/bin/*
63
88
 
@@ -83,6 +108,15 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
83
108
  fi
84
109
  fi
85
110
 
111
+ #
112
+ # TODO: Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/
113
+ #
114
+ #rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
115
+ #mkdir -p $rvm_rubies_path
116
+ #for ruby in "$rvm_path"/ruby-* "$rvm_path"/jruby-* "$rvm_path"/mput-* "$rvm_path"/rbx-* ; do
117
+ # if [[ -d "$ruby" ]] ; then mv "$ruby" "$rvm_rubies_path" ; fi
118
+ #done
119
+
86
120
  if [[ "root" = "$(whoami)" ]] ; then
87
121
  echo -e "\n Symlinking rvm to $rvm_symlink_path/rvm ..."
88
122
  mkdir -p $rvm_symlink_path
@@ -107,13 +141,15 @@ echo -e "If I do not respond right away, please hang around after asking your qu
107
141
  echo -e "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
108
142
  echo -e "\n ~ Wayne\n"
109
143
  echo "================================================================================"
110
-
144
+ echo -e "Upgrades"
145
+ echo -e "Gems are now per interpreter installation instead of per interpreter/version"
146
+ echo -e "so for example to upgrade an older install of 1.8.6 and preserve gems:"
147
+ echo -e "rm -rf ~/.rvm/gems/ruby-1.8.6-p383 ; mv ~/.rvm/gems/ruby/1.8.6 ~/.rvm/gems/ruby-1.8.6-p383"
148
+ echo "================================================================================"
111
149
  echo -e "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
112
- echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bash_profile and/or .zshenv), after all path/variable settings:"
150
+ echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bashrc and then .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
113
151
  echo -e "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
114
152
  echo -e "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
115
153
  echo -e "\n3) $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
116
154
 
117
- if [[ -x "$rvm_path/bin/rvm" ]] ; then "$rvm_path/bin/rvm" -v ; fi
118
-
119
155
  exit 0
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 99
4
+ :patch: 999
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.0.99"
8
+ s.version = "0.0.999"
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{2009-12-27}
12
+ s.date = %q{2010-01-07}
13
13
  s.default_executable = %q{rvm-install}
14
14
  s.description = %q{Manages Ruby interpreter installations and switching between them.}
15
15
  s.email = %q{wayneeseguin@gmail.com}
@@ -62,7 +62,8 @@ Gem::Specification.new do |s|
62
62
  "scripts/selector",
63
63
  "scripts/symlink",
64
64
  "scripts/update",
65
- "scripts/utility"
65
+ "scripts/utility",
66
+ "scripts/version"
66
67
  ]
67
68
  s.homepage = %q{http://github.com/wayneeseguin/rvm}
68
69
  s.post_install_message = %q{********************************************************************************
@@ -1,18 +1,9 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- __rvm_meta() {
4
- rvm_meta_author="Wayne E. Seguin"
5
- rvm_meta_author_email="wayneeseguin@gmail.com"
6
- rvm_meta_website="http://rvm.beginrescueend.com/"
7
- rvm_meta_version="${rvm_version}"
8
- }
9
-
10
- __rvm_version() { __rvm_meta ; echo -e "\nrvm ${rvm_meta_version} by ${rvm_meta_author} (${rvm_meta_author_email}) [${rvm_meta_website}]\n" ; }
11
-
12
3
  __rvm_usage() { cat "${rvm_path:-$HOME/.rvm}/README" | ${PAGER:-less} ; }
13
4
 
14
5
  __rvm_parse_args() {
15
- if echo "$*" | grep -q 'trace' ; then echo "$*" ; fi
6
+ if echo "$*" | grep -q 'trace' ; then echo "$*" ; __rvm_version ; fi
16
7
 
17
8
  while [[ $# -gt 0 ]] ; do
18
9
  rvm_token="$1" ; shift
@@ -58,8 +49,23 @@ __rvm_parse_args() {
58
49
 
59
50
  gems|gemset)
60
51
  rvm_action="gems"
61
- if [[ "name" = "$1" ]] || [[ "dir" = "$1" ]] || [[ "list" = "$1" ]] || [[ "empty" = "$1" ]] || [[ "delete" = "$1" ]] || [[ "dump" = "$1" ]] || [[ "load" = "$1" ]] ; then
52
+ if [[ "name" = "$1" ]] || [[ "dir" = "$1" ]] || [[ "list" = "$1" ]] || [[ "empty" = "$1" ]] || [[ "dump" = "$1" ]] || [[ "load" = "$1" ]] ; then
62
53
  rvm_ruby_args="$*" ; export rvm_${1}_flag=1 ; shift
54
+ elif [[ "clear" = "$1" ]] ; then
55
+ unset rvm_gem_set_name ; shift
56
+ export rvm_ruby_gem_home="$(echo $GEM_HOME | sed 's/%.*$//')"
57
+ export GEM_HOME="$rvm_ruby_gem_home"
58
+ export GEM_PATH="$GEM_HOME"
59
+ rvm_ruby_args="clear"
60
+ rvm_parse_break=1
61
+ elif [[ "delete" = "$1" ]] ; then
62
+ export rvm_delete_flag=1 ; shift
63
+ rvm_ruby_args="$*"
64
+ rvm_gem_set_name="$1"; shift
65
+ rvm_ruby_string=$(echo $rvm_gem_set_name | sed 's/\(.*\)%.*/\1/')
66
+ rvm_gem_set_name=$(echo $rvm_gem_set_name | sed 's/.*%\(.*\)/\1/')
67
+ if [[ "$rvm_ruby_string" != "$rvm_gem_set_name" ]] ; then export rvm_ruby_string ; fi
68
+ if [[ ! -z "$rvm_gem_set_name" ]] ; then export rvm_gem_set_name ; fi
63
69
  else
64
70
  rvm_gem_set_name="$1" ; shift
65
71
  export rvm_use_flag=1 # Default is to use the (named) gem set.
@@ -245,7 +251,7 @@ __rvm_parse_args() {
245
251
 
246
252
  default|system)
247
253
  rvm_action="use"
248
- rvm_ruby_interpreter="system"
254
+ rvm_ruby_interpreter="$rvm_token"
249
255
  rvm_ruby_string="$rvm_token"
250
256
  ;;
251
257
 
@@ -262,12 +268,11 @@ __rvm_parse_args() {
262
268
  -m|--gem-set) rvm_gem_set_name="$1" ; shift ;;
263
269
  --sdk) rvm_sdk="$1" ; shift ;;
264
270
  --archflags) rvm_archflags="$1" ; shift ;;
265
-
266
- tests|specs) rvm_action="tests" ;;
267
271
  --trace) export rvm_trace_flag=1 ; set -x ;;
268
272
  --symlink) rvm_symlink_name="$1" ; shift ;;
269
- --disable-llvm|--disable-jit) export rvm_jit_flag=0 ;;
270
- --enable-llvm|--enable-jit) export rvm_jit_flag=1 ;;
273
+ tests|specs) rvm_action="tests" ;;
274
+ --disable-llvm|--disable-jit) export rvm_llvm_flag=0 ;;
275
+ --enable-llvm|--enable-jit) export rvm_llvm_flag=1 ;;
271
276
 
272
277
  --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--dump|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--load|--passenger|--editor)
273
278
  export rvm_$(echo $rvm_token | sed 's#-##g')_flag=1
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  source $rvm_path/scripts/utility
4
+ source $rvm_path/scripts/selector
4
5
 
5
6
  color_green=$($rvm_scripts_path/color "green")
6
7
  color_red=$($rvm_scripts_path/color "red")
@@ -14,7 +15,7 @@ if [[ -d "$rvm_ruby_gem_home" ]] && which gem &> /dev/null ; then rvm_ruby_gem_h
14
15
  trap "if [[ -d $rvm_path/tmp/ ]] && [[ -f $rvm_path/tmp/$$ ]] ; then rm -f $rvm_path/tmp/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
15
16
 
16
17
  __rvm_gems_name() {
17
- echo "$rvm_gem_set_name"
18
+ echo "$(gem env gemdir)" | awk -F'%' '{print $2}'
18
19
  }
19
20
 
20
21
  __rvm_gems_dir() {
@@ -22,20 +23,31 @@ __rvm_gems_dir() {
22
23
  }
23
24
 
24
25
  __rvm_gems_list() {
25
- if [[ $rvm_path =~ rvm ]] ; then
26
- for gemdir in "${rvm_gem_path}"/${rvm_ruby_string}%* ; do
27
- echo "$gemdir" | awk -F'%' '{print $2}'
28
- done
26
+ if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
27
+
28
+ $rvm_scripts_path/log "info" "Listing gems(ets) for $rvm_ruby_string found in $rvm_gem_path/"
29
+
30
+ if [[ ! -z "$rvm_gem_path" ]] ; then
31
+ if [[ ! -z $rvm_ruby_string ]] ; then
32
+ for gemdir in $rvm_gem_path/${rvm_ruby_string}%* ; do
33
+ echo "$gemdir" | awk -F'%' '{print $2}'
34
+ done
35
+ else
36
+ $rvm_scripts_path/log "error" "\$rvm_ruby_string is not set!"
37
+ fi
38
+ else
39
+ $rvm_scripts_path/log "error" "\$rvm_gem_path is not set!"
29
40
  fi
30
41
  }
31
42
 
32
43
  __rvm_gems_delete() {
44
+ if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
33
45
  if [[ ! -z "$rvm_gem_set_name" ]] ; then
34
46
  gemdir="$rvm_gem_path/$rvm_ruby_string%$rvm_gem_set_name"
35
- if [[ -d "$gemdir" ]] && [[ ! -z "$rvm_force_flag" ]] ; then
47
+ if [[ -d "$gemdir" ]] && [[ "$gemdir" != '/' ]] && [[ ! -z "$rvm_force_flag" ]] ; then
36
48
  rm -rf "$gemdir"
37
49
  elif [[ -d "$gemdir" ]] ; then
38
- $rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gems '$rvm_gem_set_name ' ($gemdir)?"
50
+ $rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gems '$rvm_gem_set_name' ($gemdir)?"
39
51
  echo -n "(anything other than 'yes' will cancel) > "
40
52
  read response
41
53
  if [[ "yes" = "$response" ]] ; then
@@ -263,7 +275,11 @@ elif [[ "gemdir" = "$action" ]] ; then
263
275
  __rvm_gems_gemdir
264
276
  elif [[ "install" = "$action" ]] ; then
265
277
  __rvm_gem_install $*
278
+ elif [[ "clear" = "$action" ]] ; then
279
+ $rvm_scripts_path/log "info" "gems(et) cleared."
280
+ exit 0
266
281
  else
267
282
  $rvm_scripts_path/log "error" "gems must be passed an action as the first parameter {load,dump,delete,name,list,gemdir,install}"
268
283
  fi
269
284
 
285
+ exit $?
@@ -32,5 +32,5 @@ rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
32
32
  rvm_symlink_path="${rvm_symlink_path:-/usr/local/bin}"
33
33
  rvm_gem_options="${rvm_gem_options:-"--no-rdoc --no-ri"}"
34
34
 
35
- export rvm_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gem_path rvm_config_path rvm_tmp_path
35
+ export rvm_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gem_path rvm_config_path rvm_tmp_path rvm_hooks_path
36
36
 
@@ -1,6 +1,32 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- if [[ "--auto" = "$1" ]] ; then rvm_auto_flag=1 ; else unset rvm_auto_flag ; fi
3
+ unset rvm_auto_flag
4
+
5
+ source scripts/version
6
+ source scripts/utility
7
+
8
+ usage() {
9
+ echo -e "
10
+ Usage:
11
+ ${0} <options>
12
+
13
+ Options:
14
+ --auto : Automatically update shell profile files.
15
+ --prefix : Installation prefix directory.
16
+ --help : Display help/usage (this) message
17
+ --version : display rvm package version
18
+ "
19
+ }
20
+
21
+ while [[ $# -gt 0 ]] ; do
22
+ token="$1" ; shift
23
+ case "$token" in
24
+ --auto) rvm_auto_flag=1 ;;
25
+ --prefix) prefix_path="$1" ; shift ;;
26
+ --version) rvm_path="$(pwd)" ; __rvm_version ; unset rvm_path ; exit ;;
27
+ --help|*) usage ;;
28
+ esac
29
+ done
4
30
 
5
31
  if [[ -f /etc/rvmrc ]] ; then source /etc/rvmrc ; fi
6
32
  if [[ -f "$HOME/.rvmrc" ]] ; then source "$HOME/.rvmrc" ; fi
@@ -14,7 +40,6 @@ if ! [[ "$rvm_path" =~ /rvm/?$ ]] ; then
14
40
  fi
15
41
  fi
16
42
 
17
- source scripts/utility
18
43
  source scripts/initialize
19
44
 
20
45
  __rvm_initialize
@@ -25,16 +50,16 @@ __rvm_initialize
25
50
  item="$(tput setaf 2)* $(tput sgr0)"
26
51
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
27
52
  cwd=$(pwd)
28
- source_dir="${source_dir:-"$(dirname $0 | xargs dirname)"}"
29
- if [[ ! -d "$source_dir" ]] ; then unset source_dir ; fi
30
- source_dir="${source_dir:-$cwd}"
53
+ source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
54
+ if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
55
+ source_path="${source_path:-$cwd}"
31
56
 
32
57
  # State what is required to use rvm
33
58
  echo -e "\nInstalling rvm to $rvm_path/ ..."
34
59
  for dir_name in src scripts bin log archives config gems examples ; do
35
60
  mkdir -p "$rvm_path/$dir_name"
36
61
  done
37
- cp -f "$source_dir/README" "$rvm_path/"
62
+ cp -f "$source_path/README" "$rvm_path/"
38
63
 
39
64
  #
40
65
  # Scripts
@@ -42,8 +67,8 @@ cp -f "$source_dir/README" "$rvm_path/"
42
67
  rm -rf $rvm_path/scripts # Clear the old scripts directory so that the old style rvm- scripts are cleared out.
43
68
  for dir_name in config scripts examples lib hooks ; do
44
69
  mkdir -p "$rvm_path/$dir_name"
45
- if [[ -d "$source_dir/$dir_name" ]] ; then
46
- cp -Rf "$source_dir/$dir_name" "$rvm_path"
70
+ if [[ -d "$source_path/$dir_name" ]] ; then
71
+ cp -Rf "$source_path/$dir_name" "$rvm_path"
47
72
  fi
48
73
  done ; unset dir_name
49
74
 
@@ -57,7 +82,7 @@ fi
57
82
  # Cleanse and purge...
58
83
  rm -f $rvm_path/bin/rvm ; rm -rf $rvm_path/bin/binscripts
59
84
  for file in rvm-prompt rvm rvmsudo ; do
60
- cp -f "$source_dir/binscripts/$file" $rvm_path/bin/
85
+ cp -f "$source_path/binscripts/$file" $rvm_path/bin/
61
86
  done
62
87
  chmod +x $rvm_path/bin/*
63
88
 
@@ -83,6 +108,15 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
83
108
  fi
84
109
  fi
85
110
 
111
+ #
112
+ # TODO: Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/
113
+ #
114
+ #rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
115
+ #mkdir -p $rvm_rubies_path
116
+ #for ruby in "$rvm_path"/ruby-* "$rvm_path"/jruby-* "$rvm_path"/mput-* "$rvm_path"/rbx-* ; do
117
+ # if [[ -d "$ruby" ]] ; then mv "$ruby" "$rvm_rubies_path" ; fi
118
+ #done
119
+
86
120
  if [[ "root" = "$(whoami)" ]] ; then
87
121
  echo -e "\n Symlinking rvm to $rvm_symlink_path/rvm ..."
88
122
  mkdir -p $rvm_symlink_path
@@ -107,13 +141,15 @@ echo -e "If I do not respond right away, please hang around after asking your qu
107
141
  echo -e "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
108
142
  echo -e "\n ~ Wayne\n"
109
143
  echo "================================================================================"
110
-
144
+ echo -e "Upgrades"
145
+ echo -e "Gems are now per interpreter installation instead of per interpreter/version"
146
+ echo -e "so for example to upgrade an older install of 1.8.6 and preserve gems:"
147
+ echo -e "rm -rf ~/.rvm/gems/ruby-1.8.6-p383 ; mv ~/.rvm/gems/ruby/1.8.6 ~/.rvm/gems/ruby-1.8.6-p383"
148
+ echo "================================================================================"
111
149
  echo -e "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
112
- echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bash_profile and/or .zshenv), after all path/variable settings:"
150
+ echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bashrc and then .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
113
151
  echo -e "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
114
152
  echo -e "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
115
153
  echo -e "\n3) $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
116
154
 
117
- if [[ -x "$rvm_path/bin/rvm" ]] ; then "$rvm_path/bin/rvm" -v ; fi
118
-
119
155
  exit 0
@@ -6,6 +6,7 @@ original_ruby_string=$rvm_ruby_string
6
6
  source $rvm_scripts_path/initialize
7
7
  source $rvm_scripts_path/utility
8
8
  source $rvm_scripts_path/selector
9
+ source $rvm_scripts_path/libraries
9
10
 
10
11
  trap "rm -f $rvm_path/tmp/$$* > /dev/null 2>&1 ; exit" 0 1 2 3 15
11
12
 
@@ -20,9 +21,15 @@ __rvm_install_source() {
20
21
  if [[ ! -z "$rvm_force_flag" ]] ; then rm -rf "$rvm_ruby_home" "$rvm_ruby_src_path" ; fi
21
22
 
22
23
  result=0
23
- __rvm_fetch_ruby || (result=$? && return $result)
24
+ __rvm_fetch_ruby
25
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
26
+ $rvm_scripts_path/log "error" "There has been an error fetching the ruby interpreter. Aborting the installation." ; __rvm_pushpop ; return $result
27
+ fi
24
28
 
25
- builtin cd $rvm_ruby_src_path || (result=$? ; $rvm_scripts_path/log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" ; __rvm_pushpop ; return $result)
29
+ builtin cd $rvm_ruby_src_path
30
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
31
+ $rvm_scripts_path/log "error" "There has been an error, source directory is missing. Did the download or extraction fail? Aborting the installation." ; __rvm_pushpop ; return $result
32
+ fi
26
33
 
27
34
  if [[ -d "${rvm_path}/usr/bin" ]] ; then export PATH="${rvm_path}/usr/bin:${PATH}" ; fi
28
35
 
@@ -30,14 +37,14 @@ __rvm_install_source() {
30
37
  if which autoconf &> /dev/null ; then
31
38
  __rvm_run "autoconf" "autoconf" "Running autoconf"
32
39
  else
33
- $rvm_scripts_path/log "fail" "rvm expects autoconf" result=$? ; return $result
40
+ result=$? ; $rvm_scripts_path/log "fail" "rvm requires autoconf to install the selected ruby interpreter however autoconf was not found in the PATH." ; return $result
34
41
  fi
35
42
  fi
36
43
 
37
44
  if [[ "1.8.5" = "$rvm_ruby_version" ]] ; then
38
45
  # How to install ruby 1.8.5... "sneaky sneaky, sir"
39
- if [[ ! -d "$HOME/.rvm/src/ruby-1.8.7-p248/ext/openssl/" ]] ; then $rvm_path/bin/rvm fetch 1.8.6-p248 1>/dev/null ; fi
40
- if [[ ! -d "$HOME/.rvm/src/ruby-1.8.6-p383/ext/openssl/" ]] ; then $rvm_path/bin/rvm fetch 1.8.6-p383 1>/dev/null ; fi
46
+ if [[ ! -d "$HOME/.rvm/src/ruby-1.8.7-p248/ext/openssl/" ]] ; then $rvm_path/bin/rvm fetch 1.8.6-p248 > /dev/null ; fi
47
+ if [[ ! -d "$HOME/.rvm/src/ruby-1.8.6-p383/ext/openssl/" ]] ; then $rvm_path/bin/rvm fetch 1.8.6-p383 > /dev/null ; fi
41
48
  cp ~/.rvm/src/ruby-1.8.7-p248/ext/openssl/extconf.rb ~/.rvm/src/ruby-1.8.5-p231/ext/openssl/
42
49
  cp ~/.rvm/src/ruby-1.8.7-p248/ext/openssl/openssl_missing.* ~/.rvm/src/ruby-1.8.5-p231/ext/openssl/
43
50
  cp ~/.rvm/src/ruby-1.8.7-p248/ext/openssl/ossl_hmac.c ~/.rvm/src/ruby-1.8.5-p231/ext/openssl/
@@ -47,9 +54,15 @@ __rvm_install_source() {
47
54
  if [[ -s ./Makefile ]] && [[ -z "$rvm_reconfigure_flag" ]] ; then
48
55
  (($rvm_debug_flag)) && $rvm_scripts_path/log "debug" "Skipping configure step, Makefile exists so configure must have already been run."
49
56
  elif [[ ! -z "$rvm_ruby_configure" ]] ; then
50
- __rvm_run "configure" "$rvm_ruby_configure" || (result=$? && return $result)
57
+ __rvm_run "configure" "$rvm_ruby_configure"
58
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
59
+ $rvm_scripts_path/log "error" "There has been an error while configuring. Aborting the installation." ; __rvm_pushpop ; return $result
60
+ fi
51
61
  elif [[ -s ./configure ]] ; then
52
- __rvm_run "configure" "./configure --prefix=$rvm_ruby_home $rvm_ruby_configure_flags $configure_parameters" "Configuring $rvm_ruby_string, this may take a while depending on your cpu(s)..." || (result=$? && return $result)
62
+ __rvm_run "configure" "./configure --prefix=$rvm_ruby_home $rvm_ruby_configure_flags $configure_parameters" "Configuring $rvm_ruby_string, this may take a while depending on your cpu(s)..."
63
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
64
+ $rvm_scripts_path/log "error" "There has been an error while running configure. Aborting the installation." ; __rvm_pushpop ; return $result
65
+ fi
53
66
  unset configure_parameters
54
67
  else
55
68
  $rvm_scripts_path/log "error" "Skipping configure step, 'configure' script does not exist, did autoconf not run successfully?"
@@ -62,10 +75,16 @@ __rvm_install_source() {
62
75
  fi
63
76
 
64
77
  rvm_ruby_make=${rvm_ruby_make:-"make"}
65
- __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while, depending on your cpu(s)..." || (result=$? && return $result)
78
+ __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
79
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
80
+ $rvm_scripts_path/log "error" "There has been an error while running make. Aborting the installation." ; __rvm_pushpop ; return $result
81
+ fi
66
82
 
67
83
  rvm_ruby_make_install=${rvm_ruby_make_install:-"make install"}
68
- __rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_string" || (result=$? && return $result)
84
+ __rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_string"
85
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
86
+ $rvm_scripts_path/log "error" "There has been an error while running make install. Aborting the installation." ; __rvm_pushpop ; return $result
87
+ fi
69
88
 
70
89
  $rvm_scripts_path/log "info" "Installation of $rvm_ruby_string is complete."
71
90
 
@@ -88,7 +107,7 @@ __rvm_install_ruby() {
88
107
  macruby)
89
108
  if [[ "Darwin" = "$(uname)" ]] ; then
90
109
  if [[ "$rvm_head_flag" = 1 ]] ; then
91
- __rvm_install_llvm
110
+ if [[ ! -z "$rvm_llvm_flag" ]] ; then __rvm_install_llvm ; fi
92
111
  macruby_path="/usr/local/bin"
93
112
  # TODO: configure & make variables should be set here.
94
113
  rvm_ruby_configure=" true "
@@ -97,12 +116,19 @@ __rvm_install_ruby() {
97
116
  __rvm_db "${rvm_ruby_interpreter}_repo_url" "rvm_url"
98
117
  rvm_ruby_repo_url=$rvm_url
99
118
  __rvm_install_source $*
119
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
120
+ $rvm_scripts_path/log "error" "There has been an error while trying to install from source. Aborting the installation." ; return $result
121
+ fi
100
122
  else # if [[ "nightly" = "$rvm_ruby_version" ]] ; then
101
123
  macruby_path="/usr/local/bin"
102
124
  # TODO: Separated nightly from head.
103
125
  __rvm_db "macruby_nightly_url" "rvm_url"
104
126
  $rvm_scripts_path/log "info" "Retrieving the latest nightly macruby build..."
105
- $rvm_scripts_path/fetch "$rvm_url" || (result=$? && return $result)
127
+ $rvm_scripts_path/fetch "$rvm_url"
128
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
129
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
130
+ fi
131
+
106
132
  mv "$rvm_archives_path/macruby_nightly-latest.pkg" "$rvm_archives_path/macruby_nightly.pkg"
107
133
  __rvm_run "macruby/extract" "sudo installer -pkg '$rvm_path/archives/macruby_nightly.pkg' -target '/'"
108
134
  mkdir -p "$rvm_ruby_home/bin"
@@ -122,8 +148,7 @@ PATH="$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:\$PATH" ; export PATH
122
148
  exec $macruby_path/mac$binary_name $prefix "\$@"
123
149
  RubyWrapper
124
150
  )
125
- files="$rvm_ruby_home/bin/$binary_name $rvm_path/bin/$binary_name-$rvm_ruby_string"
126
- for file_name in $(echo $files) ; do
151
+ for file_name in "$rvm_ruby_home/bin/$binary_name" "$rvm_path/bin/$binary_name-$rvm_ruby_string" ; do
127
152
  rm -f $file_name
128
153
  echo "$ruby_wrapper" > $file_name
129
154
  if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
@@ -145,9 +170,17 @@ RubyWrapper
145
170
  $rvm_scripts_path/log "It appears that the archive has already been extracted. Skipping extract (use --force to force re-download and extract)."
146
171
  else
147
172
  $rvm_scripts_path/log "Downloading $rvm_ruby_package_file, this may take a while depending on your connection..."
148
- $rvm_scripts_path/fetch "$rvm_url" || (result=$? && return $result)
173
+ $rvm_scripts_path/fetch "$rvm_url"
174
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
175
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
176
+ fi
177
+
149
178
  rm -rf "$rvm_ruby_src_path"
150
- __rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.tar.gz -C $rvm_src_path" "Extracting $rvm_ruby_package_file..." || (result=$? && return $result)
179
+ __rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.tar.gz -C $rvm_src_path" "Extracting $rvm_ruby_package_file..."
180
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
181
+ $rvm_scripts_path/log "error" "There has been an error while trying to extract the source. Aborting the installation." ; __rvm_pushpop ; return $result
182
+ fi
183
+
151
184
  mv "$rvm_src_path/$rvm_ruby_package_file" "$rvm_ruby_src_path"
152
185
  fi
153
186
  builtin cd "$rvm_ruby_src_path"
@@ -162,7 +195,11 @@ RubyWrapper
162
195
  rvm_ree_options="${rvm_ree_options} --no-tcmalloc"
163
196
  fi
164
197
 
165
- __rvm_run "install" "./installer -a $rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options --dont-install-useful-gems $rvm_ruby_configure_flags" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..." || (result=$? && return $result)
198
+ __rvm_run "install" "./installer -a $rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options --dont-install-useful-gems $rvm_ruby_configure_flags" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
199
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
200
+ $rvm_scripts_path/log "error" "There has been an error while trying to run the ree installer. Aborting the installation." ; __rvm_pushpop ; return $result
201
+ fi
202
+
166
203
  chmod +x $rvm_ruby_home/bin/*
167
204
 
168
205
  __rvm_rubygems_setup
@@ -207,9 +244,15 @@ RubyWrapper
207
244
  if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.0/')" ]] && [[ -z "$rvm_head_flag" ]] ; then
208
245
  if [[ ! -f "$rvm_archives_path/$rvm_ruby_package_file.tar.gz" ]] ; then
209
246
  $rvm_scripts_path/log "info" "Downloading $rvm_ruby_file, this may take a while depending on your connection..."
210
- $rvm_scripts_path/fetch "$rvm_url" || (result=$? && return $result)
247
+ $rvm_scripts_path/fetch "$rvm_url"
248
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
249
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
250
+ fi
211
251
  fi
212
- __rvm_run "extract" "tar xzf $rvm_archives_path/$(basename $rvm_url) -C $rvm_src_path" "Extracting $(basename $rvm_url) ..." || (result=$? && return $result)
252
+ __rvm_run "extract" "tar xzf $rvm_archives_path/$(basename $rvm_url) -C $rvm_src_path" "Extracting $(basename $rvm_url) ..."
253
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
254
+ $rvm_scripts_path/log "error" "There has been an error while trying to extract the source. Aborting the installation." ; __rvm_pushpop ; return $result
255
+ fi
213
256
  mv "$rvm_src_path/rubinius-$rvm_ruby_version-${rvm_ruby_patch_level/^p//}" $rvm_ruby_src_path
214
257
  else
215
258
  __rvm_db "rubinius_repo_url" "rvm_ruby_repo_url"
@@ -222,6 +265,9 @@ RubyWrapper
222
265
  builtin cd "$rvm_ruby_src_path"
223
266
  __rvm_run "rbx.repo" "git pull origin master" "Pulling from origin master"
224
267
  fi
268
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
269
+ $rvm_scripts_path/log "error" "There has been an error while fetching the rbx git repo. Aborting the installation." ; __rvm_pushpop ; return $result
270
+ fi
225
271
  fi
226
272
 
227
273
  #if [[ ! -x "$rvm_ruby_distclean" ]] ; then
@@ -231,14 +277,17 @@ RubyWrapper
231
277
  builtin cd "$rvm_ruby_src_path"
232
278
  chmod +x ./configure
233
279
  rvm_ruby_configure="./configure --prefix=$rvm_ruby_home" ; message="Configuring rbx"
234
-
235
- if [[ "$rvm_jit_flag" -eq 0 ]] && [[ "rc1" != "$rvm_ruby_patch_level" ]] ; then
236
- rvm_ruby_configure="$rvm_ruby_configure --disable-llvm" ; message="$message with LLVM disabled"
280
+ if [[ "$rvm_llvm_flag" = "0" ]] ; then
281
+ rvm_ruby_configure="$rvm_ruby_configure --disable-llvm"
237
282
  else
238
- rvm_ruby_configure="$rvm_ruby_configure" ; message="$message with LLVM enabled"
283
+ if [[ "$rvm_ruby_patch_level" = "rc1" ]] ; then
284
+ rvm_ruby_configure="$rvm_ruby_configure --enable-llvm"
285
+ fi
239
286
  fi
240
-
241
287
  __rvm_run "configure" "$rvm_ruby_configure" "$message"
288
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
289
+ $rvm_scripts_path/log "error" "There has been an error while running '$rvm_ruby_configure'. Aborting the installation." ; __rvm_pushpop ; return $result
290
+ fi
242
291
 
243
292
  if [[ "$rvm_trace_flag" -eq 1 ]] ; then
244
293
  rvm_ruby_make="$rvm_bin_path/rvm 1.8.7 rake install --trace" ; message="Compiling rbx"
@@ -246,6 +295,9 @@ RubyWrapper
246
295
  rvm_ruby_make="$rvm_bin_path/rvm 1.8.7 rake install" ; message="Compiling rbx"
247
296
  fi
248
297
  __rvm_run "rake" "$rvm_ruby_make" "$message"
298
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
299
+ $rvm_scripts_path/log "error" "There has been an error while running '$rvm_ruby_configure'. Aborting the installation." ; __rvm_pushpop ; return $result
300
+ fi
249
301
 
250
302
  binaries="ruby irb" # Trick to work in more shells :)
251
303
  for binary_name in $(echo $binaries) ; do
@@ -288,9 +340,10 @@ RubyWrapper
288
340
 
289
341
  mkdir -p "$rvm_ruby_log_path" "$rvm_ruby_src_path"
290
342
  __rvm_pushpop $rvm_src_path
291
- __rvm_fetch_ruby || (result=$? && return $result)
292
-
293
- # if [[ -z "$rvm_head_flag" ]] ; then __rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.tar.gz -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..." ; fi
343
+ __rvm_fetch_ruby
344
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
345
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
346
+ fi
294
347
 
295
348
  builtin cd "$rvm_ruby_src_path"
296
349
  if [[ ! -z "$rvm_head_flag" ]] ; then __rvm_run "ant.dist" "ant dist" "Running 'ant dist' (this could take a few minutes) ..." ; fi
@@ -331,7 +384,7 @@ RubyWrapper
331
384
 
332
385
  if [[ "$rvm_head_flag" = 1 ]] ; then
333
386
  mono_version="$(mono -V | head -n 1 | cut -d ' ' -f5)"
334
- if [[ "$mono_version" =~ ([0-9]+)\.([0-9]+)\.?([0-9]+)? ]] ; then
387
+ if $rvm_scripts_path/match "$mono_version" "([0-9]+)\.([0-9]+)\.?([0-9]+)?" ; then
335
388
  if [[ ${BASH_REMATCH[1]} -lt 2 ]] || ( [[ ${BASH_REMATCH[1]} -eq 2 ]] && [[ ${BASH_REMATCH[2]} -lt 6 ]] ) ; then
336
389
  echo -e "Mono 2.6 (or greater) must be installed and in your path in order to build IronRuby from the repository."
337
390
  echo -e "Version detected: ${BASH_REMATCH[0]}"
@@ -360,10 +413,15 @@ RubyWrapper
360
413
  cp -r $rvm_ruby_src_path/ruby_home/lib/IronRuby
361
414
  else
362
415
  $rvm_scripts_path/log "info" "Retrieving IronRuby"
363
- $rvm_scripts_path/fetch "$rvm_url" || (result=$? && return $result)
416
+ $rvm_scripts_path/fetch "$rvm_url"
417
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
418
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
419
+ fi
364
420
 
365
421
  __rvm_run "extract" "unzip $rvm_archives_path/$rvm_ruby_package_file ironruby/bin/* ironruby/lib/* -d $rvm_ruby_home" "Extracting $rvm_ruby_package_file ..."
366
- if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
422
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
423
+ $rvm_scripts_path/log "error" "There has been an error while trying to extract the source. Aborting the installation." ; __rvm_pushpop ; return $result
424
+ fi
367
425
 
368
426
  mv $rvm_ruby_home/ironruby/* $rvm_ruby_home
369
427
  rm -rf $rvm_ruby_home/ironruby
@@ -420,25 +478,38 @@ RubyWrapper
420
478
  if which autoconf &> /dev/null ; then
421
479
  __rvm_run "autoconf" "autoconf" "Running autoconf"
422
480
  else
423
- $rvm_scripts_path/log "fail" "rvm expects autoconf" ; result=$? ; return $result
481
+ $rvm_scripts_path/log "fail" "rvm expects autoconf to install this ruby interpreter, autoconf was not found in PATH. Aborting installation." ; result=$? ; return $result
424
482
  fi
425
483
  fi
426
484
 
427
485
  if [[ -s ./Makefile ]] && [[ -z "$rvm_reconfigure_flag" ]] ; then
428
486
  (($rvm_debug_flag)) && $rvm_scripts_path/log "debug" "Skipping configure step, Makefile exists so configure must have already been run."
429
487
  elif [[ ! -z "$rvm_ruby_configure" ]] ; then
430
- __rvm_run "configure" "$rvm_ruby_configure" || (result=$? && return $result)
488
+ __rvm_run "configure" "$rvm_ruby_configure"
489
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
490
+ $rvm_scripts_path/log "error" "There has been an error while trying to configure the source. Aborting the installation." ; __rvm_pushpop ; return $result
491
+ fi
492
+
431
493
  elif [[ -s ./configure ]] ; then
432
- __rvm_run "configure" "./configure --prefix=$rvm_ruby_home $rvm_ruby_configure_flags" "Configuring $rvm_ruby_string using $rvm_ruby_configure_flags, this may take a while depending on your cpu(s)..." || (result=$? && return $result)
494
+ __rvm_run "configure" "./configure --prefix=$rvm_ruby_home $rvm_ruby_configure_flags" "Configuring $rvm_ruby_string using $rvm_ruby_configure_flags, this may take a while depending on your cpu(s)..."
495
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
496
+ $rvm_scripts_path/log "error" "There has been an error while trying to configure the source. Aborting the installation." ; __rvm_pushpop ; return $result
497
+ fi
433
498
  else
434
499
  $rvm_scripts_path/log "error" "Skipping configure step, 'configure' script does not exist, did autoconf not run successfully?"
435
500
  fi
436
501
 
437
502
  rvm_ruby_make=${rvm_ruby_make:-"make"}
438
- __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while, depending on your cpu(s)..." || (result=$? && return $result)
503
+ __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
504
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
505
+ $rvm_scripts_path/log "error" "There has been an error while trying to run make. Aborting the installation." ; __rvm_pushpop ; return $result
506
+ fi
439
507
 
440
508
  rvm_ruby_make_install=${rvm_ruby_make_install:-"make install"}
441
- __rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_string" || (result=$? && return $result)
509
+ __rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_string"
510
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
511
+ $rvm_scripts_path/log "error" "There has been an error while trying to run make install. Aborting the installation." ; __rvm_pushpop ; return $result
512
+ fi
442
513
 
443
514
  $rvm_scripts_path/log "info" "Installation of $rvm_ruby_string is complete."
444
515
 
@@ -486,26 +557,43 @@ __rvm_fetch_ruby() {
486
557
  rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/$rvm_ruby_package_file.$rvm_archive_extension"
487
558
  fi
488
559
  $rvm_scripts_path/log "info" "Downloading $rvm_ruby_package_file, this may take a while depending on your connection..."
489
- $rvm_scripts_path/fetch "$rvm_url" || (result=$? && return $result)
560
+ $rvm_scripts_path/fetch "$rvm_url"
561
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
562
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
563
+ fi
564
+
490
565
  fi
491
- __rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..." || (result=$? && return $result)
566
+ __rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..."
567
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
568
+ $rvm_scripts_path/log "error" "There has been an error while trying to extract the source. Aborting the installation." ; __rvm_pushpop ; return $result
569
+ fi
570
+
492
571
  else
493
572
  if [[ ! -z "$(echo $rvm_url | awk '/^git/')" ]] ; then
494
573
  if [[ -d "$rvm_ruby_src_path/.git" ]] ; then
495
574
  builtin cd $rvm_ruby_src_path
496
575
  if [[ -z "$rvm_ruby_revision" ]] ; then
497
576
  $rvm_scripts_path/log "info" "Pulling from $rvm_ruby_repo_url, this may take a while depending on your connection..."
498
- git pull origin master || (result=$? && return $result)
577
+ git pull origin master
578
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
579
+ $rvm_scripts_path/log "error" "There has been an error while trying to update the source from the remote repository. Aborting the installation." ; __rvm_pushpop ; return $result
580
+ fi
499
581
  else
500
582
  if [[ -z "$rvm_ruby_sha" ]] ; then
501
583
  git checkout HEAD
502
584
  else
503
585
  git checkout $(echo $rvm_ruby_sha | sed 's#^s##')
504
- fi || (result=$? && return $result)
586
+ fi
587
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
588
+ $rvm_scripts_path/log "error" "There has been an error while trying to checkout the source branch. Aborting the installation." ; __rvm_pushpop ; return $result
589
+ fi
505
590
  fi
506
591
  else
507
592
  $rvm_scripts_path/log "info" "Cloning from $rvm_ruby_repo_url, this may take a while depending on your connection..."
508
- git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_src_path || (result=$? && return $result)
593
+ git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_src_path
594
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
595
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the repository. Aborting the installation." ; __rvm_pushpop ; return $result
596
+ fi
509
597
  fi
510
598
  else
511
599
  if [[ ! -z "$rvm_head_flag" ]] || [[ "trunk" = "$rvm_ruby_revision" ]] ; then
@@ -515,6 +603,9 @@ __rvm_fetch_ruby() {
515
603
  # TODO: Check if tag v is valid
516
604
  rvm_url="${rvm_url:-"$rvm_ruby_repo_url/tags/$(echo $rvm_ruby_tag | sed 's/^t//')"}"
517
605
  rvm_rev=""
606
+ elif [[ "$rvm_major_version.$rvm_minor_version" = "8.8" ]] ; then
607
+ rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/ruby_1_${rvm_major_version}"}"
608
+ rvm_rev="-$rvm_ruby_revision"
518
609
  else
519
610
  rvm_url="${rvm_url:-"$rvm_ruby_repo_url/branches/ruby_1_${rvm_major_version}_${rvm_minor_version}"}"
520
611
  rvm_rev="-$rvm_ruby_revision"
@@ -531,7 +622,11 @@ __rvm_fetch_ruby() {
531
622
  else
532
623
  rm -rf $rvm_ruby_src_path
533
624
  __rvm_run "svn.checkout" "svn checkout -q ${rvm_rev/-r/-r } $rvm_url $rvm_ruby_src_path"
534
- fi || (result=$? && return $result)
625
+ fi
626
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
627
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch / update the source. Aborting the installation." ; __rvm_pushpop ; return $result
628
+ fi
629
+
535
630
  fi
536
631
  fi
537
632
  }
@@ -631,7 +726,10 @@ __rvm_rubygems_setup() {
631
726
  if [[ ! -f "$rvm_src_path/$rvm_gem_package_name/setup.rb" ]]; then rm -rf "$rvm_src_path/$rvm_gem_package_name" ; fi
632
727
  if [[ ! -d "$rvm_src_path/$rvm_gem_package_name" ]] ; then
633
728
  $rvm_scripts_path/log "info" "Retrieving $rvm_gem_package_name"
634
- $rvm_scripts_path/fetch "$rvm_gem_url" || (result=$? && return $result)
729
+ $rvm_scripts_path/fetch "$rvm_gem_url"
730
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
731
+ $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
732
+ fi
635
733
  mkdir -p "$rvm_src_path/$rvm_gem_package_name"
636
734
  __rvm_run "rubygems.extract" "tar zxf $rvm_archives_path/$rvm_gem_package_name.tgz -C $rvm_src_path" "Extracting $rvm_gem_package_name"
637
735
  fi
@@ -26,6 +26,7 @@ if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
26
26
  source $rvm_path/scripts/array
27
27
  source $rvm_path/scripts/utility
28
28
  source $rvm_path/scripts/initialize
29
+ source $rvm_scripts_path/version
29
30
  source $rvm_path/scripts/selector
30
31
  source $rvm_path/scripts/cli
31
32
  #source $rvm_path/scripts/gems
@@ -1,6 +1,32 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- if [[ "--auto" = "$1" ]] ; then rvm_auto_flag=1 ; else unset rvm_auto_flag ; fi
3
+ unset rvm_auto_flag
4
+
5
+ source scripts/version
6
+ source scripts/utility
7
+
8
+ usage() {
9
+ echo -e "
10
+ Usage:
11
+ ${0} <options>
12
+
13
+ Options:
14
+ --auto : Automatically update shell profile files.
15
+ --prefix : Installation prefix directory.
16
+ --help : Display help/usage (this) message
17
+ --version : display rvm package version
18
+ "
19
+ }
20
+
21
+ while [[ $# -gt 0 ]] ; do
22
+ token="$1" ; shift
23
+ case "$token" in
24
+ --auto) rvm_auto_flag=1 ;;
25
+ --prefix) prefix_path="$1" ; shift ;;
26
+ --version) rvm_path="$(pwd)" ; __rvm_version ; unset rvm_path ; exit ;;
27
+ --help|*) usage ;;
28
+ esac
29
+ done
4
30
 
5
31
  if [[ -f /etc/rvmrc ]] ; then source /etc/rvmrc ; fi
6
32
  if [[ -f "$HOME/.rvmrc" ]] ; then source "$HOME/.rvmrc" ; fi
@@ -14,7 +40,6 @@ if ! [[ "$rvm_path" =~ /rvm/?$ ]] ; then
14
40
  fi
15
41
  fi
16
42
 
17
- source scripts/utility
18
43
  source scripts/initialize
19
44
 
20
45
  __rvm_initialize
@@ -25,16 +50,16 @@ __rvm_initialize
25
50
  item="$(tput setaf 2)* $(tput sgr0)"
26
51
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
27
52
  cwd=$(pwd)
28
- source_dir="${source_dir:-"$(dirname $0 | xargs dirname)"}"
29
- if [[ ! -d "$source_dir" ]] ; then unset source_dir ; fi
30
- source_dir="${source_dir:-$cwd}"
53
+ source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
54
+ if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
55
+ source_path="${source_path:-$cwd}"
31
56
 
32
57
  # State what is required to use rvm
33
58
  echo -e "\nInstalling rvm to $rvm_path/ ..."
34
59
  for dir_name in src scripts bin log archives config gems examples ; do
35
60
  mkdir -p "$rvm_path/$dir_name"
36
61
  done
37
- cp -f "$source_dir/README" "$rvm_path/"
62
+ cp -f "$source_path/README" "$rvm_path/"
38
63
 
39
64
  #
40
65
  # Scripts
@@ -42,8 +67,8 @@ cp -f "$source_dir/README" "$rvm_path/"
42
67
  rm -rf $rvm_path/scripts # Clear the old scripts directory so that the old style rvm- scripts are cleared out.
43
68
  for dir_name in config scripts examples lib hooks ; do
44
69
  mkdir -p "$rvm_path/$dir_name"
45
- if [[ -d "$source_dir/$dir_name" ]] ; then
46
- cp -Rf "$source_dir/$dir_name" "$rvm_path"
70
+ if [[ -d "$source_path/$dir_name" ]] ; then
71
+ cp -Rf "$source_path/$dir_name" "$rvm_path"
47
72
  fi
48
73
  done ; unset dir_name
49
74
 
@@ -57,7 +82,7 @@ fi
57
82
  # Cleanse and purge...
58
83
  rm -f $rvm_path/bin/rvm ; rm -rf $rvm_path/bin/binscripts
59
84
  for file in rvm-prompt rvm rvmsudo ; do
60
- cp -f "$source_dir/binscripts/$file" $rvm_path/bin/
85
+ cp -f "$source_path/binscripts/$file" $rvm_path/bin/
61
86
  done
62
87
  chmod +x $rvm_path/bin/*
63
88
 
@@ -83,6 +108,15 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
83
108
  fi
84
109
  fi
85
110
 
111
+ #
112
+ # TODO: Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/
113
+ #
114
+ #rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
115
+ #mkdir -p $rvm_rubies_path
116
+ #for ruby in "$rvm_path"/ruby-* "$rvm_path"/jruby-* "$rvm_path"/mput-* "$rvm_path"/rbx-* ; do
117
+ # if [[ -d "$ruby" ]] ; then mv "$ruby" "$rvm_rubies_path" ; fi
118
+ #done
119
+
86
120
  if [[ "root" = "$(whoami)" ]] ; then
87
121
  echo -e "\n Symlinking rvm to $rvm_symlink_path/rvm ..."
88
122
  mkdir -p $rvm_symlink_path
@@ -107,13 +141,15 @@ echo -e "If I do not respond right away, please hang around after asking your qu
107
141
  echo -e "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
108
142
  echo -e "\n ~ Wayne\n"
109
143
  echo "================================================================================"
110
-
144
+ echo -e "Upgrades"
145
+ echo -e "Gems are now per interpreter installation instead of per interpreter/version"
146
+ echo -e "so for example to upgrade an older install of 1.8.6 and preserve gems:"
147
+ echo -e "rm -rf ~/.rvm/gems/ruby-1.8.6-p383 ; mv ~/.rvm/gems/ruby/1.8.6 ~/.rvm/gems/ruby-1.8.6-p383"
148
+ echo "================================================================================"
111
149
  echo -e "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
112
- echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bash_profile and/or .zshenv), after all path/variable settings:"
150
+ echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bashrc and then .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
113
151
  echo -e "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
114
152
  echo -e "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
115
153
  echo -e "\n3) $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
116
154
 
117
- if [[ -x "$rvm_path/bin/rvm" ]] ; then "$rvm_path/bin/rvm" -v ; fi
118
-
119
155
  exit 0
@@ -52,7 +52,8 @@ __rvm_select() {
52
52
  rvm_ruby_file="rubinius-$rvm_ruby_version-$rvm_ruby_patch_level"
53
53
  else
54
54
  unset rvm_ruby_patch_level
55
- rvm_ruby_string="$rvm_ruby_interpreter-$rvm_ruby_version-head"
55
+ unset rvm_ruby_version
56
+ rvm_ruby_string="$rvm_ruby_interpreter-head"
56
57
  fi
57
58
  ;;
58
59
 
@@ -157,7 +158,7 @@ __rvm_select() {
157
158
 
158
159
  __rvm_gems_select
159
160
 
160
- if [[ ! -z "$rvm_ruby_interpreter" ]] && [[ "system" != "$rvm_ruby_interpreter" ]] ; then
161
+ if [[ ! -z "$rvm_ruby_interpreter" ]] && [[ "system" != "$rvm_ruby_interpreter" ]] && [[ "default" != "$rvm_ruby_interpreter" ]] ; then
161
162
  if [[ ! -z "$rvm_ruby_version" ]] ; then
162
163
  rvm_major_version=$(echo $rvm_ruby_version | awk -F'.' '{ print $2 }')
163
164
  rvm_minor_version=$(echo $rvm_ruby_version | awk -F'.' '{ print $3 }')
@@ -179,8 +180,7 @@ __rvm_select() {
179
180
 
180
181
  export rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_url rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_configure_flags rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_path rvm_ruby_gem_home rvm_path rvm_src_path rvm_bin_path rvm_ruby_binary rvm_ruby_home rvm_log_path rvm_ruby_log_path rvm_src_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_string
181
182
  else
182
- __rvm_unset_ruby_variables
183
- rvm_ruby_interpreter="system"
183
+ rvm_ruby_interpreter="${rvm_ruby_interpreter:-system}"
184
184
  fi
185
185
  }
186
186
 
@@ -194,8 +194,8 @@ __rvm_use() {
194
194
  new_path=$rvm_bin_path:$new_path
195
195
 
196
196
  if [[ -s $rvm_path/default ]] ; then
197
+ unset new_path
197
198
  source $rvm_path/default
198
-
199
199
  if [[ ! -z "$rvm_verbose_flag" ]] ; then
200
200
  $rvm_scripts_path/log "info" "Now using default ruby."
201
201
  fi
@@ -212,7 +212,7 @@ __rvm_use() {
212
212
  new_path=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
213
213
  new_path=$rvm_bin_path:$new_path
214
214
  if [[ -s $rvm_path/system ]] ; then
215
- grep "^MY_RUBY_HOME='$rvm_path" "$rvm_path/system" > /dev/null
215
+ grep "MY_RUBY_HOME='$rvm_path" "$rvm_path/system" > /dev/null
216
216
  if [[ $? -eq 0 ]] ; then
217
217
  rm -f $rvm_path/system # 'system' should *not* point to an rvm ruby.
218
218
  else
@@ -275,16 +275,16 @@ __rvm_use() {
275
275
  rm -f $rvm_path/default
276
276
  rm -f $rvm_path/bin/default*
277
277
  else
278
- RUBY_VERSION="$($MY_RUBY_HOME/bin/ruby -v | sed 's#^\(.*\) (.*$#\1#')"
278
+ RUBY_VERSION="$($rvm_ruby_home/bin/ruby -v | sed 's#^\(.*\) (.*$#\1#')"
279
279
  export GEM_HOME GEM_PATH MY_RUBY_HOME RUBY_VERSION
280
280
 
281
- echo "PATH=$MY_RUBY_HOME/bin:$GEM_HOME/bin:$rvm_path/bin:\$PATH ; export PATH" > $rvm_path/default
281
+ echo "export PATH=\"$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:$rvm_path/bin:\$PATH\"" > $rvm_path/default
282
282
 
283
- for variable in RUBY_VERSION GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC rvm_ruby_string rvm_gem_set_name; do
283
+ for variable in RUBY_VERSION GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC rvm_ruby_string rvm_gem_set_name ; do
284
284
  eval "export $variable"
285
285
  eval value=\$${variable}
286
286
  if [[ ! -z "$value" ]] ; then
287
- echo "${variable}='$value' ; export ${variable}" >> $rvm_path/default
287
+ echo "export ${variable}='$value'" >> $rvm_path/default
288
288
  else
289
289
  echo "unset ${variable}" >> $rvm_path/default
290
290
  fi
@@ -330,13 +330,15 @@ __rvm_ruby_string() {
330
330
  if [[ "head" = "$string" ]] ; then
331
331
  rvm_ruby_revision="head"
332
332
  unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag
333
- rvm_head_flag=1
333
+ export rvm_head_flag=1
334
334
  elif [[ "default" = "$string" ]] ; then
335
335
  rvm_ruby_interpreter="default"
336
- break
336
+ unset rvm_ruby_patch_level rvm_ruby_tag rvm_head_flag rvm_ruby_revision rvm_ruby_version rvm_gem_set_name
337
+ return
337
338
  elif [[ "system" = "$string" ]] ; then
338
339
  rvm_ruby_interpreter="system"
339
- break
340
+ unset rvm_ruby_patch_level rvm_ruby_tag rvm_head_flag rvm_ruby_revision rvm_ruby_version rvm_gem_set_name
341
+ return
340
342
  elif [[ "nightly" = "$string" ]] ; then
341
343
  rvm_ruby_version="nightly"
342
344
  rvm_nightly_flag=1
@@ -396,7 +398,7 @@ __rvm_ruby_string() {
396
398
  fi
397
399
 
398
400
  # Unspecified version
399
- if [[ -z "$rvm_ruby_version" ]] ; then
401
+ if [[ -z "$rvm_ruby_version" ]] && [[ -z "$rvm_head_flag" ]]; then
400
402
  rvm_ruby_version=${rvm_ruby_version:-"$(__rvm_db "${rvm_ruby_interpreter}_version")"}
401
403
  fi
402
404
 
@@ -1,6 +1,32 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- if [[ "--auto" = "$1" ]] ; then rvm_auto_flag=1 ; else unset rvm_auto_flag ; fi
3
+ unset rvm_auto_flag
4
+
5
+ source scripts/version
6
+ source scripts/utility
7
+
8
+ usage() {
9
+ echo -e "
10
+ Usage:
11
+ ${0} <options>
12
+
13
+ Options:
14
+ --auto : Automatically update shell profile files.
15
+ --prefix : Installation prefix directory.
16
+ --help : Display help/usage (this) message
17
+ --version : display rvm package version
18
+ "
19
+ }
20
+
21
+ while [[ $# -gt 0 ]] ; do
22
+ token="$1" ; shift
23
+ case "$token" in
24
+ --auto) rvm_auto_flag=1 ;;
25
+ --prefix) prefix_path="$1" ; shift ;;
26
+ --version) rvm_path="$(pwd)" ; __rvm_version ; unset rvm_path ; exit ;;
27
+ --help|*) usage ;;
28
+ esac
29
+ done
4
30
 
5
31
  if [[ -f /etc/rvmrc ]] ; then source /etc/rvmrc ; fi
6
32
  if [[ -f "$HOME/.rvmrc" ]] ; then source "$HOME/.rvmrc" ; fi
@@ -14,7 +40,6 @@ if ! [[ "$rvm_path" =~ /rvm/?$ ]] ; then
14
40
  fi
15
41
  fi
16
42
 
17
- source scripts/utility
18
43
  source scripts/initialize
19
44
 
20
45
  __rvm_initialize
@@ -25,16 +50,16 @@ __rvm_initialize
25
50
  item="$(tput setaf 2)* $(tput sgr0)"
26
51
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
27
52
  cwd=$(pwd)
28
- source_dir="${source_dir:-"$(dirname $0 | xargs dirname)"}"
29
- if [[ ! -d "$source_dir" ]] ; then unset source_dir ; fi
30
- source_dir="${source_dir:-$cwd}"
53
+ source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
54
+ if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
55
+ source_path="${source_path:-$cwd}"
31
56
 
32
57
  # State what is required to use rvm
33
58
  echo -e "\nInstalling rvm to $rvm_path/ ..."
34
59
  for dir_name in src scripts bin log archives config gems examples ; do
35
60
  mkdir -p "$rvm_path/$dir_name"
36
61
  done
37
- cp -f "$source_dir/README" "$rvm_path/"
62
+ cp -f "$source_path/README" "$rvm_path/"
38
63
 
39
64
  #
40
65
  # Scripts
@@ -42,8 +67,8 @@ cp -f "$source_dir/README" "$rvm_path/"
42
67
  rm -rf $rvm_path/scripts # Clear the old scripts directory so that the old style rvm- scripts are cleared out.
43
68
  for dir_name in config scripts examples lib hooks ; do
44
69
  mkdir -p "$rvm_path/$dir_name"
45
- if [[ -d "$source_dir/$dir_name" ]] ; then
46
- cp -Rf "$source_dir/$dir_name" "$rvm_path"
70
+ if [[ -d "$source_path/$dir_name" ]] ; then
71
+ cp -Rf "$source_path/$dir_name" "$rvm_path"
47
72
  fi
48
73
  done ; unset dir_name
49
74
 
@@ -57,7 +82,7 @@ fi
57
82
  # Cleanse and purge...
58
83
  rm -f $rvm_path/bin/rvm ; rm -rf $rvm_path/bin/binscripts
59
84
  for file in rvm-prompt rvm rvmsudo ; do
60
- cp -f "$source_dir/binscripts/$file" $rvm_path/bin/
85
+ cp -f "$source_path/binscripts/$file" $rvm_path/bin/
61
86
  done
62
87
  chmod +x $rvm_path/bin/*
63
88
 
@@ -83,6 +108,15 @@ if [[ ! -z "$rvm_auto_flag" ]] ; then
83
108
  fi
84
109
  fi
85
110
 
111
+ #
112
+ # TODO: Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/
113
+ #
114
+ #rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
115
+ #mkdir -p $rvm_rubies_path
116
+ #for ruby in "$rvm_path"/ruby-* "$rvm_path"/jruby-* "$rvm_path"/mput-* "$rvm_path"/rbx-* ; do
117
+ # if [[ -d "$ruby" ]] ; then mv "$ruby" "$rvm_rubies_path" ; fi
118
+ #done
119
+
86
120
  if [[ "root" = "$(whoami)" ]] ; then
87
121
  echo -e "\n Symlinking rvm to $rvm_symlink_path/rvm ..."
88
122
  mkdir -p $rvm_symlink_path
@@ -107,13 +141,15 @@ echo -e "If I do not respond right away, please hang around after asking your qu
107
141
  echo -e "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
108
142
  echo -e "\n ~ Wayne\n"
109
143
  echo "================================================================================"
110
-
144
+ echo -e "Upgrades"
145
+ echo -e "Gems are now per interpreter installation instead of per interpreter/version"
146
+ echo -e "so for example to upgrade an older install of 1.8.6 and preserve gems:"
147
+ echo -e "rm -rf ~/.rvm/gems/ruby-1.8.6-p383 ; mv ~/.rvm/gems/ruby/1.8.6 ~/.rvm/gems/ruby-1.8.6-p383"
148
+ echo "================================================================================"
111
149
  echo -e "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
112
- echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bash_profile and/or .zshenv), after all path/variable settings:"
150
+ echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bashrc and then .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
113
151
  echo -e "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
114
152
  echo -e "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
115
153
  echo -e "\n3) $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
116
154
 
117
- if [[ -x "$rvm_path/bin/rvm" ]] ; then "$rvm_path/bin/rvm" -v ; fi
118
-
119
155
  exit 0
@@ -134,7 +134,7 @@ __rvm_run() {
134
134
 
135
135
  __rvm_cleanup_variables() {
136
136
  __rvm_unset_ruby_variables
137
- unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_gem_set_name rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_load_flag rvm_dump_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag
137
+ unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_gem_set_name rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_load_flag rvm_dump_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag
138
138
  }
139
139
 
140
140
  __rvm_unset_ruby_variables() {
@@ -279,7 +279,7 @@ __rvm_list() {
279
279
  done < <(svn list http://svn.ruby-lang.org/repos/ruby/tags/ | awk '/^v1_[8|9]/')
280
280
  echo -e "(ruby-)1.8.6(-p383)\n(ruby-)1.8.6-head\n(ruby-)1.8.7(-p248)\n(ruby-)1.8.7-head\n(ruby-)1.9.1(-p243)\n(ruby-)1.9.1(-p376)\n(ruby-)1.9.1-head\n(ruby-)1.9.2-preview1"
281
281
  echo -e "jruby-1.2.0\njruby-1.3.0\njruby-1.3.1\njruby(-1.4.0) # the default\njruby-head"
282
- echo -e "rbx(-head) # rubinius head, the default rbx \nrbx(-head) --jit (rubinius head with LLVM enabled)"
282
+ echo -e "rbx(-prc1) # default\nrbx-head"
283
283
  echo -e "ree-1.8.6\nree(-1.8.7) # the default\nree-1.8.6-head\nree-1.8.7-head"
284
284
  echo -e "mput(-head) # shyouhei head, the default mput"
285
285
  echo -e "ironruby-0.9.3 # (1.0 RC1)\nironruby-head"
@@ -307,7 +307,7 @@ __rvm_list() {
307
307
  done ; unset version
308
308
 
309
309
  if [[ -f "$rvm_path/default" ]] && [[ -s $rvm_path/default ]] ; then
310
- version=$(grep '^MY_RUBY_HOME' $rvm_path/default | awk -F"'" '{print $2}' | xargs basename)
310
+ version=$(grep 'MY_RUBY_HOME' $rvm_path/default | awk -F"'" '{print $2}' | xargs basename)
311
311
  if [[ ! -z "$version" ]] ; then
312
312
  string="[ $(file $rvm_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
313
313
  if [[ "$version" = "$current_ruby" ]] ; then
@@ -667,12 +667,15 @@ __rvm_gems_select() {
667
667
  if [[ -z "$(which gem 2>/dev/null)" ]] ; then return 0 ; fi
668
668
 
669
669
  if [[ -z "$rvm_gem_set_name" ]] ; then
670
- if [[ ! -z "$GEM_HOME" ]] ; then
671
- rvm_gem_set_name=$(echo $GEM_HOME | xargs basename | awk -F'%' '{print $2}')
672
- fi
673
-
674
- if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
675
- rvm_gem_set_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F'%' '{print $2}')
670
+ # No longer defaulting to 'sticky' gem sets.
671
+ # Set 'rvm_sticky_gemsets=1' in ~/.rvmrc to enable.
672
+ if [[ ! -z "$rvm_sticky_gemsets" ]] ; then
673
+ if [[ ! -z "$GEM_HOME" ]] ; then
674
+ rvm_gem_set_name=$(echo $GEM_HOME | xargs basename | awk -F'%' '{print $2}')
675
+ fi
676
+ if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
677
+ rvm_gem_set_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F'%' '{print $2}')
678
+ fi
676
679
  fi
677
680
 
678
681
  if [[ ! -z "$rvm_gem_set_name" ]] && ! $rvm_scripts_path/match "$rvm_gem_set_name" "^[0-9]\.[0-9]" ; then
@@ -705,9 +708,3 @@ __rvm_gems_use() {
705
708
  fi
706
709
  }
707
710
 
708
- __rvm_gems_clear() {
709
- unset rvm_ruby_gem_home rvm_gem_set_name GEM_HOME GEM_PATH
710
- __rvm_gems_select
711
- __rvm_gems_use
712
- }
713
-
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env bash
2
+
3
+ __rvm_meta() {
4
+ rvm_meta_author="Wayne E. Seguin"
5
+ rvm_meta_author_email="wayneeseguin@gmail.com"
6
+ rvm_meta_website="http://rvm.beginrescueend.com/"
7
+ rvm_meta_version="${rvm_version}"
8
+ }
9
+
10
+ __rvm_version() {
11
+ __rvm_meta
12
+ echo -e "\nrvm ${rvm_meta_version} by ${rvm_meta_author} (${rvm_meta_author_email}) [${rvm_meta_website}]\n"
13
+ }
14
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rvm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.99
4
+ version: 0.0.999
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wayne E. Seguin
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-27 00:00:00 -05:00
12
+ date: 2010-01-07 00:00:00 -05:00
13
13
  default_executable: rvm-install
14
14
  dependencies: []
15
15
 
@@ -67,6 +67,7 @@ files:
67
67
  - scripts/symlink
68
68
  - scripts/update
69
69
  - scripts/utility
70
+ - scripts/version
70
71
  has_rdoc: true
71
72
  homepage: http://github.com/wayneeseguin/rvm
72
73
  licenses: []