rvm 0.1.43 → 0.1.44

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.
@@ -72,7 +72,7 @@ __rvm_ruby_do() {
72
72
  if [[ "$current_env" != "$current_set_ruby" ]]; then
73
73
  current_env="$current_set_ruby ($current_env)"
74
74
  fi
75
- $rvm_scripts_path/log "info" "$current_env: $(ruby -v $rvm_ruby_mode | tr "\n" ' ')\n"
75
+ $rvm_scripts_path/log "info" "$current_env: $(ruby -v $rvm_ruby_mode | \tr "\n" ' ')\n"
76
76
  unset current_env
77
77
  fi
78
78
  eval "$rvm_command"
@@ -160,7 +160,7 @@ __rvm_json() {
160
160
  rubies=() ; successes=() ; errors=() ; statuses=()
161
161
 
162
162
  rvm_ruby_strings="${rvm_ruby_strings:-"$($rvm_scripts_path/list strings)"}"
163
- rvm_ruby_strings="$(echo "$rvm_ruby_strings" | tr ',' ' ')"
163
+ rvm_ruby_strings="$(echo "$rvm_ruby_strings" | \tr ',' ' ')"
164
164
 
165
165
  # Check for a single ruby && exec if present.
166
166
  __rvm_attempt_single_exec
@@ -59,7 +59,7 @@ snapshot_save() {
59
59
  local snapshot_installable_file="$rvm_tmp_path/$$-installable"
60
60
 
61
61
  $rvm_scripts_path/alias list | awk -F ' => ' '{print $1}' | sort | uniq 2>/dev/null > "$snapshot_alias_name_file"
62
- $rvm_scripts_path/list strings | tr ' ' '\n' | sort | uniq > "$snapshot_ruby_name_file"
62
+ $rvm_scripts_path/list strings | \tr ' ' '\n' | sort | uniq > "$snapshot_ruby_name_file"
63
63
  comm -2 -3 "$snapshot_ruby_name_file" "$snapshot_alias_name_file" > "$snapshot_installable_file"
64
64
  rm -rf "$snapshot_ruby_name_file" "$snapshot_alias_name_file"
65
65
 
@@ -1,10 +1,18 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ if [[ -z "$rvm_sandboxed" ]]; then
4
+ if [[ "root" = "$(whoami)" ]] || [[ -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
5
+ export rvm_sandboxed=0
6
+ else
7
+ export rvm_sandboxed=1
8
+ fi
9
+ fi
10
+
3
11
  unset rvm_auto_flag
4
12
 
5
- install_source_path=$(dirname $0)
13
+ install_source_path="$(dirname "$0" | sed 's#\/scripts$##')"
6
14
  if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then
7
- builtin cd $install_source_path
15
+ builtin cd "$install_source_path"
8
16
  fi
9
17
 
10
18
  source scripts/version
@@ -53,7 +61,7 @@ done
53
61
 
54
62
  if [[ -z "$rvm_prefix" ]] ; then
55
63
  __rvm_load_rvmrc
56
- if [[ "root" = "$(whoami)" ]] ; then
64
+ if [[ "$rvm_sandboxed" = "0" ]] ; then
57
65
  rvm_prefix="${rvm_prefix:-"/usr/local/"}"
58
66
  else
59
67
  rvm_prefix="${rvm_prefix:-"$HOME/."}"
@@ -64,7 +72,7 @@ if [[ -z "$rvm_path" ]] ; then rvm_path="${rvm_prefix}rvm" ; fi
64
72
 
65
73
  source scripts/initialize
66
74
 
67
- if grep -q 'scripts/rvm' $HOME/.bash* || grep -q 'scripts/rvm' $HOME/.zsh*; then
75
+ if grep -q 'scripts/rvm' $HOME/.bash* 2>/dev/null || grep -q 'scripts/rvm' $HOME/.zsh* 2>/dev/null; then
68
76
  if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then
69
77
  export upgrade_flag=1
70
78
  else
@@ -114,7 +122,7 @@ fi
114
122
 
115
123
  spinner
116
124
 
117
- mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gems_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path
125
+ mkdir -p "$rvm_archives_path" "$rvm_src_path" "$rvm_log_path" "$rvm_bin_path" "$rvm_gems_path" "$rvm_rubies_path" "$rvm_config_path" "$rvm_hooks_path" "$rvm_tmp_path"
118
126
 
119
127
  for file in README LICENCE ; do
120
128
  spinner
@@ -148,7 +156,7 @@ done
148
156
  # Bin Scripts
149
157
  #
150
158
  # Cleanse and purge...
151
- for file in rvm-prompt rvm rvmsudo rvm-shell ; do
159
+ for file in rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby ; do
152
160
  spinner && perl -e 'sleep 0.2'
153
161
  rm -f "$rvm_bin_path/$file"
154
162
  cp -f "$source_path/binscripts/$file" $rvm_bin_path/
@@ -183,29 +191,30 @@ fi
183
191
  # Initial Interpreter Gemsets.
184
192
  #
185
193
  spinner
186
- mkdir -p "$rvm_gemsets_path"
187
- for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do
188
- source_path="$(pwd)/gemsets"
189
- destination="$rvm_gemsets_path/$gemset_file"
190
- destination_path="$(dirname "$destination")"
191
- if [[ ! -s "$destination" ]] ; then
192
- mkdir -p "$destination_path"
193
- cp "$source_path/$gemset_file" "$destination"
194
- fi
195
- done ; unset destination destination_path source_path gemset_file
194
+ if [[ -d gemsets/ ]] ; then
195
+ mkdir -p "$rvm_gemsets_path"
196
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do
197
+ destination="$rvm_gemsets_path/$gemset_file"
198
+ destination_path="$(dirname "$destination")"
199
+ if [[ ! -s "$destination" ]] ; then
200
+ mkdir -p "$destination_path"
201
+ cp "gemsets/$gemset_file" "$destination"
202
+ fi
203
+ done ; unset destination destination_path gemset_file
204
+ fi
196
205
 
197
206
  spinner
198
- mkdir -p "$rvm_patchsets_path"
199
- for patchsets_file in $(cd gemsets ; find . -iname '*' | sed 's/^\.\///') ; do
200
- source_path="$(pwd)/gemsets"
201
- destination="$rvm_patchsets_path/$patchset_file"
202
- destination_path="$(dirname "$destination")"
203
- if [[ ! -s "$destination" ]] ; then
204
- mkdir -p "$destination_path"
205
- cp "$source_path/$patchset_file" "$destination"
206
- fi
207
- done ; unset destination destination_path source_path patchset_file
208
-
207
+ if [[ -d patchsets/ ]] ; then
208
+ mkdir -p "$rvm_patchsets_path"
209
+ for patchset_file in $(cd patchsets ; find . -iname '*' | sed 's/^\.\///') ; do
210
+ destination="$rvm_patchsets_path/$patchset_file"
211
+ destination_path="$(dirname "$destination")"
212
+ if [[ ! -s "$destination" ]] ; then
213
+ mkdir -p "$destination_path"
214
+ cp "patchsets/$patchset_file" "$destination"
215
+ fi
216
+ done ; unset destination destination_path patchset_file
217
+ fi
209
218
 
210
219
  #
211
220
  # Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
@@ -276,7 +285,7 @@ fi
276
285
 
277
286
  printf "\n Correct permissions for base binaries in $rvm_bin_path..."
278
287
  mkdir -p $rvm_bin_path
279
- for file in rvm rvmsudo rvm-shell ; do
288
+ for file in rvm rvmsudo rvm-shell rvm-auto-ruby; do
280
289
  [[ -s "$rvm_bin_path/$file" ]] && chmod +x "$rvm_bin_path/$file"
281
290
  done; unset file
282
291
  printf "\n Copying manpages into place."
@@ -285,9 +294,7 @@ for man_file in $(\ls "$install_source_path/man"); do
285
294
  cp -R "$install_source_path/man/$man_file" "$rvm_man_path/"
286
295
  done
287
296
 
288
- if [[ "$upgrade_flag" -eq 0 ]] ; then
289
- ./scripts/notes
290
- fi
297
+ [[ "$upgrade_flag" = 0 ]] && ./scripts/notes
291
298
 
292
299
  name="$(awk -F= '/^[[:space:]]*name/{print $2}' ~/.gitconfig 2>/dev/null)"
293
300
  printf "\n\n${name:-"$(whoami)"},\n"
@@ -2,7 +2,7 @@
2
2
 
3
3
  __rvm_setup() {
4
4
  # ZSH has 1 based array indexing, bash has 0 based.
5
- if [[ ! -z "$ZSH_VERSION" ]] ; then
5
+ if [[ -n "$ZSH_VERSION" ]] ; then
6
6
  __shell_array_start=1
7
7
  # Set clobber for zsh users, for compatibility with bash's append operator ( >> file ) behavior
8
8
  setopt | grep -qs '^noclobber$'
@@ -14,7 +14,7 @@ __rvm_setup() {
14
14
  }
15
15
 
16
16
  __rvm_teardown() {
17
- if [[ ! -z "$ZSH_VERSION" ]] ; then
17
+ if [[ -n "$ZSH_VERSION" ]] ; then
18
18
  if [[ "$rvm_zsh_clobber" -eq 0 ]] ; then
19
19
  setopt noclobber
20
20
  fi ; unset rvm_zsh_clobber
@@ -24,7 +24,7 @@ __rvm_teardown() {
24
24
  # Ruby strings are scoped to their action.
25
25
  # Hence, we ensure we remove them at in
26
26
  # the cleanup phase.
27
-
27
+
28
28
  # Clean up after CC switch
29
29
  if [[ -n "$rvm_clang_flag" ]] ; then
30
30
  if [[ -n "$rvm_prior_cc" ]] ; then
@@ -34,16 +34,33 @@ __rvm_teardown() {
34
34
  fi
35
35
  unset rvm_prior_cc
36
36
  fi
37
-
37
+
38
38
  unset rvm_ruby_strings
39
+
40
+ [[ -n "$rvm_dump_environment_flag" ]] && __rvm_dump_environment
41
+
39
42
  }
40
43
 
44
+ __rvm_dump_environment() {
45
+ local dump_environment_file="$(echo "$rvm_dump_environment_flag" | awk -F, '{print $1}')"
46
+ local dump_environment_type="$(echo "$rvm_dump_environment_flag" | awk -F, '{print $2}')"
47
+ if [[ -n "$dump_environment_file" && -n "$dump_environment_type" ]]; then
48
+ if [[ "$dump_environment_type" == "atheis"* ]]; then
49
+ rm -rf "$dump_environment_file" && ln -s /dev/null "$dump_environment_file" >/dev/null 2>&1
50
+ else
51
+ $rvm_scripts_path/environment-convertor "$dump_environment_type" "$(__rvm_environment_identifier)" > "$dump_environment_file"
52
+ [[ "$?" -gt 0 ]] && rm -rf "$dump_environment_file"
53
+ fi
54
+ fi
55
+ unset rvm_dump_environment_flag
56
+ }
57
+
41
58
  # Return a list of directories under a given base path.
42
59
  # Derived from rvm_ruby_string.
43
60
  __rvm_ruby_string_paths_under() {
44
- local patch_parts="$(echo "$rvm_ruby_string" | tr '-' ' ' | __rvm_strip)"
61
+ local patch_parts="$(echo "$rvm_ruby_string" | \tr '-' ' ' | __rvm_strip)"
45
62
  while true; do
46
- echo "$1/$patch_parts" | tr ' ' '/' | sed 's#\/$##'
63
+ echo "$1/$patch_parts" | \tr ' ' '/' | sed 's#\/$##'
47
64
  [[ -z "$patch_parts" ]] && break
48
65
  patch_parts="$(echo "$patch_parts" | awk '{$NF=""; print}' | __rvm_strip)"
49
66
  done
@@ -61,7 +78,7 @@ __rvm_db() {
61
78
  value="$($rvm_scripts_path/db "$rvm_config_path/db" "$key")"
62
79
  fi
63
80
 
64
- if [[ ! -z "$value" ]] ; then
81
+ if [[ -n "$value" ]] ; then
65
82
  if [[ -z $variable ]] ; then
66
83
  echo $value
67
84
  else
@@ -87,8 +104,11 @@ __rvm_quote_args() {
87
104
 
88
105
  __rvm_quote_args_with_shift() {
89
106
  local shift_value="$1"; shift
90
- local program_args=( "$@" )
91
- __rvm_quote_args "${program_args[@]:$shift_value}"
107
+ while [[ "$shift_value" -gt 0 && "$#" -gt 0 ]]; do
108
+ shift
109
+ let shift_value=shift_value-1
110
+ done
111
+ __rvm_quote_args "$@"
92
112
  }
93
113
 
94
114
  __rvm_warn_on_rubyopt() {
@@ -124,15 +144,23 @@ __rvm_push() {
124
144
  unset array item
125
145
  }
126
146
 
147
+ __rvm_set_path_variable() {
148
+ if [[ -d "$1" ]] ; then
149
+ eval "${path_variable}=${1}"
150
+ else
151
+ $rvm_scripts_path/log "error" "'$1' is not a valid path."
152
+ fi ; unset path_variable
153
+ }
154
+
127
155
  # Clean all *duplicate* items out of the path. (keep first occurrence of each)
128
156
  __rvm_clean_path() {
129
- PATH=$(echo $PATH | tr -s ':' '\n' | awk '!($0 in a){a[$0];print}' | tr -s '\n' ':' | sed 's#:$##')
157
+ PATH=$(echo $PATH | \tr -s ':' '\n' | awk '!($0 in a){a[$0];print}' | \tr -s '\n' ':' | sed 's#:$##')
130
158
  export PATH
131
159
  }
132
160
 
133
161
  # Clean all rvm items out of the current working path.
134
162
  __rvm_remove_rvm_from_path() {
135
- PATH=$(echo $PATH | tr -s ':' '\n' | grep -v "\.rvm" | tr -s '\n' ':' | sed 's#:$##')
163
+ PATH=$(echo $PATH | \tr -s ':' '\n' | grep -v "\.rvm" | \tr -s '\n' ':' | sed 's#:$##')
136
164
  export PATH
137
165
  }
138
166
 
@@ -140,8 +168,8 @@ __rvm_remove_rvm_from_path() {
140
168
  __rvm_run() {
141
169
  log_file_name="$1" ; command="$2" ; message="$3"
142
170
  if [[ -z "$rvm_ruby_log_path" ]] ; then rvm_ruby_log_path="$rvm_log_path" ; fi
143
- if [[ ! -z "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
144
- if [[ ! -z "$rvm_debug_flag" ]] ; then
171
+ if [[ -n "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
172
+ if [[ -n "$rvm_debug_flag" ]] ; then
145
173
  $rvm_scripts_path/log "debug" "Executing: $command"
146
174
  fi
147
175
 
@@ -162,8 +190,8 @@ __rvm_run_with_env() {
162
190
  log_file_name="$1" ; env_name="$2" ; command="$3" ; message="$4"
163
191
  if [[ -z "$env_name" ]]; then env_name="$(__rvm_environment_identifier)"; fi
164
192
  if [[ -z "$rvm_ruby_log_path" ]] ; then rvm_ruby_log_path="$rvm_log_path" ; fi
165
- if [[ ! -z "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
166
- if [[ ! -z "$rvm_debug_flag" ]] ; then
193
+ if [[ -n "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
194
+ if [[ -n "$rvm_debug_flag" ]] ; then
167
195
  $rvm_scripts_path/log "debug" "Executing: $command in environment "$env_name""
168
196
  fi
169
197
 
@@ -186,7 +214,7 @@ __rvm_cleanup_variables() {
186
214
 
187
215
  if [[ "$rvm_sticky_flag" = "1" ]] ; then export rvm_gemset_name ; else unset rvm_gemset_name ; fi
188
216
 
189
- unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_sticky_flag rvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag rvm_docs_flag rvm_ruby_aliases rvm_ruby_aliases rvm_patch_names rvm_clang_flag rvm_install_arguments
217
+ unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_sticky_flag rvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag rvm_docs_flag rvm_ruby_aliases rvm_ruby_aliases rvm_patch_names rvm_clang_flag rvm_install_arguments rvm_dump_environment_flag
190
218
  }
191
219
 
192
220
  # Unset ruby-specific variables
@@ -215,7 +243,7 @@ __rvm_18_compat_ruby() {
215
243
  rubies="$rubies $ruby_name"
216
244
  fi
217
245
  done; unset ruby_name
218
- echo "$rubies" | sed 's/^ //' | tr ' ' '\n' | sort | tail -n1
246
+ echo "$rubies" | sed 's/^ //' | \tr ' ' '\n' | sort | tail -n1
219
247
  unset rubies
220
248
  }
221
249
 
@@ -274,6 +302,7 @@ __rvm_set_rvmrc() {
274
302
 
275
303
  }
276
304
  __rvm_load_rvmrc() {
305
+ [[ -z "$rvm_ignore_rvmrc" ]] && return
277
306
  for rvmrc in /etc/rvmrc $HOME/.rvmrc ; do
278
307
  if [[ -f "$rvmrc" ]] ; then
279
308
  if grep -q '^\s*rvm .*$' $rvmrc ; then
@@ -296,7 +325,7 @@ __rvm_benchmark() {
296
325
  rvm_ruby_args="$rvm_tmp_path/$$.rb"
297
326
  rvm_benchmark_flag=1
298
327
  rvm_action="ruby"
299
- if [[ ! -z "$rvm_debug_flag" ]] ; then printf "\n$rvm_tmp_path/$$.rb:\n$(cat $rvm_tmp_path/$$.rb)" ; fi
328
+ if [[ -n "$rvm_debug_flag" ]] ; then printf "\n$rvm_tmp_path/$$.rb:\n$(cat $rvm_tmp_path/$$.rb)" ; fi
300
329
  # Override ruby string stuff, pass through.
301
330
  old_rvm_ruby_string=$rvm_ruby_string
302
331
  unset rvm_ruby_string
@@ -328,14 +357,16 @@ __rvm_bin_script() {
328
357
  # Reset any rvm gathered information about the system and its state.
329
358
  # rvm will refresh the stored information the next time it is called after reset.
330
359
  __rvm_reset() {
331
- PATH="$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)"
360
+ PATH="$(echo $PATH | \tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)"
332
361
  PATH="$rvm_bin_path:$PATH" ; export PATH
333
362
 
334
363
  for flag in default passenger editor ; do rm -f "$rvm_bin_path"/${flag}_* ; done
335
364
  unset flag
336
365
 
337
366
  for file in system default ; do
338
- rm -f "$rvm_path/$file" "$rvm_config_path/$file" "$rvm_environments_path/$file"
367
+ [[ -f "${rvm_path}/${file}" ]] && rm -f "$rvm_path/${file}"
368
+ [[ -f "${rvm_config_path}/${file}" ]] && rm -f "$rvm_config_path/${file}"
369
+ [[ -f "${rvm_environments_path}/${file}" ]] && rm -f "$rvm_environments_path/${file}"
339
370
  done; unset file
340
371
 
341
372
  # Go back to a clean state.
@@ -391,22 +422,24 @@ __rvm_initialize() {
391
422
 
392
423
  __rvm_clean_path
393
424
 
394
- if echo $PATH | grep -q 'rvm\/bin:' ; then
395
- PATH=$rvm_bin_path:$PATH ; export PATH
425
+ if echo "$PATH" | grep -q 'rvm\/bin:' ; then
426
+ PATH="$rvm_bin_path:$PATH"
427
+ export PATH
396
428
  fi
397
429
 
398
- mkdir -p $rvm_src_path $rvm_bin_path $rvm_archives_path $rvm_gems_path $rvm_tmp_path $rvm_repo_path
430
+ mkdir -p "$rvm_src_path" "$rvm_bin_path" "$rvm_archives_path" "$rvm_gems_path" "$rvm_tmp_path" "$rvm_repo_path"
399
431
  }
400
432
 
401
433
  # Update rubygems or binscripts based on CLI selection.
402
434
  __rvm_update() {
403
435
  __rvm_pushpop $rvm_path
404
- if [[ "$rvm_head_flag" == "1" ]] || [[ ! -z "$rvm_self_flag" ]] || [[ "update" = "$rvm_action" ]] || [[ ! -z "$rvm_update_flag" ]] ; then
436
+ if [[ "$rvm_head_flag" == "1" ]] || [[ -n "$rvm_self_flag" ]] || [[ "update" = "$rvm_action" ]] || [[ -n "$rvm_update_flag" ]] ; then
405
437
  __rvm_version
406
438
  __rvm_update_rvm
407
439
  fi
408
- if [[ ! -z "$rvm_bin_flag" ]] ; then __rvm_bin_scripts ; fi
409
- if [[ ! -z "$rvm_rubygems_flag" ]] ; then __rvm_rubygems_setup ; fi
440
+ [[ -n "$rvm_bin_flag" ]] && __rvm_bin_scripts
441
+ # Update to the latest rubygems.
442
+ [[ -n "$rvm_rubygems_flag" ]] && $rvm_scripts_path/rubygems current
410
443
 
411
444
  unset rvm_update_flag rvm_action rvm_self_flag rvm_ruby_revision rvm_bin_flag rvm_rubygems_flag
412
445
  __rvm_pushpop
@@ -420,12 +453,12 @@ __rvm_update_rvm() {
420
453
 
421
454
  if [[ "$rvm_head_flag" == "1" ]] ; then
422
455
  if [[ -d "$rvm_src_path/rvm/.git" ]] ; then
423
- builtin cd $rvm_src_path/rvm/ && git pull origin master && ./scripts/install
456
+ builtin cd "$rvm_src_path/rvm/" && git pull origin master && ./scripts/install
424
457
  else
425
- builtin cd $rvm_src_path && git clone http://github.com/wayneeseguin/rvm.git && builtin cd rvm/ && ./scripts/install
458
+ builtin cd "$rvm_src_path" && git clone http://github.com/wayneeseguin/rvm.git && builtin cd rvm/ && ./scripts/install
426
459
  fi
427
460
  else
428
- stable_version=$(curl -s http://rvm.beginrescueend.com/releases/stable-version.txt)
461
+ stable_version="$(curl -s http://rvm.beginrescueend.com/releases/stable-version.txt)"
429
462
 
430
463
  __rvm_run "fetch" "$rvm_scripts_path/fetch 'http://rvm.beginrescueend.com/releases/rvm-${stable_version}.tar.gz'" "fetching rvm-${stable_version}.tar.gz"
431
464
 
@@ -435,7 +468,7 @@ __rvm_update_rvm() {
435
468
  fi
436
469
 
437
470
  __rvm_pushpop
438
- rvm_hook="after_update" ; source $rvm_scripts_path/hook
471
+ rvm_hook="after_update" ; source "$rvm_scripts_path/hook"
439
472
  }
440
473
 
441
474
  __rvm_reboot() {
@@ -498,12 +531,12 @@ __rvm_inspect() {
498
531
  for binary in $rvm_ruby_args ; do
499
532
  actual_file="$(command -v $binary)"
500
533
  $rvm_scripts_path/log "info" "$actual_file:"
501
- if [[ ! -z "$rvm_shebang_flag" ]] ; then cat $actual_file | head -n 1 ; fi
502
- if [[ ! -z "$rvm_env_flag" ]] ; then cat $actual_file | awk '/ENV/' ; fi
503
- if [[ ! -z "$rvm_path_flag" ]] ; then cat $actual_file | awk '/PATH/' ; fi
504
- if [[ ! -z "$rvm_head_flag" ]] ; then cat $actual_file | head -n 5 ; fi
505
- if [[ ! -z "$rvm_tail_flag" ]] ; then cat $actual_file | tail -n 5 ; fi
506
- if [[ ! -z "$rvm_all_flag" ]] ; then cat $actual_file ; fi
534
+ if [[ -n "$rvm_shebang_flag" ]] ; then cat $actual_file | head -n 1 ; fi
535
+ if [[ -n "$rvm_env_flag" ]] ; then cat $actual_file | awk '/ENV/' ; fi
536
+ if [[ -n "$rvm_path_flag" ]] ; then cat $actual_file | awk '/PATH/' ; fi
537
+ if [[ -n "$rvm_head_flag" ]] ; then cat $actual_file | head -n 5 ; fi
538
+ if [[ -n "$rvm_tail_flag" ]] ; then cat $actual_file | tail -n 5 ; fi
539
+ if [[ -n "$rvm_all_flag" ]] ; then cat $actual_file ; fi
507
540
  done
508
541
  }
509
542
 
@@ -517,7 +550,7 @@ __rvm_make_flags() {
517
550
  # Set the build & host type
518
551
  if [[ "Power Macintosh" = "$(sysctl -n hw.machine)" ]] ; then
519
552
  : # Do nothing ?
520
- elif [[ "$(sysctl -n hw.cpu64bit_capable)" = 1 || "$(sysctl -n hw.optional.x86_64)" = 1 ]] ; then
553
+ elif [[ "$(sysctl -n hw.cpu64bit_capable)" = 1 || "$(sysctl -n hw.optional.x86_64)" = 1 ]] ; then
521
554
  # 64 bit capable
522
555
  if [[ "-arch x86_64" = "$rvm_archflags" ]] ; then
523
556
  rvm_ruby_configure_flags="${rvm_ruby_configure_flags} --build=x86_64-apple-darwin$(uname -r) --host=x86_64-apple-darwin$(uname -r)"
@@ -529,7 +562,7 @@ __rvm_make_flags() {
529
562
  fi
530
563
  fi
531
564
 
532
- if [[ ! -z "$rvm_archflags" ]] ; then
565
+ if [[ -n "$rvm_archflags" ]] ; then
533
566
  ARCHFLAGS="$rvm_archflags" ; export ARCHFLAGS
534
567
  # Use the latest sdk available.
535
568
  if [[ -z "$rvm_sdk" ]] ; then rvm_sdk="$(/usr/bin/basename -a /Developer/SDKs/* | awk '/^M/' | sort | tail -n 1)" ; fi
@@ -540,133 +573,6 @@ __rvm_make_flags() {
540
573
  fi
541
574
  }
542
575
 
543
- # Select a gemset based on CLI set options and environment.
544
- # This only sets 'rvm_ruby_gem_home'
545
- __rvm_gemset_select() {
546
- command -v gem > /dev/null
547
- if [[ $? -gt 0 ]] ; then return 0 ; fi # Stop if no 'gem' command is available.
548
-
549
- rvm_ruby_global_gems_path="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}global"
550
-
551
- #if [[ -z "$(echo $rvm_ruby_gem_home | grep "$rvm_path")" ]] ; then
552
- # $rvm_scripts_path/log "warn" "Gemsets cannot be used with system ruby installs (yet)."
553
- #fi
554
-
555
- if [[ -z "$rvm_gemset_name" ]] ; then
556
- # No longer defaulting to 'sticky' gem sets.
557
- # Set 'rvm_sticky_flag=1' in ~/.rvmrc to enable.
558
- if [[ ! -z "$rvm_sticky_flag" ]] ; then
559
- if [[ ! -z "$GEM_HOME" ]] ; then
560
- rvm_gemset_name=$(echo $GEM_HOME | xargs basename | awk -F${rvm_gemset_separator} '{print $2}')
561
- fi
562
- if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
563
- rvm_gemset_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F${rvm_gemset_separator} '{print $2}')
564
- fi
565
- fi
566
-
567
- if [[ ! -z "$rvm_gemset_name" ]] && ! $rvm_scripts_path/match "$rvm_gemset_name" "^[0-9]\.[0-9]" ; then
568
- rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
569
- else
570
- if [[ ! -z "$rvm_ruby_string" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
571
- rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
572
- elif [[ -z "$GEM_HOME" ]] && [[ ! -z "$(command -v gem)" ]] ; then
573
- rvm_ruby_gem_home=$(gem env gemdir)
574
- elif [[ ! -z "$GEM_HOME" ]] ; then
575
- rvm_ruby_gem_home="$GEM_HOME"
576
- else
577
- unset rvm_ruby_gem_home
578
- fi
579
- fi
580
- if [[ -z "$rvm_gemset_name" ]] ; then unset rvm_gemset_name ; fi
581
- else
582
- gemset=$(echo "$rvm_ruby_gem_home" | awk -F'@' '{print $NF}')
583
- if [[ -z "$rvm_ruby_string" ]] && [[ ! -z "${GEM_HOME/@*/}" ]] ; then
584
- rvm_ruby_string=$(basename ${GEM_HOME/@*/})
585
- fi
586
-
587
- if [[ ! -z "$rvm_ruby_string" ]] ; then
588
- if [[ -z "$rvm_ruby_gem_home" ]] || [[ ! -z "$gemset" ]] ; then
589
- rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
590
- elif [[ ! -z "$gemset" ]] && [[ "$rvm_gemset_name" != "$gemset" ]] ; then
591
- rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
592
- fi ; unset gemset
593
- else
594
- $rvm_scripts_path/log "error" "Gemsets can not be used with non rvm controlled rubies (currently)."
595
- return 1
596
- fi
597
- fi
598
-
599
- # If the gemset does not exist, then notify the user as such and abort the action.
600
- if [[ ! -z "$rvm_gemset_name" ]] && [[ ! -d "$rvm_ruby_gem_home" ]] ; then
601
- if [[ "$rvm_gemset_create_on_use_flag" -ne 1 ]] && [[ "$rvm_create_flag" -ne 1 ]] && [[ "$rvm_delete_flag" -ne 1 ]] ; then
602
- $rvm_scripts_path/log "error" "Gemset '$rvm_gemset_name' does not exist, rvm gemset create '$rvm_gemset_name' first."
603
- return 1
604
- fi
605
- elif [[ "$rvm_delete_flag" -eq 1 ]] ; then
606
- return 1
607
- fi
608
-
609
- if [[ -z "$rvm_ruby_gem_home" ]] && [[ ! -z $rvm_ruby_string ]] ; then
610
- rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
611
- rvm_ruby_global_gems_path="$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}global"
612
- fi
613
-
614
- rvm_ruby_gem_path="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
615
-
616
- # Ensure that the ruby gem home exists.
617
- mkdir -p "$rvm_ruby_gem_home"
618
- if [[ -n "$rvm_ruby_gem_home" ]] && echo "$rvm_ruby_gem_home" | grep -q 'rvm'; then
619
- if __rvm_using_gemset_globalcache && [[ ! -L "$rvm_ruby_gem_home/cache" ]]; then
620
- mv "$rvm_ruby_gem_home/cache/"*.gem "$rvm_gems_cache_path/" 2>/dev/null
621
- rm -rf "$rvm_ruby_gem_home/cache"
622
- ln -nfs "$rvm_gems_cache_path" "$rvm_ruby_gem_home/cache"
623
- fi
624
- fi
625
-
626
- export rvm_ruby_gem_path rvm_ruby_gem_home
627
- }
628
-
629
- # Use a gemset specified by 'rvm_ruby_gem_home'
630
- __rvm_gemset_use() {
631
- #if [[ -z "$(echo $rvm_ruby_gem_home | grep "rvm")" ]] ; then
632
- # $rvm_scripts_path/log "warn" "Gemsets cannot be used with system ruby installs (yet)."
633
- #fi
634
- if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
635
- if [[ ! -d "$rvm_ruby_gem_home" ]] ; then
636
- if [[ "$rvm_gemset_create_on_use_flag" -eq 1 ]] || [[ "$rvm_create_flag" -eq 1 ]]; then
637
- $rvm_scripts_path/gemsets create $rvm_gemset_name
638
- else
639
- $rvm_scripts_path/log "error" "Gemset '$rvm_gemset_name' does not exist, rvm gemset create '$rvm_gemset_name' first."
640
- return 1
641
- fi
642
- fi
643
-
644
- if [[ "$rvm_interactive" -eq 1 ]] || [[ "$rvm_verbose_flag" -eq 1 ]] ; then
645
- $rvm_scripts_path/log "info" "Now using gemset '${rvm_gemset_name:-default}'"
646
- fi
647
-
648
- rvm_ruby_gem_home="$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')${rvm_gemset_separator}${rvm_gemset_name}"
649
- GEM_HOME="$rvm_ruby_gem_home"
650
- BUNDLE_PATH="$rvm_ruby_gem_home"
651
- GEM_PATH="$rvm_ruby_gem_home/bin:$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')${rvm_gemset_separator}global/bin"
652
- export rvm_ruby_gem_home GEM_HOME BUNDLE_PATH GEM_PATH
653
-
654
- __rvm_use # Now ensure the selection takes effect for the environment.
655
- fi
656
- return 0
657
- }
658
-
659
- __rvm_gemset_clear() {
660
- unset rvm_gemset_name ; shift
661
- rvm_ruby_gem_home="$(echo $GEM_HOME | sed "s#${rvm_gemset_separator:-'@'}.*\$##g")"
662
- rvm_ruby_global_gems_path="$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')${rvm_gemset_separator}global"
663
- GEM_HOME=$rvm_ruby_gem_home
664
- BUNDLE_PATH="$rvm_ruby_gem_home"
665
- GEM_PATH="$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin"
666
- export rvm_ruby_gem_home rvm_ruby_global_gems_path GEM_HOME BUNDLE_PATH GEM_PATH
667
- __rvm_use # Now ensure the selection takes effect for the environment.
668
- }
669
-
670
576
  __rvm_mono_env() {
671
577
  export DYLD_LIBRARY_PATH="$rvm_usr_path/lib:$DYLD_LIBRARY_PATH"
672
578
  export C_INCLUDE_PATH="$rvm_usr_path/include:$C_INCLUDE_PATH"
@@ -676,16 +582,6 @@ __rvm_mono_env() {
676
582
  PATH="$rvm_usr_path/bin:$PATH"
677
583
  }
678
584
 
679
- __rvm_environment_identifier() {
680
- ruby_string="$(command -v ruby)"
681
- if [ -n "$ruby_string" ] && echo "$ruby_string" | grep -q -F "$rvm_rubies_path"; then
682
- echo "$GEM_HOME" | xargs basename
683
- else
684
- echo "system"
685
- fi
686
- unset ruby_string
687
- }
688
-
689
585
  __rvm_become() {
690
586
  [[ -n "$1" ]] && rvm_ruby_string="$1"
691
587
  { __rvm_ruby_string && __rvm_select && __rvm_use; } > /dev/null 2>&1
@@ -709,13 +605,14 @@ __rvm_ensure_has_enviroment_files() {
709
605
  for variable in RUBY_VERSION GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME IRBRC rvm_ruby_string rvm_gemset_name MAGLEV_HOME ; do
710
606
  eval "export $variable"
711
607
  eval value=\$${variable}
712
- if [[ ! -z "$value" ]] ; then
713
- echo "export ${variable}='$value'" >> $file_name
608
+ if [[ -n "$value" ]] ; then
609
+ printf "${variable}='$value'\nexport ${variable}\n" >> $file_name
714
610
  else
715
- echo "unset ${variable}" >> $file_name
611
+ printf "unset ${variable}\n" >> $file_name
716
612
  fi
717
613
  done ; unset variable value
718
614
  fi ; unset file_name
615
+
719
616
  # Next, ensure we have default wrapper files. Also, prevent it from recursing.
720
617
  if [[ -z "$rvm_creating_default_wrappers" ]]; then
721
618
  # We need to generate wrappers for both the default gemset and the global gemset.
@@ -787,7 +684,7 @@ __rvm_project_rvmrc() {
787
684
  fi
788
685
  break
789
686
  else
790
- cwd=$(dirname "$cwd")
687
+ cwd="$(dirname "$cwd")"
791
688
  fi
792
689
  fi
793
690
  done
@@ -826,3 +723,14 @@ __rvm_recorded_install_command() {
826
723
  return 1
827
724
  fi
828
725
  }
726
+
727
+
728
+ __rvm_environment_identifier() {
729
+ ruby_string="$(command -v ruby)"
730
+ if [ -n "$ruby_string" ] && echo "$ruby_string" | grep -q -F "$rvm_rubies_path"; then
731
+ echo "$GEM_HOME" | xargs basename
732
+ else
733
+ echo "system"
734
+ fi
735
+ unset ruby_string
736
+ }