rvm 0.0.88 → 0.0.89

Sign up to get free protection for your applications and to get access to all the features.
data/config/db CHANGED
@@ -22,7 +22,7 @@ ree_1.8.7_patch_level=2009.10
22
22
  rbx_version=1.0.0-rc1
23
23
  rbx_patch_level=20091125
24
24
  rbx_url=http://asset.rubini.us/rubinius-1.0.0-rc1-20091125.tar.gz
25
- ruby_1.9.1_patch_level=243
25
+ ruby_1.9.1_patch_level=376
26
26
  ruby_1.9.2_patch_level=preview1
27
27
  ruby_1.8.5_patch_level=231
28
28
  ruby_1.8.6_patch_level=383
data/config/md5 CHANGED
@@ -17,6 +17,7 @@ ruby-1.8.7-p160.tar.gz=945398f97e2de6dd8ab6df68d10bb1a1
17
17
  ruby-1.8.7-p174.tar.gz=18dcdfef761a745ac7da45b61776afa5
18
18
  ruby-1.9.1-p129.tar.gz=c71f413514ee6341c627be2957023a5c
19
19
  ruby-1.9.1-p243.tar.gz=515bfd965814e718c0943abf3dde5494
20
+ ruby-1.9.1-p376.tar.gz=ebb20550a11e7f1a2fbd6fdec2a3e0a3
20
21
  ruby-1.9.2-preview1.tar.gz=e2b8cdbf300f53472be09699a5837fd1
21
22
  ruby-enterprise-1.8.6-20090610.tar.gz=0bf66ee626918464a6eccdd83c99d63a
22
23
  ruby-enterprise-1.8.7-2009.10.tar.gz=3727eef7b6b1b2f31db7d091328d966e
data/install CHANGED
@@ -44,6 +44,10 @@ for dir_name in config scripts examples lib hooks ; do
44
44
  fi
45
45
  done ; unset dir_name
46
46
 
47
+ if [[ ! -s "$rvm_path/config/user" ]] ; then
48
+ echo '# Users settings file, overrides db file settings and persists across installs.' >> $rvm_path/config/user
49
+ fi
50
+
47
51
  #
48
52
  # Bin Scripts
49
53
  #
data/lib/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 88
4
+ :patch: 89
data/rvm.gemspec CHANGED
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.0.88"
8
+ s.version = "0.0.89"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wayne E. Seguin"]
12
- s.date = %q{2009-12-04}
12
+ s.date = %q{2009-12-08}
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}
@@ -52,6 +52,7 @@ Gem::Specification.new do |s|
52
52
  "scripts/log",
53
53
  "scripts/manage",
54
54
  "scripts/match",
55
+ "scripts/md5",
55
56
  "scripts/monitor",
56
57
  "scripts/notes",
57
58
  "scripts/rvm",
@@ -77,3 +78,4 @@ Gem::Specification.new do |s|
77
78
  else
78
79
  end
79
80
  end
81
+
data/scripts/cli CHANGED
@@ -17,13 +17,13 @@ __rvm_parse_args() {
17
17
  while [[ $# -gt 0 ]] ; do
18
18
  rvm_token="$1" ; shift
19
19
  case "$rvm_token" in
20
- fetch|install|uninstall|path|info|setup|version|srcdir|list|reset|debug|reload|implode|readline|update|iconv|curl|openssl|ncurses|zlib|readline|monitor|notes)
20
+ fetch|path|info|setup|version|srcdir|list|reset|debug|reload|implode|readline|update|iconv|curl|openssl|ncurses|zlib|readline|monitor|notes)
21
21
  rvm_action=$rvm_token
22
22
  ;;
23
23
 
24
24
  use)
25
25
  rvm_action=$rvm_token
26
- rvm_verbose_flag=1
26
+ export rvm_verbose_flag=1
27
27
  if [[ "ruby" = "$1" ]] ; then shift ; fi
28
28
  ;;
29
29
 
@@ -33,8 +33,14 @@ __rvm_parse_args() {
33
33
  rvm_parse_break=1
34
34
  ;;
35
35
 
36
+ install|uninstall)
37
+ export ${rvm_token}_flag=1
38
+ rvm_action=$rvm_token
39
+ ;;
40
+
36
41
  rm|remove)
37
42
  rvm_action="remove"
43
+ export rvm_remove_flag=1
38
44
  ;;
39
45
 
40
46
  system|default)
@@ -53,23 +59,23 @@ __rvm_parse_args() {
53
59
  gems|gemset)
54
60
  rvm_action="gems"
55
61
  if [[ "name" = "$1" ]] || [[ "dir" = "$1" ]] || [[ "list" = "$1" ]] || [[ "empty" = "$1" ]] || [[ "delete" = "$1" ]] ; then
56
- eval "rvm_${1}_flag=1" ; shift
62
+ export rvm_${1}_flag=1 ; shift
57
63
  elif [[ "dump" = "$1" ]] || [[ "$1" = "load" ]] ; then
58
- eval "rvm_${1}_flag=1" ; shift
64
+ export rvm_${1}_flag=1 ; shift
59
65
  else
60
- rvm_use_flag=1 # Default is to use the (named) gem set.
66
+ export rvm_use_flag=1 # Default is to use the (named) gem set.
61
67
  fi
62
68
  ;;
63
69
 
64
70
  gemdir)
65
71
  rvm_action=$rvm_token
66
- if [[ "system" = "$1" ]] ; then rvm_system_flag=1 ; shift ; fi
67
- if [[ "user" = "$1" ]] ; then rvm_user_flag=1 ; shift ; fi
72
+ if [[ "system" = "$1" ]] ; then export rvm_system_flag=1 ; shift ; fi
73
+ if [[ "user" = "$1" ]] ; then export rvm_user_flag=1 ; shift ; fi
68
74
  ;;
69
75
 
70
76
  --load|load|dump|clear)
71
77
  rvm_action="gems"
72
- eval "rvm_${rvm_token}_flag=1"
78
+ export rvm_${rvm_token}_flag=1
73
79
  ;;
74
80
 
75
81
  -S|-e)
@@ -167,7 +173,7 @@ __rvm_parse_args() {
167
173
  --head)
168
174
  if [[ -z "$rvm_ruby_string" ]] ; then rvm_ruby_string="head"; else rvm_ruby_string="${rvm_ruby_string}-head" ; fi
169
175
  rvm_ruby_revision="head"
170
- rvm_head_flag=1
176
+ export rvm_head_flag=1
171
177
  rvm_action="${rvm_action:-use}"
172
178
  ;;
173
179
 
@@ -185,7 +191,7 @@ __rvm_parse_args() {
185
191
 
186
192
  --bin)
187
193
  if [[ "update" = "$rvm_action" ]] ; then
188
- rvm_bin_flag=1
194
+ export rvm_bin_flag=1
189
195
  else
190
196
  rvm_bin_path="$1" ; shift
191
197
  fi
@@ -243,7 +249,7 @@ __rvm_parse_args() {
243
249
  rvm_ruby_string="$rvm_token"
244
250
  ;;
245
251
 
246
- --install) rvm_install_on_use_flag=1 ;;
252
+ --install) export rvm_install_on_use_flag=1 ;;
247
253
  -h|--help|usage|help) rvm_action=help ;;
248
254
  -G|--gems) rvm_gem_path="$1" ; shift ;;
249
255
  --source) rvm_src_path="$1" ; shift ;;
@@ -261,7 +267,7 @@ __rvm_parse_args() {
261
267
  --trace) export rvm_trace_flag=1 ; set -x ;;
262
268
 
263
269
  --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--dump|--summary|--jit|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose)
264
- eval "rvm_$(echo $rvm_token | sed 's#-##g')_flag=1"
270
+ export rvm_$(echo $rvm_token | sed 's#-##g')_flag=1
265
271
  if [[ "--debug" = "$rvm_token" ]] ; then export rvm_debug_flag ; fi
266
272
  ;;
267
273
 
@@ -366,14 +372,14 @@ rvm() {
366
372
  usage|help) __rvm_usage ; result=$? ;;
367
373
  benchmark) __rvm_benchmark ; result=$? ;;
368
374
  inspect) __rvm_inspect ; result=$? ;;
369
- gems) __rvm_gems ; result=$? ;;
375
+ gems) $rvm_scripts_path/gems ${rvm_ruby_file:-$rvm_ruby_args} ; result=$? ;;
370
376
  ruby|gem|rake) __rvm_do ; result=$? ;;
371
377
  monitor)
372
378
  export rvm_ruby_version rvm_ruby_string
373
379
  $rvm_scripts_path/monitor ; result=$?
374
380
  ;;
375
381
  notes) $rvm_scripts_path/notes ; result=$? ;;
376
- reload) rvm_reload_flag=1 ;;
382
+ reload) rvm_reload_flag=1 ;;
377
383
  fetch|install|uninstall|remove)
378
384
  if [[ ! -z "$rvm_ruby_string" ]] ; then
379
385
  $rvm_scripts_path/manage "$rvm_action" "$rvm_ruby_string"
@@ -394,7 +400,7 @@ rvm() {
394
400
  info|debug)
395
401
  __rvm_version
396
402
  __rvm_info
397
- if [[ "debug" = "$rvm_action" ]] ; then rvm_debug_flag=1 ; __rvm_debug ; fi
403
+ if [[ "debug" = "$rvm_action" ]] ; then export rvm_debug_flag=1 ; __rvm_debug ; fi
398
404
  ;;
399
405
 
400
406
  error)
data/scripts/fetch CHANGED
@@ -17,20 +17,22 @@ archive=$(basename "$1") ; downlaod=1
17
17
  (( $rvm_debug_flag )) && $rvm_scripts_path/log "debug" "Fetching $archive"
18
18
 
19
19
  # Check first if we have the correct archive
20
- if [[ -e "$archive" ]] && [[ -e "$archive.md5" ]] ; then
20
+ archive_md5="$($rvm_scripts_path/db "$rvm_config_path/md5" "$archive")"
21
+ if [[ -e "$archive" ]] && [[ ! -z "$archive_md5" ]] ; then
21
22
  (( $rvm_debug_flag )) && $rvm_scripts_path/log "debug" "Found archive and its md5, testing correctness"
22
- if [[ $(md5sum --status -c "$archive.md5") -gt 0 ]] ; then
23
+ if [[ $($rvm_scripts_path/md5 $archive $archive_md5) -gt 0 ]] ; then
23
24
  (( $rvm_debug_flag )) && $rvm_scripts_path/log "debug" "Archive is bad, downloading"
24
25
  download=1
25
26
  else
26
27
  (( $rvm_debug_flag )) && $rvm_scripts_path/log "debug" "Archive is good, not downloading"
27
28
  download=0
28
29
  result=0
29
- fi
30
+ fi ; unset archive_md5
30
31
  else
31
32
  (( $rvm_debug_flag )) && $rvm_scripts_path/log "debug" "No archive or no MD5, downloading"
32
33
  download=1
33
34
  fi
35
+
34
36
  if [[ $download -gt 0 ]] ; then
35
37
  eval $fetch_command "$1"
36
38
  result=$?
data/scripts/gems CHANGED
@@ -1,42 +1,12 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- __rvm_gems_select() {
4
- if [[ -z "$(which gem 2>/dev/null)" ]] ; then return 0 ; fi
3
+ source $rvm_path/scripts/initialize
4
+ source $rvm_path/scripts/utility
5
+ source $rvm_path/scripts/selector
5
6
 
6
- if [[ -z "$rvm_gem_set_name" ]] ; then
7
- if [[ ! -z "$GEM_HOME" ]] ; then
8
- rvm_gem_set_name=$(echo $GEM_HOME | xargs basename | awk -F'%' '{print $2}')
9
- fi
10
-
11
- if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
12
- rvm_gem_set_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F'%' '{print $2}')
13
- fi
7
+ if [[ "$rvm_trace_flag" -eq 1 ]] ; then set -x ; export rvm_trace_flag ; fi
14
8
 
15
- if [[ ! -z "$rvm_gem_set_name" ]] && ! $rvm_scripts_path/match "$rvm_gem_set_name" "^[0-9]\.[0-9]" ; then
16
- rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
17
- else
18
- if [[ ! -z "$rvm_ruby_interpreter" ]] && [[ ! -z "$rvm_ruby_version" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
19
- rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version"
20
- elif [[ -z "$GEM_HOME" ]] && [[ ! -z "$(which gem 2>/dev/null)" ]] ; then
21
- rvm_ruby_gem_home=$(gem env gemdir)
22
- elif [[ ! -z "$GEM_HOME" ]] ; then
23
- rvm_ruby_gem_home="$GEM_HOME"
24
- else
25
- unset rvm_ruby_gem_home
26
- fi
27
- fi
28
- if [[ -z "$rvm_gem_set_name" ]] ; then unset rvm_gem_set_name ; fi
29
- else
30
- rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
31
- fi
32
- }
33
-
34
- __rvm_gems_use() {
35
- mkdir -p "$rvm_ruby_gem_home"
36
- GEM_HOME="$rvm_ruby_gem_home" ; export GEM_HOME
37
- GEM_PATH="$GEM_HOME" ; export GEM_PATH
38
- __rvm_use
39
- }
9
+ trap "rm -f $rvm_path/$$* > /dev/null 2>&1 ; exit" 0 1 2 3 15
40
10
 
41
11
  __rvm_gems_name() {
42
12
  echo "$rvm_gem_set_name"
@@ -170,78 +140,81 @@ __rvm_gems_load() {
170
140
  else # version
171
141
  gem_file_name="${gem_name/ /}-${gem_version/ /}.gem"
172
142
  fi
173
-
174
- #
175
- # Evaluate
176
- #
177
- if [[ -z "$rvm_force_flag" ]] && [[ -f "${rvm_ruby_gem_home}/specifications/${gem_file_name}spec" ]] ; then
178
- unset gem
179
- $rvm_scripts_path/log "info" "$($rvm_scripts_path/color "green")$gem_name $gem_version$($rvm_scripts_path/color "none") exists, skipping (--force to re-install)"
180
- else
181
- if [[ -f "$gem" ]] ; then
182
- cache_file="$gem"
183
- elif [[ -f "$rvm_gem_path/cache/${gem_file_name}" ]] ; then
184
- cache_file="$rvm_gem_path/cache/${gem_file_name}"
185
- else
186
- cache_file="${cache_file:-$(\ls ${rvm_gem_path}/*/*/cache/${gem_file_name}* 2> /dev/null | sort | head -n1)}"
187
- if [[ ! -z "$cache_file" ]] && [[ -f "$cache_file" ]] ; then
188
- if [[ "$(dirname $cache_file)" != "$rvm_gem_path/cache/" ]] ; then
189
- cp "$cache_file" "$rvm_gem_path/cache/"
190
- cache_file="$rvm_gem_path/cache/$(basename $cache_file)"
191
- fi
192
- fi
143
+ __rvm_gem_install
144
+ done < <(awk '/^[\.\/a-zA-Z]/{print}' "$rvm_file_name")
145
+ else
146
+ $rvm_scripts_path/log "error" "$rvm_file_name does not exist to load from."
147
+ fi
148
+ }
149
+ __rvm_gem_install() {
150
+ #
151
+ # Evaluate
152
+ #
153
+ if [[ -z "$rvm_force_flag" ]] && [[ -f "${rvm_ruby_gem_home}/specifications/${gem_file_name}spec" ]] ; then
154
+ unset gem
155
+ $rvm_scripts_path/log "info" "$($rvm_scripts_path/color "green")$gem_name $gem_version$($rvm_scripts_path/color "none") exists, skipping (--force to re-install)"
156
+ else
157
+ if [[ -f "$gem" ]] ; then
158
+ cache_file="$gem"
159
+ elif [[ -f "$rvm_gem_path/cache/${gem_file_name}" ]] ; then
160
+ cache_file="$rvm_gem_path/cache/${gem_file_name}"
161
+ else
162
+ cache_file="${cache_file:-$(\ls ${rvm_gem_path}/*/*/cache/${gem_file_name}* 2> /dev/null | sort | head -n1)}"
163
+ if [[ ! -z "$cache_file" ]] && [[ -f "$cache_file" ]] ; then
164
+ if [[ "$(dirname $cache_file)" != "$rvm_gem_path/cache/" ]] ; then
165
+ cp "$cache_file" "$rvm_gem_path/cache/"
166
+ cache_file="$rvm_gem_path/cache/$(basename $cache_file)"
193
167
  fi
168
+ fi
169
+ fi
194
170
 
195
- if [[ -z "$cache_file" ]] ; then
196
- if [[ -f "$gem_file_name" ]] ; then
197
- gem="$gem_file_name"
198
- elif [[ -z "${gem_version/ /}" ]] ; then
199
- gem="${gem_name/ /}"
200
- else
201
- gem="${gem_name/ /} -v $gem_version"
202
- fi
203
- else # cached
204
- gem_file_name="$(basename "$cache_file")"
205
- gem_string="$(echo "$gem_file_name" | sed 's#\.gem$##')"
171
+ if [[ -z "$cache_file" ]] ; then
172
+ if [[ -f "$gem_file_name" ]] ; then
173
+ gem="$gem_file_name"
174
+ elif [[ -z "${gem_version/ /}" ]] ; then
175
+ gem="${gem_name/ /}"
176
+ else
177
+ gem="${gem_name/ /} -v $gem_version"
178
+ fi
179
+ else # cached
180
+ gem_file_name="$(basename "$cache_file")"
181
+ gem_string="$(echo "$gem_file_name" | sed 's#\.gem$##')"
206
182
 
207
- # TODO: Switch this to use match
208
- if [[ ! -z "$(echo "$rvm_ruby_gem_list" | awk "/${gem_name/ /} \(.*$gem_version/{print}")" ]] ; then
209
- if [[ ! -z "$rvm_force_flag" ]] ; then
210
- gem="$rvm_gem_path/cache/$gem_file_name" # install as a named local gem
211
- fi
212
- else
213
- gem="$cache_file"
214
- fi
183
+ # TODO: Switch this to use match
184
+ if [[ ! -z "$(echo "$rvm_ruby_gem_list" | awk "/${gem_name/ /} \(.*$gem_version/{print}")" ]] ; then
185
+ if [[ ! -z "$rvm_force_flag" ]] ; then
186
+ gem="$rvm_gem_path/cache/$gem_file_name" # install as a named local gem
215
187
  fi
188
+ else
189
+ gem="$cache_file"
216
190
  fi
191
+ fi
192
+ fi
217
193
 
218
- if [[ ! -z "$gem" ]] ; then
219
- # TODO: Set vars if fourth field is non-empty (means that there are conditional statements to execute in the gem install line.
220
- __rvm_make_flags
221
- $rvm_scripts_path/log "warn" "$gem_name $gem_version is not installed, installing..."
222
- if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
223
- command="GEM_HOME='$rvm_ruby_gem_home' GEM_PATH='$rvm_ruby_gem_home' $gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix $vars"
224
- else
225
- if [[ ! -z "$rvm_ruby_home" ]] ; then
226
- command="$gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix $vars"
227
- else
228
- command="$gem_prefix gem install --no-rdoc --no-ri -q $gem $gem_postfix $vars"
229
- fi
230
- fi
231
- if [[ -f "$gem" ]] ; then command="${command} -l" ; fi
232
- eval $command > /dev/null 2>&1
233
- result=$?
234
- if [[ $result -eq 0 ]] ; then
235
- $rvm_scripts_path/log "info" "$($rvm_scripts_path/color "green")$gem_name $gem_version$($rvm_scripts_path/color "none") installed."
236
- else
237
- $rvm_scripts_path/log "error" "$($rvm_scripts_path/color "red")$gem_name $gem_version$($rvm_scripts_path/color "none") failed to install."
238
- fi
194
+ if [[ ! -z "$gem" ]] ; then
195
+ # TODO: Set vars if fourth field is non-empty (means that there are conditional statements to execute in the gem install line.
196
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
197
+
198
+ $rvm_scripts_path/log "warn" "$gem_name $gem_version is not installed, installing..."
199
+ if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
200
+ command="GEM_HOME='$rvm_ruby_gem_home' GEM_PATH='$rvm_ruby_gem_home' $gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix $vars"
201
+ else
202
+ if [[ ! -z "$rvm_ruby_home" ]] ; then
203
+ command="$gem_prefix $rvm_ruby_home/bin/gem install --no-rdoc --no-ri -q $gem $gem_postfix $vars"
204
+ else
205
+ command="$gem_prefix gem install --no-rdoc --no-ri -q $gem $gem_postfix $vars"
239
206
  fi
240
- unset gem gem_prefix gem_name gem_version gem_file_name gem_postfix cache_file gem_file_name gem_string
241
- done < <(awk '/^[\.\/a-zA-Z]/{print}' "$rvm_file_name")
242
- else
243
- $rvm_scripts_path/log "error" "$rvm_file_name does not exist to load from."
207
+ fi
208
+ if [[ -f "$gem" ]] ; then command="${command} -l" ; fi
209
+ eval $command > /dev/null 2>&1
210
+ result=$?
211
+ if [[ $result -eq 0 ]] ; then
212
+ $rvm_scripts_path/log "info" "$($rvm_scripts_path/color "green")$gem_name $gem_version$($rvm_scripts_path/color "none") installed."
213
+ else
214
+ $rvm_scripts_path/log "error" "$($rvm_scripts_path/color "red")$gem_name $gem_version$($rvm_scripts_path/color "none") failed to install."
215
+ fi
244
216
  fi
217
+ unset gem gem_prefix gem_name gem_version gem_file_name gem_postfix cache_file gem_file_name gem_string
245
218
  }
246
219
 
247
220
  __rvm_gemdir() {
@@ -259,32 +232,31 @@ __rvm_gemdir() {
259
232
  fi
260
233
  }
261
234
 
262
- __rvm_gems() {
263
- unset GEM_PATH
264
- if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
235
+ unset GEM_PATH
265
236
 
266
- if [[ -z "$(which gem 2>/dev/null)" ]] ; then
267
- $rvm_scripts_path/log "error" "'gem' was not found, cannot perform gem actions."
268
- return 1
269
- fi
237
+ if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
270
238
 
271
- if [[ ! -z "$rvm_clear_flag" ]] ; then
272
- __rvm_gems_clear
273
- elif [[ ! -z "$rvm_load_flag" ]] ; then
274
- __rvm_gems_load
275
- elif [[ ! -z "$rvm_dump_flag" ]] ; then
276
- __rvm_gems_dump
277
- elif [[ ! -z "$rvm_delete_flag" ]] ; then
278
- __rvm_gems_delete
279
- elif [[ ! -z "$rvm_name_flag" ]] ; then
280
- __rvm_gems_name
281
- elif [[ ! -z "$rvm_dir_flag" ]] ; then
282
- __rvm_gems_dir
283
- elif [[ ! -z "$rvm_list_flag" ]] ; then
284
- __rvm_gems_list
285
- #elif [[ ! -z "$rvm_use_flag" ]] ; then
286
- else
287
- __rvm_gems_use
288
- fi
289
- }
239
+ if [[ -z "$(which gem 2>/dev/null)" ]] ; then
240
+ $rvm_scripts_path/log "error" "'gem' was not found, cannot perform gem actions."
241
+ return 1
242
+ fi
290
243
 
244
+ if [[ "$rvm_clear_flag" -eq 1 ]] ; then
245
+ __rvm_gems_clear
246
+ elif [[ "$rvm_load_flag" -eq 1 ]] ; then
247
+ __rvm_gems_load
248
+ elif [[ "$rvm_dump_flag" -eq 1 ]] ; then
249
+ __rvm_gems_dump
250
+ elif [[ "$rvm_delete_flag" -eq 1 ]] ; then
251
+ __rvm_gems_delete
252
+ elif [[ "$rvm_name_flag" -eq 1 ]] ; then
253
+ __rvm_gems_name
254
+ elif [[ "$rvm_dir_flag" -eq 1 ]] ; then
255
+ __rvm_gems_dir
256
+ elif [[ "$rvm_list_flag" -eq 1 ]] ; then
257
+ __rvm_gems_list
258
+ elif [[ "$rvm_install_flag" -eq 1 ]] ; then
259
+ __rvm_gem_install
260
+ else
261
+ gem $*
262
+ fi
data/scripts/initialize CHANGED
@@ -6,9 +6,19 @@ else
6
6
  rvm_rc_files="$HOME/.bash_profile $HOME/.bashrc $HOME/.zshrc"
7
7
  fi
8
8
 
9
+ if [[ ! -z "$rvm_archflags" ]] ; then rvm_make_flags_flag=1 ; fi
10
+
9
11
  rvm_project_rvmrc="${rvm_project_rvmrc:-1}"
10
12
  rvm_project_rvmrc_default="${rvm_project_rvmrc_default:-1}"
11
- rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
13
+ if [[ -z "$rvm_scripts_path" ]] ; then
14
+ if [[ -d "$HOME/scripts" ]] ; then
15
+ rvm_scripts_path="$HOME/scripts"
16
+ elif [[ -d "/usr/local/rvm/scripts" ]] ; then
17
+ rvm_scripts_path="/usr/local/rvm/scripts"
18
+ else
19
+ rvm_scripts_path="$rvm_path/scripts"
20
+ fi
21
+ fi
12
22
  rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
13
23
  rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
14
24
  rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
data/scripts/install CHANGED
@@ -44,6 +44,10 @@ for dir_name in config scripts examples lib hooks ; do
44
44
  fi
45
45
  done ; unset dir_name
46
46
 
47
+ if [[ ! -s "$rvm_path/config/user" ]] ; then
48
+ echo '# Users settings file, overrides db file settings and persists across installs.' >> $rvm_path/config/user
49
+ fi
50
+
47
51
  #
48
52
  # Bin Scripts
49
53
  #
data/scripts/libraries CHANGED
@@ -4,31 +4,39 @@
4
4
  # ruby supporting libraries:
5
5
  #
6
6
  __rvm_readline_install() {
7
- __rvm_make_flags
7
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
8
8
  __rvm_pushpop $rvm_src_path
9
9
  package="readline" ; version="5.2" ; archive_format="tar.gz"
10
10
  # TODO: Figure out how to list, grab and apply the patches
11
- $rvm_scripts_path/log "info" "Retrieving $package-$version.$archive_format"
12
- $rvm_scripts_path/fetch "ftp://ftp.gnu.org/gnu/readline/$package-$version.$archive_format"
13
- result=$? ; if [[ "$result" -gt 0 ]] ; then return $result ; fi
14
- __rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package-$version.$archive_format -C $rvm_src_path" "Extracting $package-$version.$archive_format"
15
- builtin cd "$rvm_src_path/$package-$version"
16
- if [[ "Darwin" = "$(uname)" ]] ; then
17
- #sdk=$(\ls -t /Developer/SDKs/ | head -n 1)
18
- #CFLAGS="-isysroot /Developer/SDKs/$sdk -arch i386 -arch x86_64"
19
- #LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/$sdk -arch i386 -arch x86_64"
20
- #export CFLAGS LDFLAGS
21
- __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr --disable-dependency-tracking --disable-static --enable-shared" "Configuring $package"
22
- else
23
- __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr --disable-dependency-tracking --disable-static --enable-shared" "Configuring $package"
24
- fi
25
- __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
26
- __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
11
+ #ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz
12
+ for version in 5.2 6.0 ; do
13
+ $rvm_scripts_path/log "info" "Retrieving $package-$version.$archive_format"
14
+ $rvm_scripts_path/fetch "ftp://ftp.gnu.org/gnu/readline/$package-$version.$archive_format"
15
+ result=$? ; if [[ "$result" -gt 0 ]] ; then return $result ; fi
16
+ __rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package-$version.$archive_format -C $rvm_src_path" "Extracting $package-$version.$archive_format"
17
+ builtin cd "$rvm_src_path/$package-$version"
18
+ if [[ "Darwin" = "$(uname)" ]] ; then
19
+ #sdk=$(\ls -t /Developer/SDKs/ | head -n 1)
20
+ #CFLAGS="-isysroot /Developer/SDKs/$sdk -arch i386 -arch x86_64"
21
+ #LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/$sdk -arch i386 -arch x86_64"
22
+ #export CFLAGS LDFLAGS
23
+ __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr --disable-dependency-tracking --disable-static --enable-shared" "Configuring $package"
24
+ else
25
+ __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr --disable-dependency-tracking --disable-static --enable-shared" "Configuring $package"
26
+ fi
27
+
28
+ if [[ "$rvm_install_flag" -eq 1 ]] ; then
29
+ __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
30
+ __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
31
+ elif [[ "$rvm_uninstall_flag" -eq 1 ]] || [[ "$rvm_remove_flag" -eq 1 ]] ; then
32
+ __rvm_run "$package/make.uninstall" "/usr/bin/make uninstall" "uninstalling $package from $rvm_path/usr"
33
+ fi
34
+ done
27
35
  __rvm_pushpop
28
36
  }
29
37
 
30
38
  __rvm_iconv_install() {
31
- __rvm_make_flags
39
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
32
40
  __rvm_pushpop $rvm_src_path
33
41
  package="libiconv" ; version=1.13.1 ; archive_format="tar.gz"
34
42
  $rvm_scripts_path/log "info" "Retrieving $package-$version.$archive_format"
@@ -37,13 +45,17 @@ __rvm_iconv_install() {
37
45
  __rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package-$version.$archive_format -C $rvm_src_path" "Extracting $package-$version.$archive_format"
38
46
  builtin cd "$rvm_src_path/$package-$version"
39
47
  __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr" "Configuring $package."
40
- __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
41
- __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
48
+ if [[ "$rvm_install_flag" -eq 1 ]] ; then
49
+ __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
50
+ __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
51
+ elif [[ "$rvm_uninstall_flag" -eq 1 ]] || [[ "$rvm_remove_flag" -eq 1 ]] ; then
52
+ __rvm_run "$package/make.uninstall" "/usr/bin/make uninstall" "uninstalling $package from $rvm_path/usr"
53
+ fi
42
54
  __rvm_pushpop
43
55
  }
44
56
 
45
57
  __rvm_curl_install() {
46
- __rvm_make_flags
58
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
47
59
  __rvm_pushpop $rvm_src_path
48
60
  package="curl" ; version=7.19.7 ; archive_format="tar.gz"
49
61
  $rvm_scripts_path/log "info" "Retrieving $package-$version.$archive_format"
@@ -52,18 +64,22 @@ __rvm_curl_install() {
52
64
  __rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package-$version.$archive_format -C $rvm_src_path" "Extracting $package-$version.$archive_format"
53
65
  builtin cd "$rvm_src_path/$package-$version"
54
66
  __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr" "Configuring $package."
55
- __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
56
- __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
67
+ if [[ "$rvm_install_flag" -eq 1 ]] ; then
68
+ __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
69
+ __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
70
+ elif [[ "$rvm_uninstall_flag" -eq 1 ]] || [[ "$rvm_remove_flag" -eq 1 ]] ; then
71
+ __rvm_run "$package/make.uninstall" "/usr/bin/make uninstall" "uninstalling $package from $rvm_path/usr"
72
+ fi
57
73
  __rvm_pushpop
58
74
  }
59
75
 
60
76
  __rvm_openssl_install() {
61
- __rvm_make_flags
62
- if $rvm_scripts_path/match "$rvm_archflags" "x86_64" ; then
63
- openssl_os="os/compiler darwin64-x86_64-cc"
64
- else
65
- openssl_os="os/compiler darwin-i386-cc"
66
- fi
77
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
78
+ if $rvm_scripts_path/match "$rvm_archflags" "x86_64" ; then
79
+ openssl_os="os/compiler darwin64-x86_64-cc"
80
+ else
81
+ openssl_os="os/compiler darwin-i386-cc"
82
+ fi
67
83
  __rvm_pushpop $rvm_src_path
68
84
  package="openssl" ; version="0.9.8k" ; archive_format="tar.gz"
69
85
  $rvm_scripts_path/log "info" "Retrieving $package-$version.$archive_format"
@@ -72,13 +88,17 @@ __rvm_openssl_install() {
72
88
  __rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package-$version.$archive_format -C $rvm_src_path" "Extracting $package-$version.$archive_format"
73
89
  builtin cd "$rvm_src_path/$package-$version"
74
90
  __rvm_run "$package/config" "./config --prefix=$rvm_path/usr zlib no-asm no-krb5 shared" "Configuring $package."
75
- __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
76
- __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
91
+ if [[ "$rvm_install_flag" -eq 1 ]] ; then
92
+ __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
93
+ __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
94
+ elif [[ "$rvm_uninstall_flag" -eq 1 ]] || [[ "$rvm_remove_flag" -eq 1 ]] ; then
95
+ __rvm_run "$package/make.uninstall" "/usr/bin/make uninstall" "uninstalling $package from $rvm_path/usr"
96
+ fi
77
97
  __rvm_pushpop
78
98
  }
79
99
 
80
100
  __rvm_zlib_install() {
81
- __rvm_make_flags
101
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
82
102
  __rvm_pushpop $rvm_src_path
83
103
  package="zlib" ; version="1.2.3" ; archive_format="tar.gz"
84
104
  $rvm_scripts_path/log "info" "Retrieving $package-$version.$archive_format"
@@ -87,13 +107,17 @@ __rvm_zlib_install() {
87
107
  __rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package-$version.$archive_format -C $rvm_src_path" "Extracting $package-$version.$archive_format"
88
108
  builtin cd "$rvm_src_path/$package-$version"
89
109
  __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr" "Configuring $package."
90
- __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
91
- __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
110
+ if [[ "$rvm_install_flag" -eq 1 ]] ; then
111
+ __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
112
+ __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
113
+ elif [[ "$rvm_uninstall_flag" -eq 1 ]] || [[ "$rvm_remove_flag" -eq 1 ]] ; then
114
+ __rvm_run "$package/make.uninstall" "/usr/bin/make uninstall" "uninstalling $package from $rvm_path/usr"
115
+ fi
92
116
  __rvm_pushpop
93
117
  }
94
118
 
95
119
  __rvm_ncurses_install() {
96
- __rvm_make_flags
120
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
97
121
  __rvm_pushpop $rvm_src_path
98
122
  package="ncurses" ; version="5.7" ; archive_format="tar.gz"
99
123
  $rvm_scripts_path/log "info" "Retrieving $package"
@@ -102,8 +126,12 @@ __rvm_ncurses_install() {
102
126
  __rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package.$archive_format -C $rvm_src_path" "Extracting $package.$archive_format"
103
127
  builtin cd "$rvm_src_path/$package-$version"
104
128
  __rvm_run "$package/configure" "./configure --prefix=$rvm_path/usr --with-shared --disable-rpath --without-debug --without-ada --enable-safe-sprintf --enable-sigwinch --without-progs" "Configuring $package."
105
- __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
106
- __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
129
+ if [[ "$rvm_install_flag" -eq 1 ]] ; then
130
+ __rvm_run "$package/make" "/usr/bin/make $rvm_make_flags" "Compiling $package"
131
+ __rvm_run "$package/make.install" "/usr/bin/make install" "Installing $package to $rvm_path/usr"
132
+ elif [[ "$rvm_uninstall_flag" -eq 1 ]] || [[ "$rvm_remove_flag" -eq 1 ]] ; then
133
+ __rvm_run "$package/make.uninstall" "/usr/bin/make uninstall" "uninstalling $package from $rvm_path/usr"
134
+ fi
107
135
  __rvm_pushpop
108
136
  }
109
137
 
data/scripts/manage CHANGED
@@ -23,6 +23,8 @@ __rvm_install_source() {
23
23
  builtin cd $rvm_ruby_src_path
24
24
  if [[ $? -gt 0 ]] ; then result=$? ; $rvm_scripts_path/log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" ; __rvm_pushpop ; return $result ; fi
25
25
 
26
+ if [[ -d "${rvm_path}/usr/bin" ]] ; then export PATH="${rvm_path}/usr/bin:${PATH}" ; fi
27
+
26
28
  if [[ -z "$rvm_ruby_configure" ]] && [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
27
29
  rvm_autoconf="$(which autoconf 2>/dev/null)"
28
30
  if [[ $? -gt 0 ]] ; then $rvm_scripts_path/log "fail" "rvm expects autoconf" ; result=$? ; return $result ; fi
@@ -178,7 +180,7 @@ RubyWrapper
178
180
  result=1
179
181
  else
180
182
  rvm_ruby_repo_url=$rvm_url
181
- __rvm_make_flags
183
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
182
184
  __rvm_install_source $*
183
185
  fi
184
186
  fi
@@ -340,7 +342,7 @@ RubyWrapper
340
342
  ;;
341
343
 
342
344
  mput|shyouhei)
343
- __rvm_make_flags
345
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
344
346
  unset GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC
345
347
  PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
346
348
  PATH=$rvm_bin_path:$PATH ; export PATH
@@ -401,7 +403,7 @@ RubyWrapper
401
403
  ;;
402
404
 
403
405
  ruby)
404
- __rvm_make_flags
406
+ if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
405
407
  __rvm_install_source $*
406
408
  ;;
407
409
 
@@ -422,22 +424,23 @@ __rvm_fetch_ruby() {
422
424
  if [[ -z "$rvm_head_flag" ]] && [[ -z "$rvm_ruby_tag" ]] && [[ -z "$rvm_ruby_revision" ]] ; then
423
425
  rvm_ruby_package_name="${rvm_ruby_package_name:-"$rvm_ruby_string"}"
424
426
  rvm_ruby_package_file="${rvm_ruby_package_file:-"$rvm_ruby_package_name"}"
425
- if [[ ! -s "$rvm_archives_path/$rvm_ruby_package_file.tar.gz" ]] ; then
427
+ rvm_archive_extension="tar.gz"
428
+ if [[ ! -s "$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension" ]] ; then
426
429
  if [[ "ruby" = "$rvm_ruby_interpreter" ]] ; then
427
- rvm_url="ftp://ftp.ruby-lang.org/pub/ruby/1.$rvm_major_version/$rvm_ruby_package_file.tar.gz"
430
+ rvm_url="ftp://ftp.ruby-lang.org/pub/ruby/1.$rvm_major_version/$rvm_ruby_package_file.$rvm_archive_extension"
428
431
  elif [[ "ree" = "$rvm_ruby_interpreter" ]] ; then
429
- rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_url")/$rvm_ruby_package_file.tar.gz"
432
+ rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_url")/$rvm_ruby_package_file.$rvm_archive_extension"
430
433
  elif [[ "jruby" = "$rvm_ruby_interpreter" ]] ; then
431
- rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/$rvm_ruby_version/$rvm_ruby_package_file.tar.gz"
434
+ rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/$rvm_ruby_version/$rvm_ruby_package_file.$rvm_archive_extension"
432
435
  else
433
- rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/$rvm_ruby_package_file.tar.gz"
436
+ rvm_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/$rvm_ruby_package_file.$rvm_archive_extension"
434
437
  fi
435
438
  $rvm_scripts_path/log "info" "Downloading $rvm_ruby_package_file, this may take a while depending on your connection..."
436
439
  $rvm_scripts_path/fetch "$rvm_url"
437
440
  result=$? ; if [[ "$result" -gt 0 ]] ; then return $result ; fi
438
- __rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.tar.gz -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..."
439
- if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
440
441
  fi
442
+ __rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..."
443
+ if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
441
444
  else
442
445
  if [[ ! -z "$(echo $rvm_url | awk '/^git/')" ]] ; then
443
446
  if [[ -d "$rvm_ruby_src_path/.git" ]] ; then
data/scripts/md5 ADDED
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [[ "$rvm_trace_flag" -eq 1 ]] ; then set -x ; export rvm_trace_flag ; fi
4
+
5
+ file=$1 ; md5=$2
6
+
7
+ if [[ "Linux" = "$(uname)" ]] ; then
8
+ command="md5sum"
9
+ #md5sum --status -c "$file"
10
+ elif [[ "Darwin" = "$(uname)" ]] ; then
11
+ #md5 --status -c "$1"
12
+ command="md5"
13
+ fi
14
+
15
+ file_md5=$($command $file | awk '{print $NF}')
16
+
17
+ if [[ "$file_md5" = "$md5" ]] ; then
18
+ exit 0
19
+ else
20
+ exit 1
21
+ fi
data/scripts/monitor CHANGED
@@ -40,14 +40,16 @@ update_timestamp "test"
40
40
  update_timestamp "spec"
41
41
 
42
42
  while : ; do
43
- changed_test_files=() ; changed_spec_files=()
43
+ changed_test_files=() ; changed_spec_files=() ; changed_code_files=()
44
+
45
+ for file in lib/**/*.rb lib/*.rb app/**/*.rb app/*.rb ; do
46
+ if [[ -f "$file" ]] ; then push_if_timestamp_changed $file "code" ; fi
47
+ done
44
48
 
45
49
  for framework in test spec ; do
46
50
 
47
51
  if [[ -d "$framework/" ]] ; then
48
52
 
49
- #files=($(\ls ${framework}/**/*_${framework}.rb) $(ls ${framework}/*_${framework}.rb))
50
- #for file in "${files[@]}" ; do
51
53
  for file in ${framework}/**/*_${framework}.rb ${framework}/*_${framework}.rb ; do
52
54
  if [[ -f "$file" ]] ; then
53
55
  push_if_timestamp_changed $file $framework
@@ -69,6 +71,21 @@ while : ; do
69
71
  fi
70
72
  update=1
71
73
  fi
74
+
75
+ if [[ "$(array_length "changed_code_files")" -gt 0 ]] ; then
76
+ rvm_ruby_version=$original_ruby_version
77
+ rvm_ruby_string=$original_ruby_string
78
+ if [[ "spec" = "$framework" ]] ; then
79
+ rvm_action="spec"
80
+ rvm_ruby_args="spec/"
81
+ __rvm_do
82
+ elif [[ "test" = "$framework" ]] ; then
83
+ rvm_action="rake"
84
+ rvm_ruby_args="test"
85
+ __rvm_do
86
+ fi
87
+ update=1
88
+ fi
72
89
  fi
73
90
 
74
91
  if [[ "$update" -eq 1 ]] ; then
data/scripts/notes CHANGED
@@ -6,6 +6,8 @@ item="$(tput setaf 2)* $(tput sgr0)"
6
6
 
7
7
  echo -e "\n$(tput setaf 2)rvm notes for $system $(tput sgr0)\n"
8
8
 
9
+ echo -e " $item curl is required, be sure it is installed.\n"
10
+
9
11
  if [[ "Linux" = "$system" ]] ; then
10
12
  rvm_apt_get_binary="$(which aptitude 2> /dev/null)"
11
13
  rvm_emerge_binary="$(which emerge 2> /dev/null)"
@@ -24,7 +26,7 @@ if [[ "Linux" = "$system" ]] ; then
24
26
 
25
27
  elif [[ ! -z "$rvm_pacman_binary" ]] ; then
26
28
  echo -e " $item For JRuby (if you wish to use it) you will need:"
27
- echo -e " $ pacman -Sy jdk jre"
29
+ echo -e " $ pacman -Sy jdk jre curl"
28
30
 
29
31
  elif [[ ! -z "$rvm_yum_binary" ]] ; then
30
32
  echo -e " $item For ree (if you wish to use it) you will need:"
data/scripts/rvm CHANGED
@@ -26,7 +26,7 @@ if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
26
26
  source $rvm_path/scripts/utility
27
27
  source $rvm_path/scripts/selector
28
28
  source $rvm_path/scripts/cli
29
- source $rvm_path/scripts/gems
29
+ #source $rvm_path/scripts/gems
30
30
  source $rvm_path/scripts/libraries
31
31
  source $rvm_path/scripts/cd
32
32
 
data/scripts/rvm-install CHANGED
@@ -44,6 +44,10 @@ for dir_name in config scripts examples lib hooks ; do
44
44
  fi
45
45
  done ; unset dir_name
46
46
 
47
+ if [[ ! -s "$rvm_path/config/user" ]] ; then
48
+ echo '# Users settings file, overrides db file settings and persists across installs.' >> $rvm_path/config/user
49
+ fi
50
+
47
51
  #
48
52
  # Bin Scripts
49
53
  #
data/scripts/selector CHANGED
@@ -349,9 +349,12 @@ __rvm_ruby_string() {
349
349
  rvm_ruby_tag="$string"
350
350
  elif $rvm_scripts_path/match "$string" "^m[0-9]" ; then
351
351
  rvm_ruby_mode="$string"
352
- elif $rvm_scripts_path/match "$string" "^h[a-z]" ; then
352
+ elif $rvm_scripts_path/match "$string" "^h[a-z0-9]" ; then
353
353
  unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag
354
354
  rvm_ruby_patch="$string"
355
+ elif $rvm_scripts_path/match "$string" "^u[a-z0-9]" ; then
356
+ unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag rvm_ruby_patch
357
+ rvm_ruby_user_tag="$string"
355
358
  elif $rvm_scripts_path/match "$string" "^[a-z][a-z]" ; then
356
359
  rvm_ruby_interpreter="$string"
357
360
  else
@@ -394,6 +397,8 @@ __rvm_ruby_string() {
394
397
  rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_patch}"
395
398
  elif [[ ! -z "$rvm_ruby_patch_level" ]] ; then
396
399
  rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_patch_level}"
400
+ elif [[ ! -z "$rvm_ruby_user_tag" ]] ; then
401
+ rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_user_tag}"
397
402
  else
398
403
  patch_level="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_patch_level")"
399
404
  if [[ ! -z "$patch_level" ]] ; then rvm_ruby_patch_level="p${patch_level}" ; fi
data/scripts/update CHANGED
@@ -44,6 +44,10 @@ for dir_name in config scripts examples lib hooks ; do
44
44
  fi
45
45
  done ; unset dir_name
46
46
 
47
+ if [[ ! -s "$rvm_path/config/user" ]] ; then
48
+ echo '# Users settings file, overrides db file settings and persists across installs.' >> $rvm_path/config/user
49
+ fi
50
+
47
51
  #
48
52
  # Bin Scripts
49
53
  #
data/scripts/utility CHANGED
@@ -140,11 +140,10 @@ __rvm_unset_ruby_variables() {
140
140
 
141
141
  __rvm_load_rvmrc() {
142
142
  if [[ -f /etc/rvmrc ]] ; then source /etc/rvmrc ; fi
143
- if [[ -f $HOME/.rvmrc ]] ; then source $HOME/.rvmrc ; fi
143
+ if [[ -f "$HOME/.rvmrc" ]] ; then source "$HOME/.rvmrc" ; fi
144
144
  }
145
145
 
146
146
  __rvm_bin_scripts() {
147
- # for rvm_ruby_binary in $(\ls $rvm_path/*/bin/ruby 2> /dev/null) ; do
148
147
  for rvm_ruby_binary in $rvm_path/*/bin/ruby ; do
149
148
  if [[ -x "$rvm_ruby_binary" ]] ; then
150
149
  rvm_ruby_string=$(dirname "$rvm_ruby_binary" | xargs dirname | xargs basename)
@@ -272,7 +271,7 @@ __rvm_list() {
272
271
  echo "${prefix}-t${tag/\//}"
273
272
  unset prefix tag
274
273
  done < <(svn list http://svn.ruby-lang.org/repos/ruby/tags/ | awk '/^v1_[8|9]/')
275
- echo -e "(ruby-)1.8.6(-p383)\n(ruby-)1.8.6-head\n(ruby-)1.8.7(-p174)\n(ruby-)1.8.7-head\n(ruby-)1.9.1(-p243)\n(ruby-)1.9.1-head\n(ruby-)1.9.2-preview1"
274
+ echo -e "(ruby-)1.8.6(-p383)\n(ruby-)1.8.6-head\n(ruby-)1.8.7(-p174)\n(ruby-)1.8.7-head\n(ruby-)1.9.1(-p243)\n(ruby-)1.9.1(-p376)\n(ruby-)1.9.1-head\n(ruby-)1.9.2-preview1"
276
275
  echo -e "jruby-1.2.0\njruby-1.3.0\njruby-1.3.1\njruby(-1.4.0) # the default\njruby-head"
277
276
  echo -e "rbx(-head) # rubinius head, the default rbx \nrbx(-head) --jit (rubinius head with LLVM enabled)"
278
277
  echo -e "ree-1.8.6\nree(-1.8.7) # the default\nree-1.8.6-head\nree-1.8.7-head"
@@ -286,92 +285,40 @@ __rvm_list() {
286
285
  current_ruby="$(echo $ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null)"
287
286
  fi
288
287
 
289
- for version in $(\ls -l $rvm_path/ 2> /dev/null | awk '/ ruby-[1-2].*/ { print $NF }') ; do
290
- string=$($rvm_path/$version/bin/ruby -v)
291
- if [[ "$version" = "$current_ruby" ]] ; then
292
- echo -e "=> $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
293
- selected="1"
288
+ for version in $(\ls $rvm_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
289
+ if [[ ! -z "$(echo $version | awk '/^jruby-/')" ]] ; then
290
+ string="$($version -v | awk '{print $NF}')"
294
291
  else
295
- echo -e " $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
292
+ string="[$(file $rvm_path/$version/bin/ruby | awk -F: '{print $2}' | awk '{print $NF}')]"
296
293
  fi
297
- done ; unset version
298
-
299
- for version in $(\ls $rvm_path/ 2> /dev/null | awk '/ree-.*/ { print $NF }') ; do
300
- string="$($rvm_path/$version/bin/ruby -v | tr "\n" ' ' )"
301
294
  if [[ "$version" = "$current_ruby" ]] ; then
302
- echo -e "=> $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
295
+ echo -e "=> $(tput setaf 2)$version$(tput sgr0) $string"
303
296
  selected="1"
304
297
  else
305
- echo -e " $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
298
+ echo -e " $(tput setaf 2)$version$(tput sgr0) $string"
306
299
  fi
307
300
  done ; unset version
308
301
 
309
- for version in $(\ls $rvm_path/ 2> /dev/null | awk '/mput-.*/ { print $NF }') ; do
310
- string="$($rvm_path/$version/bin/ruby -v | tr "\n" ' ' )"
311
- if [[ "$version" = "$current_ruby" ]] ; then
312
- echo -e "=> $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
313
- selected="1"
314
- else
315
- echo -e " $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
316
- fi
317
- done ; unset version
318
-
319
- for version in $(\ls $rvm_path/ 2> /dev/null | awk '/jruby-.*/ { print $NF }') ; do
320
- string=$($rvm_path/$version/bin/ruby -v)
321
- if [[ "$version" = "$current_ruby" ]] ; then
322
- echo -e "=> $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
323
- selected="1"
324
- else
325
- echo -e " $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
326
- fi
327
- done ; unset version
328
-
329
- # for version in $(\ls $rvm_path/ 2> /dev/null | awk '/rbx-.*/ { print $NF }') ; do
330
- for version in "rbx-head" ; do
331
- if [[ -f "$rvm_path/$version/bin/ruby" ]] ; then
332
- string="$($rvm_path/$version/bin/ruby -v | tr "\n" ' ' )"
333
- if [[ "$version" = "$current_ruby" ]] ; then
334
- echo -e "=> $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
335
- selected="1"
336
- else
337
- echo -e " $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
338
- fi
339
- fi
340
- done ; unset version
341
-
342
-
343
- if [[ "Darwin" = "$(uname)" ]] ; then
344
- for version in $(\ls $rvm_path/ 2> /dev/null | awk '/macruby-.*/ { print $NF }') ; do
345
- string="$($rvm_path/$version/bin/ruby -v | tr "\n" ' ' )"
346
- if [[ "$version" = "$current_ruby" ]] ; then
347
- echo -e "=> $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
348
- selected="1"
349
- else
350
- echo -e " $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
351
- fi
352
- done ; unset version
353
- fi
354
-
355
302
  if [[ -f "$rvm_path/default" ]] && [[ -s $rvm_path/default ]] ; then
356
303
  version=$(grep '^MY_RUBY_HOME' $rvm_path/default | awk -F"'" '{print $2}' | xargs basename)
357
304
  if [[ ! -z "$version" ]] ; then
358
- string=$($rvm_path/$version/bin/ruby -v)
305
+ string=$(file $rvm_path/$version/bin/ruby)
359
306
  if [[ "$version" = "$current_ruby" ]] ; then
360
- echo -e "=> $(tput setaf 3)(default)$(tput sgr0) $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
307
+ echo -e "=> $(tput setaf 3)(default)$(tput sgr0) $(tput setaf 2)$version$(tput sgr0) $string"
361
308
  selected="1"
362
309
  else
363
- echo -e " $(tput setaf 3)(default)$(tput sgr0) $(tput setaf 2)$version$(tput sgr0) ( ruby -v # => $string) )"
310
+ echo -e " $(tput setaf 3)(default)$(tput sgr0) $(tput setaf 2)$version$(tput sgr0) $string"
364
311
  fi
365
312
  fi ; unset version
366
313
  fi
367
314
 
368
315
  system_ruby="$(rvm system ; which ruby 2>/dev/null)"
369
316
  if [[ ! -z "$system_ruby" ]] ; then
370
- system_version=$($system_ruby -v)
317
+ system_version=$(file $(which ruby) | awk -F: '{print $2}' | grep 8 | awk '{print $NF}' | tr "\n" ' ')
371
318
  if [[ ! -z "$(which ruby 2>/dev/null)" ]] && [[ "$($(which ruby 2>/dev/null) -v)" = "$system_version" ]] ; then
372
- echo -e "=> $(tput setaf 2)system$(tput sgr0) ( ruby -v # => $system_version )\n"
319
+ echo -e "=> $(tput setaf 2)system$(tput sgr0) [$system_version]\n"
373
320
  else
374
- echo -e " $(tput setaf 2)system$(tput sgr0) ( ruby -v # => $system_version )\n"
321
+ echo -e " $(tput setaf 2)system$(tput sgr0) [$system_version]\n"
375
322
  fi
376
323
  else
377
324
  $rvm_scripts_path/log "info" "No system ruby found."
@@ -419,7 +366,12 @@ __rvm_update_rvm() {
419
366
  fi
420
367
  else
421
368
  # TODO: rvm_install_path:
422
- gem install rvm --no-rdoc --no-ri -q rvm && cd "$(rvm system ; gem env | grep "\- $HOME" | awk '{print $NF}')/gems/rvm-$(gem list rvm | sed 's/.*(//' | awk -F',' '{print $1 ; exit}')" && ./install
369
+ if [ $(gem list rvm --installed) = 'true' ]; then
370
+ gem update rvm --no-rdoc --no-ri --quiet
371
+ else
372
+ gem install rvm --no-rdoc --no-ri --quiet
373
+ fi
374
+ builtin cd "$(rvm system ; gem env | grep "\- $HOME" | awk '{print $NF}' | head -n 1)/gems/rvm-$(gem list rvm | sed 's/.*(//' | sed 's/).*//' | awk -F',' '{print $1 ; exit}')" && ./install
423
375
  fi
424
376
  __rvm_pushpop
425
377
  __rvm_hook "after_update"
@@ -470,7 +422,7 @@ __rvm_ruby_do() {
470
422
 
471
423
  load_path="$rvm_ruby_home/bin:$rvm_ruby_load_path"
472
424
  # TODO: the else case below should be run if $rvm_ruby_args =~ /\.rb$/
473
- if [[ "ruby" = "$binary" ]] && [[ "$rvm_benchmark_flag" -ne 1 ]] ; then
425
+ if [[ "ruby" = "$(basename $binary)" ]] && [[ "$rvm_benchmark_flag" -ne 1 ]] ; then
474
426
  if $rvm_scripts_path/match "$rvm_ruby_args" "\.rb$" ; then
475
427
  if [[ -z "$prefix" ]] ; then prefix="-S" ; fi
476
428
  if ! $rvm_scripts_path/match "$rvm_ruby_args" "$prefix" ; then
@@ -478,8 +430,10 @@ __rvm_ruby_do() {
478
430
  fi
479
431
  fi
480
432
  rvm_command="$binary $rvm_ruby_mode $rvm_ruby_require -I$load_path $rvm_ruby_args"
481
- elif [[ "gem" = "$binary" ]] && match "$rvm_ruby_args" '^install' ; then
482
- rvm_command="$binary $rvm_ruby_mode $rvm_ruby_args --no-rdoc --no-ri"
433
+ elif [[ "gem" = "$(basename $binary)" ]] && $rvm_scripts_path/match "$rvm_ruby_args" '^install' ; then
434
+ #__rvm_gem_install
435
+ #$rvm_scripts_path/gem install $rvm_ruby_args
436
+ rvm_command="$rvm_scripts_path/gems $rvm_ruby_mode $rvm_ruby_args --no-rdoc --no-ri"
483
437
  else
484
438
  rvm_command="$binary $rvm_ruby_mode $rvm_ruby_args"
485
439
  fi
@@ -520,13 +474,12 @@ __rvm_do() {
520
474
  unset rvm_ruby_string rvm_ruby_version
521
475
  __rvm_ruby_do
522
476
  else # all
523
- rubies=($(\ls $rvm_path/*/bin/ruby))
524
- for full_binary in ${rubies[@]} ; do
477
+ for full_binary in $rvm_path/*/bin/ruby ; do
525
478
  if [[ -x "$full_binary" ]] ; then
526
479
  rvm_ruby_string="$(dirname $full_binary | xargs dirname | xargs basename)"
527
480
  __rvm_ruby_do
528
481
  fi
529
- done ; unset full_binary rubies
482
+ done ; unset full_binary
530
483
  fi
531
484
 
532
485
  if [[ ! -z "$rvm_summary_flag" ]] ; then __rvm_summary ; fi
@@ -653,7 +606,6 @@ __rvm_inspect() {
653
606
  }
654
607
 
655
608
  __rvm_make_flags() {
656
- PATH=${rvm_path}/usr/bin:$PATH ; export PATH
657
609
  # This is only an issue with Darwin :/
658
610
  if [[ "Darwin" = "$(uname)" ]] ; then
659
611
  # ls /usr/lib/gcc/x86_64-apple-darwin10
@@ -697,3 +649,41 @@ __rvm_hook() {
697
649
  fi
698
650
  }
699
651
 
652
+ __rvm_gems_select() {
653
+ if [[ -z "$(which gem 2>/dev/null)" ]] ; then return 0 ; fi
654
+
655
+ if [[ -z "$rvm_gem_set_name" ]] ; then
656
+ if [[ ! -z "$GEM_HOME" ]] ; then
657
+ rvm_gem_set_name=$(echo $GEM_HOME | xargs basename | awk -F'%' '{print $2}')
658
+ fi
659
+
660
+ if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
661
+ rvm_gem_set_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F'%' '{print $2}')
662
+ fi
663
+
664
+ if [[ ! -z "$rvm_gem_set_name" ]] && ! $rvm_scripts_path/match "$rvm_gem_set_name" "^[0-9]\.[0-9]" ; then
665
+ rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
666
+ else
667
+ if [[ ! -z "$rvm_ruby_interpreter" ]] && [[ ! -z "$rvm_ruby_version" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
668
+ rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version"
669
+ elif [[ -z "$GEM_HOME" ]] && [[ ! -z "$(which gem 2>/dev/null)" ]] ; then
670
+ rvm_ruby_gem_home=$(gem env gemdir)
671
+ elif [[ ! -z "$GEM_HOME" ]] ; then
672
+ rvm_ruby_gem_home="$GEM_HOME"
673
+ else
674
+ unset rvm_ruby_gem_home
675
+ fi
676
+ fi
677
+ if [[ -z "$rvm_gem_set_name" ]] ; then unset rvm_gem_set_name ; fi
678
+ else
679
+ rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
680
+ fi
681
+ }
682
+
683
+ __rvm_gems_use() {
684
+ mkdir -p "$rvm_ruby_gem_home"
685
+ GEM_HOME="$rvm_ruby_gem_home" ; export GEM_HOME
686
+ GEM_PATH="$GEM_HOME" ; export GEM_PATH
687
+ __rvm_use
688
+ }
689
+
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.88
4
+ version: 0.0.89
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wayne E. Seguin
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-04 00:00:00 -05:00
12
+ date: 2009-12-08 00:00:00 -05:00
13
13
  default_executable: rvm-install
14
14
  dependencies: []
15
15
 
@@ -56,6 +56,7 @@ files:
56
56
  - scripts/log
57
57
  - scripts/manage
58
58
  - scripts/match
59
+ - scripts/md5
59
60
  - scripts/monitor
60
61
  - scripts/notes
61
62
  - scripts/rvm