rvm 0.1.40 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,7 +87,7 @@ if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo "$ruby" | awk '/rvm/{print}')" ]] ; the
87
87
 
88
88
  command="prompt=\"$format\""
89
89
  eval "$command"
90
- echo "$prompt" | sed -e 's#^\s*-*##g' -e 's#--*#-#g' -e 's#-*\s*$##' -e 's#-'${rvm_gemset_separator}'#'${rvm_gemset_separator}'#'
90
+ echo "$prompt" | sed -e 's#^[[:space:]]*-*##g' -e 's#--*#-#g' -e 's#-*[[:space:]]*$##' -e 's#-'${rvm_gemset_separator}'#'${rvm_gemset_separator}'#'
91
91
 
92
92
  else
93
93
  while [[ $# -gt 0 ]] ; do
@@ -7,5 +7,7 @@ cd $rvm_path/src
7
7
 
8
8
  rm -rf ./rvm/ && git clone --depth 1 git://github.com/wayneeseguin/rvm.git
9
9
  cd rvm
10
- dos2unix scripts/* >/dev/null 2>&1
10
+ # v v v This is a godo idea however it does not preserve the executible bit.
11
+ # Needs more thought, perhaps a simple sed instead.
12
+ # dos2unix scripts/* >/dev/null 2>&1
11
13
  bash scripts/install
@@ -16,6 +16,8 @@ tar zxf "rvm-${stable_version}.tar.gz"
16
16
 
17
17
  cd "rvm-${stable_version}"
18
18
 
19
- dos2unix scripts/* >/dev/null 2>&1
19
+ # v v v This is a godo idea however it does not preserve the executible bit.
20
+ # Needs more thought, perhaps a simple sed instead.
21
+ #dos2unix scripts/* >/dev/null 2>&1
20
22
 
21
23
  bash scripts/install
data/config/db CHANGED
@@ -4,7 +4,7 @@ niceness=0
4
4
  interpreter=ruby
5
5
  ruby_version=1.8.7
6
6
  ruby_configure_flags=--enable-shared
7
- ruby_patchlevel=174
7
+ ruby_patchlevel=299
8
8
  ruby_configure=--enable-shared
9
9
  ruby_repo_url=http://svn.ruby-lang.org/repos/ruby
10
10
  ruby_1.0_url=ftp://ftp.ruby-lang.org/pub/ruby/1.0
@@ -18,10 +18,10 @@ ruby_1.8_url=ftp://ftp.ruby-lang.org/pub/ruby/1.8
18
18
  ruby_1.9_url=ftp://ftp.ruby-lang.org/pub/ruby/1.9
19
19
  ruby_2.0_url=ftp://ftp.ruby-lang.org/pub/ruby/2.0
20
20
  ruby_1.9.1_patch_level=378
21
- ruby_1.9.2_patch_level=preview3
21
+ ruby_1.9.2_patch_level=rc1
22
22
  ruby_1.8.5_patch_level=231
23
23
  ruby_1.8.6_patch_level=399
24
- ruby_1.8.7_patch_level=174
24
+ ruby_1.8.7_patch_level=299
25
25
  rubygems_version=1.3.7
26
26
  rubygems_1.3.5_url=http://rubyforge.org/frs/download.php/60718
27
27
  rubygems_1.3.6_url=http://rubyforge.org/frs/download.php/69365
@@ -46,7 +46,7 @@ macruby_version=0.6
46
46
  macruby_url=http://www.macruby.org/files
47
47
  macruby_repo_url=git://git.macruby.org/macruby/MacRuby.git
48
48
  macruby_nightly_url=http://www.macruby.org/files/nightlies/macruby_nightly-latest.pkg
49
- maglev_version=23673
49
+ maglev_version=23767
50
50
  maglev_url=http://glass-downloads.gemstone.com/maglev
51
51
  maglev_repo_url=git://github.com/MagLev/maglev.git
52
52
  shyouhei_repo_url=git://github.com/shyouhei/ruby.git
@@ -55,13 +55,13 @@ ironruby_repo_url=git://github.com/ironruby/ironruby.git
55
55
  ironruby_1.0_url=http://rubyforge.org/frs/download.php/70179/
56
56
  # Packages
57
57
  readline_url=ftp://ftp.gnu.org/gnu/readline
58
- iconv_url=http://ftp.gnu.org/pub/gnu/libiconv
58
+ libiconv_url=http://ftp.gnu.org/pub/gnu/libiconv
59
59
  curl_url=http://curl.haxx.se/download
60
60
  openssl_url=http://www.openssl.org/source
61
61
  zlib_url=http://www.zlib.net
62
62
  autoconf_url=ftp.gnu.org/gnu/autoconf
63
63
  ncurses_url=http://ftp.gnu.org/pub/gnu/ncurses
64
- pkgconfig_url=http://pkgconfig.freedesktop.org/releases
64
+ pkg-config_url=http://pkgconfig.freedesktop.org/releases
65
65
  gettext_url=ftp://ftp.gnu.org/pub/gnu/gettext
66
66
  libxml2_url=ftp://xmlsoft.org/libxml2/
67
67
  glib_url=http://ftp.gnome.org/pub/gnome/sources/glib/2.23
@@ -1,13 +1,15 @@
1
1
  # MRI Rubies
2
2
  (ruby-)1.8.6(-p399)
3
3
  (ruby-)1.8.6-head
4
- (ruby-)1.8.7(-p174)
4
+ (ruby-)1.8.7(-p299)
5
5
  (ruby-)1.8.7-head
6
- (ruby-)1.9.1(-p243)
7
- (ruby-)1.9.1(-p376)
6
+ (ruby-)1.9.1-p243
7
+ (ruby-)1.9.1-p376
8
+ (ruby-)1.9.1(-p429)
8
9
  (ruby-)1.9.1-head
9
10
  (ruby-)1.9.2-preview1
10
11
  (ruby-)1.9.2-preview3
12
+ (ruby-)1.9.2(-rc1)
11
13
  (ruby-)1.9.2-head
12
14
  ruby-head
13
15
 
@@ -29,7 +31,7 @@ ree-1.8.6-head
29
31
  ree-1.8.7-head
30
32
 
31
33
  # MagLev
32
- maglev(-23673)
34
+ maglev(-23767)
33
35
  maglev-head
34
36
 
35
37
  # Shyouhei head, the default mput
data/config/md5 CHANGED
@@ -15,13 +15,16 @@ ruby-1.8.7-p160.tar.gz=945398f97e2de6dd8ab6df68d10bb1a1
15
15
  ruby-1.8.7-p174.tar.gz=18dcdfef761a745ac7da45b61776afa5
16
16
  ruby-1.8.7-p248.tar.gz=60a65374689ac8b90be54ca9c61c48e3
17
17
  ruby-1.8.7-p249.tar.gz=d7db7763cffad279952eb7e9bbfc221c
18
+ ruby-1.8.7-p299.tar.gz=43533980ee0ea57381040d4135cf9677
18
19
  ruby-1.9.1-p129.tar.gz=c71f413514ee6341c627be2957023a5c
19
20
  ruby-1.9.1-p243.tar.gz=515bfd965814e718c0943abf3dde5494
20
21
  ruby-1.9.1-p376.tar.gz=ebb20550a11e7f1a2fbd6fdec2a3e0a3
21
22
  ruby-1.9.1-p376.tar.gz=ebb20550a11e7f1a2fbd6fdec2a3e0a3
22
23
  ruby-1.9.1-p378.tar.gz=9fc5941bda150ac0a33b299e1e53654c
24
+ ruby-1.9.1-p429.tar.gz=0f6d7630f26042e00bc59875755cf879
23
25
  ruby-1.9.2-preview1.tar.gz=e2b8cdbf300f53472be09699a5837fd1
24
26
  ruby-1.9.2-preview3.tar.gz=209e59f3495a5503fa948c2732f1d705
27
+ ruby-1.9.2-rc1.tar.gz=fdedd5b42ae89a9a46797823ad2d9acf
25
28
  ruby-enterprise-1.8.6-20090610.tar.gz=0bf66ee626918464a6eccdd83c99d63a
26
29
  ruby-enterprise-1.8.7-2009.10.tar.gz=3727eef7b6b1b2f31db7d091328d966e
27
30
  ruby-enterprise-1.8.7-20090928.tar.gz=ae00018ce89d95419dfde370fcd485ac
@@ -45,7 +48,8 @@ zlib-1.2.3.tar.gz=debc62758716a169df9f62e6ab2bc634
45
48
  curl-7.19.7.tar.gz=ecb2e37e45c9933e2a963cabe03670ab
46
49
  pkg-config-0.23.tar.gz=d922a88782b64441d06547632fd85744
47
50
  ironruby-1.0.zip=7a92888837b3507355ed391dbfc0ab83
48
- GemStone-23673.Darwin-i386.tar.gz=651ae34c80e45467f43f06fc63b5de65
49
- GemStone-23673.Linux-x86_64.tar.gz=2989946a575ca59c5b7591c0f3d256aa
50
- MagLev-23673.Darwin-i386.tar.gz=50ad4e1e4c9b3f8d2156f812beb9a7ed
51
- MagLev-23673.Linux-x86_64.tar.gz=8a63271554de58412eb0e5668072ef70
51
+ GemStone-23767.Darwin-i386.tar.gz=639ca12a261e8626ff8cf63bd408b253
52
+ GemStone-23767.Linux-x86_64.tar.gz=79ee9214a2df3427584a2b9b13437ddd
53
+ MagLev-23767.Darwin-i386.tar.gz=e4eae8ef9f1c9264d00b90899e3896ca
54
+ MagLev-23767.Linux-x86_64.tar.gz=d42bc9fdfb704e5723310352959e17cc
55
+
data/install CHANGED
@@ -124,7 +124,7 @@ done
124
124
  #
125
125
  # Scripts
126
126
  #
127
- for dir_name in config scripts examples lib hooks help ; do
127
+ for dir_name in config scripts examples lib hooks help patches; do
128
128
  spinner
129
129
  mkdir -p "$rvm_path/$dir_name"
130
130
  if [[ -d "$source_path/$dir_name" ]] ; then
@@ -184,7 +184,7 @@ fi
184
184
  #
185
185
  spinner
186
186
  mkdir -p "$rvm_gemsets_path"
187
- for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
187
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do
188
188
  source_path="$(pwd)/gemsets"
189
189
  destination="$rvm_gemsets_path/$gemset_file"
190
190
  destination_path="$(dirname "$destination")"
@@ -192,7 +192,20 @@ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
192
192
  mkdir -p "$destination_path"
193
193
  cp "$source_path/$gemset_file" "$destination"
194
194
  fi
195
- done ; unset destination destination_path source_path
195
+ done ; unset destination destination_path source_path gemset_file
196
+
197
+ 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
+
196
209
 
197
210
  #
198
211
  # Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
@@ -266,6 +279,10 @@ if [[ "root" = "$(whoami)" ]] ; then
266
279
  mkdir -p $rvm_bin_path
267
280
  chmod +x $rvm_bin_path/rvm
268
281
  chmod +x $rvm_bin_path/rvmsudo
282
+ printf "\n Copying manpages into place."
283
+ for man_file in $(\ls "$install_source_path/man"); do
284
+ cp -f "$install_source_path/man/$man_file" "$rvm_man_path/$man_file"
285
+ done
269
286
  fi
270
287
 
271
288
  if [[ "$upgrade_flag" -eq 0 ]] ; then
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 1
4
- :patch: 40
4
+ :patch: 41
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.1.40"
8
+ s.version = "0.1.41"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wayne E. Seguin"]
12
- s.date = %q{2010-06-22}
12
+ s.date = %q{2010-07-08}
13
13
  s.default_executable = %q{rvm-install}
14
14
  s.description = %q{Manages Ruby interpreter environments and switching between them.}
15
15
  s.email = %q{wayneeseguin@gmail.com}
@@ -92,11 +92,14 @@ Gem::Specification.new do |s|
92
92
  "scripts/log",
93
93
  "scripts/maglev",
94
94
  "scripts/manage",
95
+ "scripts/manpages",
95
96
  "scripts/match",
96
97
  "scripts/md5",
97
98
  "scripts/monitor",
98
99
  "scripts/notes",
99
100
  "scripts/package",
101
+ "scripts/patches",
102
+ "scripts/patchsets",
100
103
  "scripts/rubygems",
101
104
  "scripts/rvm",
102
105
  "scripts/rvm-install",
data/scripts/cd CHANGED
@@ -25,6 +25,7 @@ if [[ "$rvm_project_rvmrc" -ne 0 ]] ; then
25
25
  fi
26
26
  rvm_rvmrc_cwd="$cwd"
27
27
  source "$cwd/.rvmrc"
28
+ cwd=$(dirname "$cwd")
28
29
  fi
29
30
  break
30
31
  else
@@ -1,6 +1,14 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  __rvm_usage() { cat "${rvm_path:-$HOME/.rvm}/README" | ${PAGER:-less} ; }
4
+ # alternate usage impl: uses man page
5
+ #__rvm_usage() {
6
+ #if [[ `which man` ]]; then
7
+ #man 1 rvm ; }
8
+ #else
9
+ #cat "${rvm_path:-$HOME/.rvm}/README" | ${PAGER:-less}
10
+ #fi
11
+ #}
4
12
 
5
13
  __rvm_parse_args() {
6
14
 
@@ -207,15 +215,9 @@ __rvm_parse_args() {
207
215
  fi
208
216
  ;;
209
217
 
210
- # For use with --patch
211
- --patch-name) rvm_ruby_patch_name="$1" ; shift ;;
212
- --patch)
213
- if [[ -z "$rvm_ruby_patch" ]] ; then
214
- rvm_ruby_patch="$1"
215
- else
216
- rvm_ruby_patch="$rvm_ruby_patch,$1";
217
- fi ; shift
218
- rvm_action="${rvm_action:-use}"
218
+ --patches|--patch)
219
+ rvm_patch_names="$1 $rvm_patch_names"; shift
220
+ rvm_patch_original_pwd="$PWD"
219
221
  ;;
220
222
 
221
223
  --head) rvm_head_flag=1 ;;
@@ -328,7 +330,7 @@ __rvm_parse_args() {
328
330
 
329
331
  -C|--configure)
330
332
  if [[ ! -z "$1" ]] ; then
331
- rvm_ruby_configure_flags="$(echo $1 | tr ',' ' ')"
333
+ rvm_ruby_configure_flags="$(echo $1 | sed -e 's#,--# --#g')"
332
334
  shift
333
335
  else
334
336
  rvm_action="error"
@@ -450,8 +452,8 @@ rvm() {
450
452
  __rvm_initialize
451
453
  __rvm_parse_args "$@"
452
454
 
453
- export BUNDLE_PATH GEM_HOME GEM_PATH rvm_ruby_string rvm_action rvm_bin_flag rvm_debug_flag rvm_delete_flag rvm_docs_type rvm_file_name rvm_gemset_name rvm_head_flag rvm_install_on_use_flag rvm_interactive rvm_llvm_flag rvm_make_flags rvm_proxy rvm_remove_flag rvm_ruby_args rvm_ruby_configure_flags rvm_ruby_file rvm_ruby_gem_home rvm_ruby_interpreter rvm_ruby_name rvm_ruby_patch rvm_ruby_patch_name rvm_ruby_version rvm_system_flag rvm_trace_flag rvm_use_flag rvm_user_flag rvm_verbose_flag
454
- export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator
455
+ export BUNDLE_PATH GEM_HOME GEM_PATH rvm_ruby_string rvm_action rvm_bin_flag rvm_debug_flag rvm_delete_flag rvm_docs_type rvm_file_name rvm_gemset_name rvm_head_flag rvm_install_on_use_flag rvm_interactive rvm_llvm_flag rvm_make_flags rvm_proxy rvm_remove_flag rvm_ruby_args rvm_ruby_configure_flags rvm_ruby_file rvm_ruby_gem_home rvm_ruby_interpreter rvm_ruby_name rvm_ruby_version rvm_system_flag rvm_trace_flag rvm_use_flag rvm_user_flag rvm_verbose_flag rvm_patch_names rvm_patch_original_pwd
456
+ export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_patches_path rvm_patches_path rvm_patchsets_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator
455
457
 
456
458
  result=0
457
459
  case "$rvm_action" in
@@ -393,8 +393,8 @@ gemset_pristine() {
393
393
  gemset_initial() {
394
394
  $rvm_scripts_path/log "info" "Importing initial gemsets for $(__rvm_environment_identifier)."
395
395
  mkdir -p "$rvm_gemsets_path/$(echo "$rvm_ruby_string" | tr '-' '/')" 2>/dev/null
396
- for gemsets_path in "$rvm_gemsets_path" "$rvm_gemsets_path/$rvm_ruby_interpreter" "$rvm_gemsets_path/$rvm_ruby_interpreter/$rvm_ruby_version" "$rvm_gemsets_path/$rvm_ruby_interpreter/$rvm_ruby_version/$rvm_ruby_patch_level" ; do
397
- if [[ ! -z "$rvm_gemset_name" ]] ; then
396
+ for gemsets_path in $(__rvm_ruby_string_paths_under "$rvm_gemsets_path") ; do
397
+ if [[ -n "$rvm_gemset_name" ]] ; then
398
398
  if [[ -s "${gemsets_path}/${rvm_gemset_name}.gems" ]] ; then
399
399
  (source "$rvm_scripts_path/rvm"; rvm gemset import "${gemsets_path}/${rvm_gemset_name}.gems") > /dev/null
400
400
  fi
@@ -418,7 +418,7 @@ if ! command -v gem > /dev/null ; then
418
418
  fi
419
419
 
420
420
  action="$(echo $* | awk '{print $1}')"
421
- gems_args=$(echo "$*" | awk '{$1="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
421
+ gems_args="$(echo "$*" | awk '{$1="" ; print}' | __rvm_strip)"
422
422
  export rvm_gemset_name
423
423
 
424
424
  if [[ "import" = "$action" ]] || [[ "load" = "$action" ]] ; then
@@ -22,7 +22,7 @@ info_system() {
22
22
 
23
23
  info_rvm() {
24
24
  rvm_info="$rvm_info\n rvm:"
25
- rvm_info="$rvm_info\n version: \"$(__rvm_version | tr "\n" ' ' | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//')\""
25
+ rvm_info="$rvm_info\n version: \"$(__rvm_version | tr "\n" ' ' | __rvm_strip)\""
26
26
  rvm_info="$rvm_info\n"
27
27
  }
28
28
 
@@ -13,7 +13,9 @@ rvm_project_rvmrc_default="${rvm_project_rvmrc_default:-0}"
13
13
 
14
14
  if [[ "root" = "$(whoami)" ]] ; then
15
15
  rvm_bin_path="${rvm_bin_path:-"/usr/local/bin"}"
16
+ rvm_man_path="${rvm_man_path:-"/usr/local/share/man"}"
16
17
  else
18
+ rvm_man_path="${rvm_man_path:-"$rvm_path/man"}"
17
19
  rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
18
20
  fi
19
21
 
@@ -32,7 +34,9 @@ rvm_wrappers_path="${rvm_wrappers_path:-"$rvm_path/wrappers"}"
32
34
  rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
33
35
  rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
34
36
  rvm_usr_path="${rvm_usr_path:-"$rvm_path/usr"}"
37
+ rvm_patches_path="${rvm_patches_path:-"$rvm_path/patches"}"
38
+ rvm_patchsets_path="${rvm_patchsets_path:-"$rvm_path/patchsets"}"
35
39
  rvm_gemset_separator="${rvm_gemset_separator:-"@"}"
36
40
 
37
- export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator rvm_gemsets_path rvm_repo_path
41
+ export rvm_path rvm_patches_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator rvm_gemsets_path rvm_repo_path rvm_patchsets_path
38
42
 
@@ -124,7 +124,7 @@ done
124
124
  #
125
125
  # Scripts
126
126
  #
127
- for dir_name in config scripts examples lib hooks help ; do
127
+ for dir_name in config scripts examples lib hooks help patches; do
128
128
  spinner
129
129
  mkdir -p "$rvm_path/$dir_name"
130
130
  if [[ -d "$source_path/$dir_name" ]] ; then
@@ -184,7 +184,7 @@ fi
184
184
  #
185
185
  spinner
186
186
  mkdir -p "$rvm_gemsets_path"
187
- for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
187
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do
188
188
  source_path="$(pwd)/gemsets"
189
189
  destination="$rvm_gemsets_path/$gemset_file"
190
190
  destination_path="$(dirname "$destination")"
@@ -192,7 +192,20 @@ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
192
192
  mkdir -p "$destination_path"
193
193
  cp "$source_path/$gemset_file" "$destination"
194
194
  fi
195
- done ; unset destination destination_path source_path
195
+ done ; unset destination destination_path source_path gemset_file
196
+
197
+ 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
+
196
209
 
197
210
  #
198
211
  # Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
@@ -266,6 +279,10 @@ if [[ "root" = "$(whoami)" ]] ; then
266
279
  mkdir -p $rvm_bin_path
267
280
  chmod +x $rvm_bin_path/rvm
268
281
  chmod +x $rvm_bin_path/rvmsudo
282
+ printf "\n Copying manpages into place."
283
+ for man_file in $(\ls "$install_source_path/man"); do
284
+ cp -f "$install_source_path/man/$man_file" "$rvm_man_path/$man_file"
285
+ done
269
286
  fi
270
287
 
271
288
  if [[ "$upgrade_flag" -eq 0 ]] ; then
@@ -2,12 +2,6 @@
2
2
 
3
3
  if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
4
4
 
5
- # Query for valid rvm ruby strings
6
- # This is meant to be used with scripting.
7
- list_strings() {
8
- echo $(\ls $rvm_rubies_path)
9
- }
10
-
11
5
  list_gemsets() {
12
6
  echo
13
7
  ruby=$(command -v ruby) ; current_ruby=""
@@ -74,6 +68,17 @@ list_ruby_svn_tags() {
74
68
  done < <(svn list http://svn.ruby-lang.org/repos/ruby/tags/ | awk '/^v1_[8|9]/')
75
69
  }
76
70
 
71
+ # Query for valid rvm ruby strings
72
+ # This is meant to be used with scripting.
73
+ list_strings() {
74
+ echo $(\ls $rvm_rubies_path)
75
+ }
76
+
77
+ # This is meant to be used with scripting.
78
+ list_known_strings() {
79
+ cat "$rvm_config_path/known" | sed -e 's/#.*$//g' -e 's/(//g' -e 's/)//g' | sort -r | uniq
80
+ }
81
+
77
82
  list_known() {
78
83
  if [[ -z "$rvm_interactive" ]] || [[ -z "$TERM" ]] || [[ "unknown" = "$TERM" ]] ; then
79
84
  cat "$rvm_config_path/known"
@@ -82,6 +87,7 @@ list_known() {
82
87
  fi
83
88
  }
84
89
 
90
+
85
91
  list_rubies() {
86
92
  echo
87
93
  ruby=$(command -v ruby) ; current_ruby=""
@@ -128,6 +134,8 @@ action="$(echo "$1" | awk '{print $1}')"
128
134
 
129
135
  if [[ "known" = "$action" ]] ; then
130
136
  list_known
137
+ elif [[ "known_strings" = "$action" ]] ; then
138
+ list_known_strings
131
139
  elif [[ "gemsets" = "$action" ]] ; then
132
140
  list_gemsets
133
141
  elif [[ "default" = "$action" ]] ; then
@@ -139,7 +147,7 @@ elif [[ "strings" = "$action" ]] ; then
139
147
  elif [[ "ruby_svn_tags" = "$action" ]] ; then
140
148
  list_ruby_svn_tags
141
149
  else # help
142
- printf "\nUsage: rvm list {known,gemsets,default,rubies,strings}"
150
+ printf "\nUsage: rvm list {known,gemsets,default,rubies,strings,known_strings}"
143
151
  fi
144
152
 
145
153
  exit $?
@@ -4,6 +4,7 @@ original_ruby_version=$rvm_ruby_version
4
4
  original_ruby_string=$rvm_ruby_string
5
5
 
6
6
  source "$rvm_scripts_path/base"
7
+ source "$rvm_scripts_path/patches"
7
8
 
8
9
  # Checks for bison, returns zero iff it is found
9
10
  __rvm_check_for_bison() {
@@ -15,6 +16,45 @@ __rvm_check_for_bison() {
15
16
  fi
16
17
  }
17
18
 
19
+ # Returns a number of patches, each on a new name
20
+ # Expands patchsets etc.
21
+ __rvm_current_patch_names() {
22
+ # TODO: Lookup default patches on rvm_ruby_string heirarchy.
23
+ local patches="$rvm_patch_names default"
24
+ for patch_name in $(echo "$patches" | tr ',' ' ' | __rvm_strip); do
25
+ __rvm_expand_patch_name "$patch_name"
26
+ done
27
+ }
28
+
29
+ __rvm_apply_patches() {
30
+ local patch_result=0
31
+ local patch_level_seperator="%"
32
+ local patch_fuzziness="25"
33
+ source_directory="${1:-"$rvm_ruby_src_path"}"
34
+ __rvm_pushpop "$source_directory"
35
+ unset source_directory
36
+ for patch_name in $(__rvm_current_patch_names | __rvm_strip); do
37
+ patch_level="1"
38
+ # If set, extract the patch level from the patch name.
39
+ if echo "$patch_name" | grep -q "$patch_level_seperator"; then
40
+ patch_level="$(echo "$patch_name" | awk -F"$patch_level_seperator" '{print $2}')"
41
+ patch_name="$(echo "$patch_name" | awk -F"$patch_level_seperator" '{print $1}')"
42
+ fi
43
+ full_patch_path="$(__rvm_lookup_full_patch_path "$patch_name")"
44
+ # Expand paths, and for those we found we then apply the patches.
45
+ if [[ -n "$full_patch_path" ]]; then
46
+ __rvm_run "patch.apply.$(basename "$patch_name")" "patch -F$patch_fuzziness -p$patch_level -f < '$full_patch_path'" "Applying patch '$patch_name' (located at $full_patch_path)"
47
+ # Detect failed patches
48
+ [[ "$?" -gt 0 ]] && patch_result=1
49
+ else
50
+ $rvm_scripts_path/log "warn" "Patch '$patch_name' not found."
51
+ patch_result=1
52
+ fi
53
+ done; unset patch_name full_patch_path patch_level
54
+ __rvm_pushpop
55
+ return $patch_result
56
+ }
57
+
18
58
  __rvm_install_source() {
19
59
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
20
60
 
@@ -29,12 +69,20 @@ __rvm_install_source() {
29
69
  fi
30
70
 
31
71
  builtin cd $rvm_ruby_src_path
72
+
32
73
  result=$? ; if [[ "$result" -gt 0 ]] ; then
33
74
  $rvm_scripts_path/log "error" "There has been an error, source directory is missing. Did the download or extraction fail? Aborting the installation." ; __rvm_pushpop ; return $result
34
75
  fi
35
76
 
36
77
  if [[ -d "${rvm_path}/usr" ]] ; then export PATH="${rvm_path}/usr/bin:${PATH}" ; fi
37
78
 
79
+ __rvm_apply_patches
80
+ result="$?"
81
+ if [[ "$result" -gt 0 ]]; then
82
+ $rvm_scripts_path/log "fail" "There has been an error applying the specified patches. Aborting the installation."
83
+ return $result
84
+ fi
85
+
38
86
  if [[ -z "$rvm_ruby_configure" ]] && [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
39
87
  if command -v autoconf > /dev/null ; then
40
88
  __rvm_run "autoconf" "autoconf" "Running autoconf"
@@ -61,29 +109,8 @@ __rvm_install_source() {
61
109
  $rvm_scripts_path/log "error" "Skipping configure step, 'configure' does not exist, did autoconf not run successfully?"
62
110
  fi
63
111
 
64
- if [[ ! -z "$rvm_ruby_patch" ]] ; then
65
- for patch in $(echo $rvm_ruby_patch | tr ',' ' ') ; do
66
- # detecting patch prefix (see '-p' option desc for 'patch')
67
- # patch prefix is separated from patch path with '%' symbol
68
- patch_prefix_separator='%'
69
- # default prefix is 0
70
- rvm_patch_prefix=0
71
- # checking, if the patch file path has a prefix separator
72
- patch_has_prefix=$(echo $patch | grep -q ${patch_prefix_separator}; echo $?)
73
- if [[ "x${patch_has_prefix}" = "x0" ]]; then
74
- # so, if it has...
75
- rvm_patch_prefix=$(echo $patch | cut -d ${patch_prefix_separator} -f 2)
76
- patch=$(echo $patch | cut -d ${patch_prefix_separator} -f 1)
77
- fi
78
- __rvm_run "patch" "patch -p${rvm_patch_prefix} -f < $patch" "Applying patch '$patch'..."
79
- if [[ $? -gt 0 ]] ; then
80
- $rvm_scripts_path/log "error" "Patch $patch did not apply cleanly... back to the patching board :(" ; exit 1
81
- fi
82
- done
83
- fi
84
-
85
112
  rvm_ruby_make=${rvm_ruby_make:-"make"}
86
- __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
113
+ __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while depending on your cpu(s)..."
87
114
  result=$? ; if [[ "$result" -gt 0 ]] ; then
88
115
  $rvm_scripts_path/log "error" "There has been an error while running make. Aborting the installation." ; __rvm_pushpop ; return $result
89
116
  fi
@@ -225,10 +252,15 @@ RubyWrapper
225
252
 
226
253
  __rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
227
254
 
228
- __rvm_run "install" "./installer -a $rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options $db_configure_flags $rvm_ruby_configure_flags" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
229
- result=$? ; if [[ "$result" -gt 0 ]] ; then
230
- $rvm_scripts_path/log "error" "There has been an error while trying to run the ree installer. Aborting the installation." ; __rvm_pushpop ; return $result
231
- fi
255
+ __rvm_apply_patches "$rvm_ruby_src_path/source"
256
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
257
+ $rvm_scripts_path/log "error" "There has been an error while trying to apply patches to ree. Aborting the installation." ; __rvm_pushpop ; return $result
258
+ fi
259
+
260
+ __rvm_run "install" "./installer -a $rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options $db_configure_flags $rvm_ruby_configure_flags" "Installing $rvm_ruby_string, this may take a while depending on your cpu(s)..."
261
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
262
+ $rvm_scripts_path/log "error" "There has been an error while trying to run the ree installer. Aborting the installation." ; __rvm_pushpop ; return $result
263
+ fi
232
264
 
233
265
  chmod +x $rvm_ruby_home/bin/*
234
266
 
@@ -262,7 +294,7 @@ RubyWrapper
262
294
  PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
263
295
  PATH=$rvm_bin_path:$PATH ; export PATH
264
296
 
265
- if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.0/')" ]] && [[ -z "$rvm_head_flag" ]] ; then
297
+ if [[ -n "$(echo $rvm_ruby_version | awk '/^1\.0/')" ]] && [[ -z "$rvm_head_flag" ]] ; then
266
298
  $rvm_scripts_path/log "info" "Downloading $rvm_ruby_package_file, this may take a while depending on your connection..."
267
299
  $rvm_scripts_path/fetch "$rvm_url"
268
300
  result=$? ; if [[ "$result" -gt 0 ]] ; then
@@ -286,12 +318,17 @@ RubyWrapper
286
318
 
287
319
  builtin cd "$rvm_ruby_src_path" ; chmod +x ./configure
288
320
 
321
+ __rvm_apply_patches
322
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
323
+ $rvm_scripts_path/log "error" "There has been an error while trying to apply patches to rubinius. Aborting the installation." ; __rvm_pushpop ; return $result
324
+ fi
325
+
289
326
  __rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
290
327
 
291
- export ruby="$rvm_bin_path/$(__rvm_18_compat_ruby)"
328
+ export ruby="$(__rvm_18_compat_ruby)"
292
329
 
293
330
  rvm_ruby_configure_flags="${rvm_ruby_configure_flags:-"--skip-system"}"
294
- rvm_ruby_configure="$ruby configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags" ; message="Configuring rbx"
331
+ rvm_ruby_configure="$rvm_bin_path/$ruby configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags" ; message="Configuring rbx"
295
332
  if [[ "$rvm_llvm_flag" = "0" ]] ; then
296
333
  rvm_ruby_configure="$rvm_ruby_configure --disable-llvm"
297
334
  else
@@ -305,9 +342,9 @@ RubyWrapper
305
342
  fi
306
343
 
307
344
  if [[ "$rvm_trace_flag" -eq 1 ]] ; then
308
- rvm_ruby_make="$ruby -S rake install --trace" ; message="Compiling rbx (with --trace)"
345
+ rvm_ruby_make="$rvm_wrappers_path/$ruby/rake install --trace" ; message="Compiling rbx (with --trace)"
309
346
  else
310
- rvm_ruby_make="$ruby -S rake install" ; message="Compiling rbx"
347
+ rvm_ruby_make="$rvm_wrappers_path/$ruby/rake install" ; message="Compiling rbx"
311
348
  fi
312
349
  __rvm_run "rake" "$rvm_ruby_make" "$message"
313
350
  result=$? ; if [[ "$result" -gt 0 ]] ; then
@@ -472,14 +509,14 @@ RubyWrapper
472
509
 
473
510
  if [[ ! -e ${rvm_ruby_home}/etc/conf.d/maglev.conf ]] ; then
474
511
  $rvm_scripts_path/log "info" "Creating default 'maglev' repository."
475
- $rvm_bin_path/rvm "$(compatible_ruby)" rake "stone:create[maglev]" >/dev/null 2>&1
512
+ $rvm_wrappers_path/$compatible_ruby/rake "stone:create[maglev]" >/dev/null 2>&1
476
513
  fi
477
514
 
478
515
  $rvm_scripts_path/log "info" "Generating maglev HTML documentation"
479
- $rvm_bin_path/rvm "$(compatible_ruby)" rake rdoc >/dev/null 2>&1
516
+ $rvm_wrappers_path/$compatible_ruby/rake rdoc >/dev/null 2>&1
480
517
 
481
518
  $rvm_scripts_path/log "info" "Generating smalltalk FFI."
482
- $rvm_bin_path/rvm "$(compatible_ruby)" rake stwrappers >/dev/null 2>&1
519
+ $rvm_wrappers_path/$compatible_ruby/rake stwrappers >/dev/null 2>&1
483
520
 
484
521
  unset compatible_ruby
485
522
 
@@ -518,10 +555,10 @@ RubyWrapper
518
555
 
519
556
  compatible_ruby="$(__rvm_18_compat_ruby)"
520
557
 
521
- $rvm_bin_path/rvm "$(compatible_ruby)" -S gem install pathname2 --no-rdoc --no-ri
558
+ $rvm_wrappers_path/$compatible_ruby/gem install pathname2 --no-rdoc --no-ri
522
559
 
523
560
  # MONO_LIB=/Library/Frameworks/Mono.framework/Versions/current/lib/
524
- rvm_ruby_make="$rvm_bin_path/rvm $(compatible_ruby) -S rake MERLIN_ROOT=\"$rvm_ruby_src_path/Merlin/Main\" compile mono=1 configuration=release --trace"
561
+ rvm_ruby_make="$rvm_wrappers_path/$compatible_ruby/rake MERLIN_ROOT=\"$rvm_ruby_src_path/Merlin/Main\" compile mono=1 configuration=release --trace"
525
562
  __rvm_run "rake" "$rvm_ruby_make" "Building IronRuby..."
526
563
  unset compatible_ruby
527
564
  if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
@@ -580,11 +617,16 @@ RubyWrapper
580
617
 
581
618
  __rvm_fetch_from_github "mput" "trunk"
582
619
 
620
+ __rvm_apply_patches
621
+ result=$? ; if [[ "$result" -gt 0 ]] ; then
622
+ $rvm_scripts_path/log "error" "There has been an error while trying to apply patches to mput. Aborting the installation." ; return $result
623
+ fi
624
+
583
625
  if [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
584
626
  if command -v autoconf &> /dev/null ; then
585
627
  __rvm_run "autoconf" "autoconf" "Running autoconf"
586
628
  else
587
- $rvm_scripts_path/log "fail" "rvm expects autoconf to install this ruby interpreter, autoconf was not found in PATH. Aborting installation." ; result=$? ; return $result
629
+ result=$?; $rvm_scripts_path/log "fail" "rvm expects autoconf to install this ruby interpreter, autoconf was not found in PATH. Aborting installation." ; return $result
588
630
  fi
589
631
  fi
590
632
 
@@ -606,7 +648,7 @@ RubyWrapper
606
648
  fi
607
649
 
608
650
  rvm_ruby_make=${rvm_ruby_make:-"make"}
609
- __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
651
+ __rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while depending on your cpu(s)..."
610
652
  result=$? ; if [[ "$result" -gt 0 ]] ; then
611
653
  $rvm_scripts_path/log "error" "There has been an error while trying to run make. Aborting the installation." ; __rvm_pushpop ; return $result
612
654
  fi
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ source "$rvm_scripts_path/initialize"
4
+
5
+ # Take if a semicolon is encountered at the end of the
6
+ # manpath env variable, man also processes the usual,
7
+ # generated manpaths as well as the variable contents.
8
+ export MANPATH="${rvm_man_path}:${MANPATH}"
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # General tools for manipulating patches
4
+ # and dealing with patches.
5
+
6
+ # Returns the path used to look for a patch given a specific name.
7
+ __rvm_patch_lookup_path() {
8
+ echo "/"
9
+ [[ -n "$rvm_patch_original_pwd" ]] && echo "$rvm_patch_original_pwd/"
10
+ echo "$PWD/"
11
+ __rvm_ruby_string_paths_under "$rvm_patches_path" | sed 's/$/\//'
12
+ }
13
+
14
+ __rvm_expand_patch_name() {
15
+ [[ -z "$1" ]] && return
16
+ expanded_patch_name="$($rvm_scripts_path/patchsets show "$1")"
17
+ if [[ "$?" == "0" ]]; then
18
+ echo "$expanded_patch_name"
19
+ elif [[ "$1" != "default" ]]; then
20
+ echo "$1"
21
+ fi
22
+ unset expanded_patch_name
23
+ }
24
+
25
+ # Return the full patch for a given patch.
26
+ __rvm_lookup_full_patch_path() {
27
+ # Absolute path, pwd and then finally the rvm patches path.
28
+ for directory in $(__rvm_patch_lookup_path) ; do
29
+ for extension in {"",.patch,.diff}; do
30
+ patch_path="${directory}${1}${extension}"
31
+ if [[ -s "$patch_path" ]]; then
32
+ echo "$patch_path"
33
+ return
34
+ fi
35
+ done; unset extension patch_path
36
+ done; unset directory
37
+ return 1
38
+ }
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env bash
2
+
3
+ rvm_base_except="selector"
4
+ source "$rvm_scripts_path/base"
5
+ source "$rvm_scripts_path/patches"
6
+
7
+ lookup_patchset() {
8
+ if [[ -z "$1" ]]; then
9
+ echo "Usage: rvm patchset show name"
10
+ return 1
11
+ fi
12
+ for lookup_path in $(__rvm_ruby_string_paths_under "$rvm_patchsets_path") ; do
13
+ if [[ -s "$lookup_path/$1" ]]; then
14
+ cat "$lookup_path/$1"
15
+ return
16
+ fi
17
+ done; unset lookup_path
18
+ return 1
19
+ }
20
+
21
+ # Return the full patch for a given patch.
22
+ __rvm_lookup_full_patch_path() {
23
+ # Absolute path, pwd and then finally the rvm patches path.
24
+ for directory in $(__rvm_patch_lookup_path) ; do
25
+ for extension in {"",.patch,.diff}; do
26
+ patch_path="${directory}${1}${extension}"
27
+ if [[ -s "$patch_path" ]]; then
28
+ echo "$patch_path"
29
+ return
30
+ fi
31
+ done; unset extension patch_path
32
+ done; unset directory
33
+ return 1
34
+ }
35
+
36
+ usage() {
37
+ echo "Usage: 'rvm patchset {show,lookup}'"
38
+ echo " Tools for manipulating patchsets."
39
+ return 1
40
+ }
41
+
42
+ case "$1" in
43
+ show|lookup) lookup_patchset "$2" ;;
44
+ *) usage ;;
45
+ esac
46
+
47
+ exit $?
@@ -89,7 +89,7 @@ fi
89
89
  #
90
90
  if [[ $# -gt 0 ]] ; then
91
91
  version="$1" ; shift
92
- args=$(echo "$@" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
92
+ args="$(echo "$@" | __rvm_strip)"
93
93
  else
94
94
  $rvm_scripts_path/log "error" "A version must be specified, for example 'rvm rubygems 1.3.7'"
95
95
  exit 1
@@ -62,6 +62,7 @@ if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
62
62
  source $rvm_scripts_path/version
63
63
  source $rvm_scripts_path/selector
64
64
  source $rvm_scripts_path/cli
65
+ source $rvm_scripts_path/manpages
65
66
  source $rvm_scripts_path/cd
66
67
 
67
68
  rvm_loaded_flag=1
@@ -124,7 +124,7 @@ done
124
124
  #
125
125
  # Scripts
126
126
  #
127
- for dir_name in config scripts examples lib hooks help ; do
127
+ for dir_name in config scripts examples lib hooks help patches; do
128
128
  spinner
129
129
  mkdir -p "$rvm_path/$dir_name"
130
130
  if [[ -d "$source_path/$dir_name" ]] ; then
@@ -184,7 +184,7 @@ fi
184
184
  #
185
185
  spinner
186
186
  mkdir -p "$rvm_gemsets_path"
187
- for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
187
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do
188
188
  source_path="$(pwd)/gemsets"
189
189
  destination="$rvm_gemsets_path/$gemset_file"
190
190
  destination_path="$(dirname "$destination")"
@@ -192,7 +192,20 @@ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
192
192
  mkdir -p "$destination_path"
193
193
  cp "$source_path/$gemset_file" "$destination"
194
194
  fi
195
- done ; unset destination destination_path source_path
195
+ done ; unset destination destination_path source_path gemset_file
196
+
197
+ 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
+
196
209
 
197
210
  #
198
211
  # Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
@@ -266,6 +279,10 @@ if [[ "root" = "$(whoami)" ]] ; then
266
279
  mkdir -p $rvm_bin_path
267
280
  chmod +x $rvm_bin_path/rvm
268
281
  chmod +x $rvm_bin_path/rvmsudo
282
+ printf "\n Copying manpages into place."
283
+ for man_file in $(\ls "$install_source_path/man"); do
284
+ cp -f "$install_source_path/man/$man_file" "$rvm_man_path/$man_file"
285
+ done
269
286
  fi
270
287
 
271
288
  if [[ "$upgrade_flag" -eq 0 ]] ; then
@@ -349,7 +349,6 @@ __rvm_ruby_string() {
349
349
  # * rvm_ruby_patch_level
350
350
  # * rvm_ruby_revision
351
351
  # * rvm_ruby_tag
352
- # * rvm_ruby_patch
353
352
 
354
353
  # Alias'd rubies
355
354
  if [[ -z "$rvm_expanding_aliases" ]]; then
@@ -414,9 +413,6 @@ __rvm_ruby_string() {
414
413
  rvm_ruby_tag="$string"
415
414
  elif $rvm_scripts_path/match "$string" "^m[0-9]" ; then
416
415
  rvm_ruby_mode="$string"
417
- elif $rvm_scripts_path/match "$string" "^h[a-z0-9]" ; then
418
- unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag
419
- rvm_ruby_patch="$string"
420
416
  elif $rvm_scripts_path/match "$string" "^u[a-z0-9]" ; then
421
417
  unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag rvm_ruby_patch
422
418
  rvm_ruby_user_tag="$string"
@@ -480,6 +476,7 @@ __rvm_ruby_string() {
480
476
  rvm_ruby_string="$(echo $rvm_ruby_string | sed 's#-p*#-#')"
481
477
  else
482
478
  rvm_ruby_string="$(echo $rvm_ruby_string | sed 's#-pp#-p#')"
479
+ rvm_ruby_string="$(echo $rvm_ruby_string | sed 's#-prc#-rc#')"
483
480
  fi
484
481
  fi
485
482
  fi
@@ -124,7 +124,7 @@ done
124
124
  #
125
125
  # Scripts
126
126
  #
127
- for dir_name in config scripts examples lib hooks help ; do
127
+ for dir_name in config scripts examples lib hooks help patches; do
128
128
  spinner
129
129
  mkdir -p "$rvm_path/$dir_name"
130
130
  if [[ -d "$source_path/$dir_name" ]] ; then
@@ -184,7 +184,7 @@ fi
184
184
  #
185
185
  spinner
186
186
  mkdir -p "$rvm_gemsets_path"
187
- for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
187
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do
188
188
  source_path="$(pwd)/gemsets"
189
189
  destination="$rvm_gemsets_path/$gemset_file"
190
190
  destination_path="$(dirname "$destination")"
@@ -192,7 +192,20 @@ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
192
192
  mkdir -p "$destination_path"
193
193
  cp "$source_path/$gemset_file" "$destination"
194
194
  fi
195
- done ; unset destination destination_path source_path
195
+ done ; unset destination destination_path source_path gemset_file
196
+
197
+ 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
+
196
209
 
197
210
  #
198
211
  # Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
@@ -266,6 +279,10 @@ if [[ "root" = "$(whoami)" ]] ; then
266
279
  mkdir -p $rvm_bin_path
267
280
  chmod +x $rvm_bin_path/rvm
268
281
  chmod +x $rvm_bin_path/rvmsudo
282
+ printf "\n Copying manpages into place."
283
+ for man_file in $(\ls "$install_source_path/man"); do
284
+ cp -f "$install_source_path/man/$man_file" "$rvm_man_path/$man_file"
285
+ done
269
286
  fi
270
287
 
271
288
  if [[ "$upgrade_flag" -eq 0 ]] ; then
@@ -27,6 +27,17 @@ __rvm_teardown() {
27
27
  unset rvm_ruby_strings
28
28
  }
29
29
 
30
+ # Return a list of directories under a given base path.
31
+ # Derived from rvm_ruby_string.
32
+ __rvm_ruby_string_paths_under() {
33
+ local patch_parts="$(echo "$rvm_ruby_string" | tr '-' ' ' | __rvm_strip)"
34
+ while true; do
35
+ echo "$1/$patch_parts" | tr ' ' '/' | sed 's#\/$##'
36
+ [[ -z "$patch_parts" ]] && break
37
+ patch_parts="$(echo "$patch_parts" | awk '{$NF=""; print}' | __rvm_strip)"
38
+ done
39
+ }
40
+
30
41
  # Query the rvm key-value database for a specific key
31
42
  # Allow overrides from user specifications in $rvm_config_path/user
32
43
  __rvm_db() {
@@ -158,7 +169,7 @@ __rvm_cleanup_variables() {
158
169
 
159
170
  if [[ "$rvm_sticky_flag" = "1" ]] ; then export rvm_gemset_name ; else unset rvm_gemset_name ; fi
160
171
 
161
- 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_ruby_patch rvm_sticky_flag rvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag rvm_docs_flag rvm_ruby_aliases
172
+ 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
162
173
  }
163
174
 
164
175
  # Unset ruby-specific variables
@@ -194,15 +205,12 @@ __rvm_18_compat_ruby() {
194
205
  __rvm_ensure_has_18_compat_ruby() {
195
206
  if [[ -z "$(__rvm_18_compat_ruby)" ]]; then
196
207
  # TODO: install currently doesn't return the correct status.
197
- original_ruby="$(__rvm_environment_identifier)"
198
208
  local compat_result=0
199
- if ! $rvm_bin_path/rvm install 1.8.7; then
209
+ if ! ( rvm install 1.8.7 ); then
200
210
  $rvm_scripts_path/log "fatal" "To proceed rvm requires a 1.8-compatible ruby is installed. We attempted to install 1.8.7 automatically but it failed."
201
211
  $rvm_scripts_path/log "fatal" "Please install it manually (or a compatible alternative) to proceed."
202
212
  compat_result=1
203
213
  fi
204
- __rvm_unset_ruby_variables
205
- __rvm_become "$original_ruby"
206
214
  unset original_ruby
207
215
  return $compat_result
208
216
  fi
@@ -708,6 +716,11 @@ __rvm_ensure_has_enviroment_files() {
708
716
  fi
709
717
  }
710
718
 
719
+ # Strip whitespace and normalize it all.
720
+ __rvm_strip() {
721
+ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[[:space:]]\{1,\}/ /g'
722
+ }
723
+
711
724
  __rvm_using_gemset_globalcache() {
712
725
  $rvm_scripts_path/db "$rvm_config_path/user" "use_gemset_globalcache" | grep -q '^true$'
713
726
  }
@@ -7,7 +7,7 @@ unset rvm_default_flag rvm_wrapper_name
7
7
  source "$rvm_scripts_path/base"
8
8
 
9
9
  full_binary_name() {
10
- echo "$binary_name" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
10
+ echo "$binary_name" | __rvm_strip
11
11
  }
12
12
 
13
13
  wrap() {
@@ -61,7 +61,7 @@ ruby_string="$1"; shift
61
61
  prefix="$1"
62
62
  if [[ -n "$1" ]]; then shift; fi
63
63
 
64
- binaries="$(echo "$@" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
64
+ binaries="$(echo "$@" | __rvm_strip)"
65
65
 
66
66
  if [[ 'system' == '$ruby_string' ]]; then
67
67
  $rvm_scripts_path/log "error" "Wrapper can't be called with system rubies - sorry!"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rvm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 75
4
+ hash: 73
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 40
10
- version: 0.1.40
9
+ - 41
10
+ version: 0.1.41
11
11
  platform: ruby
12
12
  authors:
13
13
  - Wayne E. Seguin
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-22 00:00:00 -04:00
18
+ date: 2010-07-08 00:00:00 -04:00
19
19
  default_executable: rvm-install
20
20
  dependencies: []
21
21
 
@@ -102,11 +102,14 @@ files:
102
102
  - scripts/log
103
103
  - scripts/maglev
104
104
  - scripts/manage
105
+ - scripts/manpages
105
106
  - scripts/match
106
107
  - scripts/md5
107
108
  - scripts/monitor
108
109
  - scripts/notes
109
110
  - scripts/package
111
+ - scripts/patches
112
+ - scripts/patchsets
110
113
  - scripts/rubygems
111
114
  - scripts/rvm
112
115
  - scripts/rvm-install