rvm 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/install CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  unset rvm_auto_flag
4
4
 
5
+ install_source_path=$(dirname $0)
6
+ if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then
7
+ builtin cd $install_source_path
8
+ fi
9
+
5
10
  source scripts/version
6
11
  source scripts/utility
7
12
 
@@ -30,6 +35,7 @@ while [[ $# -gt 0 ]] ; do
30
35
  esac
31
36
  done
32
37
 
38
+ __rvm_load_rvmrc
33
39
 
34
40
  if [[ -z "$rvm_path" ]] ; then
35
41
  unset rvm_path
@@ -55,8 +61,6 @@ __rvm_initialize
55
61
  item="$(tput setaf 2)* $(tput sgr0)"
56
62
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
57
63
  cwd=$(pwd)
58
- source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
59
- if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
60
64
  source_path="${source_path:-$cwd}"
61
65
 
62
66
  # State what is required to use rvm
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 1
4
- :patch: 15
4
+ :patch: 16
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.1.15"
8
+ s.version = "0.1.16"
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-02-16}
12
+ s.date = %q{2010-02-18}
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}
@@ -50,7 +50,7 @@ __rvm_parse_args() {
50
50
 
51
51
  gems|gemset)
52
52
  rvm_action="gems"
53
- if [[ "name" = "$1" ]] || [[ "dir" = "$1" ]] || [[ "list" = "$1" ]] || [[ "empty" = "$1" ]] || [[ "dump" = "$1" ]] || [[ "load" = "$1" ]] || [[ "nuke" = "$1" ]] ; then
53
+ if [[ "name" = "$1" ]] || [[ "dir" = "$1" ]] || [[ "list" = "$1" ]] || [[ "empty" = "$1" ]] || [[ "dump" = "$1" ]] || [[ "load" = "$1" ]] || [[ "empty" = "$1" ]] || [[ "copy" = "$1" ]] || [[ "import" = "$1" ]] || [[ "export" = "$1" ]] ; then
54
54
  export rvm_ruby_args="$*" ; export rvm_${1}_flag=1 ; shift
55
55
  elif [[ "clear" = "$1" ]] ; then
56
56
  unset rvm_gem_set_name ; shift
@@ -281,7 +281,7 @@ __rvm_parse_args() {
281
281
  --disable-llvm|--disable-jit) export rvm_llvm_flag=0 ;;
282
282
  --enable-llvm|--enable-jit) export rvm_llvm_flag=1 ;;
283
283
 
284
- --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--dump|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--load|--rvmrc|--passenger|--editor|--sticky_gems)
284
+ --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--export|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--import|--rvmrc|--passenger|--editor|--sticky_gems)
285
285
  export rvm_$(echo $rvm_token | sed 's#-##g')_flag=1
286
286
  if [[ "--debug" = "$rvm_token" ]] ; then export rvm_debug_flag ; fi
287
287
  ;;
@@ -5,7 +5,7 @@ if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
5
5
  trap "if [[ -d $rvm_tmp_path/ ]] && [[ -f $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
6
6
 
7
7
  record_md5() {
8
- if [[ "Darwin" = "$(uname)" ]] ; then
8
+ if [[ "Darwin" = "$(uname)" ]] || [[ "FreeBSD" = "$(uname)" ]]; then
9
9
  archive_md5="$(md5 $archive | awk '{print $NF}')"
10
10
  else
11
11
  archive_md5="$(md5sum $archive | awk '{print $1}')"
@@ -63,7 +63,7 @@ __rvm_gems_delete() {
63
63
  fi
64
64
  }
65
65
 
66
- __rvm_gems_nuke() {
66
+ __rvm_gems_empty() {
67
67
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
68
68
  if [[ ! -z "$rvm_gem_set_name" ]] ; then
69
69
  gemdir="$rvm_gems_path/$rvm_ruby_string%$rvm_gem_set_name"
@@ -86,7 +86,34 @@ __rvm_gems_nuke() {
86
86
  fi
87
87
  }
88
88
 
89
- __rvm_gems_dump() {
89
+ # Migrate gemsets from ruby X to ruby Y
90
+ __rvm_gems_copy() {
91
+ source_ruby="$(echo $gem_args | awk '{print $1}')"
92
+ destination_ruby="$(echo $gem_args | awk '{print $2}')"
93
+ if [[ -z "$source_ruby" ]] ; then
94
+ $rvm_scripts_path/log "error" "Source and destination must be specified: 'rvm gems copy X Y'"
95
+ fi
96
+ if [[ -z "$destination_ruby" ]] ; then
97
+ $rvm_scripts_path/log "error" "Source and destination must be specified: 'rvm gems copy X Y'"
98
+ fi
99
+ source_path="$($rvm_bin_path/rvm $source_ruby gem env gemdir | tail -n 1)"
100
+ destination_path="$($rvm_bin_path/rvm $destination_ruby gem env gemdir | tail -n 1)"
101
+
102
+ if [[ -d "$source_path" ]] ; then
103
+ if [[ ! -d "$destination_path" ]] ; then mkdir -p $destination_path ; fi
104
+ $rvm_scripts_path/log "info" "Copying gemset from $source_ruby to $destination_ruby" ;
105
+ for dir in bin doc gems specifications ; do
106
+ cp -Rf $source_path/$dir $destination_path/
107
+ done
108
+ else
109
+ $rvm_scripts_path/log "error" "Gems directory does not exist for $source_path ($source_path)"
110
+ return 1
111
+ fi
112
+
113
+ unset source_ruby destination_ruby source_path destination_path
114
+ }
115
+
116
+ __rvm_gems_export() {
90
117
  rvm_file_name="${rvm_file_name:-$gems_args}"
91
118
 
92
119
  if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
@@ -103,10 +130,10 @@ __rvm_gems_dump() {
103
130
  fi
104
131
  fi
105
132
 
106
- $rvm_scripts_path/log "info" "Dumping current environments gems to $rvm_file_name"
133
+ $rvm_scripts_path/log "info" "Exporting current environments gems to $rvm_file_name"
107
134
 
108
135
  touch $rvm_file_name
109
- echo "# $rvm_file_name generated gem dump file. Note that any env variable settings will be missing. Append these after using a ';' field separator" > $rvm_file_name
136
+ echo "# $rvm_file_name generated gem export file. Note that any env variable settings will be missing. Append these after using a ';' field separator" > $rvm_file_name
110
137
  for gem in $(gem list | sed 's#[\(|\)]##g' | sed 's#, #,#g' | tr ' ' ';') ; do
111
138
  name="$(echo $gem | awk -F';' '{print $1}')"
112
139
  if [[ -z "$rvm_latest_flag" ]] ; then
@@ -120,7 +147,7 @@ __rvm_gems_dump() {
120
147
  done ; unset file_name
121
148
  }
122
149
 
123
- __rvm_gems_load() {
150
+ __rvm_gems_import() {
124
151
 
125
152
  if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
126
153
  export GEM_HOME="$rvm_ruby_gem_home"
@@ -150,7 +177,7 @@ __rvm_gems_load() {
150
177
  mkdir -p "$rvm_gems_path/cache" # Ensure the base cache dir is initialized.
151
178
 
152
179
  if [[ -s "$rvm_file_name" ]] ; then
153
- echo "Loading $rvm_file_name file..."
180
+ echo "Importing $rvm_file_name file..."
154
181
  rvm_ruby_gem_list=$(\ls $rvm_ruby_gem_home/specifications/ 2> /dev/null | sed 's#.gems.*$##' 2> /dev/null)
155
182
 
156
183
  while read -r line
@@ -160,7 +187,7 @@ __rvm_gems_load() {
160
187
  fi
161
188
  done < <(awk '/^[^#]+/{print}' "${rvm_file_name}")
162
189
  else
163
- $rvm_scripts_path/log "error" "${rvm_file_name} does not exist to load from."
190
+ $rvm_scripts_path/log "error" "${rvm_file_name} does not exist to import from."
164
191
  fi
165
192
  }
166
193
 
@@ -188,7 +215,7 @@ __rvm_parse_gem_args() {
188
215
  gem_file_name="$gem"
189
216
  elif $rvm_scripts_path/match "$gem" ".gem$" ; then
190
217
  gem_file_name="$gem"
191
- elif [[ -z "${gem_version/ /}" ]] ; then # no v/Users/wayne/projects/db0/rvm/scripts/gems
218
+ elif [[ -z "${gem_version/ /}" ]] ; then
192
219
  gem_file_name="${gem_name/ /}*.gem"
193
220
  else # version
194
221
  gem_file_name="${gem_name/ /}-${gem_version/ /}.gem"
@@ -285,14 +312,16 @@ if [[ -z "$(which gem 2>/dev/null)" ]] ; then
285
312
  fi
286
313
 
287
314
  action="$(echo $* | awk '{print $1}')"
288
- gems_args="$(echo $* | awk '{$1="" ; print}' | sed 's/^\s*//')"
289
-
290
- if [[ "load" = "$action" ]] ; then
291
- __rvm_gems_load
292
- elif [[ "dump" = "$action" ]] ; then
293
- __rvm_gems_dump
294
- elif [[ "nuke" = "$action" ]] ; then
295
- __rvm_gems_nuke
315
+ gem_args=$(echo "$*" | awk '{$1="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
316
+
317
+ if [[ "import" = "$action" ]] || [[ "load" = "$action" ]] ; then
318
+ __rvm_gems_import
319
+ elif [[ "export" = "$action" ]] || [[ "dump" = "$action" ]] ; then
320
+ __rvm_gems_export
321
+ elif [[ "copy" = "$action" ]] ; then
322
+ __rvm_gems_copy
323
+ elif [[ "empty" = "$action" ]] ; then
324
+ __rvm_gems_empty
296
325
  elif [[ "delete" = "$action" ]] ; then
297
326
  __rvm_gems_delete
298
327
  elif [[ "name" = "$action" ]] ; then
@@ -309,7 +338,7 @@ elif [[ "clear" = "$action" ]] ; then
309
338
  $rvm_scripts_path/log "info" "gems(et) cleared."
310
339
  exit 0
311
340
  else
312
- $rvm_scripts_path/log "error" "gems must be passed an action as the first parameter {load,dump,delete,name,list,gemdir,install}"
341
+ $rvm_scripts_path/log "error" "Unrecognized gems action '$action'.\ngems must be passed an action as the first parameter {import,export,copy,delete,empty,name,list,gemdir,install}"
313
342
  fi
314
343
 
315
344
  exit $?
@@ -15,7 +15,13 @@ rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
15
15
  rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
16
16
  rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
17
17
  rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
18
- rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
18
+
19
+ if [[ "root" = "$(whoami)" ]] ; then
20
+ rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
21
+ else
22
+ rvm_gems_path="${rvm_gems_path:-"$HOME/.rvm/gems"}"
23
+ fi
24
+
19
25
  rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
20
26
  rvm_config_path="${rvm_config_path:-"$rvm_path/config"}"
21
27
  rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
@@ -2,6 +2,11 @@
2
2
 
3
3
  unset rvm_auto_flag
4
4
 
5
+ install_source_path=$(dirname $0)
6
+ if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then
7
+ builtin cd $install_source_path
8
+ fi
9
+
5
10
  source scripts/version
6
11
  source scripts/utility
7
12
 
@@ -30,6 +35,7 @@ while [[ $# -gt 0 ]] ; do
30
35
  esac
31
36
  done
32
37
 
38
+ __rvm_load_rvmrc
33
39
 
34
40
  if [[ -z "$rvm_path" ]] ; then
35
41
  unset rvm_path
@@ -55,8 +61,6 @@ __rvm_initialize
55
61
  item="$(tput setaf 2)* $(tput sgr0)"
56
62
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
57
63
  cwd=$(pwd)
58
- source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
59
- if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
60
64
  source_path="${source_path:-$cwd}"
61
65
 
62
66
  # State what is required to use rvm
@@ -2,6 +2,11 @@
2
2
 
3
3
  unset rvm_auto_flag
4
4
 
5
+ install_source_path=$(dirname $0)
6
+ if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then
7
+ builtin cd $install_source_path
8
+ fi
9
+
5
10
  source scripts/version
6
11
  source scripts/utility
7
12
 
@@ -30,6 +35,7 @@ while [[ $# -gt 0 ]] ; do
30
35
  esac
31
36
  done
32
37
 
38
+ __rvm_load_rvmrc
33
39
 
34
40
  if [[ -z "$rvm_path" ]] ; then
35
41
  unset rvm_path
@@ -55,8 +61,6 @@ __rvm_initialize
55
61
  item="$(tput setaf 2)* $(tput sgr0)"
56
62
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
57
63
  cwd=$(pwd)
58
- source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
59
- if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
60
64
  source_path="${source_path:-$cwd}"
61
65
 
62
66
  # State what is required to use rvm
@@ -2,6 +2,11 @@
2
2
 
3
3
  unset rvm_auto_flag
4
4
 
5
+ install_source_path=$(dirname $0)
6
+ if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then
7
+ builtin cd $install_source_path
8
+ fi
9
+
5
10
  source scripts/version
6
11
  source scripts/utility
7
12
 
@@ -30,6 +35,7 @@ while [[ $# -gt 0 ]] ; do
30
35
  esac
31
36
  done
32
37
 
38
+ __rvm_load_rvmrc
33
39
 
34
40
  if [[ -z "$rvm_path" ]] ; then
35
41
  unset rvm_path
@@ -55,8 +61,6 @@ __rvm_initialize
55
61
  item="$(tput setaf 2)* $(tput sgr0)"
56
62
  question="\n$(tput setaf 2)<?>$(tput sgr0)"
57
63
  cwd=$(pwd)
58
- source_path="${source_path:-"$(dirname $0 | xargs dirname)"}"
59
- if [[ ! -d "$source_path" ]] ; then unset source_path ; fi
60
64
  source_path="${source_path:-$cwd}"
61
65
 
62
66
  # State what is required to use rvm
@@ -152,7 +152,7 @@ __rvm_cleanup_variables() {
152
152
 
153
153
  if [[ "$rvm_sticky_gems" = "1" ]] ; then export rvm_gem_set_name ; else unset rvm_gem_set_name ; fi
154
154
 
155
- 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_load_flag rvm_dump_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_gems
155
+ 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_gems
156
156
  }
157
157
 
158
158
  # Unset ruby-specific variables
@@ -469,9 +469,14 @@ __rvm_reboot() {
469
469
  __rvm_ruby_do() {
470
470
  __rvm_select
471
471
  __rvm_use
472
+
472
473
  binary="$(echo $rvm_action | sed 's#do$##')"
473
474
  if [[ -x "$rvm_ruby_home/bin/$binary" ]] ; then
475
+ rm -f "$rvm_path/gems/cache"
476
+ ln -nfs "$HOME/.gem/cache" "$rvm_path/gems/cache"
474
477
  binary="$rvm_ruby_home/bin/$binary"
478
+ elif [[ -x "$rvm_ruby_global_gems_path/bin/$binary" ]] ; then
479
+ binary="$rvm_ruby_global_gems_path/bin/$binary"
475
480
  elif [[ -x "$rvm_ruby_gem_home/bin/$binary" ]] ; then
476
481
  binary="$rvm_ruby_gem_home/bin/$binary"
477
482
  elif [[ "system" = "$rvm_ruby_string" ]] && [[ -x "$(which $binary)" ]] ; then
@@ -771,8 +776,13 @@ __rvm_gems_select() {
771
776
  fi
772
777
  rmdir $rvm_path/gems/cache
773
778
  fi
774
- rm -f "$rvm_path/gems/cache"
775
- ln -nfs "$HOME/.gem/cache" "$rvm_path/gems/cache"
779
+
780
+ # Some sanity checking.
781
+ if [[ ! -e "$HOME/.gem/cache" ]] ; then mkdir -p $HOME/.gem/cache ; fi
782
+ chmod u+w "$HOME/.gem"
783
+ rm -f "$rvm_gems_path/cache"
784
+ ln -nfs "$HOME/.gem/cache" "$rvm_gems_path/cache"
785
+ chmod u+w "$HOME/.gem/cache"
776
786
  # /TODO
777
787
 
778
788
  # Careful not to nuke system gems cache.
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.1.15
4
+ version: 0.1.16
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: 2010-02-16 00:00:00 -05:00
12
+ date: 2010-02-18 00:00:00 -05:00
13
13
  default_executable: rvm-install
14
14
  dependencies: []
15
15