rvm 0.0.61 → 0.0.62
Sign up to get free protection for your applications and to get access to all the features.
- data/install +20 -20
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +2 -2
- data/scripts/cli +55 -52
- data/scripts/completion +9 -9
- data/scripts/gems +57 -57
- data/scripts/install +20 -20
- data/scripts/ruby-installer +101 -97
- data/scripts/rvm +2 -2
- data/scripts/rvm-install +20 -20
- data/scripts/rvm-prompt +5 -2
- data/scripts/selector +59 -59
- data/scripts/update +20 -20
- data/scripts/utility +111 -119
- metadata +2 -2
data/scripts/utility
CHANGED
@@ -37,20 +37,20 @@ function __rvm_debug {
|
|
37
37
|
__rvm_log "debug" "\nPATH:\n$(echo $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}')"
|
38
38
|
|
39
39
|
for file_name in ~/.bash_profile ~/.bashrc ~/.zshrc ; do
|
40
|
-
if [ -s $file_name ] ; then
|
40
|
+
if [[ -s "$file_name" ]] ; then
|
41
41
|
__rvm_log "debug" "\n$file_name:\n$(grep 'rvm' $file_name)"
|
42
42
|
fi
|
43
43
|
done
|
44
44
|
|
45
45
|
for file_name in $rvm_path/default $rvm_path/system $rvm_path/config/db ~/.rvmrc ~/.gemrc; do
|
46
|
-
if [ -f $file_name
|
46
|
+
if [[ -f "$file_name" ]] && [[ -s "$file_name" ]] ; then
|
47
47
|
__rvm_log "debug" "$file_name (filtered):\n$(cat $file_name | awk '!/assword|_key/')\n"
|
48
48
|
fi
|
49
49
|
done
|
50
50
|
|
51
51
|
__rvm_log "debug" "gem sources:\n$(gem sources | awk '/gems/')"
|
52
52
|
|
53
|
-
if [ -f $rvm_path/bin/rvm ] ; then
|
53
|
+
if [[ -f "$rvm_path/bin/rvm" ]] ; then
|
54
54
|
__rvm_log "error" "rvm script in bin! \n$(ls -laht $rvm_path/bin/rvm)"
|
55
55
|
fi
|
56
56
|
}
|
@@ -58,7 +58,7 @@ function __rvm_debug {
|
|
58
58
|
# Logging functions based on level
|
59
59
|
# TODO: Allow specification of a base file name to output to.
|
60
60
|
function __rvm_log {
|
61
|
-
if [ ! -z "$2" ] ; then level=$1 ; shift ; else level="info" ; fi
|
61
|
+
if [[ ! -z "$2" ]] ; then level=$1 ; shift ; else level="info" ; fi
|
62
62
|
message=$1
|
63
63
|
case "$level" in
|
64
64
|
debug) shift ;
|
@@ -72,7 +72,7 @@ function __rvm_log {
|
|
72
72
|
esac
|
73
73
|
}
|
74
74
|
|
75
|
-
if [ ! -z "$ZSH_VERSION" ] ; then __shell_array_start=1 ; else __shell_array_start=0 ; fi
|
75
|
+
if [[ ! -z "$ZSH_VERSION" ]] ; then __shell_array_start=1 ; else __shell_array_start=0 ; fi
|
76
76
|
__rvm_push() {
|
77
77
|
array=$1 ; shift ; item=$2
|
78
78
|
# TODO: allow loop over more arguments.
|
@@ -98,16 +98,16 @@ function __rvm_run {
|
|
98
98
|
rvm_ruby_log_path="${rvm_ruby_log_path:-$rvm_path/log}"
|
99
99
|
mkdir -p $(dirname "$rvm_ruby_log_path/$log_file_name.log")
|
100
100
|
|
101
|
-
if [ ! -z "$message" ] ; then __rvm_log "info" "$message" ; fi
|
101
|
+
if [[ ! -z "$message" ]] ; then __rvm_log "info" "$message" ; fi
|
102
102
|
__rvm_log "debug" "Executing: $command"
|
103
103
|
touch "$rvm_ruby_log_path/$log_file_name.log" "$rvm_ruby_log_path/$log_file_name.error.log" # for zsh :(
|
104
104
|
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $command" | tee "$rvm_ruby_log_path/$log_file_name.log" > "$rvm_ruby_log_path/$log_file_name.error.log"
|
105
|
-
if [ -z "$rvm_niceness"
|
105
|
+
if [[ -z "$rvm_niceness" ]] || [[ "0" = "$rvm_niceness" ]] ; then
|
106
106
|
eval "$command" >> "$rvm_ruby_log_path/$log_file_name.log" 2>> "$rvm_ruby_log_path/$log_file_name.error.log"
|
107
107
|
else
|
108
108
|
eval "nice -n $rvm_niceness \$($command)" >> $rvm_ruby_log_path/$log_file_name.log 2>> $rvm_ruby_log_path/$log_file_name.error.log
|
109
109
|
fi
|
110
|
-
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
|
110
|
+
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
|
111
111
|
unset log_file command
|
112
112
|
}
|
113
113
|
|
@@ -122,13 +122,13 @@ function __rvm_unset_ruby_variables {
|
|
122
122
|
|
123
123
|
# TODO: root user loadng of /etc/rvmrc
|
124
124
|
function __rvm_load_rvmrc {
|
125
|
-
if [ -s ~/.rvmrc ] ; then source ~/.rvmrc ; fi
|
125
|
+
if [[ -s ~/.rvmrc ]] ; then source ~/.rvmrc ; fi
|
126
126
|
}
|
127
127
|
|
128
128
|
function __rvm_bin_scripts {
|
129
129
|
for rvm_ruby_binary in $(/bin/ls $rvm_path/*/bin/ruby 2> /dev/null) ; do
|
130
|
-
if [ -x $rvm_ruby_binary ] ; then
|
131
|
-
rvm_ruby_string=$(dirname $rvm_ruby_binary | xargs dirname | xargs basename)
|
130
|
+
if [[ -x "$rvm_ruby_binary" ]] ; then
|
131
|
+
rvm_ruby_string=$(dirname "$rvm_ruby_binary" | xargs dirname | xargs basename)
|
132
132
|
__rvm_select
|
133
133
|
__rvm_bin_script
|
134
134
|
fi
|
@@ -136,7 +136,7 @@ function __rvm_bin_scripts {
|
|
136
136
|
}
|
137
137
|
|
138
138
|
function __rvm_bin_script {
|
139
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
139
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
140
140
|
ruby_wrapper=$(cat <<RubyWrapper
|
141
141
|
#!/bin/bash
|
142
142
|
|
@@ -156,12 +156,13 @@ RubyWrapper
|
|
156
156
|
|
157
157
|
function __rvm_fetch {
|
158
158
|
__rvm_pushpop $rvm_archives_path
|
159
|
-
|
159
|
+
if [[ -z "$1" ]] ; then log "fail" "BUG: __rvm_fetch called without an argument :/" ; return 1 ; fi
|
160
|
+
archive=$(basename "$1") ; downlaod=1
|
160
161
|
__rvm_log "debug" "Fetching $archive"
|
161
162
|
# Check first if we have the correct archive
|
162
|
-
if [ -e "$archive" ] && [ -e "$archive.md5" ] ; then
|
163
|
+
if [[ -e "$archive" ]] && [[ -e "$archive.md5" ]] ; then
|
163
164
|
__rvm_log "debug" "Found archive and its md5, testing correctness"
|
164
|
-
if [ $(md5sum --status -c "$archive.md5") -gt 0 ] ; then
|
165
|
+
if [[ $(md5sum --status -c "$archive.md5") -gt 0 ]] ; then
|
165
166
|
__rvm_log "debug" "Archive is bad, downloading"
|
166
167
|
download=1
|
167
168
|
else
|
@@ -173,19 +174,18 @@ function __rvm_fetch {
|
|
173
174
|
__rvm_log "debug" "No archive or no MD5, downloading"
|
174
175
|
download=1
|
175
176
|
fi
|
176
|
-
|
177
|
-
if [ $download -gt 0 ] ; then
|
177
|
+
if [[ $download -gt 0 ]] ; then
|
178
178
|
eval $rvm_fetch "$1"
|
179
179
|
result=$?
|
180
|
-
if [ $result -gt 0 ] ; then
|
181
|
-
|
182
|
-
if [ $result -eq 78 ] ; then
|
180
|
+
if [[ $result -gt 0 ]] ; then
|
181
|
+
retry=0
|
182
|
+
if [[ $result -eq 78 ]] ; then
|
183
183
|
__rvm_log "error" "The requested url does not exist: '$1'"
|
184
|
-
elif [ $result -eq 18 ] ; then
|
184
|
+
elif [[ $result -eq 18 ]] ; then
|
185
185
|
__rvm_log "error" "Partial file. Only a part of the file was transferred. Removing partial and re-trying."
|
186
186
|
rm -f "$archive"
|
187
187
|
retry=1
|
188
|
-
elif [ $result -eq 33 ] ; then
|
188
|
+
elif [[ $result -eq 33 ]] ; then
|
189
189
|
__rvm_log "debug" "Server does not support 'range' command, removing '$archive'"
|
190
190
|
rm -f "$archive"
|
191
191
|
retry=1
|
@@ -193,10 +193,10 @@ function __rvm_fetch {
|
|
193
193
|
__rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log"
|
194
194
|
fi
|
195
195
|
|
196
|
-
if [ $retry -eq 1 ] ; then
|
196
|
+
if [[ $retry -eq 1 ]] ; then
|
197
197
|
eval $rvm_fetch "$1"
|
198
198
|
result=$?
|
199
|
-
if [ $result -gt 0 ] ; then
|
199
|
+
if [[ $result -gt 0 ]] ; then
|
200
200
|
__rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log"
|
201
201
|
fi
|
202
202
|
fi
|
@@ -211,10 +211,10 @@ function __rvm_fetch {
|
|
211
211
|
}
|
212
212
|
|
213
213
|
function __rvm_load_defaults {
|
214
|
-
if [ ! -s $rvm_path/system ] ; then
|
214
|
+
if [[ ! -s "$rvm_path/system" ]] ; then
|
215
215
|
for variable in RUBY_VERSION GEM_HOME GEM_PATH MY_RUBY_HOME ; do
|
216
216
|
eval value=\$${variable}
|
217
|
-
if [ -z "$value" ] ; then
|
217
|
+
if [[ -z "$value" ]] ; then
|
218
218
|
echo "unset ${variable}" >> $rvm_path/system
|
219
219
|
else
|
220
220
|
eval "export $variable"
|
@@ -225,21 +225,21 @@ function __rvm_load_defaults {
|
|
225
225
|
fi
|
226
226
|
|
227
227
|
rvm_system_ruby=$(__rvm_db "system_ruby")
|
228
|
-
if [ ! -z "$rvm_system_ruby" ] ; then
|
228
|
+
if [[ ! -z "$rvm_system_ruby" ]] ; then
|
229
229
|
rvm_system_ruby=$(which ruby)
|
230
|
-
if [ $? -ne 0 ] ; then
|
230
|
+
if [[ $? -ne 0 ]] ; then
|
231
231
|
__rvm_log "info" "System ruby not found, no db will be stored."
|
232
232
|
else
|
233
233
|
__rvm_db "system_ruby" "$rvm_system_ruby"
|
234
234
|
|
235
235
|
# Now store system system & user gem paths
|
236
236
|
rvm_system_user_gem_path=$(__rvm_db "system_user_gem_path")
|
237
|
-
if [ -z "$rvm_system_user_gem_path" ] ; then
|
237
|
+
if [[ -z "$rvm_system_user_gem_path" ]] ; then
|
238
238
|
rvm_system_user_gem_path=$( rvm system ; gem env gemdir user; )
|
239
239
|
__rvm_db "system_user_gem_path" "$rvm_system_user_gem_path"
|
240
240
|
fi
|
241
241
|
rvm_system_gem_path=$(__rvm_db "system_gem_path")
|
242
|
-
if [ -z "$rvm_system_gem_path" ] ; then
|
242
|
+
if [[ -z "$rvm_system_gem_path" ]] ; then
|
243
243
|
rvm_system_gem_path=$( rvm system ; gem env gemdir; )
|
244
244
|
__rvm_db "system_gem_path" "$rvm_system_gem_path"
|
245
245
|
fi
|
@@ -254,7 +254,7 @@ function __rvm_reset {
|
|
254
254
|
for variable in RUBY_VERSION GEM_HOME MY_RUBY_HOME ; do unset $variable ; done
|
255
255
|
|
256
256
|
for file in system default ; do
|
257
|
-
if [ -f $rvm_path/$file ] ; then rm -f $rvm_path/$file ; fi
|
257
|
+
if [[ -f "$rvm_path/$file" ]] ; then rm -f $rvm_path/$file ; fi
|
258
258
|
done
|
259
259
|
rvm_ruby_interpreter="system"
|
260
260
|
__rvm_select
|
@@ -270,11 +270,11 @@ function __rvm_implode {
|
|
270
270
|
while : ; do
|
271
271
|
__rvm_log "warn" "Are you SURE you wish for rvm to implode? This will remove $rvm_path ? (type 'yes' or 'no')"
|
272
272
|
read response
|
273
|
-
if [ "yes" = "$response" ] ; then
|
274
|
-
if [ "/" = "$rvm_path" ] ; then
|
273
|
+
if [[ "yes" = "$response" ]] ; then
|
274
|
+
if [[ "/" = "$rvm_path" ]] ; then
|
275
275
|
__rvm_log "error" "remove '/' ?!... NO!"
|
276
276
|
else
|
277
|
-
if [ -d $rvm_path ] ; then
|
277
|
+
if [[ -d "$rvm_path" ]] ; then
|
278
278
|
__rvm_log "info" "Hai! Removing $rvm_path"
|
279
279
|
rm -rf $rvm_path/
|
280
280
|
__rvm_log "info" "$rvm_path has been removed."
|
@@ -283,7 +283,7 @@ function __rvm_implode {
|
|
283
283
|
fi
|
284
284
|
fi
|
285
285
|
break
|
286
|
-
elif [ "no" = "$response" ] ; then
|
286
|
+
elif [[ "no" = "$response" ]] ; then
|
287
287
|
__rvm_log "info" "Cancelling implosion, no harm done :)"
|
288
288
|
break
|
289
289
|
fi
|
@@ -291,14 +291,14 @@ function __rvm_implode {
|
|
291
291
|
}
|
292
292
|
|
293
293
|
function __rvm_gemdir {
|
294
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
294
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
295
295
|
mkdir -p $rvm_ruby_gem_home
|
296
296
|
echo $rvm_ruby_gem_home
|
297
297
|
}
|
298
298
|
|
299
299
|
function __rvm_source_dir {
|
300
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
301
|
-
if [ -z "$rvm_ruby_src_path" ] ; then
|
300
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
301
|
+
if [[ -z "$rvm_ruby_src_path" ]] ; then
|
302
302
|
__rvm_log "fail" "No source directory exists for the default implementation."
|
303
303
|
else
|
304
304
|
echo "$rvm_ruby_src_path"
|
@@ -308,14 +308,14 @@ function __rvm_source_dir {
|
|
308
308
|
# clones from source implementation/version to default
|
309
309
|
# TODO: Merge this into 'rvm sync'
|
310
310
|
function __rvm_gemdup {
|
311
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
311
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
312
312
|
__rvm_log "debug" "$rvm_ruby_interpreter"
|
313
|
-
if [ "default" = "$rvm_ruby_interpreter" ] ; then
|
313
|
+
if [[ "default" = "$rvm_ruby_interpreter" ]] ; then
|
314
314
|
# TODO: ~/.rvm/default first, then system user
|
315
315
|
rvm_source_gem_path="$rvm_system_user_gem_path"
|
316
|
-
elif [ "user" = "$rvm_ruby_interpreter" ] ; then
|
316
|
+
elif [[ "user" = "$rvm_ruby_interpreter" ]] ; then
|
317
317
|
rvm_source_gem_path="$rvm_system_user_gem_path"
|
318
|
-
elif [ "system" = "$rvm_ruby_interpreter" ] ; then
|
318
|
+
elif [[ "system" = "$rvm_ruby_interpreter" ]] ; then
|
319
319
|
rvm_source_gem_path="$rvm_system_gem_path"
|
320
320
|
else
|
321
321
|
# TODO: use selector for this?
|
@@ -325,11 +325,11 @@ function __rvm_gemdup {
|
|
325
325
|
}
|
326
326
|
|
327
327
|
function __rvm_gem_sync {
|
328
|
-
if [ ! -z "$rvm_source_gem_path" ] ; then
|
328
|
+
if [[ ! -z "$rvm_source_gem_path" ]] ; then
|
329
329
|
for rvm_gem_name_version in $rvm_source_gem_path/gems/* ; do
|
330
330
|
rvm_gem_name="${rvm_gem_name_version%-*}"
|
331
331
|
rvm_gem_version="${rvm_gem_name_version##*-}"
|
332
|
-
if [ -d $GEM_HOME/gems/$rvm_gem_name_version ] ; then
|
332
|
+
if [[ -d $GEM_HOME/gems/$rvm_gem_name_version ]] ; then
|
333
333
|
echo "$rvm_gem_name_version already installed."
|
334
334
|
else
|
335
335
|
__rvm_gi "$rvm_source_gem_path/cache/$rvm_gem_name-$rvm_gem_version.gem"
|
@@ -347,20 +347,20 @@ function __rvm_db {
|
|
347
347
|
touch $rvm_hash_file
|
348
348
|
key="$1" ; shift
|
349
349
|
|
350
|
-
if [ -z "$key" ] ; then
|
350
|
+
if [[ -z "$key" ]] ; then
|
351
351
|
__rvm_log "fail" "__rvm_db must be called with at least one argument: __rvm_db key [value]"
|
352
352
|
else
|
353
353
|
value="$*"
|
354
|
-
if [ "unset" = "$value"
|
355
|
-
sed -i.tmp "s#^$key
|
354
|
+
if [[ "unset" = "$value" ]] || [[ "delete" = "$value" ]] ; then
|
355
|
+
sed -i.tmp "s#^$key=.*\$##" $rvm_hash_file
|
356
356
|
else
|
357
|
-
if [ -z "$value" ] ; then # get
|
358
|
-
|
357
|
+
if [[ -z "$value" ]] ; then # get
|
358
|
+
awk -F= '/^'"$key"'=/{print $2}' $rvm_hash_file
|
359
359
|
else # set
|
360
|
-
if [ -z "$(
|
360
|
+
if [[ -z "$(awk -F= "/^'"$key"'=/{print $2}" $rvm_hash_file)" ]] ; then # append
|
361
361
|
echo "$key=$value" >> $rvm_hash_file
|
362
362
|
else # overwrite
|
363
|
-
sed -i.tmp "s#^$key
|
363
|
+
sed -i.tmp "s#^$key=.*\$#$key=$value#" $rvm_hash_file
|
364
364
|
fi
|
365
365
|
fi
|
366
366
|
fi
|
@@ -368,13 +368,13 @@ function __rvm_db {
|
|
368
368
|
}
|
369
369
|
|
370
370
|
function __rvm_list {
|
371
|
-
if [ "$rvm_all_flag" ] ; then
|
371
|
+
if [[ ! -z "$rvm_all_flag" ]] ; then
|
372
372
|
svn list http://svn.ruby-lang.org/repos/ruby/tags/ | grep 'v1_[8|9]' | sed 's#^v1_##' | sed 's#/$##' | awk -F'_' '{print "1."$1"."$2 " -l "$3}' | sed 's#p$##'
|
373
373
|
echo -e "jruby 1.2.0\njruby 1.3.0\njruby (1.3.1, the default)\njruby 1.4.1\njruby --head"
|
374
374
|
echo -e "rbx head (rubinius head, the default)\nrbx head --jit"
|
375
375
|
echo -e "ree 1.8.6 --head\nree (1.8.7, the default)"
|
376
376
|
else
|
377
|
-
current_ruby
|
377
|
+
current_ruby="$(which ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null)"
|
378
378
|
echo -e "\nruby:\n"
|
379
379
|
for version in $(/bin/ls -l $rvm_path/ 2> /dev/null | awk '/ ruby-[1-2].*/ { print $NF }') ; do
|
380
380
|
string=$($rvm_path/$version/bin/ruby -v)
|
@@ -408,9 +408,9 @@ function __rvm_list {
|
|
408
408
|
fi
|
409
409
|
done ; unset version
|
410
410
|
|
411
|
-
if [ -f $rvm_path/default
|
411
|
+
if [[ -f "$rvm_path/default" ]] && [[ -s $rvm_path/default ]] ; then
|
412
412
|
version=$(grep '^MY_RUBY_HOME' ~/.rvm/default | awk -F"'" '{print $2}' | xargs basename)
|
413
|
-
if [ ! -z "$version" ] ; then
|
413
|
+
if [[ ! -z "$version" ]] ; then
|
414
414
|
echo -e "\ndefault:\n"
|
415
415
|
string=$($rvm_path/$version/bin/ruby -v)
|
416
416
|
if [[ "$version" = "$current_ruby" ]] ; then
|
@@ -424,7 +424,7 @@ function __rvm_list {
|
|
424
424
|
|
425
425
|
echo -e "\nsystem:\n"
|
426
426
|
system_version=$(rvm system ; ruby -v 2> /dev/null)
|
427
|
-
if [ ! -z "$system_version" ] ; then
|
427
|
+
if [[ ! -z "$system_version" ]] ; then
|
428
428
|
if [[ "$($(which ruby) -v)" = "$system_version" ]] ; then
|
429
429
|
echo -e "=> $system_version\n"
|
430
430
|
else
|
@@ -436,20 +436,20 @@ function __rvm_list {
|
|
436
436
|
|
437
437
|
function __rvm_initialize {
|
438
438
|
rvm_fetch=$(which curl)
|
439
|
-
if [ $? -ne 0 ] ; then
|
439
|
+
if [[ $? -ne 0 ]] ; then
|
440
440
|
__rvm_log "fail" "rvm requires curl, which does not seem to exist in your path :("
|
441
441
|
else
|
442
442
|
rvm_fetch="$rvm_fetch -O -L --create-dirs -C - " # -s for silent
|
443
443
|
fi
|
444
444
|
|
445
445
|
# TODO: Sanitize user input, ensure that there is a / a the end...
|
446
|
-
if [ "root" = "$(whoami)" ] ; then
|
446
|
+
if [[ "root" = "$(whoami)" ]] ; then
|
447
447
|
__rvm_log "fail" "root user support is not yet implemented."
|
448
448
|
rvm_prefix_path="${rvm_prefix_path:-/usr/local/}"
|
449
449
|
else
|
450
450
|
rvm_prefix_path="${rvm_prefix_path:-"$HOME/."}"
|
451
451
|
fi
|
452
|
-
if [ "${rvm_prefix_path#${rvm_prefix_path%?}}" = '.'
|
452
|
+
if [[ "${rvm_prefix_path#${rvm_prefix_path%?}}" = '.' ]] || [[ "${rvm_prefix_path#${rvm_prefix_path%?}}" = '/' ]] ; then
|
453
453
|
rvm_path="${rvm_prefix_path}rvm"
|
454
454
|
else
|
455
455
|
rvm_path="${rvm_prefix_path}/rvm"
|
@@ -471,7 +471,7 @@ function __rvm_initialize {
|
|
471
471
|
|
472
472
|
__rvm_clean_path
|
473
473
|
rvm_result=$(echo $PATH | grep 'rvm\/bin:')
|
474
|
-
if [ -z $rvm_result ] ; then
|
474
|
+
if [[ -z "$rvm_result" ]] ; then
|
475
475
|
PATH=$rvm_bin_path:$PATH ; export PATH
|
476
476
|
fi
|
477
477
|
|
@@ -479,21 +479,20 @@ function __rvm_initialize {
|
|
479
479
|
}
|
480
480
|
|
481
481
|
function __rvm_update {
|
482
|
-
if [ "head" = "$rvm_ruby_revision"
|
482
|
+
if [[ "head" = "$rvm_ruby_revision" ]] || [[ ! -z "$rvm_self_flag" ]] || [[ "update" = "$rvm_action" ]] || [[ ! -z "$rvm_update_flag" ]] ; then
|
483
483
|
__rvm_version
|
484
484
|
__rvm_update_rvm
|
485
485
|
__rvm_version
|
486
486
|
fi
|
487
487
|
__rvm_reload
|
488
|
-
|
489
|
-
if [ "$
|
490
|
-
if [ "$rvm_rubygems_flag" ] ; then __rvm_rubygems_setup ; fi
|
488
|
+
if [[ ! -z "$rvm_bin_flag" ]] ; then __rvm_bin_scripts ; fi
|
489
|
+
if [[ ! -z "$rvm_rubygems_flag" ]] ; then __rvm_rubygems_setup ; fi
|
491
490
|
}
|
492
491
|
|
493
492
|
function __rvm_update_rvm {
|
494
493
|
mkdir -p $rvm_src_path
|
495
|
-
if [ "head" = "$rvm_ruby_revision" ] ; then
|
496
|
-
if [ -d $rvm_src_path/rvm/.git ] ; then
|
494
|
+
if [[ "head" = "$rvm_ruby_revision" ]] ; then
|
495
|
+
if [[ -d "$rvm_src_path/rvm/.git" ]] ; then
|
497
496
|
cd $rvm_src_path/rvm/ && git pull origin master && ./scripts/install
|
498
497
|
else
|
499
498
|
cd $rvm_src_path && git clone git://github.com/wayneeseguin/rvm.git && cd rvm/ && ./install
|
@@ -505,27 +504,25 @@ function __rvm_update_rvm {
|
|
505
504
|
fi
|
506
505
|
}
|
507
506
|
|
508
|
-
|
507
|
+
__rvm_reboot() {
|
509
508
|
__rvm_log "warn" "Do you wish to reset rvm? ('yes', or 'no')"
|
510
509
|
read response
|
511
|
-
if [ "yes" = "$response" ] ; then
|
510
|
+
if [[ "yes" = "$response" ]] ; then
|
512
511
|
cd
|
513
512
|
__rvm_reset
|
514
513
|
mv ~/.rvm/archives ~/.archives
|
515
|
-
if [ "/" = "$rvm_path" ] ; then
|
514
|
+
if [[ "/" = "$rvm_path" ]] ; then
|
516
515
|
__rvm_log "error" "remove '/' ?!... NO!"
|
517
516
|
else
|
518
|
-
if [ -d $rvm_path ] ; then
|
519
|
-
rm -rf $rvm_path/
|
520
|
-
fi
|
517
|
+
if [[ -d "$rvm_path" ]] ; then rm -rf "$rvm_path/" ; fi
|
521
518
|
fi
|
522
519
|
gem install rvm --no-rdoc --no-ri -q
|
523
520
|
which rvm-install 2> /dev/null
|
524
|
-
if [ $? -gt 0 ] ; then
|
525
|
-
if [ -
|
521
|
+
if [[ $? -gt 0 ]] ; then
|
522
|
+
if [[ -x "~/.gem/ruby/1.8/bin/rvm-install" ]] ; then
|
526
523
|
~/.gem/ruby/1.8/bin/rvm-install
|
527
524
|
else
|
528
|
-
__rvm_log "error" "Could not find rvm-install in your path :("
|
525
|
+
__rvm_log "error" "Could not find an executable rvm-install in your path :("
|
529
526
|
fi
|
530
527
|
else
|
531
528
|
rvm-install
|
@@ -536,20 +533,16 @@ function __rvm_reboot {
|
|
536
533
|
fi ; unset response
|
537
534
|
}
|
538
535
|
|
539
|
-
__rvm_reload() {
|
540
|
-
source $rvm_path/scripts/rvm
|
541
|
-
}
|
542
|
-
|
543
536
|
__rvm_ruby_do() {
|
544
537
|
__rvm_select
|
545
538
|
__rvm_use
|
546
539
|
binary="$(echo $rvm_action | sed 's#do$##')"
|
547
|
-
if [ -x $rvm_ruby_home/bin/$binary ] ; then
|
540
|
+
if [[ -x "$rvm_ruby_home/bin/$binary" ]] ; then
|
548
541
|
load_path="$rvm_ruby_home/bin:$rvm_ruby_load_path"
|
549
|
-
if [ "ruby" = "$binary" ] ; then
|
550
|
-
if [ -z "$(echo $rvm_ruby_args | awk '/\.rb$/')" ] ; then
|
542
|
+
if [[ "ruby" = "$binary" ]] ; then
|
543
|
+
if [[ -z "$(echo $rvm_ruby_args | awk '/\.rb$/')" ]] ; then
|
551
544
|
#if [[ $rvm_ruby_args =~ '\.rb$' ]] ; then
|
552
|
-
if [ -z "$prefix" ] ; then prefix="-S" ; fi
|
545
|
+
if [[ -z "$prefix" ]] ; then prefix="-S" ; fi
|
553
546
|
if [[ ! -z "$rvm_ruby_args" ]] && [[ ! "$rvm_ruby_args" =~ "$prefix" ]] ; then
|
554
547
|
rvm_ruby_args="$prefix $rvm_ruby_args"
|
555
548
|
fi
|
@@ -559,7 +552,7 @@ __rvm_ruby_do() {
|
|
559
552
|
rvm_command="$rvm_ruby_home/bin/$binary $rvm_ruby_args"
|
560
553
|
fi
|
561
554
|
|
562
|
-
if [ ! -z "$rvm_json_flag"
|
555
|
+
if [[ ! -z "$rvm_json_flag" ]] || [[ ! -z "$rvm_yaml_flag" ]] || [[ ! -z "$rvm_summary_flag" ]] ; then
|
563
556
|
mkdir -p ./log/$rvm_ruby_string/
|
564
557
|
touch ./log/$rvm_ruby_string/$rvm_action.log ./log/$rvm_ruby_string/$rvm_action.error.log
|
565
558
|
eval "$rvm_command" >> ./log/$rvm_ruby_string/$rvm_action.log 2>> ./log/$rvm_ruby_string/$rvm_action.error.log
|
@@ -568,7 +561,7 @@ __rvm_ruby_do() {
|
|
568
561
|
eval "$rvm_command"
|
569
562
|
fi
|
570
563
|
result=$?
|
571
|
-
if [ $result -eq 0 ]; then
|
564
|
+
if [[ $result -eq 0 ]]; then
|
572
565
|
eval "successes=(${successes[*]} $rvm_ruby_string)"
|
573
566
|
else
|
574
567
|
eval "errors=(${errors[*]} $rvm_ruby_string)"
|
@@ -581,34 +574,34 @@ __rvm_ruby_do() {
|
|
581
574
|
__rvm_unset_ruby_variables
|
582
575
|
}
|
583
576
|
|
584
|
-
|
577
|
+
__rvm_do() {
|
585
578
|
__rvm_state
|
586
579
|
|
587
580
|
rubies=() ; successes=() ; errors=() ; statuses=()
|
588
581
|
# TODO: Extract the common functionality out of the if below
|
589
|
-
if [ ! -z "$rvm_ruby_string" ] ; then
|
582
|
+
if [[ ! -z "$rvm_ruby_string" ]] ; then
|
590
583
|
unset rvm_ruby_interpreter rvm_ruby_version
|
591
584
|
__rvm_ruby_do
|
592
|
-
elif [ ! -z "$rvm_ruby_version" ] ;then
|
585
|
+
elif [[ ! -z "$rvm_ruby_version" ]] ;then
|
593
586
|
for rvm_ruby_string in $(echo $rvm_ruby_version | tr ',' ' ') ; do
|
594
587
|
__rvm_ruby_do
|
595
588
|
done
|
596
|
-
elif [ ! -z "$rvm_ruby_interpreter" ] ; then
|
589
|
+
elif [[ ! -z "$rvm_ruby_interpreter" ]] ; then
|
597
590
|
unset rvm_ruby_string rvm_ruby_version
|
598
591
|
__rvm_ruby_do
|
599
592
|
else # all
|
600
593
|
while read bin_line
|
601
594
|
do # Keep this on second line damnit!
|
602
|
-
if [ -x $bin_line ] ; then
|
595
|
+
if [[ -x "$bin_line" ]] ; then
|
603
596
|
rvm_ruby_string="$(dirname $bin_line | xargs dirname | xargs basename)"
|
604
597
|
__rvm_ruby_do
|
605
598
|
fi
|
606
599
|
done < <(/bin/ls $rvm_path/*/bin/ruby 2> /dev/null)
|
607
600
|
fi
|
608
601
|
|
609
|
-
if [ ! -z "$rvm_summary_flag" ] ; then __rvm_summary ; fi
|
610
|
-
if [ ! -z "$rvm_yaml_flag" ] ; then __rvm_yaml ; fi
|
611
|
-
if [ ! -z "$rvm_json_flag" ] ; then __rvm_json ; fi
|
602
|
+
if [[ ! -z "$rvm_summary_flag" ]] ; then __rvm_summary ; fi
|
603
|
+
if [[ ! -z "$rvm_yaml_flag" ]] ; then __rvm_yaml ; fi
|
604
|
+
if [[ ! -z "$rvm_json_flag" ]] ; then __rvm_json ; fi
|
612
605
|
|
613
606
|
__rvm_state
|
614
607
|
|
@@ -618,14 +611,14 @@ function __rvm_do {
|
|
618
611
|
function __rvm_summary {
|
619
612
|
export successes errors statuses
|
620
613
|
summary="\nSummary:\n\n"
|
621
|
-
if [ ${#successes[*]} -gt 0 ] ; then
|
614
|
+
if [[ ${#successes[*]} -gt 0 ]] ; then
|
622
615
|
summary="$summary \033[0;32m${#successes[*]} successful: $(echo "${successes[*]}" | sed 's# #, #g')\033[0m\n"
|
623
616
|
fi
|
624
|
-
if [ ${#errors[*]} -gt 0 ] ; then
|
617
|
+
if [[ ${#errors[*]} -gt 0 ]] ; then
|
625
618
|
summary="$summary \033[0;31m${#errors[*]} errors: $(echo "${errors[*]}" | sed 's# #, #g')\033[0m\n"
|
626
619
|
fi
|
627
620
|
total=${#rubies[*]}
|
628
|
-
if [ ! -z "$ZSH_VERSION" ] ; then array_start=1 ; else array_start=0 ; fi
|
621
|
+
if [[ ! -z "$ZSH_VERSION" ]] ; then array_start=1 ; else array_start=0 ; fi
|
629
622
|
echo -e "$summary" | tee -a log/summary.log
|
630
623
|
return ${#errors[*]}
|
631
624
|
}
|
@@ -638,7 +631,7 @@ function __rvm_yaml {
|
|
638
631
|
for var in ${errors[*]} ; do yaml="$yaml\n - $var" ; done
|
639
632
|
yaml="$yaml\nrubies:"
|
640
633
|
total=${#rubies[*]}
|
641
|
-
if [ ! -z "$ZSH_VERSION" ] ; then array_start=1 ; else array_start=0 ; fi
|
634
|
+
if [[ ! -z "$ZSH_VERSION" ]] ; then array_start=1 ; else array_start=0 ; fi
|
642
635
|
for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do
|
643
636
|
__rvm_log "debug" "${rubies[$index]}: ${statuses[$index]}"
|
644
637
|
yaml="$yaml\n \"${rubies[$index]}\": ${statuses[$index]}"
|
@@ -657,7 +650,7 @@ function __rvm_json {
|
|
657
650
|
json="$json\n \"rubies\": {"
|
658
651
|
|
659
652
|
total=${#rubies[*]}
|
660
|
-
if [ ! -z "$ZSH_VERSION" ] ; then array_start=1 ; else array_start=0 ; fi
|
653
|
+
if [[ ! -z "$ZSH_VERSION" ]] ; then array_start=1 ; else array_start=0 ; fi
|
661
654
|
for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do
|
662
655
|
__rvm_log "debug" "${rubies[$index]}: ${statuses[$index]}"
|
663
656
|
json="$json\n {\"${rubies[$index]}\": ${statuses[$index]}}"
|
@@ -679,12 +672,12 @@ function __rvm_benchmark {
|
|
679
672
|
echo -e "\n end \nend\n" >> "$rvm_temp_path/$$.rb"
|
680
673
|
rvm_ruby_args="$rvm_temp_path/$$.rb"
|
681
674
|
rvm_action="ruby"
|
682
|
-
if [ ! -z "$rvm_debug_flag" ] ; then echo -e "$rvm_temp_path/$$.rb:\n$(cat $rvm_temp_path/$$.rb)" ; fi
|
675
|
+
if [[ ! -z "$rvm_debug_flag" ]] ; then echo -e "$rvm_temp_path/$$.rb:\n$(cat $rvm_temp_path/$$.rb)" ; fi
|
683
676
|
__rvm_do
|
684
677
|
}
|
685
678
|
|
686
679
|
function __rvm_irbrc {
|
687
|
-
if [ -d $rvm_ruby_home
|
680
|
+
if [[ -d "$rvm_ruby_home" ]] && [[ ! -s "$rvm_ruby_irbrc" ]] ; then
|
688
681
|
rvm_ruby_irbrc_file=$(cat <<-Config
|
689
682
|
|
690
683
|
require "irb/completion" rescue nil
|
@@ -712,7 +705,7 @@ Config
|
|
712
705
|
}
|
713
706
|
|
714
707
|
function __rvm_pushpop {
|
715
|
-
if [ -z "$1" ] ; then
|
708
|
+
if [[ -z "$1" ]] ; then
|
716
709
|
popd > /dev/null 2>&1
|
717
710
|
else
|
718
711
|
pushd "$1" > /dev/null 2>&1
|
@@ -720,8 +713,8 @@ function __rvm_pushpop {
|
|
720
713
|
}
|
721
714
|
|
722
715
|
function __rvm_state {
|
723
|
-
if [ -z "$rvm_state" ] ; then
|
724
|
-
if [ -z "$(which ruby | awk /$(basename $rvm_path)/)" ] ; then
|
716
|
+
if [[ -z "$rvm_state" ]] ; then
|
717
|
+
if [[ -z "$(which ruby | awk /$(basename $rvm_path)/)" ]] ; then
|
725
718
|
rvm_state=system
|
726
719
|
else
|
727
720
|
rvm_state="$(dirname $(which ruby) | xargs dirname | xargs basename)"
|
@@ -738,12 +731,12 @@ function __rvm_inspect {
|
|
738
731
|
for binary in $rvm_ruby_args ; do
|
739
732
|
actual_file=$(which $binary)
|
740
733
|
__rvm_log "info" "$actual_file:"
|
741
|
-
if [ ! -z "$rvm_shebang_flag" ] ; then cat $actual_file | head -n 1 ; fi
|
742
|
-
if [ ! -z "$rvm_env_flag" ] ; then cat $actual_file | awk '/ENV/' ; fi
|
743
|
-
if [ ! -z "$rvm_path_flag" ] ; then cat $actual_file | awk '/PATH/' ; fi
|
744
|
-
if [ ! -z "$rvm_head_flag" ] ; then cat $actual_file | head -n 5 ; fi
|
745
|
-
if [ ! -z "$rvm_tail_flag" ] ; then cat $actual_file | tail -n 5 ; fi
|
746
|
-
if [ ! -z "$rvm_all_flag" ] ; then cat $actual_file ; fi
|
734
|
+
if [[ ! -z "$rvm_shebang_flag" ]] ; then cat $actual_file | head -n 1 ; fi
|
735
|
+
if [[ ! -z "$rvm_env_flag" ]] ; then cat $actual_file | awk '/ENV/' ; fi
|
736
|
+
if [[ ! -z "$rvm_path_flag" ]] ; then cat $actual_file | awk '/PATH/' ; fi
|
737
|
+
if [[ ! -z "$rvm_head_flag" ]] ; then cat $actual_file | head -n 5 ; fi
|
738
|
+
if [[ ! -z "$rvm_tail_flag" ]] ; then cat $actual_file | tail -n 5 ; fi
|
739
|
+
if [[ ! -z "$rvm_all_flag" ]] ; then cat $actual_file ; fi
|
747
740
|
done
|
748
741
|
}
|
749
742
|
|
@@ -759,7 +752,7 @@ function __rvm_readline_install {
|
|
759
752
|
__rvm_fetch "ftp://ftp.gnu.org/gnu/readline/$package-$version.$archive_format"
|
760
753
|
__rvm_run "$package/extract" "tar zxf $rvm_archives_path/$package-$version.$archive_format -C $rvm_src_path" "Extracting $package-$version.$archive_format"
|
761
754
|
cd "$rvm_src_path/$package-$version"
|
762
|
-
if [ "Darwin" = "$(uname)" ] ; then
|
755
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
763
756
|
#sdk=$(ls -t /Developer/SDKs/ | head -n 1)
|
764
757
|
#CFLAGS="-isysroot /Developer/SDKs/$sdk -arch i386 -arch x86_64"
|
765
758
|
#LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/$sdk -arch i386 -arch x86_64"
|
@@ -830,15 +823,14 @@ function __rvm_ncurses_install {
|
|
830
823
|
}
|
831
824
|
|
832
825
|
__rvm_make_flags() {
|
833
|
-
PATH
|
834
|
-
if [ "Darwin" = "$(uname)" ] ; then
|
826
|
+
PATH=${rvm_path}/usr/bin:$PATH ; export PATH
|
827
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
835
828
|
sdk="$(/bin/ls -t /Developer/SDKs/ | head -n 1)"
|
836
|
-
if [ "Darwin" = "$(uname)" ] ; then
|
837
|
-
|
838
|
-
|
829
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
830
|
+
rvm_archflags="-arch $(uname -m)"
|
831
|
+
if [[ "-arch x86_64" = "$rvm_archflags" ]] ; then
|
839
832
|
openssl_os="os/compiler darwin64-x86_64-cc"
|
840
833
|
else
|
841
|
-
rvm_archflags="-arch i386"
|
842
834
|
openssl_os="os/compiler darwin-i386-cc"
|
843
835
|
fi
|
844
836
|
fi
|
@@ -849,9 +841,9 @@ __rvm_make_flags() {
|
|
849
841
|
}
|
850
842
|
|
851
843
|
__rvm_monitor() {
|
852
|
-
if [ -d test/ ] ; then
|
844
|
+
if [[ -d "test/" ]] ; then
|
853
845
|
:
|
854
|
-
elif [ -d spec/ ] ; then
|
846
|
+
elif [[ -d "spec/" ]] ; then
|
855
847
|
:
|
856
848
|
fi
|
857
849
|
}
|
@@ -860,7 +852,7 @@ __rvm_monitor() {
|
|
860
852
|
# Actual Utility functions.
|
861
853
|
#
|
862
854
|
timestamp() {
|
863
|
-
if [ "Darwin" = "$(uname)" ] ; then
|
855
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
864
856
|
echo $(stat -c "%Y" $1)
|
865
857
|
else
|
866
858
|
echo $(stat -f "%m" $1)
|