wayneeseguin-rvm 0.0.44 → 0.0.45
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/lib/VERSION.yml +1 -1
- data/rvm.gemspec +3 -2
- data/scripts/gemsync +21 -0
- data/scripts/rvm-cli +17 -6
- data/scripts/rvm-install +13 -8
- data/scripts/rvm-ruby-installer +72 -35
- data/scripts/rvm-selector +3 -3
- data/scripts/rvm-update +13 -8
- data/scripts/rvm-utility +108 -95
- metadata +3 -2
data/lib/VERSION.yml
CHANGED
data/rvm.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rvm}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.45"
|
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-09-
|
12
|
+
s.date = %q{2009-09-20}
|
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}
|
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
"lib/VERSION.yml",
|
27
27
|
"lib/rvm.rb",
|
28
28
|
"rvm.gemspec",
|
29
|
+
"scripts/gemsync",
|
29
30
|
"scripts/rvm",
|
30
31
|
"scripts/rvm-aliases",
|
31
32
|
"scripts/rvm-cli",
|
data/scripts/gemsync
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#/bin/bash
|
2
|
+
#
|
3
|
+
# gemsync - Standalone gemsync utility.
|
4
|
+
#
|
5
|
+
# Example:
|
6
|
+
# gemsync --from 1.8.6 -m foo --to 1.9.1 -m bar
|
7
|
+
#
|
8
|
+
source ~/.bash_profile # load rvm
|
9
|
+
|
10
|
+
from_string=`echo "$@" | sed 's/--/;/g' | tr ';' "\n" | awk '/from/ {print}' | sed 's/from//'`
|
11
|
+
to_string=`echo "$@" | sed 's/--/;/g' | tr ';' "\n" | awk '/to/ {print}' | sed 's/to//'`
|
12
|
+
|
13
|
+
if [ -z "$from_string" ] ; then echo "Invalid arguments. Missing --from <ruby selector>" ; exit 1 ; fi
|
14
|
+
if [ -z "$to_string" ] ; then echo "Invalid arguments. Missing --to <ruby selector>" ; exit 1 ; fi
|
15
|
+
|
16
|
+
# first we use where we want.
|
17
|
+
rvm $to_string
|
18
|
+
|
19
|
+
# Then we sync from the source.
|
20
|
+
rvm sync $from_string
|
21
|
+
|
data/scripts/rvm-cli
CHANGED
@@ -106,10 +106,14 @@ function __rvm_parse-args {
|
|
106
106
|
while [ $# -gt 0 ] ; do
|
107
107
|
rvm_token="$1" ; shift
|
108
108
|
case "$rvm_token" in
|
109
|
-
install|uninstall|
|
109
|
+
install|uninstall|path|info|setup|version|srcdir|list|symlinks|reset|debug|reload|usage|help|implode|update|readline|iconv|benchmark|bench|use|sync)
|
110
110
|
rvm_action=$rvm_token
|
111
111
|
;;
|
112
112
|
|
113
|
+
rm|remove)
|
114
|
+
rvm_action=remove
|
115
|
+
;;
|
116
|
+
|
113
117
|
system|default)
|
114
118
|
rvm_action=${rvm_action:-use}
|
115
119
|
rvm_ruby_interpreter="$rvm_token"
|
@@ -147,7 +151,7 @@ function __rvm_parse-args {
|
|
147
151
|
|
148
152
|
do|rubydo|rakedo|gemdo)
|
149
153
|
rvm_action=$rvm_token
|
150
|
-
if [ "$rvm_action" = "do" ] ; then rvm_action="
|
154
|
+
if [ "$rvm_action" = "do" ] ; then rvm_action="rubydo" ; fi
|
151
155
|
temp=$(echo $1 | awk '{print substr($1, 0, 1)}')
|
152
156
|
if [ "$temp" = "-" ] ; then
|
153
157
|
unset rvm_ruby_version
|
@@ -298,6 +302,7 @@ function __rvm_parse-args {
|
|
298
302
|
rvm_ruby_interpreter="system"
|
299
303
|
;;
|
300
304
|
|
305
|
+
--install) rvm_install_on_use=1 ;;
|
301
306
|
--prefix) rvm_prefix_path="$1" ; shift ;;
|
302
307
|
-G|--gems) rvm_gem_path="$1" ; shift ;;
|
303
308
|
--source) rvm_source_path="$1" ; shift ;;
|
@@ -352,12 +357,12 @@ function __rvm_parse-args {
|
|
352
357
|
if [ ! -z "$rvm_parse_break" -o ! -z "$rvm_error_message" ] ; then unset rvm_parse_break; break; fi
|
353
358
|
done
|
354
359
|
|
355
|
-
if [ ! -z "$rvm_error_message" ] ; then
|
360
|
+
if [ ! -z "$rvm_error_message" ] ; then __rvm_pushpop ; return 1 ; fi
|
356
361
|
}
|
357
362
|
|
358
363
|
function rvm {
|
359
364
|
|
360
|
-
|
365
|
+
__rvm_cleanup_variables
|
361
366
|
__rvm_load-rvmrc
|
362
367
|
__rvm_initialize
|
363
368
|
__rvm_load-defaults
|
@@ -366,7 +371,7 @@ function rvm {
|
|
366
371
|
if [ -z "$rvm_debug_flag" ] ; then set +x ; else set -x ; fi
|
367
372
|
result=0
|
368
373
|
case "$rvm_action" in
|
369
|
-
install) __rvm_install
|
374
|
+
install) __rvm_install ; result=$? ;;
|
370
375
|
uninstall) __rvm_uninstall ; result=$? ;;
|
371
376
|
remove) __rvm_remove ; result=$? ;;
|
372
377
|
use) __rvm_use ; result=$? ;;
|
@@ -388,6 +393,12 @@ function rvm {
|
|
388
393
|
bench|benchmark) __rvm_benchmark ; result=$? ;;
|
389
394
|
rubydo|rakedo|gemdo) __rvm_do ; result=$? ;;
|
390
395
|
|
396
|
+
sync)
|
397
|
+
result=0
|
398
|
+
rvm_source_gem_path=`__rvm_select ; echo $rvm_gem_home`
|
399
|
+
__rvm_gem_sync
|
400
|
+
;;
|
401
|
+
|
391
402
|
tests|specs)
|
392
403
|
rvm_summary_flag=1
|
393
404
|
rvm_action="rake"
|
@@ -401,7 +412,7 @@ function rvm {
|
|
401
412
|
result=0
|
402
413
|
;;
|
403
414
|
|
404
|
-
error) __rvm_log "fail" "$rvm_error_message ( see: 'rvm usage' )" ;
|
415
|
+
error) __rvm_log "fail" "$rvm_error_message ( see: 'rvm usage' )" ; __rvm_pushpop ; return 1; ;;
|
405
416
|
*)
|
406
417
|
if [ ! -z "$rvm_action" ] ; then
|
407
418
|
__rvm_log "fail" "unknown action '$rvm_action'"
|
data/scripts/rvm-install
CHANGED
@@ -15,15 +15,20 @@ source_dir="${source_dir:-$cwd}"
|
|
15
15
|
rvm_dir=~/.rvm
|
16
16
|
|
17
17
|
echo -e "\nInstalling rvm to ~/.rvm/ ..."
|
18
|
-
for
|
19
|
-
mkdir -p $rvm_dir/$
|
18
|
+
for dir_name in src scripts bin log archives config gems examples ; do
|
19
|
+
mkdir -p $rvm_dir/$dir_name
|
20
20
|
done
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
21
|
+
|
22
|
+
for dir_name in config scripts examples lib ; do
|
23
|
+
mkdir -p $rvm_dir/$dir_name
|
24
|
+
/bin/cp -Rf $source_dir/$dir_name $rvm_dir
|
25
|
+
done ; unset dir_name
|
26
|
+
|
27
|
+
for file_name in rvm-prompt gemsync ; do
|
28
|
+
mv $rvm_dir/scripts/$file_name $rvm_dir/bin/
|
29
|
+
chmod +x $rvm_dir/bin/$file_name
|
30
|
+
done ; unset file_name
|
31
|
+
|
27
32
|
|
28
33
|
# State what is required to use rvm
|
29
34
|
echo -e "\n\033[0;32mrvm\033[0m is a shell script that allows a user to manage multiple ruby versions in their own account."
|
data/scripts/rvm-ruby-installer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
|
-
function
|
3
|
+
function __rvm_install_source {
|
4
4
|
|
5
5
|
if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi
|
6
6
|
|
@@ -8,7 +8,7 @@ function __rvm_install-source {
|
|
8
8
|
__rvm_log "info" "Installing Ruby from source to: $rvm_ruby_home"
|
9
9
|
mkdir -p $rvm_ruby_log_path
|
10
10
|
|
11
|
-
|
11
|
+
__rvm_pushpop $rvm_source_path
|
12
12
|
|
13
13
|
if [ ! -z "$rvm_force_flag" ] ; then
|
14
14
|
rm -rf $rvm_ruby_home
|
@@ -72,7 +72,7 @@ function __rvm_install-source {
|
|
72
72
|
fi
|
73
73
|
|
74
74
|
cd $rvm_ruby_src_path
|
75
|
-
if [ $? -gt 0 ] ; then result=$? ; __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" ;
|
75
|
+
if [ $? -gt 0 ] ; then result=$? ; __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" ; __rvm_pushpop ; return $result ; fi
|
76
76
|
|
77
77
|
if [ ! -s "$rvm_ruby_src_path/configure" -a "$rvm_ruby_interpreter" = "ruby" ] ; then
|
78
78
|
rvm_autoconf=`which autoconf`
|
@@ -122,13 +122,36 @@ function __rvm_install-source {
|
|
122
122
|
__rvm_rubygems_setup
|
123
123
|
__rvm_bin_script
|
124
124
|
__rvm_run "chmod.bin" chmod +x $rvm_ruby_home/bin/*
|
125
|
-
|
126
|
-
popd > /dev/null
|
127
|
-
|
128
125
|
__rvm_post_install
|
126
|
+
__rvm_pushpop
|
127
|
+
}
|
128
|
+
|
129
|
+
function __rvm_install {
|
130
|
+
# TODO: Extract the outer looping mechanism with ruby_do's
|
131
|
+
rubies=() ; successes=() ; errors=() ; statuses=()
|
132
|
+
# TODO: Extract the common functionality out of the if below
|
133
|
+
if [ ! -z "$(echo "$rvm_ruby_version" | awk '/,/')" ] ; then
|
134
|
+
rvm_ruby_versions=`echo $rvm_ruby_version | tr ',' ' '`
|
135
|
+
for rvm_ruby_string in $rvm_ruby_versions ; do
|
136
|
+
unset rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install rvm_ruby_rev rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_home rvm_ruby_binary rvm_ruby_package_name rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_selected
|
137
|
+
if [ ! -z "$(echo $rvm_ruby_selector | awk '/^[0-9]/')" ] ; then
|
138
|
+
rvm_ruby_interpreter="ruby"
|
139
|
+
rvm_ruby_version="$rvm_ruby_selector"
|
140
|
+
else
|
141
|
+
rvm_ruby_interpreter="$rvm_ruby_selector"
|
142
|
+
unset rvm_ruby_version
|
143
|
+
fi
|
144
|
+
__rvm_log "debug" $rvm_ruby_string
|
145
|
+
__rvm_select
|
146
|
+
__rvm_install_ruby
|
147
|
+
done
|
148
|
+
else
|
149
|
+
__rvm_select
|
150
|
+
__rvm_install_ruby
|
151
|
+
fi
|
129
152
|
}
|
130
153
|
|
131
|
-
function
|
154
|
+
function __rvm_install_ruby {
|
132
155
|
|
133
156
|
if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi
|
134
157
|
if [ ! -z "$RUBYOPT" ] ; then ruby_options=$RUBYOPT ; unset RUBYOPT ; fi
|
@@ -163,18 +186,18 @@ function __rvm_install-ruby {
|
|
163
186
|
fi
|
164
187
|
#__rvm_fetch $rvm_url
|
165
188
|
#__rvm_run /usr/sbin/installer -pkg $rvm_ruby_package_name.pkg -target "$rvm_path/$rvm_ruby_package_name/"
|
166
|
-
|
189
|
+
__rvm_install_source
|
167
190
|
unset DESTDIR
|
168
191
|
else
|
169
192
|
__rvm_log "fail" "MacRuby can only be installed on a Darwin OS."
|
170
193
|
fi
|
194
|
+
__rvm_irbrc
|
171
195
|
;;
|
172
196
|
|
173
197
|
ruby-enterprise|ree)
|
174
|
-
__rvm_select
|
175
198
|
rvm_url="http://rubyforge.org/frs/download.php/58677/$rvm_ruby_package_name.tar.gz"
|
176
199
|
__rvm_log "info" "Installing Ruby Enterprise Edition from source to: $rvm_ruby_home"
|
177
|
-
|
200
|
+
__rvm_pushpop $rvm_source_path
|
178
201
|
if [ -d $rvm_ruby_src_path ] ; then
|
179
202
|
cd $rvm_ruby_src_path
|
180
203
|
else
|
@@ -204,13 +227,13 @@ function __rvm_install-ruby {
|
|
204
227
|
__rvm_run "gems" $rvm_ruby_home/bin/gem install $rvm_gem_name --no-rdoc --no-ri -q
|
205
228
|
done
|
206
229
|
|
230
|
+
__rvm_irbrc
|
207
231
|
__rvm_bin_scripts
|
208
|
-
|
209
|
-
|
232
|
+
__rvm_post_install
|
233
|
+
__rvm_pushpop
|
210
234
|
;;
|
211
235
|
|
212
236
|
rbx|rubinius)
|
213
|
-
# TODO: check if system is 1.8.X otherwise use rvm's 1.8.X and check for parsetree, install if missing
|
214
237
|
unset GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC
|
215
238
|
PATH="$rvm_system_path" ; export PATH
|
216
239
|
rvm_ruby_repo_url=$rvm_rubinius_repo_url
|
@@ -227,17 +250,25 @@ function __rvm_install-ruby {
|
|
227
250
|
git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_home
|
228
251
|
fi
|
229
252
|
cd $rvm_ruby_home
|
253
|
+
|
254
|
+
# prereqs, 1.8.6 w/ParseTree & rake. Yes this could all be one line... not pushing our luck.
|
255
|
+
bash -l -c 'rvm 1.8.6 --debug --install' # This should install if missing.
|
256
|
+
bash -l -c 'rvm 1.8.6 -m rbx ; $rvm_ruby_home/bin/gem install --no-rdoc --no-ri rake ParseTree' # This should install if missing.
|
257
|
+
rake186rbx=`rvm 1.8.6 -m rbx ; which rake`
|
230
258
|
if [ ! -z "$rvm_jit_flag" ]; then
|
231
|
-
__rvm_run "build" RBX_LLVM=1
|
259
|
+
__rvm_run "build" RBX_LLVM=1 $rake186rbx build
|
232
260
|
else
|
233
|
-
__rvm_run "build"
|
261
|
+
__rvm_run "build" $rake186rbx build
|
234
262
|
fi
|
263
|
+
unset rake186rbx
|
264
|
+
|
235
265
|
for binary in ruby irb ; do
|
236
266
|
ln -fs $rvm_ruby_home/bin/rbx $rvm_ruby_home/bin/$binary
|
237
267
|
done
|
238
268
|
$rvm_ruby_home/bin/rbx -S gem install rake --no-rdoc --no-ri
|
239
269
|
|
240
|
-
|
270
|
+
for binary_name in gem rake ; do
|
271
|
+
ruby_wrapper=$(cat <<RubyWrapper
|
241
272
|
#!/bin/bash
|
242
273
|
|
243
274
|
GEM_HOME="$rvm_gem_home" ; export GEM_HOME
|
@@ -245,15 +276,16 @@ GEM_PATH="$rvm_gem_home" ; export GEM_PATH
|
|
245
276
|
MY_RUBY_HOME="$rvm_ruby_home" ; export MY_RUBY_HOME
|
246
277
|
PATH="$rvm_ruby_home/bin:$rvm_gem_home/bin:\$PATH" ; export PATH
|
247
278
|
|
248
|
-
exec $rvm_ruby_home/bin/rbx -S
|
279
|
+
exec $rvm_ruby_home/bin/rbx -S $binary_name "\$@"
|
249
280
|
RubyWrapper
|
250
281
|
)
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
282
|
+
for file_name in $rvm_bin_path/gem-$rvm_ruby_package_name $rvm_ruby_home/bin/gem ; do
|
283
|
+
echo "$ruby_wrapper" > $file_name
|
284
|
+
if [ -f $file_name ] ; then chmod +x $file_name ; fi
|
285
|
+
done
|
286
|
+
unset ruby_wrapper binary_name file_name
|
287
|
+
done
|
288
|
+
__rvm_irbrc
|
257
289
|
__rvm_bin_scripts
|
258
290
|
;;
|
259
291
|
|
@@ -262,9 +294,9 @@ RubyWrapper
|
|
262
294
|
rvm_url="http://dist.codehaus.org/$rvm_ruby_interpreter/$rvm_ruby_version/$rvm_package_file.zip"
|
263
295
|
rvm_jruby_repo_url="${rvm_jruby_repo_url:-"git://kenai.com/jruby~main"}"
|
264
296
|
|
265
|
-
__rvm_log "info" "Installing
|
297
|
+
__rvm_log "info" "Installing JRuby to: $rvm_ruby_home"
|
266
298
|
mkdir -p $rvm_ruby_log_path
|
267
|
-
|
299
|
+
__rvm_pushpop $rvm_source_path
|
268
300
|
|
269
301
|
if [ ! -z "$rvm_ruby_rev" ] ; then
|
270
302
|
if [ ! -d $rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version -o ! -d $rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version/.git ] ; then
|
@@ -275,8 +307,12 @@ RubyWrapper
|
|
275
307
|
if [ -d $rvm_ruby_src_path ] ; then
|
276
308
|
cd $rvm_ruby_src_path
|
277
309
|
else
|
278
|
-
|
279
|
-
|
310
|
+
if [ -z "$rvm_force_flag" -a -f $rvm_package_file -a -s $rvm_package_file ] ; then
|
311
|
+
__rvm_log "info" "\tIt appears that $rvm_package_file has already been downloaded, skipping. Use --force to force re-download."
|
312
|
+
else
|
313
|
+
__rvm_log "info" "\tDownloading $rvm_package_file, this may take a while depending on your connection..."
|
314
|
+
__rvm_fetch $rvm_url
|
315
|
+
fi
|
280
316
|
__rvm_log "info" "\tExtracting $rvm_package_file..."
|
281
317
|
rvm_unzip=`which unzip`
|
282
318
|
if [ $? -ne 0 ] ; then
|
@@ -292,16 +328,17 @@ RubyWrapper
|
|
292
328
|
mkdir -p $rvm_ruby_home/bin/
|
293
329
|
__rvm_run "sync" rsync -ag $rvm_ruby_src_path/ $rvm_ruby_home/
|
294
330
|
__rvm_run "nailgun" cd $rvm_ruby_src_path/tool/nailgun && make $rvm_make_flags
|
295
|
-
|
331
|
+
__rvm_pushpop
|
296
332
|
chmod +x $rvm_ruby_home/bin/*
|
297
333
|
for binary in jruby jgem jirb ; do
|
298
334
|
ln -fs $rvm_ruby_home/bin/$binary $rvm_ruby_home/bin/${binary#j}
|
299
335
|
done
|
300
336
|
|
337
|
+
__rvm_irbrc
|
301
338
|
__rvm_bin_scripts
|
302
339
|
|
303
340
|
ln -fs $rvm_ruby_home/bin/ruby $rvm_path/bin/$rvm_ruby_package_name
|
304
|
-
for rvm_gem_name in
|
341
|
+
for rvm_gem_name in jruby-openssl ; do
|
305
342
|
__rvm_log "info" "Installing $rvm_gem_name"
|
306
343
|
__rvm_run "gems" $rvm_ruby_home/bin/gem install $rvm_gem_name --no-rdoc --no-ri -q
|
307
344
|
done
|
@@ -311,7 +348,7 @@ RubyWrapper
|
|
311
348
|
# Merge configure options with user specified options
|
312
349
|
rvm_ruby_configure="--enable-shared=true --enable-pthread $rvm_ruby_configure "
|
313
350
|
if [ "`uname`" = "Darwin" ] ; then ARCHFLAGS="-arch x86_64 -arch i386" ; export ARCHFLAGS ; fi
|
314
|
-
|
351
|
+
__rvm_install_source $*
|
315
352
|
;;
|
316
353
|
|
317
354
|
default)
|
@@ -351,7 +388,6 @@ function __rvm_remove {
|
|
351
388
|
}
|
352
389
|
|
353
390
|
function __rvm_uninstall {
|
354
|
-
|
355
391
|
if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi
|
356
392
|
|
357
393
|
if [ ! -z "$rvm_ruby_package_name" ] ; then
|
@@ -376,9 +412,11 @@ function __rvm_uninstall {
|
|
376
412
|
function __rvm_post_install {
|
377
413
|
|
378
414
|
for binary in gem irb erb ri rdoc testrb rake ; do
|
379
|
-
if [ -f $rvm_ruby_src_path/bin/$binary ] ; then
|
380
|
-
if [ "$rvm_ruby_src_path" != "$rvm_ruby_home" ] ; then
|
381
|
-
cp $rvm_ruby_src_path/bin/$binary $rvm_ruby_home/bin/$binary
|
415
|
+
if [ -f $rvm_ruby_home/bin/$binary -o -f $rvm_ruby_src_path/bin/$binary ] ; then
|
416
|
+
if [ "$rvm_ruby_src_path" != "$rvm_ruby_home" -a $rvm_ruby_src_path/bin/$binary] ; then
|
417
|
+
cp -f $rvm_ruby_src_path/bin/$binary $rvm_ruby_home/bin/$binary
|
418
|
+
elif [ -f "$rvm_gem_home/bin/$binary" ] ; then
|
419
|
+
cp -f $rvm_gem_home/bin/$binary $rvm_ruby_home/bin/$binary
|
382
420
|
fi
|
383
421
|
string="ENV['GEM_HOME']=ENV['GEM_HOME'] || '$rvm_gem_home'\nENV['GEM_PATH']=ENV['GEM_PATH'] || '$rvm_gem_home'\nENV['PATH']='$rvm_ruby_home/bin:$rvm_gem_home/bin:' + ENV['PATH']"
|
384
422
|
awk "NR==2 {print \"$string\"} {print}" $rvm_ruby_home/bin/$binary > $rvm_ruby_home/bin/$binary.new
|
@@ -415,7 +453,6 @@ function __rvm_post_install {
|
|
415
453
|
}
|
416
454
|
|
417
455
|
function __rvm_rubygems_setup {
|
418
|
-
|
419
456
|
if [ "`echo $rvm_ruby_version | awk '{print substr($1, 0, 3)}'`" != "1.9" ] ; then
|
420
457
|
__rvm_log "info" "\tInstalling rubygems dedicated to $rvm_ruby_package_name..."
|
421
458
|
rvm_gem_package_name="rubygems-1.3.5"
|
data/scripts/rvm-selector
CHANGED
@@ -134,9 +134,6 @@ function __rvm_select {
|
|
134
134
|
|
135
135
|
export rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_url rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install rvm_ruby_rev rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_path rvm_gem_home rvm_path rvm_source_path rvm_bin_path rvm_ruby_binary rvm_ruby_home rvm_log_path rvm_ruby_log_path rvm_source_path rvm_ruby_src_path rvm_ruby_irbrc rvm_selected rvm_ruby_string
|
136
136
|
|
137
|
-
if [ ! -z "$rvm_load_flag" ] ; then __rvm_gemset_load ; fi
|
138
|
-
if [ ! -z "$rvm_dump_flag" ] ; then __rvm_gemset_dump ; fi
|
139
|
-
|
140
137
|
else
|
141
138
|
rvm_gem_home=$GEM_HOME
|
142
139
|
fi
|
@@ -218,5 +215,8 @@ function __rvm_use {
|
|
218
215
|
unset rvm_default_flag
|
219
216
|
fi
|
220
217
|
fi
|
218
|
+
|
219
|
+
if [ ! -z "$rvm_load_flag" ] ; then __rvm_gemset_load ; fi
|
220
|
+
if [ ! -z "$rvm_dump_flag" ] ; then __rvm_gemset_dump ; fi
|
221
221
|
}
|
222
222
|
|
data/scripts/rvm-update
CHANGED
@@ -15,15 +15,20 @@ source_dir="${source_dir:-$cwd}"
|
|
15
15
|
rvm_dir=~/.rvm
|
16
16
|
|
17
17
|
echo -e "\nInstalling rvm to ~/.rvm/ ..."
|
18
|
-
for
|
19
|
-
mkdir -p $rvm_dir/$
|
18
|
+
for dir_name in src scripts bin log archives config gems examples ; do
|
19
|
+
mkdir -p $rvm_dir/$dir_name
|
20
20
|
done
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
21
|
+
|
22
|
+
for dir_name in config scripts examples lib ; do
|
23
|
+
mkdir -p $rvm_dir/$dir_name
|
24
|
+
/bin/cp -Rf $source_dir/$dir_name $rvm_dir
|
25
|
+
done ; unset dir_name
|
26
|
+
|
27
|
+
for file_name in rvm-prompt gemsync ; do
|
28
|
+
mv $rvm_dir/scripts/$file_name $rvm_dir/bin/
|
29
|
+
chmod +x $rvm_dir/bin/$file_name
|
30
|
+
done ; unset file_name
|
31
|
+
|
27
32
|
|
28
33
|
# State what is required to use rvm
|
29
34
|
echo -e "\n\033[0;32mrvm\033[0m is a shell script that allows a user to manage multiple ruby versions in their own account."
|
data/scripts/rvm-utility
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
function __rvm_info {
|
4
4
|
cat <<Info
|
5
5
|
|
6
|
+
system:
|
7
|
+
uname: "$(uname -a)"
|
8
|
+
|
6
9
|
ruby:
|
7
10
|
interpreter: "`ruby -v | awk '{print $1}'`"
|
8
11
|
version: "`ruby -v | awk '{print $2}'`"
|
@@ -29,34 +32,33 @@ Info
|
|
29
32
|
}
|
30
33
|
|
31
34
|
function __rvm_debug {
|
35
|
+
__rvm_log "debug" "\nPATH:\n$(echo $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}')"
|
32
36
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
if [ -s $file ] ; then
|
37
|
-
__rvm_log "debug" "~/$file:\n$(grep rvm ~/$file)\n"
|
37
|
+
for file_name in ~/.bash_profile ~/.bashrc ~/.zshrc ; do
|
38
|
+
if [ -s $file_name ] ; then
|
39
|
+
__rvm_log "debug" "\n$file_name:\n$(grep 'rvm' $file_name)"
|
38
40
|
fi
|
39
41
|
done
|
40
42
|
|
41
|
-
|
42
|
-
|
43
|
-
|
43
|
+
for file_name in $rvm_path/default $rvm_path/system $rvm_path/config/db ~/.rvmrc ~/.gemrc; do
|
44
|
+
if [ -f $file_name -a -s $file_name ] ; then
|
45
|
+
__rvm_log "debug" "$file_name (filtered):\n$(cat $file_name | awk '!/assword|_key/')\n"
|
46
|
+
fi
|
47
|
+
done
|
44
48
|
|
45
|
-
if [ -
|
46
|
-
__rvm_log "
|
49
|
+
if [ -f $rvm_path/bin/rvm ] ; then
|
50
|
+
__rvm_log "error" "rvm script in bin! \n$(ls -laht $rvm_path/bin/rvm)"
|
47
51
|
fi
|
48
|
-
|
49
52
|
}
|
50
53
|
|
51
54
|
# Logging functions based on level
|
52
55
|
function __rvm_log {
|
53
|
-
|
54
56
|
case "$1" in
|
55
|
-
debug) shift ; echo -e "\033[0;35m
|
56
|
-
info) shift ; echo -e "\033[0;32m
|
57
|
-
warn) shift ; echo -e "\033[0;33m
|
58
|
-
error) shift ; echo -e "\033[0;31m
|
59
|
-
fail) shift ; echo -e "\033[0;31m
|
57
|
+
debug) shift ; echo -e "\033[0;35m<debug> \033[0m $* \033[0;35m</debug> \033[0m " ;;
|
58
|
+
info) shift ; echo -e "\033[0;32m<info> \033[0m $* \033[0;32m</info> \033[0m " ;;
|
59
|
+
warn) shift ; echo -e "\033[0;33m<warning> \033[0m $* \033[0;33m</warning> \033[0m " ;;
|
60
|
+
error) shift ; echo -e "\033[0;31m<error> \033[0m $* \033[0;31m</error> \033[0m " ;;
|
61
|
+
fail) shift ; echo -e "\033[0;31m<fail> \033[0m $* \033[0;31m</fail> \033[0m " ; __rvm_pushpop ; return 1 ;;
|
60
62
|
*) echo -e "$*"
|
61
63
|
esac
|
62
64
|
}
|
@@ -86,12 +88,12 @@ function __rvm_run {
|
|
86
88
|
else
|
87
89
|
eval "nice -n $rvm_niceness /bin/bash -l -c '$command'" >> $rvm_ruby_log_path/$log_file_name.log 2>> $rvm_ruby_log_path/$log_file_name.error.log
|
88
90
|
fi
|
89
|
-
if [ $? -gt 0 ] ; then __rvm_log "error" "Error running '$command', please check $rvm_ruby_log_path/$log_file_name.error.log" ;
|
91
|
+
if [ $? -gt 0 ] ; then __rvm_log "error" "Error running '$command', please check $rvm_ruby_log_path/$log_file_name.error.log" ; __rvm_pushpop ; return 1 ; fi
|
90
92
|
unset log_file command
|
91
93
|
}
|
92
94
|
|
93
|
-
function
|
94
|
-
unset rvm_selected rvm_action rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_irbrc_file rvm_ruby_irbrc rvm_source_path rvm_path rvm_prefix_path rvm_ruby_package_name rvm_gem_path rvm_command rvm_error_message rvm_ruby_home rvm_ruby_binary rvm_gem_set_name rvm_ruby_tag rvm_ruby_rev rvm_url rvm_ruby_make rvm_ruby_configure rvm_ruby_make_install rvm_config_path rvm_ruby_string rvm_bin_path 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_install_on_use
|
95
|
+
function __rvm_cleanup_variables {
|
96
|
+
unset rvm_selected rvm_action rvm_ruby_interpreter rvm_ruby_patch_level rvm_ruby_version rvm_irbrc_file rvm_ruby_irbrc rvm_source_path rvm_path rvm_prefix_path rvm_ruby_package_name rvm_gem_path rvm_command rvm_error_message rvm_ruby_home rvm_ruby_binary rvm_gem_set_name rvm_ruby_tag rvm_ruby_rev rvm_url rvm_ruby_make rvm_ruby_configure rvm_ruby_make_install rvm_config_path rvm_ruby_string rvm_bin_path 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_install_on_use rvm_json_flag rvm_yaml_flag
|
95
97
|
}
|
96
98
|
|
97
99
|
# TODO: root user loadng of /etc/rvmrc
|
@@ -101,7 +103,7 @@ function __rvm_load-rvmrc {
|
|
101
103
|
|
102
104
|
function __rvm_bin_scripts {
|
103
105
|
# NOTE: This depends on the forthcoming ruby_string select functionality.
|
104
|
-
rvm_ruby_binaries=`/bin/ls $rvm_path/*/bin/ruby`
|
106
|
+
rvm_ruby_binaries=`/bin/ls $rvm_path/*/bin/ruby 2> /dev/null`
|
105
107
|
for rvm_ruby_binary in $rvm_ruby_binaries ; do
|
106
108
|
if [ -x $rvm_ruby_binary ] ; then
|
107
109
|
rvm_ruby_string=`dirname $rvm_ruby_binary | xargs dirname | xargs basename`
|
@@ -131,7 +133,7 @@ RubyWrapper
|
|
131
133
|
|
132
134
|
function __rvm_fetch {
|
133
135
|
|
134
|
-
|
136
|
+
__rvm_pushpop $rvm_archives_path
|
135
137
|
eval $rvm_fetch "$1"
|
136
138
|
result=$?
|
137
139
|
if [ $result -gt 0 ] ; then
|
@@ -141,7 +143,7 @@ function __rvm_fetch {
|
|
141
143
|
__rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log"
|
142
144
|
fi
|
143
145
|
fi
|
144
|
-
|
146
|
+
__rvm_pushpop
|
145
147
|
return $result
|
146
148
|
}
|
147
149
|
|
@@ -259,33 +261,38 @@ function __rvm_src-dir {
|
|
259
261
|
}
|
260
262
|
|
261
263
|
# clones from source implementation/version to default
|
264
|
+
# TODO: Merge this into 'rvm sync'
|
262
265
|
function __rvm_gem-dup {
|
263
266
|
__rvm_log "debug" "$rvm_ruby_interpreter"
|
264
267
|
if [ "$rvm_ruby_interpreter" = "default" ] ; then
|
265
268
|
# TODO: ~/.rvm/default first, then system user
|
266
|
-
|
269
|
+
rvm_source_gem_path="$rvm_system_user_gem_path"
|
267
270
|
elif [ "$rvm_ruby_interpreter" = "user" ] ; then
|
268
|
-
|
271
|
+
rvm_source_gem_path="$rvm_system_user_gem_path"
|
269
272
|
elif [ "$rvm_ruby_interpreter" = "system" ] ; then
|
270
|
-
|
273
|
+
rvm_source_gem_path="$rvm_system_gem_path"
|
271
274
|
else
|
272
275
|
# TODO: use selector for this?
|
273
|
-
|
276
|
+
rvm_source_gem_path=${rvm_gem_home/$rvm_ruby_interpreter/$rvm_ruby_version}
|
274
277
|
fi
|
278
|
+
__rvm_gem_sync
|
279
|
+
}
|
275
280
|
|
276
|
-
|
277
|
-
|
281
|
+
function __rvm_gem_sync {
|
282
|
+
if [ ! -z "$rvm_source_gem_path" ] ; then
|
283
|
+
for rvm_gem_name_version in `/bin/ls $rvm_source_gem_path/gems 2> /dev/null` ; do
|
278
284
|
rvm_gem_name=${rvm_gem_name_version%-*}
|
279
285
|
rvm_gem_version=${rvm_gem_name_version##*-}
|
280
286
|
if [ -d $GEM_HOME/gems/$rvm_gem_name_version ] ; then
|
281
287
|
echo "$rvm_gem_name_version already installed."
|
282
288
|
else
|
283
|
-
__rvm_gi $
|
289
|
+
__rvm_gi $rvm_source_gem_path/cache/$rvm_gem_name-$rvm_gem_version.gem
|
284
290
|
fi
|
285
291
|
done
|
286
292
|
unset rvm_gem_name_version rvm_gem_name rvm_gem_version
|
287
293
|
else
|
288
|
-
__rvm_log "fail" "Unknown
|
294
|
+
__rvm_log "fail" "Unknown ruby selected :("
|
295
|
+
result=1
|
289
296
|
fi
|
290
297
|
}
|
291
298
|
|
@@ -319,7 +326,7 @@ function __rvm_symlinks {
|
|
319
326
|
# TODO: Account for the ruby wrapper script files
|
320
327
|
|
321
328
|
mkdir -p ${rvm_path}/bin
|
322
|
-
for release in `/bin/ls $rvm_path | grep 'ruby-'` ; do
|
329
|
+
for release in `/bin/ls $rvm_path 2> /dev/null | grep 'ruby-'` ; do
|
323
330
|
for binary in irb gem rdoc ri erb ; do
|
324
331
|
if [ -x $rvm_path/$release/bin/$binary ] ; then
|
325
332
|
ln -fs $rvm_path/$release/bin/$binary $rvm_path/bin/$binary-${release#ruby-}
|
@@ -345,7 +352,7 @@ function __rvm_list {
|
|
345
352
|
else
|
346
353
|
current=`which ruby | xargs dirname | xargs dirname | xargs basename`
|
347
354
|
echo -e "\nruby:\n"
|
348
|
-
for version in `/bin/ls -l $rvm_path/ | awk '/ ruby-[1-2].*/ { print $NF }'` ; do
|
355
|
+
for version in `/bin/ls -l $rvm_path/ 2> /dev/null | awk '/ ruby-[1-2].*/ { print $NF }'` ; do
|
349
356
|
string=`$rvm_bin_path/$version -v`
|
350
357
|
if [ "$current" = "$version" ] ; then
|
351
358
|
echo -e "=> $version : $string"
|
@@ -357,7 +364,7 @@ function __rvm_list {
|
|
357
364
|
unset version
|
358
365
|
|
359
366
|
echo -e "\njruby:\n"
|
360
|
-
for version in `/bin/ls -l $rvm_path/ | awk '/jruby-.*/ { print $NF }'` ; do
|
367
|
+
for version in `/bin/ls -l $rvm_path/ 2> /dev/null | awk '/jruby-.*/ { print $NF }'` ; do
|
361
368
|
string=`$rvm_bin_path/$version -v`
|
362
369
|
if [ "$current" = "$version" ] ; then
|
363
370
|
echo -e "=> $version : $string"
|
@@ -369,7 +376,7 @@ function __rvm_list {
|
|
369
376
|
unset version
|
370
377
|
|
371
378
|
echo -e "\nree:\n"
|
372
|
-
for version in `/bin/ls $rvm_path/ | awk '/ruby-enterprise-.*/ { print $NF }'` ; do
|
379
|
+
for version in `/bin/ls $rvm_path/ 2> /dev/null | awk '/ruby-enterprise-.*/ { print $NF }'` ; do
|
373
380
|
string=`$rvm_bin_path/$version -v | tr "\n" ' ' `
|
374
381
|
if [ "$current" = "$version" ] ; then
|
375
382
|
echo -e "=> $version : $string"
|
@@ -394,10 +401,13 @@ function __rvm_list {
|
|
394
401
|
fi
|
395
402
|
|
396
403
|
echo -e "\nsystem:\n"
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
404
|
+
system_version=`bash -l -c 'rvm system ; ruby -v 2> /dev/null'`
|
405
|
+
if [ ! -z "$system_version" ] ; then
|
406
|
+
if [ "$selected" = "1" ] ; then
|
407
|
+
echo -e " $system_version\n"
|
408
|
+
else
|
409
|
+
echo -e "=> $system_version\n"
|
410
|
+
fi
|
401
411
|
fi
|
402
412
|
unset current version selected
|
403
413
|
fi
|
@@ -541,23 +551,23 @@ function __rvm_ruby_do {
|
|
541
551
|
else
|
542
552
|
__rvm_log "warn" "'$rvm_ruby_home/bin/$binary' either does not exist or is not executable? :("
|
543
553
|
fi
|
544
|
-
|
554
|
+
unset rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install rvm_ruby_rev rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_home rvm_ruby_binary rvm_ruby_package_name rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_selected
|
545
555
|
}
|
546
556
|
|
547
557
|
function __rvm_do {
|
558
|
+
# TODO: Extract the outer looping mechanism with rvm_install's
|
548
559
|
rubies=() ; successes=() ; errors=() ; statuses=()
|
549
560
|
# TODO: Extract the common functionality out of the if below
|
550
561
|
if [ ! -z "$rvm_ruby_version" ] ; then
|
551
562
|
for rvm_ruby_selector in `echo $rvm_ruby_version | tr ',' ' '` ; do
|
552
|
-
|
553
|
-
if [ ! -z "$(echo $temp | grep '[0-9]')" ] ; then
|
563
|
+
if [ ! -z "$(echo $rvm_ruby_selector | awk '/^[0-9]/')" ] ; then
|
554
564
|
rvm_ruby_interpreter="ruby"
|
555
565
|
rvm_ruby_version="$rvm_ruby_selector"
|
556
566
|
else
|
557
567
|
rvm_ruby_interpreter="$rvm_ruby_selector"
|
558
568
|
unset rvm_ruby_version
|
559
569
|
fi
|
560
|
-
unset
|
570
|
+
unset rvm_ruby_string
|
561
571
|
__rvm_ruby_do
|
562
572
|
done
|
563
573
|
else # all
|
@@ -569,7 +579,11 @@ function __rvm_do {
|
|
569
579
|
fi
|
570
580
|
done < <(/bin/ls $rvm_path/*/bin/ruby 2> /dev/null)
|
571
581
|
fi
|
582
|
+
__rvm_summary
|
583
|
+
return ${#errors[*]}
|
584
|
+
}
|
572
585
|
|
586
|
+
function __rvm_summary {
|
573
587
|
if [ ! -z "$rvm_summary_flag" ] ; then
|
574
588
|
export successes errors statuses
|
575
589
|
echo -e "\nSummary:"
|
@@ -581,43 +595,45 @@ function __rvm_do {
|
|
581
595
|
|
582
596
|
if [ ! -z "$rvm_yaml_flag" ] ; then
|
583
597
|
export successes errors statuses
|
584
|
-
|
585
|
-
echo -e " totals:"
|
586
|
-
echo -e " rubies: ${#rubies[*]}"
|
587
|
-
echo -e " successes: ${#successes[*]}"
|
588
|
-
echo -e " errors: ${#errors[*]}"
|
589
|
-
echo -e " successes:"
|
598
|
+
yaml="\nYAML:\n totals:\n rubies: ${#rubies[*]}\n successes: ${#successes[*]}\n errors: ${#errors[*]}\n successes:"
|
590
599
|
for var in ${successes[*]} ; do
|
591
|
-
|
600
|
+
yaml="$yaml\n - $var"
|
592
601
|
done
|
593
|
-
|
602
|
+
yaml="$yaml\n errors:"
|
594
603
|
for var in ${errors[*]} ; do
|
595
|
-
|
596
|
-
done
|
597
|
-
echo -e " rubies:"
|
598
|
-
for var in ${rubies[*]} ; do
|
599
|
-
echo -e " - $var"
|
600
|
-
done
|
601
|
-
echo -e " statuses:"
|
602
|
-
for var in ${statuses[*]} ; do
|
603
|
-
echo -e " - $var"
|
604
|
+
yaml="$yaml\n - $var"
|
604
605
|
done
|
606
|
+
yaml="$yaml\n rubies:"
|
607
|
+
total=${#rubies[*]}
|
608
|
+
if [ ! -z "$ZSH_VERSION" ] ; then array_start=1 ; else array_start=0 ; fi
|
609
|
+
for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do
|
610
|
+
echo "${rubies[$index]}: ${statuses[$index]}"
|
611
|
+
yaml="$yaml\n \"${rubies[$index]}\": ${statuses[$index]}"
|
612
|
+
done ; unset index array_start
|
613
|
+
echo -e "$yaml"
|
605
614
|
fi
|
606
615
|
|
607
616
|
if [ ! -z "$rvm_json_flag" ] ; then
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
"
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
617
|
+
#
|
618
|
+
# TODO: Merge statuses & rubies:
|
619
|
+
# rubies:
|
620
|
+
# "jruby...": 0
|
621
|
+
# "1.9.1...": 1
|
622
|
+
#
|
623
|
+
json="JSON:\n{"
|
624
|
+
json="$json\n \"totals\": { \"rubies\": ${#rubies[*]}, \"successes\": ${#successes[*]}, \"errors\": ${#errors[*]}},"
|
625
|
+
json="$json\n \"successful\": [ "$(echo ${successes[*]} | sed 's/ /", "/g')" ],"
|
626
|
+
json="$json\n \"errors\": [ "$(echo ${errors[*]} | sed 's/ /", "/g')" ],"
|
627
|
+
json="$json\n \"rubies\": {"
|
628
|
+
total=${#rubies[*]}
|
629
|
+
if [ ! -z "$ZSH_VERSION" ] ; then array_start=1 ; else array_start=0 ; fi
|
630
|
+
for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do
|
631
|
+
echo "${rubies[$index]}: ${statuses[$index]}"
|
632
|
+
json="$json\n {\"${rubies[$index]}\": ${statuses[$index]}}"
|
633
|
+
if (( $index + 1 < $total + $array_start )) ; then json="$json, " ; fi
|
634
|
+
done ; unset index array_start
|
635
|
+
json="$json\n }\n}"
|
636
|
+
echo -e "$json"
|
621
637
|
else
|
622
638
|
unset bin_line rvm_summary_flag
|
623
639
|
fi
|
@@ -674,34 +690,26 @@ function __rvm_ruby_string {
|
|
674
690
|
}
|
675
691
|
|
676
692
|
function __rvm_gemset_dump {
|
677
|
-
|
678
|
-
file_name="default"
|
679
|
-
else
|
680
|
-
file_name="$rvm_gem_set_name"
|
681
|
-
fi
|
693
|
+
file_name=${rvm_gem_set_name:-'default'}
|
682
694
|
|
683
695
|
echo "# $rvm_gem_set_name.gemset generated gem dump file. Note that any env variable settings will be missing. Append these after using a ';' field separator" > $rvm_gem_set_name.gemset
|
684
696
|
|
685
|
-
|
686
|
-
for gem in $gems ; do
|
697
|
+
for gem in `gem list | sed 's/[\(|\)]//g' | sed 's/, /,/g' | tr ' ' ';'` ; do
|
687
698
|
name=`echo $gem | awk -F';' '{print $1}'`
|
688
699
|
if [ -z "$rvm_latest_flag" ] ; then
|
689
700
|
versions=`echo $gem | awk -F';' '{print $2}' | sed 's/,/ /g'`
|
690
701
|
for version in $versions ; do
|
691
702
|
echo "$name -v$version" >> $file_name.gemset
|
692
|
-
done
|
693
|
-
unset version
|
703
|
+
done ; unset version versions
|
694
704
|
else
|
695
705
|
echo "$name" >> $file_name.gemset
|
696
|
-
fi
|
697
|
-
|
698
|
-
done
|
699
|
-
unset file_name gems versions
|
706
|
+
fi ; unset name
|
707
|
+
done ; unset file_name
|
700
708
|
}
|
701
709
|
|
702
710
|
function __rvm_gemset_load {
|
703
711
|
echo "Loading $rvm_load_file file..."
|
704
|
-
rvm_ruby_gem_list=`/bin/ls $rvm_gem_home/specifications/ | sed 's/\.gemspec$//' 2> /dev/null`
|
712
|
+
rvm_ruby_gem_list=`/bin/ls $rvm_gem_home/specifications/ 2> /dev/null | sed 's/\.gemspec$//' 2> /dev/null`
|
705
713
|
while read line
|
706
714
|
do # Keep this on 2nd line :( bash fail.
|
707
715
|
# TODO: Switch to a different field separator than ; to allow for evals
|
@@ -716,7 +724,8 @@ function __rvm_gemset_load {
|
|
716
724
|
else # version
|
717
725
|
gem_file_name="$gem_name-$gem_version.gem"
|
718
726
|
fi
|
719
|
-
|
727
|
+
|
728
|
+
cache_file=`/bin/ls -t $rvm_gem_path/*/*/cache/${gem_file_name}* 2> /dev/null | head -n1`
|
720
729
|
if [ -z "$cache_file" ] ; then
|
721
730
|
if [ -z "$gem_version" ] ; then
|
722
731
|
gem="$gem_name"
|
@@ -774,15 +783,21 @@ Config
|
|
774
783
|
touch $rvm_ruby_irbrc
|
775
784
|
echo -e "\n$rvm_irbrc_file" > $rvm_ruby_home/.irbrc
|
776
785
|
fi
|
777
|
-
|
778
786
|
}
|
779
787
|
|
788
|
+
function __rvm_pushpop {
|
789
|
+
if [ -z "$1" ] ; then
|
790
|
+
popd > /dev/null 2>&1
|
791
|
+
else
|
792
|
+
pushd $1 > /dev/null 2>&1
|
793
|
+
fi
|
794
|
+
}
|
780
795
|
|
781
796
|
#
|
782
797
|
# ruby supporting libraries:
|
783
798
|
#
|
784
799
|
function __rvm_readline_install {
|
785
|
-
|
800
|
+
__rvm_pushpop $rvm_path/src
|
786
801
|
package=readline
|
787
802
|
version=5.2
|
788
803
|
# TODO: Figure out how to list, grab and apply the patches
|
@@ -800,11 +815,11 @@ function __rvm_readline_install {
|
|
800
815
|
fi
|
801
816
|
__rvm_run "$package.make" make
|
802
817
|
__rvm_run "$package.make.install" make install
|
803
|
-
|
818
|
+
__rvm_pushpop
|
804
819
|
}
|
805
820
|
|
806
821
|
function __rvm_iconv_install {
|
807
|
-
|
822
|
+
__rvm_pushpop $rvm_path/src
|
808
823
|
package=libiconv
|
809
824
|
version=1.13.1
|
810
825
|
__rvm_fetch "http://ftp.gnu.org/pub/gnu/libiconv/$package-$version.tar.gz"
|
@@ -813,7 +828,5 @@ function __rvm_iconv_install {
|
|
813
828
|
__rvm_run "$package.configure" ./configure --prefix=$rvm_path/usr --disable-shared
|
814
829
|
__rvm_run "$package.make" make
|
815
830
|
__rvm_run "$package.make.install" make install
|
816
|
-
|
817
|
-
popd > /dev/null
|
831
|
+
__rvm_pushpop
|
818
832
|
}
|
819
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wayneeseguin-rvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.45
|
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-09-
|
12
|
+
date: 2009-09-20 00:00:00 -07:00
|
13
13
|
default_executable: rvm-install
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -30,6 +30,7 @@ files:
|
|
30
30
|
- lib/VERSION.yml
|
31
31
|
- lib/rvm.rb
|
32
32
|
- rvm.gemspec
|
33
|
+
- scripts/gemsync
|
33
34
|
- scripts/rvm
|
34
35
|
- scripts/rvm-aliases
|
35
36
|
- scripts/rvm-cli
|