rvm 0.0.40 → 0.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/config/db CHANGED
@@ -13,8 +13,8 @@ ree_interpreter=ruby-enterprise
13
13
  ree_version=1.8.6
14
14
  ree_patch_level=20090610
15
15
  macruby_version=2009-09-04
16
- ruby_1.9.1_patch_level=p243
16
+ ruby_1.9.1_patch_level=243
17
17
  ruby_1.9.2_patch_level=preview1
18
- ruby_1.8.5_patch_level=p115
19
- ruby_1.8.6_patch_level=p383
20
- ruby_1.8.7_patch_level=p174
18
+ ruby_1.8.5_patch_level=115
19
+ ruby_1.8.6_patch_level=383
20
+ ruby_1.8.7_patch_level=174
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.0.40"
8
+ s.version = "0.0.41"
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-09-15}
12
+ s.date = %q{2009-09-16}
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}
@@ -5,7 +5,7 @@ function __rvm_meta {
5
5
  rvm_meta_author_email="wayneeseguin@gmail.com"
6
6
  rvm_meta_website="http://rvm.beginrescueend.com/"
7
7
  rvm_meta_version="`cat $rvm_path/VERSION.yml | tail -n 3 | sed 's/^.*: //g' | tr "\n" '.' | sed 's/\.$//'`"
8
- rvm_meta_updated="2009.09.15"
8
+ rvm_meta_updated="2009.09.16"
9
9
  }
10
10
 
11
11
  function __rvm_version { __rvm_meta ; echo "rvm $rvm_meta_version ($rvm_meta_updated) [$rvm_meta_website]" ; }
@@ -20,7 +20,7 @@ function __rvm_usage {
20
20
 
21
21
  Usage:
22
22
 
23
- rvm Action [Implementation] [Options]
23
+ rvm Action [Implementation] [Options] [Flags]
24
24
 
25
25
  Action:
26
26
 
@@ -43,6 +43,8 @@ function __rvm_usage {
43
43
  reload - Reload rvm source itself (useful after changing rvm source)
44
44
  implode - Removes all ruby installations it manages, everything in ~/.rvm
45
45
  update - Upgrades rvm to the latest version.
46
+ tests - run 'rake test' across selected ruby versions
47
+ specs - run 'rake spec' across selected ruby versions
46
48
 
47
49
  Implementation:
48
50
 
@@ -55,41 +57,43 @@ function __rvm_usage {
55
57
 
56
58
  Options:
57
59
 
58
- -v|--version - Ruby Package Version, defaults to 'latest'
59
- -l|--level - Patch level for the specified Ruby version
60
- -p|--prefix - Package and source directory prefix, with trailing slash!
61
- Default is a users home directory and /usr/local/ for root
62
- -a|--archives - Directory to place downladed files into (~/.rvm/archives/)
63
- -n|--nice - Specify a process niceness (for slow computers, default 0)
64
- -m|--gem-set - Named gem set for switching between different gem sets
65
- --rm-gem-set - Removes a named gemset.
66
-
67
- -l|--level - Specify a patch level to use
68
- -t|--tag -
69
- -r|--rev - Specify the repository revision # to use or 'head' for
70
-
71
- -P|--prefix - Sets the prefix path for installs to be installed to
72
- --bin - Specify path for binaries to be placed
73
- --source - Specify src directory to use
74
- --archive - Specify archive directory to use (tabralls / zips)
75
- -G|--gems - Specify root gem path to use
76
- -C|--configure - Specify custom configure options, comma separated
77
- default: --enable-shared=true
78
- --re-configure - Force installer to re-run configure if already run
79
- -M|--make - Specify a custom make command
80
- -I|--make-install - " a custom make install command
81
-
82
- -f|--file - Specify a ruby file to run with 'rubydo' command
60
+ -v|--version - Emit rvm version loaded for current shell
83
61
  -h|--help - Emit this output and exit
84
- -d|--default - Set the default Ruby to a specified version
85
- -m|--gem-set - Use a named gem set instead of the default set.
62
+ -l|--level - patch level to use with rvm use / install
63
+ --tag - subersion tag to use
64
+ --rev - repository revision # to use or 'head' for
65
+
66
+ --prefix - path for all rvm files (~/.rvm/), with trailing slash!
67
+ --bin - path for binaries to be placed (~/.rvm/bin/)
68
+ --source - src directory to use (~/.rvm/src/)
69
+ --archives - directory for downladed files (~/.rvm/archives/)
86
70
  -S|--script - Specify a script file to attempt to load and run (rubydo)
87
- --all - Used with 'rvm list' to list "most" installable versions.
71
+ -G|--gems - root gem path to use
72
+ -C|--configure - custom configure options, comma separated
73
+ default: --enable-shared=true
74
+ --reconfigure - Force installer to re-run configure if already run
75
+ --make - custom make command
76
+ --make-install - custom make install command
77
+ --nice - process niceness (for slow computers, default 0)
78
+ -m|--gem-set - use a named gem set, instead of the default set.
88
79
  --rm-gem-set - Remove a named gem set
89
- --jit - Enable JIT for the Rubinius build
90
- --force - Force install, removes old install & source directories.
91
- --set-prompt - Set prompt to have the selected ruby prepended.
92
- --debug|--trace - Toggle debug mode on for very verbose output.
80
+
81
+ Flags
82
+
83
+ --self - with update, updates rvm itself
84
+ --rubygems - with update, updates rubygems for selected ruby
85
+ --default - with ruby select, sets a default ruby for new shells.
86
+ --debug - Toggle debug mode on for very verbose output.
87
+ --force - Force install, removes old install & source before install.
88
+ --all - Used with 'rvm list' to display "most" available versions.
89
+ --dump - Used with gemset to dump the current ruby's gemset.
90
+ --load - Used with gemset to load a specified gemset file
91
+ --summary - Used with rubydo to print out a summary of the commands run.
92
+ --jit - Used with rubinius install to build with JIT
93
+ --latest - with gemset --dump skips version strings for latest gem.
94
+ --reconfigure -
95
+ --spec -
96
+ --test -
93
97
 
94
98
  Resources:
95
99
 
@@ -166,45 +170,49 @@ function __rvm_parse-args {
166
170
  ;;
167
171
 
168
172
  1.8|1.8.0|1.8.1|1.8.2|1.8.3|1.8.4|1.8.5|1.8.6|1.8.7|1.9|1.9.1|1.9.2)
169
- rvm_ruby_interpreter="ruby"
170
- rvm_ruby_version="$rvm_token"
171
- rvm_action="${rvm_action:-use}"
173
+ rvm_ruby_interpreter="ruby"
174
+ rvm_ruby_version="$rvm_token"
175
+ rvm_action="${rvm_action:-use}"
172
176
  ;;
173
177
 
174
178
  1.2.0|1.3.1)
175
- rvm_ruby_interpreter="jruby"
176
- rvm_ruby_version="$rvm_token"
177
- rvm_action="${rvm_action:-use}"
179
+ rvm_ruby_interpreter="jruby"
180
+ rvm_ruby_version="$rvm_token"
181
+ rvm_action="${rvm_action:-use}"
178
182
  ;;
179
183
 
180
184
  -v|--version)
181
- if [ -z "$1" ] ; then
182
- rvm_action="version"
183
- else
184
- rvm_ruby_version="$1"
185
- shift
186
- fi
185
+ if [ -z "$1" ] ; then
186
+ rvm_action="version"
187
+ else
188
+ rvm_ruby_version="$1"
189
+ shift
190
+ fi
191
+ ;;
192
+
193
+ -t|--tag)
194
+ rvm_ruby_tag="$1";
195
+ rvm_action="${rvm_action:-use}"
196
+ shift
187
197
  ;;
188
198
 
189
- -t|--tag) rvm_ruby_tag="$1";
190
- rvm_action="${rvm_action:-use}"
191
- shift ;;
192
199
  --head)
193
- rvm_ruby_rev="head"
194
- rvm_action="${rvm_action:-use}"
200
+ rvm_ruby_rev="head"
201
+ rvm_action="${rvm_action:-use}"
195
202
  ;;
196
- --rev|--revision) rvm_ruby_rev="$1";
197
- rvm_action="${rvm_action:-use}"
198
- shift ;;
199
- -b|--branch) rvm_ruby_branch="$1";
200
- rvm_action="${rvm_action:-use}"
201
- shift ;;
202
203
 
204
+ --rev|--revision)
205
+ rvm_ruby_rev="$1";
206
+ rvm_action="${rvm_action:-use}"
207
+ shift
208
+ ;;
203
209
 
204
- -P|--prefix) rvm_prefix_path="$1" ; shift ;;
210
+ -b|--branch)
211
+ rvm_ruby_branch="$1";
212
+ rvm_action="${rvm_action:-use}"
213
+ shift
214
+ ;;
205
215
 
206
- --rubygems) rvm_rubygems_flag=1 ;;
207
- --rvm|--gem) rvm_update_flag=1 ;;
208
216
  --bin)
209
217
  if [ "$rvm_action" = "update" ] ; then
210
218
  rvm_bin_flag=1
@@ -213,34 +221,27 @@ function __rvm_parse-args {
213
221
  fi
214
222
  ;;
215
223
 
216
- --source) rvm_source_path="$1" ; shift ;;
217
- --archive) rvm_archives_path="$1" ; shift ;;
218
- -G|--gems) rvm_gem_path="$1" ; shift ;;
219
- -C|--configure)
224
+ -j)
220
225
  if [ ! -z "$1" ] ; then
221
- rvm_ruby_configure="$(echo $1 | tr ',' ' ')"
226
+ rvm_make_flags="$rvm_make_flags -j$1"
222
227
  shift
223
228
  else
224
229
  rvm_action="error"
225
- rvm_error_message="--configure *must* be followed by configure flags."
230
+ rvm_error_message="-j *must* be followed by an integer (normally the # of CPU's in your machine)."
226
231
  fi
227
232
  ;;
228
233
 
229
- --re-configure) rvm_re_configure=1 ;;
230
- --make) rvm_ruby_make="$1" ; shift ;;
231
- --make-install) rvm_ruby_make_install="$1"; shift ;;
232
- -j)
234
+
235
+ -C|--configure)
233
236
  if [ ! -z "$1" ] ; then
234
- rvm_make_flags="$rvm_make_flags -j$1"
237
+ rvm_ruby_configure="$(echo $1 | tr ',' ' ')"
235
238
  shift
236
239
  else
237
240
  rvm_action="error"
238
- rvm_error_message="-j *must* be followed by an integer (normally the # of CPU's in your machine)."
241
+ rvm_error_message="--configure *must* be followed by configure flags."
239
242
  fi
240
243
  ;;
241
- --nice) rvm_niceness="$1" ; shift ;;
242
- -l|--level) rvm_ruby_patch_level="$1" ; shift ;;
243
- --summary) rvm_summary=1 ;;
244
+
244
245
  -r|--require)
245
246
  if [ -z "$1" ] ; then
246
247
  rvm_action="error"
@@ -250,6 +251,7 @@ function __rvm_parse-args {
250
251
  shift
251
252
  fi
252
253
  ;;
254
+
253
255
  -I|--include)
254
256
  if [ -z "$1" ] ; then
255
257
  rvm_action="error"
@@ -259,47 +261,53 @@ function __rvm_parse-args {
259
261
  shift
260
262
  fi
261
263
  ;;
264
+
262
265
  -f|--file)
263
- rvm_action="rubydo"
264
- rvm_ruby_args="$1"
265
- shift
266
+ rvm_action="rubydo"
267
+ rvm_ruby_args="$1"
268
+ shift
266
269
  ;;
270
+
267
271
  -S|--script|-e|--execute)
268
- rvm_action="rubydo"
269
- rvm_ruby_args="$@"
270
- rvm_parse_break=1
272
+ rvm_action="rubydo"
273
+ rvm_ruby_args="$@"
274
+ rvm_parse_break=1
271
275
  ;;
272
276
 
273
- -h|--help) rvm_action=help ; shift ;;
274
- -d|--default) rvm_set_default=1 ;;
275
- --trace|--debug) rvm_debug=1 ;;
276
- --force) rvm_force=1 ;;
277
- --all) rvm_all=1 ;;
278
- -m|--gem-set) rvm_gem_set_name="$1" ; shift ;;
279
- --rm-gem-set) rvm_gem_set_name_rm="$1" ; shift ;;
280
- --dump) rvm_dump=1 ;;
281
- --load)
282
- rvm_load=1
283
- if [ ! -z "$1" ] ; then
284
- rvm_load_file="$1"
285
- shift
286
- else
287
- rvm_action="error"
288
- rvm_error_message="--load must be followed by the .gemset file to load."
289
- break;
290
- fi
291
- shift
277
+ --load)
278
+ rvm_load_flag=1
279
+ if [ ! -z "$1" ] ; then
280
+ rvm_load_file="$1"
281
+ shift
282
+ else
283
+ rvm_action="error"
284
+ rvm_error_message="--load must be followed by the .gemset file to load."
285
+ break;
286
+ fi
292
287
  ;;
293
288
 
294
- --jit) rvm_rubinius_jit="RBX_LLVM=1" ;;
295
- --latest) rvm_latest=1 ;;
296
- --tests|--specs) rvm_action="tests" ;;
297
-
298
289
  default|system)
299
290
  rvm_action="use"
300
291
  rvm_ruby_interpreter="system"
301
292
  ;;
302
293
 
294
+ --prefix) rvm_prefix_path="$1" ; shift ;;
295
+ -G|--gems) rvm_gem_path="$1" ; shift ;;
296
+ --source) rvm_source_path="$1" ; shift ;;
297
+ --archives) rvm_archives_path="$1" ; shift ;;
298
+ --make) rvm_ruby_make="$1" ; shift ;;
299
+ --make-install) rvm_ruby_make_install="$1"; shift ;;
300
+ --nice) rvm_niceness="$1" ; shift ;;
301
+ -l|--level) rvm_ruby_patch_level="$1" ; shift ;;
302
+ -h|--help) rvm_action=help ; shift ;;
303
+ -m|--gem-set) rvm_gem_set_name="$1" ; shift ;;
304
+ --rm-gem-set) rvm_gem_set_name_rm="$1" ; shift ;;
305
+ tests|specs) rvm_action="tests" ;;
306
+
307
+ --self|--gem|--rubygems|--reconfigure|--default|--debug|debug|--force|--all|--dump|--summary|--jit|--latest|--spec|--test)
308
+ eval "rvm_$(echo $rvm_token | sed 's/-//g')_flag=1"
309
+ ;;
310
+
303
311
  reboot|flush|asdf|damnit|wtf|argh|work|workdamnit|BOOM|boom|wth)
304
312
  $rvm_action="reboot"
305
313
  ;;
@@ -337,8 +345,6 @@ function __rvm_parse-args {
337
345
  done
338
346
 
339
347
  if [ ! -z "$rvm_error_message" ] ; then popd 2> /dev/null ; return 1 ; fi
340
- if [ -z "$rvm_debug" ] ; then set +x ; else set -x ; fi
341
-
342
348
  }
343
349
 
344
350
  function rvm {
@@ -349,38 +355,42 @@ function rvm {
349
355
  __rvm_load-defaults
350
356
  __rvm_parse-args $@
351
357
 
352
- status=0
358
+ if [ -z "$rvm_debug_flag" ] ; then set +x ; else set -x ; fi
359
+ result=0
353
360
  case "$rvm_action" in
354
- install) __rvm_install-ruby ;status=$? ;;
355
- uninstall) __rvm_uninstall ;status=$? ;;
356
- use) __rvm_use ;status=$? ;;
357
- gemdir) __rvm_gem-dir ;status=$? ;;
358
- srcdir) __rvm_src-dir ;status=$? ;;
359
- gemdup) __rvm_gem-dup ;status=$? ;;
360
- list) __rvm_list ;status=$? ;;
361
- symlinks) __rvm_symlinks ;status=$? ;;
362
- version) __rvm_version ;status=$? ;;
361
+ install) __rvm_install-ruby ; result=$? ;;
362
+ uninstall) __rvm_uninstall ; result=$? ;;
363
+ use) __rvm_use ; result=$? ;;
364
+ gemdir) __rvm_gem-dir ; result=$? ;;
365
+ srcdir) __rvm_src-dir ; result=$? ;;
366
+ gemdup) __rvm_gem-dup ; result=$? ;;
367
+ list) __rvm_list ; result=$? ;;
368
+ symlinks) __rvm_symlinks ; result=$? ;;
369
+ version) __rvm_version ; result=$? ;;
370
+ reset) __rvm_reset ; result=$? ;;
371
+ # TODO: how can we use bin_path here for reload, default file?
372
+ reload) __rvm_reload ; result=$? ;;
373
+ implode) __rvm_implode ; result=$? ;;
374
+ update) __rvm_update ; result=$? ;;
375
+ readline) __rvm_readline_install ; result=$? ;;
376
+ iconv) __rvm_iconv_install ; result=$? ;;
377
+ reboot) __rvm_reboot ; result=$? ;;
378
+ usage|help) __rvm_usage ; result=$? ;;
379
+ rubydo|rakedo|gemdo) __rvm_do ; result=$? ;;
380
+
363
381
  tests|specs)
364
- rvm_do_summary=1
382
+ rvm_summary_flag=1
365
383
  rvm_action="rake"
366
384
  __rvm_do
367
385
  ;;
368
- rubydo|rakedo|gemdo) __rvm_do ; status=$? ;;
369
- reset) __rvm_reset ;;
370
- # TODO: how can we use bin_path here for reload, default file?
371
- reload) __rvm_reload ;;
372
- implode) __rvm_implode ;;
373
- update) __rvm_update ;;
374
- readline) __rvm_readline_install ;;
375
- iconv) __rvm_iconv_install ;;
376
- reboot) __rvm_reboot ;;
377
- usage|help) __rvm_usage ;;
386
+
378
387
  info|debug)
379
- __rvm_version
380
- __rvm_info
381
- if [ "$rvm_action" = "debug" ] ; then __rvm_debug ; fi
382
- return 0
388
+ __rvm_version
389
+ __rvm_info
390
+ if [ "$rvm_action" = "debug" ] ; then __rvm_debug ; fi
391
+ result=0
383
392
  ;;
393
+
384
394
  error) __rvm_log "fail" "$rvm_error_message ( see: 'rvm usage' )" ; popd 2> /dev/null ; return 1; ;;
385
395
  *)
386
396
  if [ ! -z "$rvm_action" ] ; then
@@ -388,11 +398,10 @@ function rvm {
388
398
  else
389
399
  __rvm_usage
390
400
  fi
391
- return 1
401
+ result=1
392
402
  esac
393
-
394
- if [ "$rvm_debug" = "1" ] ; then set +x ; unset rvm_debug ; fi
395
- return $status
403
+ if [ "$rvm_debug_flag" = "1" ] ; then set +x ; unset rvm_debug_flag ; fi
404
+ return $result
396
405
  }
397
406
 
398
407
 
@@ -136,7 +136,7 @@ if [ "$system" = "Linux" ] ; then
136
136
  echo -e "\033[0;33m <w> \033[0mFor jRuby (if you wish to use it) you will need:"
137
137
  echo -e "\033[0;32m <i> \033[0msudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk"
138
138
  echo -e "\033[0;33m <w> \033[0mFor ree (if you wish to use it) you will need:"
139
- echo -e "\033[0;32m <i> \033[0msudo apt-get install libreadline5-dev libssl-dev "
139
+ echo -e "\033[0;32m <i> \033[0msudo apt-get install libreadline5-dev libssl-dev bison"
140
140
 
141
141
  elif [ ! -z "$rvm_emerge_binary" ] ; then
142
142
  echo -e "\033[0;33m <w> \033[0mFor jRuby (if you wish to use it) you will need:"
@@ -1,5 +1,5 @@
1
1
  #!/bin/bash
2
- if [ ! -z "$(echo `which ruby` | grep 'rvm')" ] ; then
2
+ if [ ! -z "$(echo `which ruby` | grep '\.rvm')" ] ; then
3
3
  echo "[$(which ruby | xargs dirname | xargs dirname | xargs basename | tr '-' ':')]"
4
4
  fi
5
5
 
@@ -4,13 +4,13 @@ function __rvm_install-source {
4
4
 
5
5
  if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi
6
6
 
7
- status=0
7
+ result=0
8
8
  __rvm_log "info" "Installing Ruby from source to: $rvm_ruby_home"
9
9
  mkdir -p $rvm_ruby_log_path
10
10
 
11
11
  pushd $rvm_source_path > /dev/null
12
12
 
13
- if [ ! -z "$rvm_force" ] ; then
13
+ if [ ! -z "$rvm_force_flag" ] ; then
14
14
  rm -rf $rvm_ruby_home
15
15
  rm -rf $rvm_ruby_src_path
16
16
  fi
@@ -20,11 +20,11 @@ function __rvm_install-source {
20
20
  rvm_url="${rvm_url:-"ftp://ftp.ruby-lang.org/pub/ruby/1.$rvm_major_version/$rvm_ruby_package_name.tar.gz"}"
21
21
  __rvm_log "info" "\tDownloading $rvm_ruby_package_name, this may take a while depending on your connection..."
22
22
  __rvm_fetch $rvm_url
23
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
23
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
24
24
  __rvm_log "info" "\tExtracting $rvm_ruby_package_name ..."
25
25
  mkdir -p $rvm_ruby_src_path # Is this line necessary considering -C below? v
26
26
  __rvm_run "extract" tar xzf $rvm_archives_path/$rvm_ruby_package_name.tar.gz -C $rvm_source_path
27
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
27
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
28
28
  fi
29
29
  else
30
30
  __rvm_log "info" "\tRetrieving Ruby from $rvm_url"
@@ -33,14 +33,14 @@ function __rvm_install-source {
33
33
  cd $rvm_ruby_src_path
34
34
  if [ -z "$rvm_ruby_rev" ] ; then
35
35
  git pull origin master
36
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
36
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
37
37
  else
38
38
  git checkout ${rvm_ruby_rev:-HEAD}
39
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
39
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
40
40
  fi
41
41
  else
42
42
  git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_src_path
43
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
43
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
44
44
  fi
45
45
  else
46
46
  if [ -z "$rvm_ruby_rev" ] ; then
@@ -67,36 +67,33 @@ function __rvm_install-source {
67
67
  else
68
68
  svn checkout -q $rvm_rev --force $rvm_url $rvm_ruby_src_path
69
69
  fi
70
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
70
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
71
71
  fi
72
72
  fi
73
73
 
74
74
  cd $rvm_ruby_src_path
75
- if [ $? -gt 0 ] ; then status=$? ; __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" ; popd > /dev/null ; return $status ; fi
76
-
77
- # Readline
78
- if [ ! -d $rvm_path/usr/include/readline ] ; then __rvm_readline_install ; fi
75
+ if [ $? -gt 0 ] ; then result=$? ; __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" ; popd > /dev/null ; return $result ; fi
79
76
 
80
77
  if [ ! -s "$rvm_ruby_src_path/configure" -a "$rvm_ruby_interpreter" = "ruby" ] ; then
81
78
  rvm_autoconf=`which autoconf`
82
- if [ $? -gt 0 ] ; then __rvm_log "fail" "rvm expects autoconf" ; status=$? ; return $status ; fi
79
+ if [ $? -gt 0 ] ; then __rvm_log "fail" "rvm expects autoconf" ; result=$? ; return $result ; fi
83
80
  __rvm_run "autoconf" $rvm_autoconf
84
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
81
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
85
82
  fi
86
83
 
87
- if [ -s ./Makefile -a -z "$rvm_re_configure" ] ; then
84
+ if [ -s ./Makefile -a -z "$rvm_reconfigure_flag" ] ; then
88
85
  __rvm_log "warn" "\tSkipping configure step, Makefile exists so configure must have already been run."
89
86
  elif [ -s ./configure ] ; then
90
87
  __rvm_log "info" "\tConfiguring $rvm_ruby_package_name using $rvm_ruby_configure, this may take a while depending on your cpu(s)..."
91
88
  if [ -d $rvm_path/usr/include/readline/ ] ; then
92
- parameters="$parameters --with-readline-dir=$rvm_path/usr/include/readline/"
89
+ configure_parameters="$configure_parameters --with-readline-dir=$rvm_path/usr/include/readline/"
93
90
  fi
94
91
  if [ -d $rvm_path/usr/include/iconv/ ] ; then
95
- parameters="$parameters --with-iconv-dir=$rvm_path/usr/include/iconv/"
92
+ configure_parameters="$configure_parameters --with-iconv-dir=$rvm_path/usr/include/iconv/"
96
93
  fi
97
- __rvm_run "configure" "./configure --prefix=$rvm_ruby_home --enable-shared=true $rvm_ruby_configure $parameters"
98
- unset parameters
99
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
94
+ __rvm_run "configure" "./configure --prefix=$rvm_ruby_home $rvm_ruby_configure $configure_parameters"
95
+ unset configure_parameters
96
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
100
97
  else
101
98
  __rvm_log "error" "\tSkipping configure step, 'configure' script does not exist, did autoconf not run successfully?"
102
99
  fi
@@ -107,7 +104,7 @@ function __rvm_install-source {
107
104
  else
108
105
  __rvm_run "make" $rvm_ruby_make
109
106
  fi
110
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
107
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
111
108
 
112
109
  if [ -z "$rvm_ruby_make" ] ; then
113
110
  __rvm_log "info" "\tInstalling $rvm_ruby_package_name"
@@ -115,16 +112,16 @@ function __rvm_install-source {
115
112
  else
116
113
  __rvm_run "install" $rvm_ruby_make_install
117
114
  fi
118
- if [ $? -gt 0 ] ; then status=$? ; return $status ; fi
115
+ if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
119
116
 
120
- __rvm_run "chmod.bin" chmod +x $rvm_ruby_home/bin/*
121
- __rvm_bin_script
122
117
  __rvm_log "info" "Installation of $rvm_ruby_package_name is complete."
123
118
 
124
119
  GEM_HOME="$rvm_gem_home" ; export GEM_HOME
125
120
  GEM_PATH="$rvm_gem_home" ; export GEM_PATH
126
121
 
127
122
  __rvm_rubygems_setup
123
+ __rvm_bin_script
124
+ __rvm_run "chmod.bin" chmod +x $rvm_ruby_home/bin/*
128
125
 
129
126
  popd > /dev/null
130
127
 
@@ -195,8 +192,8 @@ function __rvm_install-ruby {
195
192
  __rvm_run "install" ./installer -a $rvm_path/ruby-enterprise-$rvm_ruby_version-$rvm_ruby_patch_level --dont-install-useful-gems --no-tcmalloc $rvm_ruby_configure
196
193
  chmod +x $rvm_ruby_home/bin/*
197
194
 
198
- __rvm_bin_script
199
195
  __rvm_rubygems_setup
196
+ __rvm_bin_script
200
197
 
201
198
  popd > /dev/null
202
199
 
@@ -219,17 +216,20 @@ function __rvm_install-ruby {
219
216
  #rvm_ruby_rev="head"
220
217
  # TODO: Check if already git repo, then git pull origin master && build
221
218
 
222
- __rvm_bin_script
223
-
224
219
  if [ ! -d $rvm_ruby_home -o ! -d $rvm_ruby_home/.git ] ; then
225
220
  rm -rf $rvm_ruby_home
226
221
  git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_home
227
222
  fi
228
223
  cd $rvm_ruby_home
229
- __rvm_run "build" $rvm_rubinius_jit rake build
224
+ if [ ! -z "$rvm_jit_flag" ]; then
225
+ __rvm_run "build" RBX_LLVM=1 rake build
226
+ else
227
+ __rvm_run "build" rake build
228
+ fi
230
229
  for binary in ruby irb ; do
231
230
  ln -fs $rvm_ruby_home/bin/rbx $rvm_ruby_home/bin/$binary
232
231
  done
232
+ __rvm_bin_script
233
233
  ;;
234
234
 
235
235
  jruby)
@@ -273,10 +273,12 @@ function __rvm_install-ruby {
273
273
  ln -fs $rvm_ruby_home/bin/$binary $rvm_ruby_home/bin/${binary#j}
274
274
  done
275
275
 
276
+ __rvm_bin_script
277
+
276
278
  ln -fs $rvm_ruby_home/bin/ruby $rvm_path/bin/$rvm_ruby_package_name
277
279
  for rvm_gem_name in rake jruby-openssl ; do
278
280
  __rvm_log "info" "Installing $rvm_gem_name"
279
- __rvm_run "gems" $rvm_ruby_home/bin/jgem install $rvm_gem_name --no-rdoc --no-ri -q
281
+ __rvm_run "gems" $rvm_ruby_home/bin/gem install $rvm_gem_name --no-rdoc --no-ri -q
280
282
  done
281
283
  ;;
282
284
 
@@ -348,9 +350,9 @@ function __rvm_post_install {
348
350
  __rvm_log "info" "Installation of gems for $rvm_ruby_package_name is complete."
349
351
 
350
352
  binary=rake
351
- if [ -x $rvm_ruby_src_path/bin/$binary ] ; then
352
- if [ "$rvm_ruby_src_path" != "$rvm_ruby_home" ] ; then
353
- cp $rvm_ruby_src_path/bin/$binary $rvm_ruby_home/bin/$binary
353
+ if [ -x $rvm_gem_home/bin/$binary ] ; then
354
+ if [ "$rvm_gem_home" != "$rvm_ruby_home" ] ; then
355
+ cp $rvm_gem_home/bin/$binary $rvm_ruby_home/bin/$binary
354
356
  fi
355
357
  # TODO: Account for rubygem installed rake vs system rake
356
358
  string="ENV['GEM_HOME']=ENV['GEM_HOME'] || '$rvm_gem_home'\nENV['GEM_PATH']=ENV['GEM_PATH'] || '$rvm_gem_home'\nENV['PATH']='$rvm_ruby_home/bin:$rvm_gem_home/bin:' + ENV['PATH']"
@@ -376,16 +378,11 @@ function __rvm_rubygems_setup {
376
378
  mkdir -p $rvm_source_path/$rvm_gem_package_name
377
379
  __rvm_run "rubygems.extract" tar zxf $rvm_archives_path/$rvm_gem_package_name.tgz -C $rvm_source_path
378
380
  fi
379
- # Well this is fun... fix nil error on require_paths:
380
- # Q: Is this necessary any longer?
381
- #sed -i.orig "s/require_paths\.join/require_paths.to_a.join/" $rvm_source_path/$rvm_gem_package_name/lib/rubygems/gem_path_searcher.rb
382
- #rm -f $rvm_source_path/$rvm_gem_package_name/lib/rubygems/gem_path_searcher.rb.orig
383
- __rvm_run "rubygems.install" GEM_HOME=$rvm_gem_path GEM_HOME=$rvm_gem_home $rvm_ruby_home/bin/ruby $rvm_source_path/$rvm_gem_package_name/setup.rb
384
- status=$?
385
- if [ $status -eq 0 ] ; then
381
+ __rvm_run "rubygems.install" GEM_PATH=$rvm_gem_path GEM_HOME=$rvm_gem_home $rvm_ruby_home/bin/ruby $rvm_source_path/$rvm_gem_package_name/setup.rb
382
+ result=$?
383
+ if [ $result -eq 0 ] ; then
386
384
  __rvm_log "info" "Installation of rubygems $rvm_ruby_package_name completed successfully."
387
385
  fi
388
- if [ $status -eq 0 ] ; then status=$? ; fi
389
386
  else
390
387
  # 1.9 has it's own built gem command, let's adjust the shebang line.
391
388
  mv $rvm_ruby_src_path/bin/gem $rvm_ruby_src_path/bin/gem.orig
@@ -394,6 +391,6 @@ function __rvm_rubygems_setup {
394
391
  __rvm_run "rubygems.update" $rvm_ruby_home/bin/gem update --system
395
392
  fi
396
393
 
397
- return $status
394
+ return $result
398
395
  }
399
396
 
@@ -107,9 +107,6 @@ function __rvm_select {
107
107
  fi
108
108
  fi
109
109
 
110
- if [ ! -z "$rvm_load" ] ; then __rvm_gemset_load ; fi
111
- if [ ! -z "$rvm_dump" ] ; then __rvm_gemset_dump ; fi
112
-
113
110
  mkdir -p $rvm_gem_home
114
111
 
115
112
  if [ -z "$rvm_ruby_patch_level" ] ; then
@@ -119,6 +116,7 @@ function __rvm_select {
119
116
  if [ "`echo $rvm_ruby_patch_level | awk '{print substr($1, 0, 1)}'`" != "p" ] ; then
120
117
  rvm_ruby_patch_level="p$rvm_ruby_patch_level"
121
118
  fi
119
+ rvm_ruby_patch_level="`echo $rvm_ruby_patch_level | sed 's/^pp/p/'`" # sanity check, thanks sfpyra
122
120
  rvm_ruby_package_name="${rvm_ruby_package_name:-"$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level"}"
123
121
  rvm_ruby_home="${rvm_ruby_home:-"$rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level"}"
124
122
  fi
@@ -131,6 +129,9 @@ function __rvm_select {
131
129
 
132
130
  export rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_version rvm_ruby_package_name rvm_url rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install rvm_ruby_rev rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_path rvm_gem_home rvm_path rvm_source_path rvm_bin_path rvm_ruby_binary rvm_ruby_package_name rvm_ruby_home rvm_log_path rvm_ruby_log_path rvm_source_path rvm_ruby_src_path rvm_ruby_irbrc rvm_selected rvm_ruby_string
133
131
 
132
+ if [ ! -z "$rvm_load_flag" ] ; then __rvm_gemset_load ; fi
133
+ if [ ! -z "$rvm_dump_flag" ] ; then __rvm_gemset_dump ; fi
134
+
134
135
  else
135
136
  rvm_gem_home=$GEM_HOME
136
137
  fi
@@ -156,6 +157,7 @@ function __rvm_use {
156
157
  elif [ "$rvm_ruby_interpreter" = "system" ] ; then
157
158
 
158
159
  unset GEM_HOME GEM_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
160
+ # TODO: Remove .rvm/bin from the path
159
161
  PATH="$rvm_system_path" ; export PATH
160
162
  if [ -s $rvm_path/system ] ; then
161
163
  grep "^MY_RUBY_HOME='$rvm_path" "$rvm_path/system" > /dev/null
@@ -191,7 +193,7 @@ function __rvm_use {
191
193
 
192
194
  PATH="$MY_RUBY_HOME/bin:$GEM_HOME/bin:$rvm_path/bin:$rvm_system_path" ; export PATH
193
195
 
194
- if [ ! -z "$rvm_set_default" ] ; then
196
+ if [ ! -z "$rvm_default_flag" ] ; then
195
197
  RUBY_VERSION="$($MY_RUBY_HOME/bin/ruby -v | sed 's/^\(.*\) (.*$/\1/')"
196
198
  export GEM_HOME GEM_PATH MY_RUBY_HOME RUBY_VERSION
197
199
 
@@ -213,13 +215,9 @@ function __rvm_use {
213
215
  ln -fs $rvm_path/bin/gem-$rvm_ruby_package_name $rvm_path/bin/gem
214
216
  ln -fs $rvm_path/bin/irb-$rvm_ruby_package_name $rvm_path/bin/irb
215
217
  else
216
- rm -f $rvm_path/bin/ruby
217
- rm -f $rvm_path/bin/default-ruby
218
- rm -f $rvm_path/bin/gem
219
- rm -f $rvm_path/bin/irb
218
+ rm -f $rvm_path/bin/ruby $rvm_path/bin/default-ruby $rvm_path/bin/gem $rvm_path/bin/irb
220
219
  fi
221
-
222
- unset rvm_set_default
220
+ unset rvm_default_flag
223
221
  fi
224
222
  fi
225
223
  }
@@ -136,7 +136,7 @@ if [ "$system" = "Linux" ] ; then
136
136
  echo -e "\033[0;33m <w> \033[0mFor jRuby (if you wish to use it) you will need:"
137
137
  echo -e "\033[0;32m <i> \033[0msudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk"
138
138
  echo -e "\033[0;33m <w> \033[0mFor ree (if you wish to use it) you will need:"
139
- echo -e "\033[0;32m <i> \033[0msudo apt-get install libreadline5-dev libssl-dev "
139
+ echo -e "\033[0;32m <i> \033[0msudo apt-get install libreadline5-dev libssl-dev bison"
140
140
 
141
141
  elif [ ! -z "$rvm_emerge_binary" ] ; then
142
142
  echo -e "\033[0;33m <w> \033[0mFor jRuby (if you wish to use it) you will need:"
@@ -78,7 +78,7 @@ function __rvm_run {
78
78
  command="$*"
79
79
  rvm_ruby_log_path=${rvm_ruby_log_path:-$rvm_path/log}
80
80
  mkdir -p $rvm_ruby_log_path
81
- if [ $rvm_debug ] ; then __rvm_log "debug" "Executing: $command" ; fi
81
+ if [ ! -z "$rvm_debug_flag" ] ; then __rvm_log "debug" "Executing: $command" ; fi
82
82
  touch $rvm_ruby_log_path/$log_file_name.log $rvm_ruby_log_path/$log_file_name.error.log # for zsh :(
83
83
  echo "[$(date +'%Y-%m-%d %H:%M:%S')] $command" | tee $rvm_ruby_log_path/$log_file_name.log > $rvm_ruby_log_path/$log_file_name.error.log
84
84
  if [ -z "$rvm_niceness" -o "$rvm_niceness" = "0" ] ; then
@@ -91,7 +91,7 @@ function __rvm_run {
91
91
  }
92
92
 
93
93
  function __rvm_cleanup-variables {
94
- unset rvm_selected rvm_action rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_irbrc_file rvm_ruby_irbrc rvm_source_path rvm_path rvm_debug rvm_prefix_path rvm_ruby_package_name rvm_gem_path rvm_command rvm_error_message rvm_ruby_home rvm_ruby_binary rvm_gem_set_name rvm_delete_flag rvm_ruby_tag rvm_ruby_rev rvm_url rvm_ruby_make rvm_ruby_make_install rvm_config_path rvm_bin_path rvm_force rvm_all rvm_re_configure rvm_summary rvm_ruby_string rvm_make_flags rvm_bin_flag
94
+ unset rvm_selected rvm_action rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_irbrc_file rvm_ruby_irbrc rvm_source_path rvm_path rvm_prefix_path rvm_ruby_package_name rvm_gem_path rvm_command rvm_error_message rvm_ruby_home rvm_ruby_binary rvm_gem_set_name rvm_ruby_tag rvm_ruby_rev rvm_url rvm_ruby_make rvm_ruby_configure rvm_ruby_make_install rvm_config_path rvm_ruby_string rvm_bin_path 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
95
95
  }
96
96
 
97
97
  # TODO: root user loadng of /etc/rvmrc
@@ -133,16 +133,16 @@ function __rvm_fetch {
133
133
 
134
134
  pushd $rvm_archives_path > /dev/null
135
135
  eval $rvm_fetch "$1"
136
- status=$?
137
- if [ $status -gt 0 ] ; then
138
- if [ $status -eq 78 ] ; then
136
+ result=$?
137
+ if [ $result -gt 0 ] ; then
138
+ if [ $result -eq 78 ] ; then
139
139
  __rvm_log "error" "The requested url does not exist: '$1'"
140
140
  else
141
141
  __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log"
142
142
  fi
143
143
  fi
144
144
  popd 2> /dev/null
145
- return $status
145
+ return $result
146
146
  }
147
147
 
148
148
  function __rvm_load-defaults {
@@ -326,7 +326,7 @@ function __rvm_symlinks {
326
326
 
327
327
  function __rvm_list {
328
328
 
329
- if [ "$rvm_all" ] ; then
329
+ if [ "$rvm_all_flag" ] ; then
330
330
  svn list http://svn.ruby-lang.org/repos/ruby/tags/ | grep 'v1_[8|9]' | sed 's/^v1_//' | sed 's/\/$//' | awk -F'_' '{print "1."$1"."$2 " -l "$3}' | sed 's/p$//'
331
331
 
332
332
  echo "jruby 1.2.0"
@@ -407,10 +407,10 @@ function __rvm_initialize {
407
407
  if [ $? -ne 0 ] ; then
408
408
  __rvm_log "fail" "rvm expects either curl or wget, neither seem to be in your path :("
409
409
  else
410
- rvm_fetch="wget -q -c "
410
+ rvm_fetch="wget -c " # -q for quiet
411
411
  fi
412
412
  else
413
- rvm_fetch="$rvm_fetch -O -L -s --create-dirs -C - "
413
+ rvm_fetch="$rvm_fetch -O -L --create-dirs -C - " # -s for silent
414
414
  fi
415
415
 
416
416
  # TODO: Sanitize user input, ensure that there is a / a the end...
@@ -447,17 +447,18 @@ function __rvm_initialize {
447
447
  PATH=$rvm_bin_path:$PATH ; export PATH
448
448
  fi
449
449
 
450
- mkdir -p $rvm_source_path $rvm_bin_path $rvm_archives_path
450
+ mkdir -p $rvm_source_path $rvm_bin_path $rvm_archives_path $rvm_path/tmp
451
451
  }
452
452
 
453
453
  function __rvm_update {
454
- if [ "$rvm_ruby_rev" = "head" -o "$rvm_update_flag" ] ; then
454
+ if [ "$rvm_ruby_rev" = "head" -o ! -z "$rvm_self_flag" -o ! -z "$rvm_update_flag" ] ; then
455
455
  __rvm_version
456
456
  __rvm_update_rvm
457
457
  __rvm_version
458
458
  fi
459
459
  __rvm_reload
460
460
  __rvm_select
461
+ # if [ "$rvm_gem_flag" ] ; then __rvm_gem_scripts ; fi
461
462
  if [ "$rvm_bin_flag" ] ; then __rvm_bin_scripts ; fi
462
463
  if [ "$rvm_rubygems_flag" ] ; then __rvm_rubygems_setup ; fi
463
464
  }
@@ -512,8 +513,33 @@ function __rvm_reload {
512
513
  source $rvm_path/scripts/rvm
513
514
  }
514
515
 
516
+ function __rvm_ruby_do {
517
+ __rvm_select
518
+ __rvm_use
519
+ #__rvm_
520
+ binary=`echo $rvm_action | sed 's/do$//'`
521
+ lp="$rvm_ruby_home/bin:$rvm_ruby_load_path"
522
+ if [ "$binary" = "ruby" ] ; then
523
+ rvm_command="$rvm_ruby_home/bin/$binary $rvm_ruby_require -I$lp -S $rvm_ruby_args"
524
+ else
525
+ rvm_command="$rvm_ruby_home/bin/$binary $rvm_ruby_args"
526
+ fi
527
+ echo "$rvm_ruby_string: $($rvm_ruby_home/bin/$binary -v)"
528
+ eval $rvm_command
529
+ result=$?
530
+ if [ $result -eq 0 ]; then
531
+ successes[${#successes[*]}]=$rvm_ruby_string
532
+ else
533
+ errors[${#errors[*]}]=$rvm_ruby_string
534
+ fi
535
+ all[${#all[*]}]=$rvm_ruby_string
536
+ results[${#results[*]}]=$result
537
+ # TODO: keep track of and re-set the previous selected ruby ;)
538
+ unset rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_ruby_package_name rvm_ruby_home rvm_ruby_irbrc rvm_ruby_binary rvm_ruby_string lp
539
+ }
540
+
515
541
  function __rvm_do {
516
- all=() ; successes=() ; errors=() ; statuses=()
542
+ all=() ; successes=() ; errors=() ; results=()
517
543
  # TODO: Extract the common functionality out of the if below
518
544
  if [ ! -z "$rvm_ruby_version" ] ; then
519
545
  rvm_ruby_selectors=$(echo $rvm_ruby_version | tr ',' ' ')
@@ -527,68 +553,26 @@ function __rvm_do {
527
553
  unset rvm_ruby_version
528
554
  fi
529
555
  unset temp
530
- __rvm_select
531
- __rvm_use
532
- #__rvm_
533
- binary=`echo $rvm_action | sed 's/do$//'`
534
- lp="$rvm_ruby_home/bin:$rvm_ruby_load_path"
535
- if [ "$binary" = "ruby" ] ; then
536
- rvm_command="$rvm_ruby_home/bin/$binary $rvm_ruby_require -I$lp -S $rvm_ruby_args"
537
- else
538
- rvm_command="$rvm_ruby_home/bin/$binary $rvm_ruby_args"
539
- fi
540
- echo "$rvm_ruby_string: $($rvm_ruby_home/bin/$binary -v)"
541
- eval $rvm_command
542
- status=$?
543
- if [ $status -eq 0 ]; then
544
- successes[${#successes[*]}]=$rvm_ruby_string
545
- else
546
- errors[${#errors[*]}]=$rvm_ruby_string
547
- fi
548
- all[${#all[*]}]=$rvm_ruby_string
549
- statuses[${#statuses[*]}]=$status
550
- # TODO: keep track of and re-set the previous selected ruby ;)
551
- unset rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_ruby_package_name rvm_ruby_home rvm_ruby_irbrc rvm_ruby_binary rvm_ruby_string lp
556
+ __rvm_ruby_do
552
557
  done
553
558
  else # all
554
- rvm_ruby_binaries=`/bin/ls $rvm_path/*/bin/ruby`
559
+ rvm_ruby_binaries=`/bin/ls $rvm_path/*/bin/ruby 2> /dev/null`
555
560
  for rvm_ruby_binary in $rvm_ruby_binaries ; do
556
561
  if [ -x $rvm_ruby_binary ] ; then
557
562
  rvm_ruby_string=`dirname $rvm_ruby_binary | xargs dirname | xargs basename`
558
- __rvm_select
559
- __rvm_use
560
- rvm_ruby_string="$(dirname $rvm_ruby_home/bin/$binary | xargs dirname | xargs basename)"
561
- lp="$rvm_ruby_home/bin:$rvm_ruby_load_path"
562
- if [ "$binary" = "ruby" ] ; then
563
- rvm_command="$rvm_ruby_binary $rvm_ruby_require -I$lp -S $rvm_ruby_args"
564
- else
565
- rvm_command="$rvm_ruby_binary $rvm_ruby_args"
566
- fi
567
- echo "$(basename $rvm_ruby_binary):"
568
- eval $rvm_command
569
- status=$?
570
- if [ $status -eq 0 ]; then
571
- successes[${#successes[*]}]=$rvm_ruby_string
572
- else
573
- errors[${#errors[*]}]=$rvm_ruby_string
574
- fi
575
- all[${#all[*]}]=$rvm_ruby_string
576
- statuses[${#statuses[*]}]=$status
577
- unset rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_ruby_package_name rvm_ruby_home rvm_ruby_irbrc rvm_ruby_binary rvm_ruby_string lp
563
+ __rvm_ruby_do
578
564
  fi
579
565
  done
580
566
  fi
581
567
 
582
- export successes errors statuses
583
-
584
- if [ ! -z "$rvm_summary" ] ; then
568
+ if [ ! -z "$rvm_summary_flag" ] ; then
569
+ export successes errors results
585
570
  echo -e "\n\033[0;32msuccessful (${#successes[*]}) : [ $(echo "${successes[*]}" | sed 's/ /, /g') ]\033[0m"
586
571
  echo -e "\n\033[0;31merrors (${#errors[*]}) : [ $(echo "${errors[*]}" | sed 's/ /, /g') ]\033[0m"
587
572
  echo -e "all (${#all[*]}) : [ $(echo "${all[*]}" | sed 's/ /, /g') ]"
588
- echo -e "exit statuses: [ $(echo "${statuses[*]}" | sed 's/ /, /g') ]\n"
589
- # unset binary successes errors rvm_summary
573
+ echo -e "exit results: [ $(echo "${results[*]}" | sed 's/ /, /g') ]\n"
590
574
  else
591
- unset binary successes errors rvm_summary
575
+ unset binary successes errors rvm_summary_flag
592
576
  fi
593
577
  return ${#errors[*]}
594
578
  }
@@ -621,24 +605,20 @@ Config
621
605
 
622
606
  function __rvm_ruby_string {
623
607
  if [ "$rvm_ruby_interpreter" = "system" ] ; then
624
- rvm_ruby_string=""
608
+ unset rvm_ruby_string
625
609
  elif [ ! -z "$rvm_ruby_string" ] ; then
626
- echo $rvm_ruby_string | grep "enterprise" > /dev/null
627
- if [ $? -eq 0 ] ; then
628
- rvm_ruby_interpreter="ruby-enterprise"
629
- else
630
- rvm_ruby_interpreter=`echo $rvm_ruby_string | tr '-' ' ' | awk '{print $1}'`
631
- fi
632
- rvm_ruby_vesion=`echo $rvm_ruby_string | awk -F'-' '{print $(NF-1)}'`
633
- revision=`echo $rvm_ruby_string | awk '{print $NF}'`
610
+ rvm_ruby_string=`echo "$rvm_ruby_string" | sed 's/ruby-enterprise/ree/g'`
611
+ rvm_ruby_interpreter=`echo $rvm_ruby_string | tr '-' ' ' | awk '{print $1}'`
612
+ rvm_ruby_vesion=`echo $rvm_ruby_string | awk -F'-' '{print $2}'`
613
+ revision=`echo $rvm_ruby_string | awk -F'-' '{print $3}'`
634
614
  if [ "$revision" = "head" -o "$revision" = "preview" ] ; then
635
615
  rvm_ruby_revision="$revision"
636
616
  else
637
- echo $revision | grep 'p[0-9]\+' > /dev/null
617
+ echo $revision | grep '^p[0-9]\+' > /dev/null
638
618
  if [ $? -eq 0 ] ; then
639
619
  rvm_ruby_patch_level=`echo $revision | awk -F'p' '{print $2}'`
640
620
  else
641
- echo $revision | grep '[0-9]\+' > /dev/null
621
+ echo $revision | grep '^[0-9]\+' > /dev/null
642
622
  if [ $? -eq 0 ] ; then
643
623
  rvm_ruby_rev="$revision"
644
624
  else
@@ -662,7 +642,7 @@ function __rvm_gemset_dump {
662
642
  gems="`gem list | sed 's/[\(|\)]//g' | sed 's/, /,/g' | tr ' ' ';'`"
663
643
  for gem in $gems ; do
664
644
  name=`echo $gem | awk -F';' '{print $1}'`
665
- if [ -z "$rvm_gem_latest" ] ; then
645
+ if [ -z "$rvm_latest_flag" ] ; then
666
646
  versions=`echo $gem | awk -F';' '{print $2}' | sed 's/,/ /g'`
667
647
  for version in $versions ; do
668
648
  echo "$name -v$version" >> $file_name.gemset
@@ -678,38 +658,59 @@ function __rvm_gemset_dump {
678
658
 
679
659
  function __rvm_gemset_load {
680
660
  echo "Loading $rvm_load_file file..."
681
- while read line < `cat "$rvm_load_file" | awk '/^[a-zA-Z]/{print}'` ; do
661
+ rvm_ruby_gem_list=`/bin/ls $rvm_gem_home/specifications/ | sed 's/\.gemspec$//' 2> /dev/null`
662
+ while read line
663
+ do # Keep this on 2nd line :( bash fail.
682
664
  # TODO: Switch to a different field separator than ; to allow for evals
683
665
  gem=`echo $line | awk -F';' '{print $1}'`
684
666
  gem_prefix=`echo $line | awk -F';' '{print $2}'`
685
667
  gem_name=`echo $gem | awk '{print $1}'`
686
668
  gem_version=`echo $gem | sed 's/^.*-v[=]*[ ]*//' | awk '{print $1}'`
687
669
  gem_postfix=`echo $gem | sed "s/$gem_name//" | sed "s/-v[=]*[ ]*$gem_version//"`
688
- gem_file="$gem_name-$gem_version.gem"
689
670
 
690
671
  if [ -z "$gem_version" ] ; then # no version
691
- file=`/bin/ls -t $rvm_gem_home/cache/${gem_name}* | head -n 1`
672
+ gem_file_name="${gem_name}*.gem"
692
673
  else # version
693
- file=`/bin/ls $rvm_gem_home/cache/$gem_file`
674
+ gem_file_name="$gem_name-$gem_version.gem"
694
675
  fi
695
-
696
- if [ -z "$file" ] ; then # not cached
697
- gem="$gem_name-$gem_version"
676
+ cache_file=`/bin/ls -t $rvm_gem_path/*/*/cache/${gem_file_name}* | head -n1 2> /dev/null`
677
+ if [ -z "$cache_file" ] ; then
678
+ if [ -z "$gem_version" ] ; then
679
+ gem="$gem_name"
680
+ else
681
+ gem="$gem_name -v $gem_version"
682
+ fi
698
683
  else # cached
699
- gem="$file -l" # install as a named local gem
684
+ gem_file_name=`basename $cache_file`
685
+ gem_string=`echo "$gem_file_name" | sed 's/\.gem$//'`
686
+ if [ ! -z "`echo "$rvm_ruby_gem_list" | awk "/$gem_string/{print}"`" ] ; then
687
+ if [ ! -z "$rvm_force_flag" ] ; then
688
+ cp $cache_file $rvm_path/tmp/$gem_file_name
689
+ gem="$rvm_path/tmp/$gem_file_name -l" # install as a named local gem
690
+ else
691
+ unset gem
692
+ __rvm_log "info" "$gem_name $gem_version is already installed, skipping. (use --force to force these to install regardless)"
693
+ fi
694
+ else
695
+ gem="$cache_file -l"
696
+ fi
700
697
  fi
701
698
 
702
- # TODO: Set vars if fourth field is non-empty (means that there are conditional statements to execute in the gem install line.
703
- if [ -z "$vars" ] ; then
704
- GEM_HOME="$rvm_gem_home" GEM_PATH="$rvm_gem_home" $gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix
705
- else
706
- eval "GEM_HOME='$rvm_gem_home' GEM_PATH='$rvm_gem_home' $gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix"
699
+ if [ ! -z "$gem" ] ; then
700
+ # TODO: Set vars if fourth field is non-empty (means that there are conditional statements to execute in the gem install line.
701
+ if [ -z "$vars" ] ; then
702
+ GEM_HOME="$rvm_gem_home" GEM_PATH="$rvm_gem_home" $gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix
703
+ else
704
+ eval "GEM_HOME='$rvm_gem_home' GEM_PATH='$rvm_gem_home' $gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix"
705
+ fi
707
706
  fi
708
- unset gem gem_prefix gem_name gem_version gem_file gem_postfix file
709
- done
707
+ unset gem gem_prefix gem_name gem_version gem_file_name gem_postfix cache_file gem_file_name gem_string
708
+ done < <(awk '/^[a-zA-Z]/{print}' "$rvm_load_file")
710
709
  }
711
710
 
712
- # -C --with-readline-dir=$rvm_path/usr
711
+ #
712
+ # ruby supporting libraries:
713
+ #
713
714
  function __rvm_readline_install {
714
715
  pushd $rvm_path/src > /dev/null
715
716
  package=readline
@@ -732,7 +733,6 @@ function __rvm_readline_install {
732
733
  popd > /dev/null
733
734
  }
734
735
 
735
- # -C --with-iconv-dir=$rvm_path/usr
736
736
  function __rvm_iconv_install {
737
737
  pushd $rvm_path/src > /dev/null
738
738
  package=libiconv
@@ -746,3 +746,4 @@ function __rvm_iconv_install {
746
746
 
747
747
  popd > /dev/null
748
748
  }
749
+
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.40
4
+ version: 0.0.41
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-09-15 00:00:00 -04:00
12
+ date: 2009-09-16 00:00:00 -04:00
13
13
  default_executable: rvm-install
14
14
  dependencies: []
15
15