wayneeseguin-rvm 0.0.22 → 0.0.24

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/bash/rvm CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/bin/bash
2
2
 
3
- rvm_author="Wayne E. Seguin"
4
- rvm_author_email="wayneeseguin@gmail.com"
5
- rvm_website="http://rvm.beginrescueend.com/"
6
- rvm_version="0.0.22"
7
- rvm_updated="2009.08.25"
3
+ rvm_meta_author="Wayne E. Seguin"
4
+ rvm_meta_author_email="wayneeseguin@gmail.com"
5
+ rvm_meta_website="http://rvm.beginrescueend.com/"
6
+ rvm_meta_version="0.0.24"
7
+ rvm_meta_updated="2009.08.25"
8
8
 
9
9
  #
10
10
  # License: See LICENSE
@@ -40,12 +40,13 @@ function rvm-usage {
40
40
  list - Show currently installed versions
41
41
  gemdir - Switch to gem directory for installation (new login shell)
42
42
  srcdir - Switch to src directory for the current ruby installation
43
- gemdup - Clone source version gems to current version
43
+ gemdup - Clone source version gems to current version
44
44
  (highly expiramental) Example: rvm gemdup ~/.gem/ruby/1.8/
45
45
  install - Install a ruby version, default is from source
46
46
  uninstall - Uninstall a ruby version
47
47
  reset - Remove default and current settings, exit the shell.
48
48
  (If you experience odd behavior try this first)
49
+ reload - Reload rvm source itself (useful after changing rvm source)
49
50
  debug - Emit environment & configuration information for *current* ruby
50
51
 
51
52
  Implementation:
@@ -55,14 +56,16 @@ function rvm-usage {
55
56
  ree - Ruby Enterprise Edition
56
57
  default - Resets to the default system ruby
57
58
  all - Used with install, installs all latest known versions
58
-
59
- Options:
59
+
60
+ Options:
60
61
 
61
62
  -v|--version - Ruby Package Version, defaults to 'latest'
62
63
  -l|--level - Patch level for the specified Ruby version
63
64
  -p|--prefix - Package and source directory prefix, with trailing slash!
64
65
  Default is a users home directory and /usr/local/ for root
65
66
  -c|--configure - Options for source compile (default: --enable-shared)
67
+ -a|--archives - Directory to place downladed files into (~/.rvm/archives/)
68
+ -n|--nice - Niceness level (default: 0)
66
69
  -d|--debug - Toggle debug mode on for extra messages (NYI)
67
70
 
68
71
  Notes:
@@ -91,7 +94,7 @@ function rvm-usage {
91
94
 
92
95
  TODO: (in order)
93
96
 
94
- * rvm gemdup
97
+ * rvm gemdup
95
98
  * root support
96
99
  * Settings file, user overridable
97
100
  * Show current in rvm list, if applicable
@@ -123,8 +126,8 @@ ruby:
123
126
  full_version: "$(ruby -v)"
124
127
 
125
128
  homes:
126
- gem: "${GEM_HOME-not set}"
127
- ruby: "${MY_RUBY_HOME-not set}"
129
+ gem: "${GEM_HOME:-not set}"
130
+ ruby: "${MY_RUBY_HOME:-not set}"
128
131
 
129
132
  binaries:
130
133
  ruby: "$(which ruby)"
@@ -135,169 +138,184 @@ Info
135
138
 
136
139
  }
137
140
 
141
+ function rvm-curl {
142
+ pushd $rvm_archives_path > /dev/null
143
+ eval $rvm_curl "$1"
144
+ popd > /dev/null
145
+ }
146
+
138
147
  function rvm-install-source {
139
148
 
140
- version="${1:-1.8.6}"
141
- case "$version" in
142
- 1.9|1.9.1) major="1.9" ; minor="1" ; level="${2-243}" ;;
143
- 1.9.2) major="1.9" ; minor="2" ; level="${2-review1}" ;;
144
- 1.8|1.8.6) major="1.8" ; minor="6" ; level="${2-369}" ;;
145
- 1.8.7) major="1.8" ; minor="7" ; level="${2-174}" ;;
146
- *) rvm-log-fail "Ruby version '$version' is unknown."
149
+ rvm_version="${1:-1.8.6}"
150
+ case "$rvm_version" in
151
+ 1.9|1.9.1) rvm_major="1.9" ; rvm_minor="1" ; rvm_patch_level="${2:-243}" ;;
152
+ 1.9.2) rvm_major="1.9" ; rvm_minor="2" ; rvm_patch_level="${2:-review1}" ;;
153
+ 1.8|1.8.6) rvm_major="1.8" ; rvm_minor="6" ; rvm_patch_level="${2:-369}" ;;
154
+ 1.8.7) rvm_major="1.8" ; rvm_minor="7" ; rvm_patch_level="${2:-174}" ;;
155
+ *) rvm-log-fail "Ruby version '$rvm_version' is unknown."
147
156
  esac
148
157
 
149
- package_name="ruby-$major.$minor-p$level"
150
- url="ftp://ftp.ruby-lang.org/pub/ruby/$major/$package_name.tar.gz"
151
-
152
- rvm-log-info "Installing Ruby from source to: $install_path/$package_name"
153
- mkdir -p $install_path/$package_name
154
-
155
- pushd $source_path > /dev/null
156
- if [ -d $package_name ] ; then
157
- cd $package_name
158
+ rvm_package_name="ruby-$rvm_major.$rvm_minor-p$rvm_patch_level"
159
+ rvm_url="ftp://ftp.ruby-lang.org/pub/ruby/$rvm_major/$rvm_package_name.tar.gz"
160
+
161
+ rvm-log-info "Installing Ruby from source to: $rvm_install_path/$rvm_package_name"
162
+ mkdir -p $rvm_log_path/$rvm_package_name
163
+
164
+ pushd $rvm_source_path > /dev/null
165
+ if [ -d $rvm_source_path/$rvm_package_name ] ; then
166
+ cd $rvm_source_path/$rvm_package_name
158
167
  else
159
- if [ ! -f "$package_name.tar.gz" ] ; then
160
- rvm-log-info "\tDownloading $package_name, this may take a while depending on your connection..."
161
- eval $curl $url
168
+ if [ ! -f "$rvm_archives_path/$rvm_package_name.tar.gz" ] ; then
169
+ rvm-log-info "\tDownloading $rvm_package_name, this may take a while depending on your connection..."
170
+ rvm-curl $rvm_url
162
171
  fi
163
- rvm-log-info "\tExtracting $package_name..."
164
- tar xzf $package_name.tar.gz && cd $package_name
172
+ rvm-log-info "\tExtracting $rvm_package_name..."
173
+ mkdir -p $rvm_source_path/$rvm_package_name
174
+ nice -n $niceness tar xzf $rvm_archives_path/$rvm_package_name.tar.gz -C $rvm_source_path
165
175
  fi
166
176
 
167
- rvm-log-info "\tConfiguring $package_name using ${configure-'--enable-shared'}, this may take a while depending on your cpu(s)..."
168
- ./configure --prefix=$install_path/$package_name ${configure-'--enable-shared'} > $install_path/log/$package_name/configure.log 2> $install_path/log/$package_name/configure.error.log
177
+ cd $rvm_source_path/$rvm_package_name
178
+ rvm-log-info "\tConfiguring $rvm_package_name using ${configure:-"--enable-shared"}, this may take a while depending on your cpu(s)..."
179
+ nice -n $niceness ./configure --prefix=$rvm_install_path/$rvm_package_name ${configure:-"--enable-shared"} > $rvm_log_path/$rvm_package_name/configure.log 2> $rvm_log_path/$rvm_package_name/configure.error.log
169
180
 
170
- rvm-log-info "\tCompiling $package_name, this may take a while, depending on your cpu(s)..."
171
- make > $install_path/log/$package_name/make.log 2> $install_path/log/$package_name/make.error.log
181
+ rvm-log-info "\tCompiling $rvm_package_name, this may take a while, depending on your cpu(s)..."
182
+ nice -n $niceness make > $rvm_log_path/$rvm_package_name/make.log 2> $rvm_log_path/$rvm_package_name/make.error.log
172
183
 
173
- rvm-log-info "\tInstalling $package_name"
174
- make install > $install_path/log/$package_name/install.log 2> $install_path/log/$package_name/install.error.log
175
- chmod +x $install_path/$package_name/bin/*
184
+ rvm-log-info "\tInstalling $rvm_package_name"
185
+ nice -n $niceness make install > $rvm_log_path/$rvm_package_name/install.log 2> $rvm_log_path/$rvm_package_name/install.error.log
186
+ chmod +x $rvm_install_path/$rvm_package_name/bin/*
176
187
 
177
- # Create the ~/.rvm/bin/$package_name
178
- ln -fs $install_path/$package_name/bin/ruby $install_path/bin/$package_name
188
+ ln -fs $rvm_install_path/$rvm_package_name/bin/ruby $rvm_install_path/bin/$rvm_package_name
179
189
 
180
- # Now install rubygems for this ruby version.
181
- rvm-log-info "\tInstalling rubygems dedicated to $package_name..."
182
- gem_package_name="rubygems-1.3.5"
183
- gem_url="http://rubyforge.org/frs/download.php/60718/$gem_package_name.tgz"
184
- if [ -d $gem_package_name ] ; then
185
- cd $gem_package_name
190
+ rvm-log-info "\tInstalling rubygems dedicated to $rvm_package_name..."
191
+ rvm_gem_package_name="rubygems-1.3.5"
192
+ rvm_gem_url="http://rubyforge.org/frs/download.php/60718/$rvm_gem_package_name.tgz"
193
+ if [ -d $rvm_source_path/$rvm_gem_package_name ] ; then
194
+ cd $rvm_source_path/$rvm_gem_package_name
186
195
  else
187
- if [ ! -f $gem_package_name.tgz ] ; then eval $curl $gem_url ; fi
188
- tar zxf $gem_package_name.tgz && cd $gem_package_name
196
+ if [ ! -f "$rvm_archives_path/$rvm_gem_package_name.tgz" ] ; then rvm-curl $rvm_gem_url ; fi
197
+ mkdir -p $rvm_source_path/$rvm_gem_package_name
198
+ nice -n $niceness tar zxf $rvm_archives_path/$rvm_gem_package_name.tgz -C $rvm_source_path
189
199
  fi
190
200
  # Well this is fun... fix nil error on require_paths:
191
- sed -i '' "s/require_paths\.join/require_paths.to_a.join/" $source_path/$package_name/$gem_package_name/lib/rubygems/gem_path_searcher.rb
192
- $install_path/$package_name/bin/ruby ./setup.rb > $install_path/log/$package_name/rubygems.install.log 2> $install_path/log/$package_name/rubygems.install.error.log
201
+ 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
202
+
203
+ nice -n $niceness $rvm_install_path/$rvm_package_name/bin/ruby $rvm_source_path/$rvm_gem_package_name/setup.rb > $rvm_log_path/$rvm_package_name/rubygems.install.log 2> $rvm_log_path/$rvm_package_name/rubygems.install.error.log
193
204
  popd > /dev/null
194
- rvm-log-info "Installation of $package_name complete."
205
+ rvm-log-info "Installation of $rvm_package_name complete."
195
206
 
196
207
  for gem_name in rake ; do
197
208
  rvm-log-info "Installing $gem_name"
198
- $install_path/$package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $install_path/log/$package_name/gems.install.log 2> $install_path/log/$package_name/gems.error.log
209
+ nice -n $niceness $rvm_install_path/$rvm_package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $rvm_log_path/$rvm_package_name/gems.install.log 2> $rvm_log_path/$rvm_package_name/gems.error.log
199
210
  done
200
211
  }
201
212
 
202
213
  function rvm-install-ruby {
203
214
 
204
- ruby_options=$RUBYOPT ; unset RUBYOPT
215
+ if [ -z "$RUBYOPT" ] ; then
216
+ ruby_options=$RUBYOPT ; unset RUBYOPT
217
+ fi
205
218
 
206
- case "$implementation" in
219
+ case "$rvm_implementation" in
207
220
 
208
221
  ree)
209
- version=${version-1.8.6}
210
- patchlevel=${patchlevel-20090610}
211
- package_name="ruby-enterprise-$version-$patchlevel"
212
- url="http://rubyforge.org/frs/download.php/58677/$package_name.tar.gz"
213
- rvm-log-info "Installing Ruby Enterprise Edition from source to: $install_path/$package_name"
214
- pushd $source_path > /dev/null
215
- if [ -d $package_name ] ; then
216
- cd $package_name
222
+ rvm_version=${rvm_version:-1.8.6}
223
+ rvm_patchlevel=${rvm_patchlevel:-20090610}
224
+ rvm_package_name="ruby-enterprise-$rvm_version-$rvm_patchlevel"
225
+ rvm_url="http://rubyforge.org/frs/download.php/58677/$rvm_package_name.tar.gz"
226
+ rvm-log-info "Installing Ruby Enterprise Edition from source to: $rvm_install_path/$rvm_package_name"
227
+ pushd $rvm_source_path > /dev/null
228
+ if [ -d $rvm_source_path/$rvm_package_name ] ; then
229
+ cd $rvm_source_path/$rvm_package_name
217
230
  else
218
- if [ ! -f "$package_name.tar.gz" ] ; then
219
- rvm-log-info "\tDownloading $package_name, this may take a while depending on your connection..."
220
- eval $curl $url
231
+ if [ ! -f "$rvm_archives_path/$rvm_package_name.tar.gz" ] ; then
232
+ rvm-log-info "\tDownloading $rvm_package_name, this may take a while depending on your connection..."
233
+ rvm-curl $rvm_url
221
234
  fi
222
- rvm-log-info "\tExtracting $package_name..."
223
- tar xzf $package_name.tar.gz && cd $package_name
235
+ rvm-log-info "\tExtracting $rvm_package_name..."
236
+ mkdir -p $rvm_source_path/$rvm_package_name
237
+ nice -n $niceness tar xzf $rvm_archives_path/$rvm_package_name.tar.gz -C $rvm_source_path
224
238
  fi
225
239
 
226
- rvm-log-info "\tInstalling $package_name, this may take a while, depending on your cpu(s)..."
227
- mkdir -p $install_path/$package_name
228
- ./installer -a $install_path/ruby-enterprise-$version-$patchlevel --dont-install-useful-gems > $install_path/log/$package_name/install.log 2> $install_path/log/$package_name/install.error.log
229
- chmod +x $install_path/$package_name/bin/*
240
+ rvm-log-info "\tInstalling $rvm_package_name, this may take a while, depending on your cpu(s)..."
241
+ mkdir -p $rvm_log_path/$rvm_package_name
230
242
 
231
- ln -fs $install_path/$package_name/bin/ruby $install_path/bin/$package_name
243
+ cd $rvm_source_path/$rvm_package_name
244
+ nice -n $niceness ./installer -a $rvm_install_path/ruby-enterprise-$rvm_version-$rvm_patchlevel --dont-install-useful-gems > $rvm_log_path/$rvm_package_name/install.log 2> $rvm_log_path/$rvm_package_name/install.error.log
245
+ chmod +x $rvm_install_path/$rvm_package_name/bin/*
232
246
 
233
- rvm-log-info "\tInstalling rubygems dedicated to $package_name..."
234
- gem_package_name="rubygems-1.3.5"
235
- gem_url="http://rubyforge.org/frs/download.php/60718/$gem_package_name.tgz"
236
- if [ -d $gem_package_name ] ; then
237
- cd $gem_package_name
247
+ ln -fs $rvm_install_path/$rvm_package_name/bin/ruby $rvm_install_path/bin/$rvm_package_name
248
+
249
+ rvm-log-info "\tInstalling rubygems dedicated to $rvm_package_name..."
250
+ rvm_gem_package_name="rubygems-1.3.5"
251
+ rvm_gem_url="http://rubyforge.org/frs/download.php/60718/$rvm_gem_package_name.tgz"
252
+ if [ -d $rvm_source_path/$rvm_gem_package_name ] ; then
253
+ cd $rvm_source_path/$rvm_gem_package_name
238
254
  else
239
- if [ ! -f $gem_package_name.tgz ] ; then eval $curl $gem_url ; fi
240
- tar zxf $gem_package_name.tgz && cd $gem_package_name
255
+ if [ ! -f "$rvm_archives_path/$rvm_gem_package_name.tgz" ] ; then rvm-curl $rvm_gem_url ; fi
256
+ mkdir -p $rvm_source_path/$rvm_gem_package_name
257
+ nice -n $niceness tar zxf $rvm_archives_path/$rvm_gem_package_name.tgz -C $rvm_source_path
241
258
  fi
242
259
  # Well this is fun... fix nil error on require_paths:
243
- sed -i '' "s/require_paths\.join/require_paths.to_a.join/" $source_path/$package_name/$gem_package_name/lib/rubygems/gem_path_searcher.rb
244
- $install_path/$package_name/bin/ruby ./setup.rb > $install_path/log/$package_name/rubygems.install.log 2> $install_path/log/$package_name/rubygems.install.error.log
245
- rvm-log-info "Installation of $package_name complete."
260
+ 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 > $rvm_log_path/$rvm_package_name/rubygems.install.log 2> $rvm_log_path/$rvm_package_name/rubygems.install.error.log
261
+
262
+ nice -n $niceness $rvm_install_path/$rvm_package_name/bin/ruby $rvm_source_path/$rvm_gem_package_name/setup.rb > $rvm_log_path/$rvm_package_name/rubygems.install.log 2> $rvm_log_path/$rvm_package_name/rubygems.install.error.log
263
+ rvm-log-info "Installation of $rvm_package_name complete."
246
264
  popd > /dev/null
247
-
265
+
248
266
  for gem_name in rake ; do
249
267
  rvm-log-info "Installing $gem_name"
250
- $install_path/$package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $install_path/log/$package_name/gems.install.log 2> $install_path/log/$package_name/gems.error.log
268
+ nice -n $niceness $rvm_install_path/$rvm_package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $rvm_log_path/$rvm_package_name/gems.install.log 2> $rvm_log_path/$rvm_package_name/gems.error.log
251
269
  done
252
270
  ;;
253
271
 
254
272
  jruby)
255
- version=${version-1.3.1} # 1.2.0, 1.3.1
256
- unset patchlevel # No patchlevel for jRuby
257
- zipfile="$implementation-bin-$version"
258
- package_name="$implementation-$version"
259
- url="http://dist.codehaus.org/$implementation/$version/$zipfile.zip"
260
-
261
- rvm-log-info "Installing jRuby to: $install_path/$package_name"
262
- mkdir -p $install_path/$package_name
263
- pushd $source_path > /dev/null
264
- if [ -d $zipfile ] ; then
265
- cd $zipfile
273
+ rvm_version=${rvm_version:-1.3.1} # 1.2.0, 1.3.1
274
+ unset rvm_patchlevel # No patchlevel for jRuby
275
+ rvm_package_file="$rvm_implementation-bin-$rvm_version"
276
+ rvm_package_name="$rvm_implementation-$rvm_version"
277
+ rvm_url="http://dist.codehaus.org/$rvm_implementation/$rvm_version/$rvm_package_file.zip"
278
+
279
+ rvm-log-info "Installing jRuby to: $rvm_install_path/$rvm_package_name"
280
+ mkdir -p $rvm_log_path/$rvm_package_name
281
+ pushd $rvm_source_path > /dev/null
282
+ if [ -d $rvm_package_name ] ; then
283
+ cd $rvm_source_path/$rvm_package_name
266
284
  else
267
- if [ ! -f "$zipfile.zip" ] ; then
268
- rvm-log-info "\tDownloading $zipfile, this may take a while depending on your connection..."
269
- eval $curl $url
285
+ if [ ! -f "$rvm_archives_path/$rvm_package_file.zip" ] ; then
286
+ rvm-log-info "\tDownloading $rvm_package_file, this may take a while depending on your connection..."
287
+ rvm-curl $rvm_url
270
288
  fi
271
- rvm-log-info "\tExtracting $zipfile..."
272
- jar xf $zipfile.zip
289
+ rvm-log-info "\tExtracting $rvm_package_file..."
290
+ nice -n $niceness unzip -q $rvm_archives_path/$rvm_package_file.zip -d $rvm_source_path
273
291
  fi
274
292
 
275
- rvm-log-info "\tInstalling $package_name..."
276
- mkdir -p $install_path/$package_name/bin/
277
- rsync -ag $source_path/$package_name/ $install_path/$package_name/
278
- cd $source_path/$package_name/tool/nailgun && make > $install_path/log/$package_name/install.nailgun.log 2> $install_path/log/$package_name/install.error.nailgun.log
293
+ rvm-log-info "\tInstalling $rvm_package_name..."
294
+ mkdir -p $rvm_install_path/$rvm_package_name/bin/
295
+ rsync -ag $rvm_source_path/$rvm_package_name/ $rvm_install_path/$rvm_package_name/
296
+ cd $rvm_source_path/$rvm_package_name/tool/nailgun && make > $rvm_log_path/$rvm_package_name/install.nailgun.log 2> $rvm_log_path/$rvm_package_name/install.error.nailgun.log
279
297
  popd > /dev/null
280
- chmod +x $install_path/$package_name/bin/*
298
+ chmod +x $rvm_install_path/$rvm_package_name/bin/*
281
299
  for binary in jruby jgem jirb ; do
282
- ln -fs $install_path/$package_name/bin/$binary $install_path/$package_name/bin/${binary#j}
300
+ ln -fs $rvm_install_path/$rvm_package_name/bin/$binary $rvm_install_path/$rvm_package_name/bin/${binary#j}
283
301
  done
284
302
 
285
- ln -fs $install_path/$package_name/bin/ruby $install_path/bin/$package_name
303
+ ln -fs $rvm_install_path/$rvm_package_name/bin/ruby $rvm_install_path/bin/$rvm_package_name
286
304
 
287
305
  for gem_name in rake jruby-openssl ; do
288
306
  rvm-log-info "Installing $gem_name"
289
- $install_path/$package_name/bin/jgem install $gem_name --no-rdoc --no-ri -q >> $install_path/log/$package_name/gems.install.log 2> $install_path/log/$package_name/gems.error.log
307
+ nice -n $niceness $rvm_install_path/$rvm_package_name/bin/jgem install $gem_name --no-rdoc --no-ri -q >> $rvm_log_path/$rvm_package_name/gems.install.log 2> $rvm_log_path/$rvm_package_name/gems.error.log
290
308
  done
291
309
  ;;
292
310
 
293
311
  ruby)
294
- rvm-install-source ${version-1.8.6} ${patchlevel-$3}
312
+ rvm-install-source ${rvm_version:-1.8.6} ${rvm_patchlevel:-$3}
295
313
  ;;
296
314
 
297
315
  default)
298
316
  rvm-log-fail "please specify a ruby implementation to install."
299
317
  ;;
300
- *) rvm-log-fail "Ruby implementation '$implementation' is not known."
318
+ *) rvm-log-fail "Ruby implementation '$rvm_implementation' is not known."
301
319
 
302
320
  esac
303
321
 
@@ -309,150 +327,150 @@ function rvm-install-ruby {
309
327
 
310
328
  function rvm-uninstall {
311
329
 
312
- implementation="${1-$implementation}"
313
- case "$implementation" in
330
+ rvm_implementation="${1:-$rvm_implementation}"
331
+ case "$rvm_implementation" in
314
332
 
315
333
  jruby)
316
- version="${version-1.3.1}"
317
- if [ "$version" = "1.2.0" -o "$version" = "1.3.1" ] ; then
318
- package_name="jruby*-$version"
334
+ rvm_version="${rvm_version:-1.3.1}"
335
+ if [ "$rvm_version" = "1.2.0" -o "$rvm_version" = "1.3.1" ] ; then
336
+ rvm_package_name="jruby*-$rvm_version"
319
337
  else
320
- rvm-log-fail "Unknown jRuby version: $version"
338
+ rvm-log-fail "Unknown jRuby version: $rvm_version"
321
339
  fi
322
340
  ;;
323
341
 
324
342
  ree)
325
- version=${version-1.8.6}
326
- if [ "$version" = "1.8.6" ] ; then
327
- package_name="ruby-enterprise-$version-${3-20090610}"
343
+ rvm_version=${rvm_version:-1.8.6}
344
+ if [ "$rvm_version" = "1.8.6" ] ; then
345
+ rvm_package_name="ruby-enterprise-$rvm_version-${3:-20090610}"
328
346
  else
329
- rvm-log-fail "Unknown Ruby Enterprise Edition version: $version"
347
+ rvm-log-fail "Unknown Ruby Enterprise Edition version: $rvm_version"
330
348
  fi
331
349
  ;;
332
350
 
333
351
  ruby)
334
- if [ "$version" = "1.8.7" ] ; then
335
- package_name="ruby-1.8.7-p${patchlevel-174}"
352
+ if [ "$rvm_version" = "1.8.7" ] ; then
353
+ rvm_package_name="ruby-1.8.7-p${rvm_patchlevel:-174}"
336
354
 
337
- elif [ "$version" = "1.8.6" -o "$version" = "1.8" ] ; then
338
- package_name="ruby-1.8.6-p${patchlevel-369}"
355
+ elif [ "$rvm_version" = "1.8.6" -o "$rvm_version" = "1.8" ] ; then
356
+ rvm_package_name="ruby-1.8.6-p${rvm_patchlevel:-369}"
339
357
 
340
- elif [ "$version" = "1.9.2" ] ; then
341
- package_name="ruby-1.9.2-p${patchlevel-review1}"
358
+ elif [ "$rvm_version" = "1.9.2" ] ; then
359
+ rvm_package_name="ruby-1.9.2-p${rvm_patchlevel:-review1}"
342
360
 
343
- elif [ "$version" = "1.9.1" -o "$version" = "1.9" ] ; then
344
- package_name="ruby-1.9.1-p${patchlevel-243}"
361
+ elif [ "$rvm_version" = "1.9.1" -o "$rvm_version" = "1.9" ] ; then
362
+ rvm_package_name="ruby-1.9.1-p${rvm_patchlevel:-243}"
345
363
 
346
364
  else
347
- rvm-log-fail "Unknown ruby version: $version"
365
+ rvm-log-fail "Unknown ruby version: $rvm_version"
348
366
  fi
349
367
  ;;
350
368
 
351
369
  *)
352
- rvm-log-fail "Ruby implementation '$implementation' is not known."
370
+ rvm-log-fail "Ruby implementation '$rvm_implementation' is not known."
353
371
 
354
372
  esac
355
373
 
356
- if [ ! -z "$package_name" ] ; then
357
- for path in $source_path $install_path ; do
358
- if [ -d $path/$package_name ] ; then
359
- rvm-log-info "Removing $path/$package_name..."
360
- rm -rf $path/$package_name
374
+ if [ ! -z "$rvm_package_name" ] ; then
375
+ for path in $rvm_source_path $rvm_install_path ; do
376
+ if [ -d $path/$rvm_package_name ] ; then
377
+ rvm-log-info "Removing $path/$rvm_package_name..."
378
+ rm -rf $path/$rvm_package_name
361
379
  fi
362
380
  done
363
381
  else
364
- rvm-log-fail "Cannot uninstall unknown package '$package_name'"
382
+ rvm-log-fail "Cannot uninstall unknown package '$rvm_package_name'"
365
383
  fi
366
384
 
367
385
  }
368
386
 
369
387
  function rvm-use {
370
388
 
371
- implementation="${1-$implementation}"
372
- case "$implementation" in
389
+ rvm_implementation="${1:-$rvm_implementation}"
390
+ case "$rvm_implementation" in
373
391
 
374
392
  default)
375
- rm -f $install_path/current
376
- source $install_path/default
393
+ rm -f $rvm_install_path/current
377
394
  unset GEM_HOME MY_RUBY_HOME
395
+ source $rvm_install_path/default
378
396
  PATH="$default_path" ; export PATH
379
397
  ;;
380
398
 
381
399
  jruby)
382
- version="${version-1.3.1}"
383
- if [ "$version" = "1.2.0" -o "$version" = "1.3.1" ] ; then
384
- MY_RUBY_HOME="$install_path/jruby-$version"
400
+ rvm_version="${rvm_version:-1.3.1}"
401
+ if [ "$rvm_version" = "1.2.0" -o "$rvm_version" = "1.3.1" ] ; then
402
+ MY_RUBY_HOME="$rvm_install_path/jruby-$rvm_version"
385
403
  GEM_HOME="$HOME/.gem/jruby/1.8"
386
404
  alias ruby_ng="jruby --ng"
387
405
  alias ruby_ng_server="jruby --ng-server"
388
406
  else
389
- rvm-log-fail "Unknown jRuby version: $version"
407
+ rvm-log-fail "Unknown jRuby version: $rvm_version"
390
408
  fi
391
409
  ;;
392
410
 
393
411
  ree)
394
- version=${version-1.8.6}
395
- if [ "$version" = "1.8.6" ] ; then
396
- patchlevel="${3-20090610}"
397
- MY_RUBY_HOME="$install_path/ruby-enterprise-$version-$patchlevel"
412
+ rvm_version=${rvm_version:-1.8.6}
413
+ if [ "$rvm_version" = "1.8.6" ] ; then
414
+ rvm_patchlevel="${3:-20090610}"
415
+ MY_RUBY_HOME="$rvm_install_path/ruby-enterprise-$rvm_version-$rvm_patchlevel"
398
416
  GEM_HOME="$HOME/.gem/ruby-enterprise/1.8"
399
417
  else
400
- rvm-log-fail "Unknown Ruby Enterprise Edition version: $version"
418
+ rvm-log-fail "Unknown Ruby Enterprise Edition version: $rvm_version"
401
419
  fi
402
420
  ;;
403
421
 
404
422
  ruby)
405
- if [ "$version" = "1.8.7" ] ; then
406
- level="${patchlevel-174}"
407
- MY_RUBY_HOME="$install_path/ruby-1.8.7-p$level"
408
- GEM_HOME="$HOME/.gem/ruby/1.8"
409
-
410
- elif [ "$version" = "1.8.6" -o "$version" = "1.8" ] ; then
411
- level="${patchlevel-369}"
412
- MY_RUBY_HOME="$install_path/ruby-1.8.6-p$level"
413
- GEM_HOME="$HOME/.gem/ruby/1.8"
414
-
415
- elif [ "$version" = "1.9.2" ] ; then
416
- level="${patchlevel-review1}"
417
- MY_RUBY_HOME="$install_path/ruby-1.9.2-p$level"
423
+ if [ "$rvm_version" = "1.8.7" ] ; then
424
+ level="${rvm_patchlevel:-174}"
425
+ MY_RUBY_HOME="$rvm_install_path/ruby-1.8.7-p$level"
426
+ GEM_HOME="$HOME/.gem/ruby/1.8.7"
427
+
428
+ elif [ "$rvm_version" = "1.8.6" -o "$rvm_version" = "1.8" ] ; then
429
+ level="${rvm_patchlevel:-369}"
430
+ MY_RUBY_HOME="$rvm_install_path/ruby-1.8.6-p$level"
431
+ GEM_HOME="$HOME/.gem/ruby/1.8.6"
432
+
433
+ elif [ "$rvm_version" = "1.9.2" ] ; then
434
+ level="${rvm_patchlevel:-review1}"
435
+ MY_RUBY_HOME="$rvm_install_path/ruby-1.9.2-p$level"
418
436
  GEM_HOME="$HOME/.gem/ruby/1.9.2"
419
437
 
420
- elif [ "$version" = "1.9.1" -o "$version" = "1.9" ] ; then
421
- level="${patchlevel-243}"
422
- MY_RUBY_HOME="$install_path/ruby-1.9.1-p$level"
438
+ elif [ "$rvm_version" = "1.9.1" -o "$rvm_version" = "1.9" ] ; then
439
+ level="${rvm_patchlevel:-243}"
440
+ MY_RUBY_HOME="$rvm_install_path/ruby-1.9.1-p$level"
423
441
  GEM_HOME="$HOME/.gem/ruby/1.9.1"
424
442
 
425
443
  else
426
- rvm-log-fail "Unknown ruby version: $version"
444
+ rvm-log-fail "Unknown ruby version: $rvm_version"
427
445
  fi
428
446
  ;;
429
447
 
430
448
  *)
431
- rvm-log-fail "Ruby implementation '$implementation' is not known."
449
+ rvm-log-fail "Ruby implementation '$rvm_implementation' is not known."
432
450
 
433
451
  esac
434
452
 
435
453
  # Now actually use it.
436
- if [ ! "$implementation" = "default" ] ; then
454
+ if [ ! "$rvm_implementation" = "default" ] ; then
437
455
  # Install if not installed
438
456
  if [ ! -d $MY_RUBY_HOME ] ; then
439
- rvm-log-warn "$implementation $version is not installed."
440
- rvm-install-ruby $implementation $version $level
457
+ rvm-log-warn "$rvm_implementation $rvm_version is not installed."
458
+ rvm-install-ruby $rvm_implementation $rvm_version $level
441
459
  fi
442
460
 
443
461
  # Set as 'current'
444
462
  RUBY_VERSION="$($MY_RUBY_HOME/bin/ruby -v | sed 's/^\(.*\) (.*$/\1/')"
445
463
  export GEM_HOME MY_RUBY_HOME RUBY_VERSION
446
464
 
447
- echo "PATH=$MY_RUBY_HOME/bin:$GEM_HOME/bin:$default_path ; export PATH" > $install_path/current
465
+ echo "PATH=$MY_RUBY_HOME/bin:$GEM_HOME/bin:$default_path ; export PATH" > $rvm_install_path/current
448
466
  for variable in RUBY_VERSION GEM_HOME MY_RUBY_HOME ; do
449
467
  eval "export $variable"
450
468
  eval value=\$${variable}
451
- echo "${variable}='$value' ; export ${variable}" >> $install_path/current
469
+ echo "${variable}='$value' ; export ${variable}" >> $rvm_install_path/current
452
470
  done
453
471
  fi
454
472
 
455
- rvm-log-info "Switching to $implementation $version $patchlevel ...\n"
473
+ rvm-log-info "Switching to $rvm_implementation $rvm_version $rvm_patchlevel ...\n"
456
474
  if [ ! -z "$BASH_VERSION" ] ; then
457
475
  exec bash -l
458
476
  elif [ ! -z "$ZSH_VERSION" ] ; then
@@ -464,29 +482,24 @@ function rvm-use {
464
482
  }
465
483
 
466
484
  function rvm-symlinks {
467
- mkdir -p ${install_path}/bin
468
- for release in `ls $install_path | grep 'ruby-'` ; do
485
+
486
+ mkdir -p ${rvm_install_path}/bin
487
+ for release in `ls $rvm_install_path | grep 'ruby-'` ; do
469
488
  for binary in ruby irb gem rdoc ri erb ; do
470
- if [ -x $install_path/$release/bin/$binary ] ; then
471
- ln -fs $install_path/$release/bin/$binary $install_path/bin/$binary-${release#ruby-}
489
+ if [ -x $rvm_install_path/$release/bin/$binary ] ; then
490
+ ln -fs $rvm_install_path/$release/bin/$binary $rvm_install_path/bin/$binary-${release#ruby-}
472
491
  fi
473
492
  done
474
493
  done
494
+
475
495
  }
476
496
 
477
497
  function rvm-list {
478
498
 
479
- echo -e "\nruby:"
480
- ls -l $install_path/ | awk '/ ruby-[1-2].*/ { print " - " $NF }'
481
- echo
482
- echo "jruby:"
483
- ls -l $install_path/ | awk '/jruby-.*/ { print " - " $NF }'
484
- echo
485
- echo "ree:"
486
- ls $install_path/ | awk '/ruby-enterprise-.*/ { print " - " $NF }'
487
- echo
488
- echo "default:"
489
- echo " - system (`$default_system_ruby -v`)"
499
+ echo -e "\nruby:\n$(ls -l $rvm_install_path/ | awk '/ ruby-[1-2].*/ { print " - " $NF }')\n"
500
+ echo -e "jruby:\n$(ls -l $rvm_install_path/ | awk '/jruby-.*/ { print " - " $NF }')\n"
501
+ echo -e "ree:\n$(ls $rvm_install_path/ | awk '/ruby-enterprise-.*/ { print " - " $NF }')\n"
502
+ echo -e "system:\n - ($($default_system_ruby -v))\n"
490
503
 
491
504
  }
492
505
 
@@ -496,7 +509,7 @@ function rvm-reset {
496
509
  for variable in RUBY_VERSION GEM_HOME MY_RUBY_HOME ; do
497
510
  unset $variable
498
511
  done
499
- rm -f $install_path/default* $install_path/current
512
+ rm -f $rvm_install_path/default* $rvm_install_path/current
500
513
  if [ ! -z "$BASH_VERSION" ] ; then
501
514
  exec bash -l
502
515
  elif [ ! -z "$ZSH_VERSION" ] ; then
@@ -504,29 +517,29 @@ function rvm-reset {
504
517
  else
505
518
  rvm-log-fail "Your shell is not supported bash and zsh are currently supported."
506
519
  fi
507
-
520
+
508
521
  }
509
-
522
+
510
523
  function rvm-gem-dir {
511
524
 
512
- implementation=${1-$implementation}
513
- if [ "$implementation" = "" ] ; then implementation="current" ; fi
525
+ rvm_implementation=${1:-$rvm_implementation}
526
+ if [ -z "$rvm_implementation" ] ; then rvm_implementation="current" ; fi
514
527
 
515
- case "$implementation" in
528
+ case "$rvm_implementation" in
516
529
  jruby) GEM_HOME="$HOME/.gem/jruby/1.8" ;;
517
530
  ree) GEM_HOME="$HOME/.gem/ruby-enterprise/1.8" ;;
518
531
  ruby)
519
- if [ "${2-$version}" = "1.8" -o "${2-$version}" = "1.8.6" ] ; then
532
+ if [ "${2:-$rvm_version}" = "1.8" -o "${2:-$rvm_version}" = "1.8.6" ] ; then
520
533
  GEM_HOME="$HOME/.gem/ruby/1.8"
521
534
 
522
- elif [ "${2-$version}" = "1.9.2" ] ; then
535
+ elif [ "${2:-$rvm_version}" = "1.9.2" ] ; then
523
536
  GEM_HOME="$HOME/.gem/ruby/1.9.2"
524
537
 
525
- elif [ "${2-$version}" = "1.9" -o "${2-$version}" = "1.9.1" ] ; then
538
+ elif [ "${2:-$rvm_version}" = "1.9" -o "${2:-$rvm_version}" = "1.9.1" ] ; then
526
539
  GEM_HOME="$HOME/.gem/ruby/1.9.1"
527
540
 
528
541
  else
529
- rvm-log-fail "Unknown Version: ${2-$version}"
542
+ rvm-log-fail "Unknown Version: ${2:-$rvm_version}"
530
543
  fi
531
544
  ;;
532
545
  current)
@@ -536,56 +549,56 @@ function rvm-gem-dir {
536
549
  GEM_HOME=$default_system_gem_path
537
550
  ;;
538
551
  user)
539
- GEM_HOME=$default_gem_path
552
+ GEM_HOME=$default_user_gem_path
540
553
  ;;
541
554
  *)
542
- rvm-log-fail "Ruby implementation '$implementation' is not known."
555
+ rvm-log-fail "Ruby implementation '$rvm_implementation' is not known."
543
556
  esac
544
557
 
545
558
  if [ -d $GEM_HOME ] ; then
546
559
  echo $GEM_HOME && cd $GEM_HOME
547
560
  else
548
- rvm-log-fail "$implementation $version GEM directory does not exist."
561
+ rvm-log-fail "$rvm_implementation $rvm_version GEM directory does not exist."
549
562
  fi
550
563
 
551
564
  }
552
565
 
553
566
  function rvm-src-dir {
554
- case "${1-$implementation}" in
567
+ case "${1:-$rvm_implementation}" in
555
568
 
556
569
  jruby)
557
- version=${version-1.3.1}
558
- if [ "${2-$version}" = "1.2.0" -o "${2-$version}" = "1.3.1" ] ; then
559
- src_dir="$source_path/$implementation-$version"
570
+ rvm_version=${rvm_version:-1.3.1}
571
+ if [ "${2:-$rvm_version}" = "1.2.0" -o "${2:-$rvm_version}" = "1.3.1" ] ; then
572
+ src_dir="$rvm_source_path/$rvm_implementation-$rvm_version"
560
573
  else
561
- rvm-log-fail "Unknown jRuby version: $version"
574
+ rvm-log-fail "Unknown jRuby version: $rvm_version"
562
575
  fi
563
576
  ;;
564
577
 
565
578
  ree)
566
- version=${version-1.8.6}
567
- if [ "${2-$version}" = "1.8.6" -o "${2-$version}" = "1.8" ] ; then
568
- src_dir="$source_path/ruby-enterprise-${2-$version}-"${3-20090610}""
579
+ rvm_version=${rvm_version:-1.8.6}
580
+ if [ "${2:-$rvm_version}" = "1.8.6" -o "${2:-$rvm_version}" = "1.8" ] ; then
581
+ src_dir="$rvm_source_path/ruby-enterprise-${2:-$rvm_version}-"${3:-20090610}""
569
582
  else
570
- rvm-log-fail "Unknown Ruby Enterprise Edition version: ${2-$version}"
583
+ rvm-log-fail "Unknown Ruby Enterprise Edition version: ${2:-$rvm_version}"
571
584
  fi
572
585
  ;;
573
586
 
574
587
  ruby)
575
- if [ "${2-$version}" = "1.8.7" ] ; then
576
- src_dir="$source_path/ruby-1.8.7-p${patchlevel-174}"
588
+ if [ "${2:-$rvm_version}" = "1.8.7" ] ; then
589
+ src_dir="$rvm_source_path/ruby-1.8.7-p${rvm_patchlevel:-174}"
577
590
 
578
- elif [ "${2-$version}" = "1.8" -o "${2-$version}" = "1.8.6" ] ; then
579
- src_dir="$source_path/ruby-1.8.6-p${patchlevel-369}"
591
+ elif [ "${2:-$rvm_version}" = "1.8" -o "${2:-$rvm_version}" = "1.8.6" ] ; then
592
+ src_dir="$rvm_source_path/ruby-1.8.6-p${rvm_patchlevel:-369}"
580
593
 
581
- elif [ "${2-$version}" = "1.9.2" ] ; then
582
- src_dir="$source_path/ruby-1.9.2-p${patchlevel-review1}"
594
+ elif [ "${2:-$rvm_version}" = "1.9.2" ] ; then
595
+ src_dir="$rvm_source_path/ruby-1.9.2-p${rvm_patchlevel:-review1}"
583
596
 
584
- elif [ "${2-$version}" = "1.9" -o "${2-$version}" = "1.9.1" ] ; then
585
- src_dir="$source_path/ruby-1.9.1-p${patchlevel-243}"
597
+ elif [ "${2:-$rvm_version}" = "1.9" -o "${2:-$rvm_version}" = "1.9.1" ] ; then
598
+ src_dir="$rvm_source_path/ruby-1.9.1-p${rvm_patchlevel:-243}"
586
599
 
587
600
  else
588
- rvm-log-fail "unknown Ruby version: ${2-$version}"
601
+ rvm-log-fail "unknown Ruby version: ${2:-$rvm_version}"
589
602
  fi
590
603
  ;;
591
604
 
@@ -594,14 +607,14 @@ function rvm-src-dir {
594
607
  ;;
595
608
 
596
609
  *)
597
- rvm-log-fail "Ruby implementation '$implementation' is not known."
610
+ rvm-log-fail "Ruby implementation '$rvm_implementation' is not known."
598
611
  return 1
599
612
  esac
600
613
 
601
614
  if [ -d $src_dir ] ; then
602
615
  cd $src_dir
603
616
  else
604
- rvm-log-fail "$implementation $version source directory does not exist."
617
+ rvm-log-fail "$rvm_implementation $rvm_version source directory does not exist."
605
618
  fi
606
619
 
607
620
  }
@@ -610,11 +623,11 @@ function rvm-src-dir {
610
623
  function rvm-gem-dup {
611
624
 
612
625
  if [ "$1" = "default" ] ; then
613
- gem_dir="$default_gem_path"
626
+ gem_dir="$default_user_gem_path"
614
627
  elif [ "$1" = "system" ] ; then
615
628
  gem_dir="$default_system_gem_path"
616
629
  else
617
- gem_dir=${1-$default_gem_path} # TODO: check for and remove trailing /gems
630
+ gem_dir=${1:-$default_user_gem_path} # TODO: check for and remove trailing /gems
618
631
  fi
619
632
 
620
633
  if [ ! -z "$gem_dir" ] ; then
@@ -628,173 +641,188 @@ function rvm-gem-dup {
628
641
  fi
629
642
  done
630
643
  else
631
- rvm-log-fail "Unknown $implementation version: $version"
644
+ rvm-log-fail "Unknown $rvm_implementation version: $rvm_version"
632
645
  fi
633
646
 
634
647
  }
635
648
 
636
- function rvm-version { echo "rvm $rvm_version ($rvm_updated) [$rvm_website]" ; }
649
+ function rvm-version { echo "rvm $rvm_meta_version ($rvm_meta_updated) [$rvm_meta_website]" ; }
637
650
 
638
651
  function rvm {
639
652
 
640
653
  # Cleanup, aisle 3
641
- for variable in action implementation patchlevel version source_path install_path manager debug prefix_path ; do
642
- eval "unset $variable"
643
- done
644
-
654
+ for variable in rvm_action rvm_implementation rvm_patchlevel rvm_version rvm_source_path rvm_install_path rvm_debug rvm_prefix_path rvm_package_name; do
655
+ eval "unset $variable"
656
+ done ; unset variable
657
+
658
+ # NOW load defaults settings. TODO: root user loads /etc/rvmrc
659
+ if [ -f ~/.rvmrc ] ; then source ~/.rvmrc ; fi
660
+
645
661
  while [ $# -gt 0 ] ; do
646
- token="$1" ; shift
647
- case "$token" in
648
- install|uninstall|use|path|info|setup|version|srcdir|list|symlinks|reset|debug)
649
- action=$token
662
+ rvm_token="$1" ; shift
663
+ case "$rvm_token" in
664
+ install|uninstall|use|path|info|setup|version|srcdir|list|symlinks|reset|debug|reload)
665
+ rvm_action=$rvm_token
650
666
  ;;
651
667
 
652
668
  ruby|jruby|ree|default|all)
653
- implementation="$token"
654
- action="${action-use}"
669
+ rvm_implementation="$rvm_token"
670
+ rvm_action="${rvm_action:-use}"
655
671
  ;;
656
672
 
657
673
  gemdir)
658
- action=$token
674
+ rvm_action=$rvm_token
659
675
  if [ "$1" = "system" ] ; then
660
- implementation="system" ; shift
676
+ rvm_implementation="system" ; shift
661
677
  fi
662
- if [ "$1" = "user" ] ; then
663
- implementation="user" ; shift
678
+ if [ "$1" = "user" ] ; then
679
+ rvm_implementation="user" ; shift
664
680
  fi
665
681
 
666
- implementation="${implementation-current}"
682
+ rvm_implementation="${rvm_implementation:-current}"
667
683
  ;;
668
684
 
669
685
  gemdup)
670
- action=$token
686
+ rvm_action=$rvm_token
671
687
  if [ -z "$1" ] ; then
672
- implementaiton="default"
688
+ rvm_implementation="default"
673
689
  elif [ "$1" = "system" ] ; then
674
- implementation=$1 ; shift
690
+ rvm_implementation=$1 ; shift
675
691
  elif [ "$1" = "default" ] ; then
676
- implementation=$1 ; shift
692
+ rvm_implementation=$1 ; shift
677
693
  else
678
- implementation=$1 ; shift
679
- version=$2 ; shift
694
+ rvm_implementation=$1 ; shift
695
+ rvm_version=$2 ; shift
680
696
  fi
681
697
  ;;
682
698
 
683
699
  1.8|1.8.6|1.8.7|1.9|1.9.1|1.9.2|1.2.0|1.3.1)
684
- version="$token"
685
- action="${action-use}"
700
+ rvm_version="$rvm_token"
701
+ rvm_action="${rvm_action:-use}"
686
702
  ;;
687
703
 
688
- -v|--version)
689
- if [ -z "$1" ] ; then
690
- action="version"
691
- else
692
- version="$1"
704
+ -v|--version)
705
+ if [ -z "$1" ] ; then
706
+ rvm_action="version"
707
+ else
708
+ rvm_version="$1"
693
709
  fi
694
710
  shift
695
711
  ;;
696
712
 
697
- -l|--level) patchlevel="$1" ; shift ;;
698
- -p|--prefix) install_path="$1" ; shift ;;
699
- -s|--source) source_path="$1" ; shift ;; # Undocumented / untested "feature"
700
- -c|--configure) configure="$1" ; shift ;;
701
- -d|--debug) debug=1 ;;
713
+ -l|--level) rvm_patchlevel="$1" ; shift ;;
714
+ -p|--prefix) rvm_prefix_path="$1" ; shift ;;
715
+ -b|--bin) rvm_bin_path="$1" ; shift ;; # Undocumented / untested "feature"
716
+ -s|--source) rvm_source_path="$1" ; shift ;; # Undocumented / untested "feature"
717
+ -a|--archive) rvm_archives_path="$1" ; shift ;;
718
+ -c|--configure) configure="$1" ; shift ;;
719
+ -n|--nice) niceness="$1" ; shift ;;
720
+ -d|--debug) rvm_debug=1 ;;
702
721
  *) rvm-usage ; return 1
703
- esac
704
- done
722
+ esac
723
+ done
705
724
 
706
- if [ "$debug" = "1" ] ; then set -x ; fi
707
-
708
- curl=`which curl`
725
+ if [ "$rvm_debug" = "1" ] ; then set -x ; fi
726
+
727
+ rvm_curl=`which curl`
709
728
  if [ $? -ne 0 ] ; then
710
729
  rvm-log-fail "rvm expects that curl is available, which curl shows no curl :("
711
730
  else
712
- curl="$curl -O -L -s"
731
+ rvm_curl="$rvm_curl -O -L -s"
713
732
  fi
714
733
 
715
- if [ -z "$implementation" -a -z "$version" ] ; then
716
- implementation="default"
734
+ if [ -z "$rvm_implementation" -a -z "$rvm_version" ] ; then
735
+ rvm_implementation="default"
717
736
  else
718
- implementation=${implementation-'ruby'}
737
+ rvm_implementation=${rvm_implementation:-ruby}
719
738
  fi
720
739
 
740
+ niceness=${niceness:-0}
741
+
721
742
  # TODO: Sanitize user input, ensure that there is a / a the end...
722
- if [ "`whoami`" = "root" ] ; then
743
+ if [ "`whoami`" = "root" ] ; then
723
744
  rvm-log-fail "root user support is not yet implemented."
724
- #prefix_path=${prefix-/usr/local/}
745
+ #rvm_prefix_path=${rvm_prefix_path:-/usr/local/}
746
+ else
747
+ rvm_prefix_path=${rvm_prefix_path:-"$HOME/."}
748
+ fi
749
+ if [ "${rvm_prefix_path#${rvm_prefix_path%?}}" = '.' -o "${rvm_prefix_path#${rvm_prefix_path%?}}" = '/' ] ; then
750
+ rvm_install_path="${rvm_prefix_path}rvm"
725
751
  else
726
- prefix_path=${prefix-$HOME/.}
752
+ rvm_install_path="${rvm_prefix_path}/rvm"
727
753
  fi
728
- source_path="${source_path-"${prefix_path}rvm/src"}"
729
- install_path="${prefix_path}rvm"
730
-
731
- mkdir -p $source_path $install_path/bin
754
+ rvm_archives_path="${rvm_archives_path:-"${rvm_install_path}/archives"}"
755
+ rvm_source_path="${rvm_source_path:-"${rvm_install_path}/src"}"
756
+ rvm_log_path=${rvm_log_path:-"${rvm_install_path}/log"}
757
+ rvm_bin_path=${rvm_bin_path:-"${rvm_install_path}/bin"}
732
758
 
733
- if [ ! -f $install_path/default ] ; then
759
+ PATH=$rvm_bin_path:$PATH ; export PATH
760
+
761
+ mkdir -p $rvm_source_path $rvm_install_path/bin $rvm_archives_path
762
+
763
+ if [ ! -f $rvm_install_path/default ] ; then
734
764
  for variable in RUBY_VERSION GEM_HOME MY_RUBY_HOME PATH ; do
735
765
  eval "export $variable"
736
766
  eval value=\$${variable}
737
- echo "${variable}='$value' ; export ${variable}" >> $install_path/default
767
+ echo "${variable}='$value' ; export ${variable}" >> $rvm_install_path/default
738
768
  done
739
769
  fi
740
770
 
741
- if [ -s $install_path/default_path ] ; then
742
- default_path=`cat $install_path/default_path`
771
+ if [ -s $rvm_install_path/default_path ] ; then
772
+ default_path=`cat $rvm_install_path/default_path`
743
773
  else
744
- echo $PATH > $install_path/default_path
774
+ echo $PATH > $rvm_install_path/default_path
745
775
  default_path=$PATH
746
776
  fi
747
777
 
748
- # default (user) gem path
749
- if [ -s $install_path/default_gem_path ] ; then
750
- default_gem_path=`cat $install_path/default_gem_path`
778
+ if [ -s $rvm_install_path/default_user_gem_path ] ; then
779
+ default_user_gem_path=`cat $rvm_install_path/default_user_gem_path`
751
780
  else
752
- ruby -r rubygems -e "puts Gem::default_path.compact.first" > $install_path/default_gem_path
781
+ ruby -r rubygems -e "puts Gem::default_path.compact.first" > $rvm_install_path/default_user_gem_path
753
782
  fi
754
783
 
755
- # system gem path
756
- if [ -s $install_path/default_system_gem_path ] ; then
757
- default_system_gem_path=`cat $install_path/default_system_gem_path`
784
+ if [ -s $rvm_install_path/default_system_gem_path ] ; then
785
+ default_system_gem_path=`cat $rvm_install_path/default_system_gem_path`
758
786
  else
759
- ruby -r rubygems -e "puts Gem::default_path.compact[1] || Gem::default_path.compact.first" > $install_path/default_system_gem_path
787
+ ruby -r rubygems -e "puts Gem::default_path.compact[1] || Gem::default_path.compact.first" > $rvm_install_path/default_system_gem_path
760
788
  fi
761
789
 
762
- # system ruby version
763
- if [ -s $install_path/default_system_ruby ] ; then
764
- default_system_ruby=`cat $install_path/default_system_ruby`
790
+ if [ -s $rvm_install_path/default_system_ruby ] ; then
791
+ default_system_ruby=`cat $rvm_install_path/default_system_ruby`
765
792
  else
766
793
  default_system_ruby=`which ruby`
767
- echo $default_system_ruby > $install_path/default_system_ruby
794
+ echo $default_system_ruby > $rvm_install_path/default_system_ruby
768
795
  fi
769
796
 
770
- case "$action" in
771
- install)
772
- if [ "$implementation" = "all" ] ; then
773
- for implementation in ruby jruby ree ; do
774
- if [ "$implementation" = "ruby" ] ; then
775
- for version in 1.8.6 1.8.7 1.9.1 1.9.2 ; do
776
- rvm-install-ruby $implementation $version $patchlevel
797
+ case "$rvm_action" in
798
+ install)
799
+ if [ "$rvm_implementation" = "all" ] ; then
800
+ for rvm_implementation in ruby jruby ree ; do
801
+ if [ "$rvm_implementation" = "ruby" ] ; then
802
+ for rvm_version in 1.8.6 1.8.7 1.9.1 1.9.2 ; do
803
+ rvm-install-ruby $rvm_implementation $rvm_version
777
804
  done
778
- unset version patchlevel
805
+ unset rvm_version
779
806
  else
780
- rvm-install-ruby $implementation $version $patchlevel
807
+ rvm-install-ruby $rvm_implementation $rvm_version
781
808
  fi
782
809
  done
783
810
  else
784
- rvm-install-ruby $implementation $version $patchlevel
811
+ rvm-install-ruby $rvm_implementation $rvm_version $rvm_patchlevel
785
812
  fi
786
813
  ;;
787
- uninstall) rvm-uninstall $implementation $version $patchlevel ;;
788
- use) rvm-use $implementation $version $patchlevel ;;
789
- list) rvm-list ;;
790
- gemdir) rvm-gem-dir $implementation $version $patchlevel ;;
791
- srcdir) rvm-src-dir $implementation $version $patchlevel ;;
792
- gemdup) rvm-gem-dup $implementation $version $patchlevel ;;
793
- info) rvm-info $implementation $version $patchlevel ;;
794
- symlinks) rvm-symlinks ;;
795
- version) rvm-version ;;
796
- reset) rvm-reset ;;
797
- debug)
814
+ uninstall) rvm-uninstall $rvm_implementation $rvm_version $rvm_patchlevel ;;
815
+ use) rvm-use $rvm_implementation $rvm_version $rvm_patchlevel ;;
816
+ list) rvm-list ;;
817
+ gemdir) rvm-gem-dir $rvm_implementation $rvm_version $rvm_patchlevel ;;
818
+ srcdir) rvm-src-dir $rvm_implementation $rvm_version $rvm_patchlevel ;;
819
+ gemdup) rvm-gem-dup $rvm_implementation $rvm_version $rvm_patchlevel ;;
820
+ info) rvm-info $rvm_implementation $rvm_version $rvm_patchlevel ;;
821
+ symlinks) rvm-symlinks ;;
822
+ version) rvm-version ;;
823
+ reset) rvm-reset ;;
824
+ reload) source ~/.rvm/bin/rvm ;; # TODO: how can we use bin_path here, default file?
825
+ debug)
798
826
  rvm-version
799
827
  rvm-info
800
828
  rvm-log-info "PATH:$(echo $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}')"
@@ -803,21 +831,22 @@ function rvm {
803
831
  rvm-log-info "~/$file: \n$(cat ~/$file| tail -n 5)\n"
804
832
  fi
805
833
  done
806
- rvm-log-info "$install_path/current: \n$(cat $install_path/current)\n"
834
+ rvm-log-info "$rvm_install_path/current: \n$(cat $rvm_install_path/current)\n"
807
835
  return 0
808
836
  ;;
809
- *)
810
- if [ ! -z "$action" ] ; then
811
- rvm-log-fail "unknown action '$action'"
837
+ *)
838
+ if [ ! -z "$rvm_action" ] ; then
839
+ rvm-log-fail "unknown action '$rvm_action'"
812
840
  else
813
- rvm-usage
841
+ rvm-usage
814
842
  fi
815
843
  return 1
816
844
  esac
817
845
 
818
- if [ "$debug" = "1" ] ; then set +x ; fi
846
+ if [ "$rvm_debug" = "1" ] ; then set +x ; unset rvm_debug ; fi
819
847
 
820
848
  }
821
849
 
850
+ # TODO: Make this optional:
822
851
  if [ -f ~/.rvm/current ] ; then source ~/.rvm/current ; fi # magic :)
823
852
 
data/bash/rvm-install CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
 
3
3
  user=`whoami`
4
- if [ "$user" = "root" ] ; then
4
+ if [ "$user" = "root" ] ; then
5
5
  echo -e "\033[0;31m <e> \033[0mroot user support is not yet implemented.\033[0m"
6
6
  exit 1
7
7
  fi
@@ -11,7 +11,9 @@ question="\n\033[0;32m<?>\033[0m"
11
11
 
12
12
  echo -e "Installing rvm source to ~/.rvm/bin/rvm..."
13
13
  mkdir -p ~/.rvm/src ~/.rvm/bin
14
- cp $(pwd)/bash/rvm ~/.rvm/bin/
14
+ for script in rvm ; do # Preparing for refactoring.
15
+ cp "`dirname "${0}"`/$script" ~/.rvm/bin/
16
+ done
15
17
 
16
18
  # State what is required to use rvm
17
19
  echo -e "\n\033[0;32mrvm\033[0m is a shell script that allows a user to manage multiple ruby versions in their own account."
@@ -25,7 +27,7 @@ while : ; do
25
27
  echo 'w00t!'
26
28
  break
27
29
  elif [ "${response:0:1}" = "m" ] ; then
28
- echo -e "$info Please make sure that both lines (a) and (b) are in place, with (a) sourced *first*."
30
+ echo -e "$info Please make sure that this line is in place."
29
31
  break
30
32
  fi
31
33
  done
@@ -46,9 +48,9 @@ if [ "${response:0:1}" = "s" ] ; then
46
48
  break
47
49
  fi
48
50
  done
49
-
51
+
50
52
  if [ "$user_shell" = "bash" -o "$user_shell" = "both" ] ; then
51
-
53
+
52
54
  touch ~/.bash_profile
53
55
  if [ -z "`grep '\.rvm/bin/rvm' ~/.bash_profile`" ] ; then
54
56
  echo "Adding 'if [ -f ~/.rvm/bin/rvm ] ; then source ~/.rvm/bin/rvm ; fi' to your ~/.bash_profile."
@@ -59,22 +61,18 @@ if [ "${response:0:1}" = "s" ] ; then
59
61
  echo "Adding 'if [ -f ~/.rvm/bin/rvm ] ; then source ~/.rvm/bin/rvm ; fi' to your ~/.bashrc."
60
62
  echo "if [ -f ~/.rvm/bin/rvm ] ; then source ~/.rvm/bin/rvm ; fi" >> ~/.bashrc
61
63
  fi
62
-
63
-
64
- elif [ "$user_shell" = "zsh" -o "$user_shell" = "both" ] ; then
65
-
64
+
65
+ fi
66
+
67
+ if [ "$user_shell" = "zsh" -o "$user_shell" = "both" ] ; then
68
+
66
69
  touch ~/.zshrc
67
70
  if [ -z "`grep '\.rvm/bin/rvm' ~/.zshrc`" ] ; then
68
71
  echo "Adding 'if [ -f ~/.rvm/bin/rvm ] ; then source ~/.rvm/bin/rvm ; fi' to your ~/.zshrc."
69
72
  echo "if [ -f ~/.rvm/bin/rvm ] ; then source ~/.rvm/bin/rvm ; fi" >> ~/.zshrc
70
73
  fi
71
-
72
- else
73
-
74
- echo -e "\n\033[0;31m<e> An error has occurred, we were expecting either bash or zsh however we encountered $user_shell \033[0m"
75
- return 1
76
-
77
74
  fi
75
+
78
76
  fi
79
77
 
80
78
  system=`uname`
@@ -103,9 +101,9 @@ fi
103
101
  source ~/.rvm/bin/rvm
104
102
  rvm symlinks
105
103
 
106
- echo -e "\n$info If you add ~/.rvm/bin/ to your path you will be able to refer to installed ruby binaries using: <implementation>-<version>p<patchlevel>"
104
+ echo -e "\n$info If you add ~/.rvm/bin/ to your path you will be able to refer to installed ruby binaries using: <implementation>-<version><patchlevel>"
107
105
  echo -e " For example: ruby-1.9.1-p243 -e 'puts \"hello world\"' #=> hello world"
108
- echo -e "$info Contact wayneeseguin on irc.freenod.net in #rvm for any questions / feedback."
106
+ echo -e "$info Contact wayneeseguin on irc.freenode.net in #rvm for any questions / feedback."
109
107
  echo -e " I truly hope that you find rvm helpful! Thank you very much for using rvm. \n"
110
108
  echo -e " ~ Wayne"
111
109
 
data/bash/rvm-update CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/bin/bash
2
2
 
3
3
  user=`whoami`
4
- if [ "$user" = "root" ] ; then
5
- echo -e "\033[0;31m <e> \033[0mroot user support is not yet implemented.\033[0m"
4
+ if [ "$user" = "root" ] ; then
5
+ echo -e "\033[0;31m <e> \033[0mroot user support is not implemented yet.\033[0m"
6
6
  exit 1
7
7
  fi
8
8
 
@@ -10,7 +10,9 @@ info="\n\033[0;32m<i>\033[0m"
10
10
 
11
11
  echo -e "$info Updating rvm source ~/.rvm/bin/rvm ..."
12
12
  mkdir -p ~/.rvm/src ~/.rvm/bin
13
- cp $(pwd)/bash/rvm ~/.rvm/bin/
13
+ for script in rvm ; do # Prepairing for refactoring.
14
+ cp "`dirname "${0}"`/$script" ~/.rvm/bin/
15
+ done
14
16
 
15
17
  echo -e "\n Thank you, come again! \n"
16
18
  echo -e " ~ Wayne"
data/bash/rvmrc.sample ADDED
@@ -0,0 +1,30 @@
1
+ # Example rvm Defaults file.
2
+ # This file shows some examples of setting defaults to your own tastes.
3
+
4
+ # Default action to assume
5
+ #rvm_action="use"
6
+
7
+ # Default ruby implementation
8
+ #rvm_implementation="ruby"
9
+
10
+ # Default ruby version
11
+ #rvm_version="1.8.6"
12
+
13
+ # Default patchlevel to set, if implementation is set
14
+ #rvm_patchlevel="369"
15
+
16
+ # Default prefix path (~/, or /usr/local/src/ for example.)
17
+ #rvm_prefix_path="$HOME/."
18
+
19
+ # Default Install Path
20
+ #rvm_install_path="${rvm_prefix_path}rvm"
21
+
22
+ # Default Archives Path
23
+ #rvm_archive_path="${rvm_install_path}/archives"
24
+
25
+ # Default Source Path
26
+ #rvm_source_path="${rvm_install_path}/src"
27
+
28
+ # Default Log Path
29
+ #rvm_log_path="${rvm_install_path}/log"
30
+
data/rvm.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.0.22"
8
+ s.version = "0.0.24"
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-08-26}
12
+ s.date = %q{2009-08-27}
13
13
  s.description = %q{Manages Ruby interpreter installations and switching between them.}
14
14
  s.email = %q{wayneeseguin@gmail.com}
15
15
  s.executables = ["rvm-install", "rvm-update"]
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  "bash/rvm",
24
24
  "bash/rvm-install",
25
25
  "bash/rvm-update",
26
+ "bash/rvmrc.sample",
26
27
  "lib/rvm.rb",
27
28
  "rvm.gemspec"
28
29
  ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wayneeseguin-rvm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.22
4
+ version: 0.0.24
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-08-26 00:00:00 -07:00
12
+ date: 2009-08-27 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -29,6 +29,7 @@ files:
29
29
  - bash/rvm
30
30
  - bash/rvm-install
31
31
  - bash/rvm-update
32
+ - bash/rvmrc.sample
32
33
  - lib/rvm.rb
33
34
  - rvm.gemspec
34
35
  has_rdoc: false