rvm 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/bash/rvm +113 -47
  2. metadata +1 -1
data/bash/rvm CHANGED
@@ -3,7 +3,7 @@
3
3
  rvm_author="Wayne E. Seguin"
4
4
  rvm_author_email="wayneeseguin@gmail.com"
5
5
  rvm_website="http://github.com/wayneeseguin/rvm"
6
- rvm_version="0.0.5"
6
+ rvm_version="0.0.6"
7
7
  rvm_updated="2009.08.23"
8
8
 
9
9
  #
@@ -100,12 +100,12 @@ Usage
100
100
  }
101
101
 
102
102
  # Logging functions based on level
103
- function log { echo -e "\n $* \e[0m\n" ; }
104
- function debug { log "\e[4;34m <d> $*" ; }
105
- function info { log "\e[0;32m <i> $*" ; }
106
- function warn { log "\e[0;33m <w> $*" ; }
107
- function error { log "\e[0;31m <e> $*" ; }
108
- function fail { log "\e[0;31m <e> $*" ; return 1 ; }
103
+ function log { echo -e "\n $* \e[0m" ; }
104
+ function debug { log "\e[4;34m <d> \e[0m$*" ; }
105
+ function info { log "\e[0;32m <i> \e[0m$*" ; }
106
+ function warn { log "\e[0;33m <w> \e[0m$*" ; }
107
+ function error { log "\e[0;31m <e> \e[0m$*" ; }
108
+ function fail { log "\e[0;31m <e> \e[0m$*" ; return 1 ; }
109
109
 
110
110
  function rvm-gi { gem install -q --no-rdoc --no-ri $* ; }
111
111
 
@@ -146,17 +146,33 @@ function rvm-install-source {
146
146
  package_name="ruby-$major.$minor-p$level"
147
147
  url="ftp://ftp.ruby-lang.org/pub/ruby/$major/$package_name.tar.gz"
148
148
 
149
- pushd $source_path
149
+ info "Installing Ruby from source to: $install_path/$package_name"
150
+ mkdir -p $install_path/$package_name
151
+
152
+ pushd $source_path > /dev/null
150
153
  if [ -d $package_name ] ; then
151
154
  cd $package_name
152
155
  else
153
- if [ ! -f "$package_name.tar.gz" ] ; then curl -O -L -s $url ; fi
154
- tar xzf $package_name.tar.gz && cd $package_name/
156
+ if [ ! -f "$package_name.tar.gz" ] ; then
157
+ info "\tDownloading $package_name, this may take a while depending on your connection..."
158
+ curl -O -L -s $url
159
+ fi
160
+ info "\tExtracting $package_name..."
161
+ tar xzf $package_name.tar.gz && cd $package_dir/
155
162
  fi
156
- ./configure --prefix=$install_path/$package_name ${configure-'--enable-shared'} && make && make install
163
+
164
+ info "\tConfiguring $package_name using ${configure-'--enable-shared'}, this may take a while depending on your cpu(s)..."
165
+ ./configure --prefix=$install_path/$package_name ${configure-'--enable-shared'} > $install_path/$package_name/configure.log 2> $install_path/$package_name/configure.error.log
166
+
167
+ info "\tCompiling $package_name, this may take a while, depending on your cpu(s)..."
168
+ make > $install_path/$package_name/make.log 2> $install_path/$package_name/make.error.log
169
+
170
+ info "\tInstalling $package_name"
171
+ make install > $install_path/$package_name/install.log 2> $install_path/$package_name/install.error.log
157
172
  chmod +x $install_path/$package_name/bin/*
158
173
 
159
174
  # Now install rubygems for this ruby version.
175
+ info "\tInstalling rubygems dedicated to $package_name..."
160
176
  gem_package_name="rubygems-1.3.5"
161
177
  gem_url="http://rubyforge.org/frs/download.php/60718/$gem_package_name.tgz"
162
178
  if [ -d $gem_package_name ] ; then
@@ -167,8 +183,14 @@ function rvm-install-source {
167
183
  fi
168
184
  # Well this is fun... fix nil error on require_paths:
169
185
  sed -i '' "s/require_paths\.join/require_paths.to_a.join/" $source_path/$package_name/$gem_package_name/lib/rubygems/gem_path_searcher.rb
170
- $install_path/$package_name/bin/ruby ./setup.rb
171
- popd
186
+ $install_path/$package_name/bin/ruby ./setup.rb > $install_path/$package_name/rubygems.install.log 2> $install_path/$package_name/rubygems.install.error.log
187
+ popd > /dev/null
188
+ info "Installation of $package_name complete."
189
+
190
+ for gem_name in rake ; do
191
+ info "Installing $gem_name"
192
+ $install_path/$package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $install_path/$package_name/gems.install.log
193
+ done
172
194
 
173
195
  }
174
196
 
@@ -181,40 +203,79 @@ function rvm-install-ruby {
181
203
  patchlevel=${patchlevel-20090610}
182
204
  package_name="ruby-enterprise-$version-$patchlevel"
183
205
  url="http://rubyforge.org/frs/download.php/58677/$package_name.tar.gz"
184
- pushd $source_path
206
+ info "Installing Ruby Enterprise Edition from source to: $install_path/$package_name"
207
+ pushd $source_path > /dev/null
185
208
  if [ -d $package_name ] ; then
186
209
  cd $package_name
187
210
  else
188
- if [ ! -f "$package_name.tar.gz" ] ; then curl -O -L -s $url ; fi
189
- tar xzf $package_name.tar.gz && cd $package_name/
211
+ if [ ! -f "$package_name.tar.gz" ] ; then
212
+ info "\tDownloading $package_name, this may take a while depending on your connection..."
213
+ curl -O -L -s $url
214
+ fi
215
+ info "\tExtracting $package_name..."
216
+ tar xzf $package_name.tar.gz && cd $package_name
190
217
  fi
191
- cd ruby-enterprise-$version-$patchlevel && ./installer -a $install_path/ruby-enterprise-$version-$patchlevel --dont-install-useful-gems
192
- popd
218
+
219
+ info "\tInstalling $package_name, this may take a while, depending on your cpu(s)..."
220
+ mkdir -p $install_path/$package_name
221
+ ./installer -a $install_path/ruby-enterprise-$version-$patchlevel --dont-install-useful-gems > $install_path/$package_name/install.log 2> $install_path/$package_name/install.error.log
193
222
  chmod +x $install_path/$package_name/bin/*
223
+
224
+ info "\tInstalling rubygems dedicated to $package_name..."
225
+ gem_package_name="rubygems-1.3.5"
226
+ gem_url="http://rubyforge.org/frs/download.php/60718/$gem_package_name.tgz"
227
+ if [ -d $gem_package_name ] ; then
228
+ cd $gem_package_name
229
+ else
230
+ if [ ! -f $gem_package_name.tgz ] ; then curl -O -L -s $gem_url ; fi
231
+ tar zxf $gem_package_name.tgz && cd $gem_package_name
232
+ fi
233
+ # Well this is fun... fix nil error on require_paths:
234
+ sed -i '' "s/require_paths\.join/require_paths.to_a.join/" $source_path/$package_name/$gem_package_name/lib/rubygems/gem_path_searcher.rb
235
+ $install_path/$package_name/bin/ruby ./setup.rb > $install_path/$package_name/rubygems.install.log 2> $install_path/$package_name/rubygems.install.error.log
236
+ info "Installation of $package_name complete."
237
+ popd > /dev/null
238
+
239
+ for gem_name in rake ; do
240
+ info "Installing $gem_name"
241
+ $install_path/$package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $install_path/$package_name/gems.install.log
242
+ done
194
243
  ;;
195
244
 
196
245
  jruby)
197
246
  version=${version-1.3.1} # 1.2.0, 1.3.1
198
247
  unset patchlevel # No patchlevel for jRuby
199
- package_name="$implementation-bin-$version"
200
- package_dir="$implementation-$version"
201
- url="http://dist.codehaus.org/$implementation/$version/$package_name.zip"
202
- pushd $source_path
203
- if [ -d $package_name ] ; then
204
- cd $package_name
248
+ zipfile="$implementation-bin-$version"
249
+ package_name="$implementation-$version"
250
+ url="http://dist.codehaus.org/$implementation/$version/$zipfile.zip"
251
+
252
+ info "Installing jRuby to: $install_path/$package_name"
253
+ mkdir -p $install_path/$package_name
254
+ pushd $source_path > /dev/null
255
+ if [ -d $zipfile ] ; then
256
+ cd $zipfile
205
257
  else
206
- if [ ! -f "$package_name.zip" ] ; then curl -O -L -s $url ; fi
207
- jar xf $package_name.zip && cd $package_name/
258
+ if [ ! -f "$zipfile.zip" ] ; then
259
+ info "\tDownloading $zipfile, this may take a while depending on your connection..."
260
+ curl -O -L -s $url
261
+ fi
262
+ info "\tExtracting $zipfile..."
263
+ jar xf $zipfile.zip
208
264
  fi
209
- mkdir -p $install_path/$package_dir/bin/
265
+
266
+ info "\tInstalling $package_name..."
267
+ mkdir -p $install_path/$package_name/bin/
268
+ rsync -ag $source_path/$package_name/ $install_path/$package_name/
269
+ cd $source_path/$package_name/tool/nailgun && make > $install_path/$package_name/install.nailgun.log 2> $install_path/$package_name/install.error.nailgun.log
270
+ popd > /dev/null
271
+ chmod +x $install_path/$package_name/bin/*
210
272
  for binary in jruby jgem jirb ; do
211
- ln -sf $source_path/$package_dir/bin/$binary $source_path/$package_dir/bin/${binary#j}
273
+ ln -sf $install_path/$package_name/bin/$binary $install_path/$package_name/bin/${binary#j}
274
+ done
275
+ for gem_name in rake jruby-openssl ; do
276
+ info "Installing $gem_name"
277
+ $install_path/$package_name/bin/jgem install $gem_name --no-rdoc --no-ri -q >> $install_path/$package_name/gems.install.log
212
278
  done
213
- rsync -ag $source_path/$package_dir/ $install_path/$package_dir/
214
- cd $source_path/$package_dir/tool/nailgun && make
215
- popd
216
- chmod +x $install_path/$package_dir/bin/*
217
- rvm-gi jruby-openssl
218
279
  ;;
219
280
 
220
281
  ruby)
@@ -228,8 +289,6 @@ function rvm-install-ruby {
228
289
 
229
290
  esac
230
291
 
231
- rvm-gi rake
232
-
233
292
  }
234
293
 
235
294
  function rvm-use {
@@ -298,14 +357,14 @@ function rvm-use {
298
357
  esac
299
358
 
300
359
  if [ ! "$implementation" = "default" ] ; then
301
- RUBY_VERSION="$($MY_RUBY_HOME/bin/ruby -v | sed 's/^\(.*\) (.*$/\1/')"
302
- export GEM_HOME MY_RUBY_HOME RUBY_VERSION
303
-
304
360
  if [ ! -d $MY_RUBY_HOME ] ; then
305
- warn "$implementation $version is not installed, installing."
361
+ warn "$implementation $version is not installed."
306
362
  rvm-install-ruby $implementation $version $level
307
363
  fi
308
364
 
365
+ RUBY_VERSION="$($MY_RUBY_HOME/bin/ruby -v | sed 's/^\(.*\) (.*$/\1/')"
366
+ export GEM_HOME MY_RUBY_HOME RUBY_VERSION
367
+
309
368
  # Setup ~/.rvm/current
310
369
  echo "PATH=$MY_RUBY_HOME/bin:$GEM_HOME/bin:\$PATH ; export PATH" > ~/.rvm/current
311
370
  for variable in RUBY_VERSION GEM_HOME MY_RUBY_HOME ; do
@@ -323,27 +382,27 @@ function rvm-use {
323
382
  elif [ ! -z "$ZSH_VERSION" ] ; then
324
383
  exec zsh -l
325
384
  else
326
- fail "Your shell '$0' is not supported."
385
+ fail "Your shell is not supported bash and zsh are currently supported."
327
386
  fi
328
387
  }
329
388
 
330
389
  function rvm-gem-dir {
331
390
 
332
- case "$implementation" in
391
+ case "${1-implementation}" in
333
392
  jruby) GEM_HOME="$HOME/.gem/jruby/1.8" ;;
334
393
  ree) GEM_HOME="$HOME/.gem/ruby-enterprise/1.8" ;;
335
394
  ruby)
336
- if [ "$version" = "1.8" -o "$version" = "1.8.6" ] ; then
395
+ if [ "${2-version}" = "1.8" -o "${2-version}" = "1.8.6" ] ; then
337
396
  GEM_HOME="$HOME/.gem/ruby/1.8"
338
397
 
339
- elif [ "$version" = "1.9.2" ] ; then
398
+ elif [ "${2-version}" = "1.9.2" ] ; then
340
399
  GEM_HOME="$HOME/.gem/ruby/1.9.2"
341
400
 
342
- elif [ "$version" = "1.9" -o "$version" = "1.9.1" ] ; then
401
+ elif [ "${2-version}" = "1.9" -o "${2-version}" = "1.9.1" ] ; then
343
402
  GEM_HOME="$HOME/.gem/ruby/1.9.1"
344
403
 
345
404
  else
346
- fail "Unknown ruby version: $version"
405
+ fail "Unknown Version: ${2-version}"
347
406
  fi
348
407
  ;;
349
408
  *)
@@ -430,7 +489,7 @@ function rvm-gem-dup {
430
489
 
431
490
  }
432
491
 
433
- function rvm-version { info "rvm $rvm_version" ; }
492
+ function rvm-version { echo "rvm $rvm_version ($rvm_updated) [$rvm_website]" ; }
434
493
 
435
494
  function rvm {
436
495
 
@@ -447,7 +506,14 @@ function rvm {
447
506
  implementation="$token" ;;
448
507
  1.8|1.8.6|1.8.7|1.9|1.9.1|1.9.2|1.2.0|1.3.1)
449
508
  version="$token" ;;
450
- -v|--version) version="$1" ; shift ;;
509
+ -v|--version)
510
+ if [ -z "$1" ] ; then
511
+ action="version"
512
+ else
513
+ version="$1"
514
+ fi
515
+ shift
516
+ ;;
451
517
  -l|--level) patchlevel="$1" ; shift ;;
452
518
  -p|--prefix) install_path="$1" ; shift ;;
453
519
  -s|--source) source_path="$1" ; shift ;; # Undocumented / untested "feature"
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.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wayne E. Seguin