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/completion
CHANGED
@@ -6,8 +6,8 @@ _rvm ()
|
|
6
6
|
{
|
7
7
|
local i c=1 command __git_dir
|
8
8
|
|
9
|
-
while [ $c -lt $COMP_CWORD ]; do
|
10
|
-
i="${COMP_WORDS[c]}"
|
9
|
+
while [[ $c -lt $COMP_CWORD ]]; do
|
10
|
+
i="${COMP_WORDS[[c]]}"
|
11
11
|
case "$i" in
|
12
12
|
--git-dir=*) __git_dir="${i#--git-dir=}" ;;
|
13
13
|
--bare) __git_dir="." ;;
|
@@ -18,8 +18,8 @@ _rvm ()
|
|
18
18
|
c=$((++c))
|
19
19
|
done
|
20
20
|
|
21
|
-
if [ -z "$command" ]; then
|
22
|
-
case "${COMP_WORDS[COMP_CWORD]}" in
|
21
|
+
if [[ -z "$command" ]]; then
|
22
|
+
case "${COMP_WORDS[[COMP_CWORD]]}" in
|
23
23
|
--*) __gitcomp "
|
24
24
|
--paginate
|
25
25
|
--no-pager
|
@@ -38,7 +38,7 @@ _rvm ()
|
|
38
38
|
fi
|
39
39
|
|
40
40
|
local expansion=$(__git_aliased_command "$command")
|
41
|
-
[ "$expansion" ] && command="$expansion"
|
41
|
+
[[ "$expansion" ]] && command="$expansion"
|
42
42
|
|
43
43
|
case "$command" in
|
44
44
|
install|uninstall|path|info|setup|version|srcdir|list|reset|debug|reload|usage|help|implode|update|readline|iconv|benchmark|bench|use|gemsync)
|
@@ -110,8 +110,8 @@ _rvm ()
|
|
110
110
|
# generates completion reply with compgen
|
111
111
|
function __rvm_completion_reply
|
112
112
|
{
|
113
|
-
local cur="${COMP_WORDS[COMP_CWORD]}"
|
114
|
-
if [ $# -gt 2 ]; then
|
113
|
+
local cur="${COMP_WORDS[[COMP_CWORD]]}"
|
114
|
+
if [[ $# -gt 2 ]]; then
|
115
115
|
cur="$3"
|
116
116
|
fi
|
117
117
|
case "$cur" in
|
@@ -173,7 +173,7 @@ function _rvm {
|
|
173
173
|
info|debug)
|
174
174
|
__rvm_version
|
175
175
|
__rvm_info
|
176
|
-
if [ "debug" = "$rvm_action" ] ; then __rvm_debug ; fi
|
176
|
+
if [[ "debug" = "$rvm_action" ]] ; then __rvm_debug ; fi
|
177
177
|
result=0
|
178
178
|
;;
|
179
179
|
|
@@ -183,7 +183,7 @@ function _rvm {
|
|
183
183
|
result=1;
|
184
184
|
;;
|
185
185
|
*)
|
186
|
-
if [ ! -z "$rvm_action" ] ; then
|
186
|
+
if [[ ! -z "$rvm_action" ]] ; then
|
187
187
|
__rvm_log "fail" "unknown action '$rvm_action'"
|
188
188
|
else
|
189
189
|
__rvm_usage
|
data/scripts/gems
CHANGED
@@ -2,52 +2,52 @@
|
|
2
2
|
|
3
3
|
__rvm_gems() {
|
4
4
|
unset GEM_PATH
|
5
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
5
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
6
6
|
|
7
|
-
if [ ! -z "$rvm_clear_flag" ] ; then
|
7
|
+
if [[ ! -z "$rvm_clear_flag" ]] ; then
|
8
8
|
__rvm_gems_clear
|
9
|
-
elif [ ! -z "$rvm_load_flag" ] ; then
|
9
|
+
elif [[ ! -z "$rvm_load_flag" ]] ; then
|
10
10
|
__rvm_gems_load
|
11
|
-
elif [ ! -z "$rvm_dump_flag" ] ; then
|
11
|
+
elif [[ ! -z "$rvm_dump_flag" ]] ; then
|
12
12
|
__rvm_gems_dump
|
13
|
-
elif [ ! -z "$rvm_delete_flag" ] ; then
|
13
|
+
elif [[ ! -z "$rvm_delete_flag" ]] ; then
|
14
14
|
__rvm_gems_delete
|
15
|
-
elif [ ! -z "$rvm_name_flag" ] ; then
|
15
|
+
elif [[ ! -z "$rvm_name_flag" ]] ; then
|
16
16
|
__rvm_gems_name
|
17
|
-
elif [ ! -z "$rvm_dir_flag" ] ; then
|
17
|
+
elif [[ ! -z "$rvm_dir_flag" ]] ; then
|
18
18
|
__rvm_gems_dir
|
19
|
-
elif [ ! -z "$rvm_list_flag" ] ; then
|
19
|
+
elif [[ ! -z "$rvm_list_flag" ]] ; then
|
20
20
|
__rvm_gems_list
|
21
|
-
#elif [ ! -z "$rvm_use_flag" ] ; then
|
21
|
+
#elif [[ ! -z "$rvm_use_flag" ]] ; then
|
22
22
|
else
|
23
23
|
__rvm_gems_use
|
24
24
|
fi
|
25
25
|
}
|
26
26
|
|
27
27
|
__rvm_gems_select() {
|
28
|
-
if [ -z "$rvm_gem_set_name" ] ; then
|
29
|
-
if [ ! -z "$GEM_HOME" ] ; then
|
28
|
+
if [[ -z "$rvm_gem_set_name" ]] ; then
|
29
|
+
if [[ ! -z "$GEM_HOME" ]] ; then
|
30
30
|
rvm_gem_set_name=$(echo $GEM_HOME | xargs basename | awk -F'%' '{print $2}')
|
31
31
|
fi
|
32
32
|
|
33
|
-
if [ ! -z "$rvm_ruby_gem_home" ] ; then
|
33
|
+
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
34
34
|
rvm_gem_set_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F'%' '{print $2}')
|
35
35
|
fi
|
36
36
|
|
37
37
|
if [[ ! -z "$rvm_gem_set_name" ]] && [[ ! "$rvm_gem_set_name" =~ ^\d\.\d ]] ; then
|
38
38
|
rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
|
39
39
|
else
|
40
|
-
if [ ! -z "$rvm_ruby_interpreter"
|
40
|
+
if [[ ! -z "$rvm_ruby_interpreter" ]] && [[ ! -z "$rvm_ruby_version" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
|
41
41
|
rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version"
|
42
|
-
elif [ -z "$GEM_HOME" ] ; then
|
42
|
+
elif [[ -z "$GEM_HOME" ]] ; then
|
43
43
|
rvm_ruby_gem_home=$(gem env gemdir)
|
44
|
-
elif [ ! -z "$GEM_HOME" ] ; then
|
44
|
+
elif [[ ! -z "$GEM_HOME" ]] ; then
|
45
45
|
rvm_ruby_gem_home="$GEM_HOME"
|
46
46
|
else
|
47
47
|
__rvm_log "error" "Cannot select gem home, something definitely wrong :/"
|
48
48
|
fi
|
49
49
|
fi
|
50
|
-
if [ -z "$rvm_gem_set_name" ] ; then unset rvm_gem_set_name ; fi
|
50
|
+
if [[ -z "$rvm_gem_set_name" ]] ; then unset rvm_gem_set_name ; fi
|
51
51
|
else
|
52
52
|
rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
|
53
53
|
fi
|
@@ -80,16 +80,16 @@ __rvm_gems_clear() {
|
|
80
80
|
__rvm_gems_use
|
81
81
|
}
|
82
82
|
|
83
|
-
__rvm_gems_delete
|
84
|
-
if [ ! -z "$rvm_gem_set_name" ] ; then
|
83
|
+
__rvm_gems_delete() {
|
84
|
+
if [[ ! -z "$rvm_gem_set_name" ]] ; then
|
85
85
|
gemdir="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
|
86
|
-
if [ -d "$gemdir"
|
86
|
+
if [[ -d "$gemdir" ]] && [[ ! -z "$rvm_force_flag" ]] ; then
|
87
87
|
rm -rf "$gemdir"
|
88
|
-
elif [ -d "$gemdir" ] ; then
|
88
|
+
elif [[ -d "$gemdir" ]] ; then
|
89
89
|
__rvm_log "warn" "Are you SURE you wish to remove the installed gems '$rvm_gem_set_name ' ($gemdir)?"
|
90
90
|
echo -n "(anything other than 'yes' will cancel) > "
|
91
91
|
read response
|
92
|
-
if [ "yes" = "$response" ] ; then
|
92
|
+
if [[ "yes" = "$response" ]] ; then
|
93
93
|
rm -rf "$gemdir"
|
94
94
|
else
|
95
95
|
__rvm_log "info" "Not doing anything, phew... close call that one eh?"
|
@@ -103,13 +103,13 @@ __rvm_gems_delete () {
|
|
103
103
|
}
|
104
104
|
|
105
105
|
__rvm_gems_dump() {
|
106
|
-
if [ ! -z "$rvm_ruby_gem_home" ] ; then
|
106
|
+
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
107
107
|
GEM_HOME="$rvm_ruby_gem_home" ; export GEM_HOME ;
|
108
108
|
GEM_PATH="$rvm_ruby_gem_home" ; export GEM_PATH ;
|
109
109
|
fi
|
110
110
|
|
111
|
-
if [ -z "$rvm_file_name" ] ; then
|
112
|
-
if [ ! -z "$rvm_gem_set_name" ] ; then
|
111
|
+
if [[ -z "$rvm_file_name" ]] ; then
|
112
|
+
if [[ ! -z "$rvm_gem_set_name" ]] ; then
|
113
113
|
rvm_file_name="$rvm_gem_set_name.gems"
|
114
114
|
else
|
115
115
|
rvm_file_name="default.gems"
|
@@ -121,7 +121,7 @@ __rvm_gems_dump() {
|
|
121
121
|
|
122
122
|
for gem in $(gem list | sed 's#[\(|\)]##g' | sed 's#, #,#g' | tr ' ' ';') ; do
|
123
123
|
name="$(echo $gem | awk -F';' '{print $1}')"
|
124
|
-
if [ -z "$rvm_latest_flag" ] ; then
|
124
|
+
if [[ -z "$rvm_latest_flag" ]] ; then
|
125
125
|
versions="$(echo $gem | awk -F';' '{print $2}' | sed 's#,# #g')"
|
126
126
|
for version in $versions ; do
|
127
127
|
echo "$name -v$version" >> $rvm_file_name
|
@@ -133,69 +133,69 @@ __rvm_gems_dump() {
|
|
133
133
|
}
|
134
134
|
|
135
135
|
__rvm_gems_load() {
|
136
|
-
if [ ! -z "$rvm_ruby_gem_home" ] ; then
|
136
|
+
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
|
137
137
|
GEM_HOME="$rvm_ruby_gem_home" ; export GEM_HOME ;
|
138
138
|
GEM_PATH="$rvm_ruby_gem_home" ; export GEM_PATH ;
|
139
139
|
fi
|
140
140
|
|
141
|
-
if [ -z "$rvm_file_name" ] ; then
|
142
|
-
if [ -f "$rvm_gem_set_name.gems" ] ; then
|
141
|
+
if [[ -z "$rvm_file_name" ]] ; then
|
142
|
+
if [[ -f "$rvm_gem_set_name.gems" ]] ; then
|
143
143
|
rvm_file_name="$rvm_gem_set_name.gems"
|
144
|
-
elif [ -f "default.gems" ] ; then
|
144
|
+
elif [[ -f "default.gems" ]] ; then
|
145
145
|
rvm_file_name="default.gems"
|
146
|
-
elif [ -f "system.gems" ] ; then
|
146
|
+
elif [[ -f "system.gems" ]] ; then
|
147
147
|
rvm_file_name="system.gems"
|
148
148
|
fi
|
149
149
|
fi
|
150
150
|
|
151
|
-
if [ -f "$rvm_file_name" ] ; then
|
151
|
+
if [[ -f "$rvm_file_name" ]] ; then
|
152
152
|
echo "Loading $rvm_file_name file..."
|
153
|
-
rvm_ruby_gem_list=$(/bin/ls $rvm_ruby_gem_home/specifications/ 2> /dev/null | sed 's
|
153
|
+
rvm_ruby_gem_list=$(/bin/ls $rvm_ruby_gem_home/specifications/ 2> /dev/null | sed 's#.gems.*$##' 2> /dev/null)
|
154
154
|
while read line
|
155
155
|
do # Keep this on 2nd line :( bash fail.
|
156
156
|
# TODO: Switch to a different field separator than ; to allow for evals
|
157
157
|
gem="$(echo $line | awk -F';' '{print $1}')"
|
158
|
+
gem_prefix="$(echo $line | awk -F';' '{print $2}')"
|
158
159
|
if [[ ! -z "$gem" ]] && [[ "$gem" =~ \.gem$ ]] ; then
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
gem_postfix="$(echo $gem | sed "s/$gem_name//" | sed "s#-v[=]*[ ]*$gem_version##")"
|
160
|
+
gem_name="$(basename $gem | sed 's#\.gem##' | awk -F'-' '{$NF=NULL;print}')"
|
161
|
+
gem_version="$(basename $gem | sed 's#\.gem##' | awk -F'-' '{print $NF}' )"
|
162
|
+
gem_postfix="$(basename $gem | sed "s#.*\.gem##")"
|
163
163
|
else
|
164
|
-
gem_prefix="$(echo $line | awk -F';' '{print $2}')"
|
165
164
|
gem_name="$(echo $gem | awk '{print $1}')"
|
166
|
-
gem_version="$(echo $gem | awk '{print $2}' | sed 's
|
167
|
-
gem_postfix="$(echo $gem | sed "s
|
165
|
+
gem_version="$(echo $gem | awk '{print $2}' | sed 's#.*-v[=]*[ ]*##' )"
|
166
|
+
gem_postfix="$(echo $gem | sed "s#${gem_name/ /}##" | sed "s#-v[=]*[ ]*${gem_version/ /}##")"
|
168
167
|
fi
|
169
168
|
|
170
|
-
if [ -f "$gem" ] ; then
|
171
|
-
gem_file_name="$
|
169
|
+
if [[ -f "$gem" ]] ; then
|
170
|
+
gem_file_name="$gem"
|
171
|
+
cache_file="$gem"
|
172
172
|
elif [[ ! -z "$gem" ]] && [[ "$gem" =~ ".gem$" ]] ; then
|
173
|
-
gem_file_name="$
|
174
|
-
elif [ -z "$gem_version" ] ; then # no version
|
175
|
-
gem_file_name="${gem_name}*.gem"
|
173
|
+
gem_file_name="$gem"
|
174
|
+
elif [[ -z "${gem_version/ /}" ]] ; then # no version
|
175
|
+
gem_file_name="${gem_name/ /}*.gem"
|
176
176
|
else # version
|
177
|
-
gem_file_name="$gem_name-$gem_version.gem"
|
177
|
+
gem_file_name="${gem_name/ /}-${gem_version/ /}.gem"
|
178
178
|
fi
|
179
179
|
|
180
|
-
if [ -z "$rvm_force_flag"
|
180
|
+
if [[ -z "$rvm_force_flag" ]] && [[ -f "${rvm_ruby_gem_home}/specifications/${gem_name/ /}-${gem_version/ /}.gemspec" ]] ; then
|
181
181
|
unset gem
|
182
|
-
__rvm_log "warn" "
|
182
|
+
__rvm_log "warn" "$(__color "yellow")$gem_name $gem_version$(__color "none") exists, skipping (--force to re-install)"
|
183
183
|
else
|
184
|
-
cache_file
|
185
|
-
if [ -z "$cache_file" ] ; then
|
186
|
-
if [ -f "$gem_file_name" ] ; then
|
184
|
+
cache_file="${cache_file:-$(/bin/ls -t "${rvm_gem_path}/*/*/cache/${gem_file_name}*" 2> /dev/null | head -n1)}"
|
185
|
+
if [[ -z "$cache_file" ]] ; then
|
186
|
+
if [[ -f "$gem_file_name" ]] ; then
|
187
187
|
gem="$gem_file_name"
|
188
|
-
elif [ -z "$gem_version" ] ; then
|
189
|
-
gem="$gem_name"
|
188
|
+
elif [[ -z "${gem_version/ /}" ]] ; then
|
189
|
+
gem="${gem_name/ /}"
|
190
190
|
else
|
191
|
-
gem="$gem_name -v $gem_version"
|
191
|
+
gem="${gem_name/ /} -v $gem_version"
|
192
192
|
fi
|
193
193
|
else # cached
|
194
|
-
gem_file_name="$(basename $cache_file)"
|
194
|
+
gem_file_name="$(basename "$cache_file")"
|
195
195
|
gem_string="$(echo "$gem_file_name" | sed 's#\.gem$##')"
|
196
|
-
if [ ! -z "$(echo "$rvm_ruby_gem_list" | awk "/$
|
196
|
+
if [[ ! -z "$(echo "$rvm_ruby_gem_list" | awk "/${gem_name/ /} \(.*$gem_version/{print}")" ]] ; then
|
197
197
|
#if [[ ! -z "$rvm_ruby_gem_list" ]] && [[ "$rvm_ruby_gem_list" =~ $gem_string ]] ; then
|
198
|
-
if [ ! -z "$rvm_force_flag" ] ; then
|
198
|
+
if [[ ! -z "$rvm_force_flag" ]] ; then
|
199
199
|
cp $cache_file $rvm_temp_path/$gem_file_name
|
200
200
|
gem="$rvm_temp_path/$gem_file_name" # install as a named local gem
|
201
201
|
fi
|
@@ -205,7 +205,7 @@ __rvm_gems_load() {
|
|
205
205
|
fi
|
206
206
|
fi
|
207
207
|
|
208
|
-
if [ ! -z "$gem" ] ; then
|
208
|
+
if [[ ! -z "$gem" ]] ; then
|
209
209
|
# TODO: Set vars if fourth field is non-empty (means that there are conditional statements to execute in the gem install line.
|
210
210
|
__rvm_make_flags
|
211
211
|
__rvm_log "info" "Installing $gem_name $gem_version..."
|
data/scripts/install
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
user="$(whoami)"
|
4
|
-
if [ "root" = "$user" ] ; then
|
4
|
+
if [[ "root" = "$user" ]] ; then
|
5
5
|
echo -e "$(tput setaf 1) <e> root user support is not yet implemented.$(tput sgr0)"
|
6
6
|
exit 1
|
7
7
|
fi
|
@@ -10,7 +10,7 @@ item="$(tput setaf 2)* $(tput sgr0)"
|
|
10
10
|
question="\n$(tput setaf 2)<?>$(tput sgr0)"
|
11
11
|
cwd=$(pwd)
|
12
12
|
source_dir="${source_dir:-"$(dirname $0 | xargs dirname)"}"
|
13
|
-
if [ ! -d "$source_dir" ] ; then unset source_dir ; fi
|
13
|
+
if [[ ! -d "$source_dir" ]] ; then unset source_dir ; fi
|
14
14
|
source_dir="${source_dir:-$cwd}"
|
15
15
|
rvm_path=~/.rvm
|
16
16
|
|
@@ -32,34 +32,34 @@ for file_name in rvm-prompt gemsync ; do
|
|
32
32
|
chmod +x $rvm_path/bin/$file_name
|
33
33
|
done ; unset file_name
|
34
34
|
|
35
|
-
if [ -z "$rvm_loaded_flag" ] ; then
|
35
|
+
if [[ -z "$rvm_loaded_flag" ]] ; then
|
36
36
|
for rcfile in .bash_profile .bashrc .zshrc ; do
|
37
|
-
if [ ! -e ~/$rcfile ] ; then touch ~/$rcfile ; fi
|
38
|
-
if [ -z "$(awk '/\.rvm\/scripts\/rvm/' ~/$rcfile)" ] ; then
|
39
|
-
echo "Adding 'if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi' to your ~/$rcfile."
|
40
|
-
echo -e "\n# rvm-install added line:\nif [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi\n" >> ~/$rcfile
|
37
|
+
if [[ ! -e ~/$rcfile ]] ; then touch ~/$rcfile ; fi
|
38
|
+
if [[ -z "$(awk '/\.rvm\/scripts\/rvm/' ~/$rcfile)" ]] ; then
|
39
|
+
echo "Adding 'if [[ -s ~/.rvm/scripts/rvm ]] ; then source ~/.rvm/scripts/rvm ; fi' to your ~/$rcfile."
|
40
|
+
echo -e "\n# rvm-install added line:\nif [[ -s ~/.rvm/scripts/rvm ]] ; then source ~/.rvm/scripts/rvm ; fi\n" >> ~/$rcfile
|
41
41
|
fi
|
42
42
|
done
|
43
43
|
fi
|
44
44
|
|
45
45
|
echo -e "\n Ensuring that rvm script location in $file is scripts/rvm not bin/rvm for: ~/.bash_profile, ~/.bashrc, ~/.zshrc..."
|
46
46
|
for file in ~/.bash_profile ~/.bashrc ~/.zshrc ; do
|
47
|
-
if [ -s $file ] ; then
|
48
|
-
if [ -L $file ] ; then # If the file is a symlink,
|
47
|
+
if [[ -s $file ]] ; then
|
48
|
+
if [[ -L $file ]] ; then # If the file is a symlink,
|
49
49
|
actual_file="$(readlink $file)" # read the link target so we can preserve it.
|
50
50
|
else
|
51
51
|
actual_file="$file"
|
52
52
|
fi
|
53
53
|
|
54
54
|
grep 'rvm\/bin\/rvm' $actual_file > /dev/null
|
55
|
-
if [ $? -eq 0 ] ; then
|
55
|
+
if [[ $? -eq 0 ]] ; then
|
56
56
|
sed -i.orig 's#rvm/bin/rvm #rvm/scripts/rvm #g' $actual_file
|
57
57
|
rm -f $actual_file.orig
|
58
58
|
fi
|
59
59
|
|
60
|
-
if [ -f ~/.profile ] ; then
|
60
|
+
if [[ -f ~/.profile ]] ; then
|
61
61
|
grep '.profile' $actual_file > /dev/null
|
62
|
-
if [ $? -gt 0 ] ; then
|
62
|
+
if [[ $? -gt 0 ]] ; then
|
63
63
|
profile=~/.profile
|
64
64
|
echo -e "\n" >> $actual_file
|
65
65
|
echo "source $profile" >> $actual_file
|
@@ -68,34 +68,34 @@ for file in ~/.bash_profile ~/.bashrc ~/.zshrc ; do
|
|
68
68
|
fi
|
69
69
|
done
|
70
70
|
|
71
|
-
if [ -f ~/.rvm/bin/rvm ] ; then
|
71
|
+
if [[ -f ~/.rvm/bin/rvm ]] ; then
|
72
72
|
echo -e "\n Removing old rvm file from ~/.rvm/bin/rvm..."
|
73
73
|
rm -f ~/.rvm/bin/rvm
|
74
74
|
fi
|
75
75
|
|
76
76
|
system="$(uname)"
|
77
77
|
echo -e "\n $(tput setaf 3)NOTES: $(tput sgr0)\n"
|
78
|
-
if [ "Linux" = "$system" ] ; then
|
78
|
+
if [[ "Linux" = "$system" ]] ; then
|
79
79
|
rvm_apt_get_binary="$(which aptitude 2> /dev/null)"
|
80
80
|
rvm_emerge_binary="$(which emerge 2> /dev/null)"
|
81
81
|
rvm_pacman_binary="$(which pacman 2> /dev/null)"
|
82
82
|
rvm_yum_binary="$(which yum 2> /dev/null)"
|
83
83
|
|
84
|
-
if [ ! -z "$rvm_apt_get_binary" ] ; then
|
84
|
+
if [[ ! -z "$rvm_apt_get_binary" ]] ; then
|
85
85
|
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
86
86
|
echo -e " $ sudo aptitude install sun-java6-bin sun-java6-jre sun-java6-jdk"
|
87
87
|
echo -e " $item For ree (if you wish to use it) you will need:"
|
88
88
|
echo -e " $ sudo aptitude install libreadline5-dev libssl-dev bison"
|
89
89
|
|
90
|
-
elif [ ! -z "$rvm_emerge_binary" ] ; then
|
90
|
+
elif [[ ! -z "$rvm_emerge_binary" ]] ; then
|
91
91
|
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
92
92
|
echo -e " $ sudo emerge dev-java/sun-jdk dev-java/sun-jre-bin"
|
93
93
|
|
94
|
-
elif [ ! -z "$rvm_pacman_binary" ] ; then
|
94
|
+
elif [[ ! -z "$rvm_pacman_binary" ]] ; then
|
95
95
|
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
96
96
|
echo -e " $ sudo pacman -Sy jdk jre"
|
97
97
|
|
98
|
-
elif [ ! -z "$rvm_yum_binary" ] ; then
|
98
|
+
elif [[ ! -z "$rvm_yum_binary" ]] ; then
|
99
99
|
echo -e " $item For ree (if you wish to use it) you will need:"
|
100
100
|
echo -e " $ yum install -y rpm-build gcc gcc-c++ redhat-rpm-config ; then download and rpmbuild and install the sdk, Have fun..."
|
101
101
|
|
@@ -103,13 +103,13 @@ if [ "Linux" = "$system" ] ; then
|
|
103
103
|
echo -e " $item For jRuby (if you wish to use it) you will need:"
|
104
104
|
echo -e " The SUN java runtime environment and development kit."
|
105
105
|
fi
|
106
|
-
elif [ "Darwin" = "$system" ] ; then
|
106
|
+
elif [[ "Darwin" = "$system" ]] ; then
|
107
107
|
echo -e " $item Be sure that you have XCode Tools installed in order to use rvm."
|
108
108
|
echo -e " $item If you intend on installing MacRuby you must install LLVM first."
|
109
109
|
fi
|
110
110
|
|
111
111
|
echo -e " $item In order to use rvm the following line must occur in your shell's loading files, after all path/variable settings.:"
|
112
|
-
echo -e " $item if [ -s ~/.rvm/scripts/rvm ] ; then source ~/.rvm/scripts/rvm ; fi"
|
112
|
+
echo -e " $item if [[ -s ~/.rvm/scripts/rvm ]] ; then source ~/.rvm/scripts/rvm ; fi"
|
113
113
|
echo -e " $item CLOSE THIS SHELL AND OPEN A NEW ONE in order to use rvm."
|
114
114
|
|
115
115
|
echo -e "\n \033[0;33mRTFM: $(tput sgr0) http://rvm.beginrescueend.com/ \n"
|
data/scripts/ruby-installer
CHANGED
@@ -1,50 +1,50 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
function __rvm_install_source {
|
4
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
4
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
5
5
|
__rvm_log "info" "Installing Ruby from source to: $rvm_ruby_home"
|
6
6
|
mkdir -p "$rvm_ruby_log_path"
|
7
7
|
|
8
8
|
__rvm_pushpop "$rvm_src_path"
|
9
9
|
|
10
|
-
if [ ! -z "$rvm_force_flag" ] ; then
|
10
|
+
if [[ ! -z "$rvm_force_flag" ]] ; then
|
11
11
|
rm -rf "$rvm_ruby_home" "$rvm_ruby_src_path"
|
12
12
|
fi
|
13
13
|
|
14
14
|
result=0
|
15
|
-
if [ -z "$rvm_ruby_tag"
|
16
|
-
if [ ! -f "$rvm_archives_path/$rvm_ruby_package_name.tar.gz" ]
|
15
|
+
if [[ -z "$rvm_ruby_tag" ]] && [[ -z "$rvm_ruby_revision" ]] ; then
|
16
|
+
if [[ ! -f "$rvm_archives_path/$rvm_ruby_package_name.tar.gz" ]] ; then
|
17
17
|
rvm_url="${rvm_url:-"ftp://ftp.ruby-lang.org/pub/ruby/1.$rvm_major_version/$rvm_ruby_package_name.tar.gz"}"
|
18
18
|
__rvm_log "info" "Downloading $rvm_ruby_package_name, this may take a while depending on your connection..."
|
19
19
|
__rvm_fetch "$rvm_url"
|
20
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
20
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
21
21
|
fi
|
22
22
|
#mkdir -p "$rvm_ruby_src_path" # Is this line necessary considering -C below? v
|
23
23
|
__rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_name.tar.gz -C $rvm_src_path" "Extracting $rvm_ruby_package_name ..."
|
24
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
24
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
25
25
|
else
|
26
26
|
__rvm_log "info" "Retrieving Ruby from $rvm_url"
|
27
|
-
if [ ! -z "$(echo $rvm_url | awk '/^git/')" ] ; then
|
28
|
-
if [ -d "$rvm_ruby_src_path/.git" ] ; then
|
27
|
+
if [[ ! -z "$(echo $rvm_url | awk '/^git/')" ]] ; then
|
28
|
+
if [[ -d "$rvm_ruby_src_path/.git" ]] ; then
|
29
29
|
cd $rvm_ruby_src_path
|
30
|
-
if [ -z "$rvm_ruby_revision" ] ; then
|
30
|
+
if [[ -z "$rvm_ruby_revision" ]] ; then
|
31
31
|
git pull origin master
|
32
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
32
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
33
33
|
else
|
34
34
|
git checkout ${rvm_ruby_revision:-HEAD}
|
35
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
35
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
36
36
|
fi
|
37
37
|
else
|
38
38
|
git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_src_path
|
39
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
39
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
40
40
|
fi
|
41
41
|
else
|
42
|
-
if [ -z "$rvm_ruby_revision" ] ; then
|
42
|
+
if [[ -z "$rvm_ruby_revision" ]] ; then
|
43
43
|
# TODO: Check if tag v is valid
|
44
44
|
rvm_url="$rvm_ruby_repo_url/tags/$rvm_ruby_tag"
|
45
45
|
rvm_rev=""
|
46
46
|
else
|
47
|
-
if [ "head" = "$rvm_ruby_revision"
|
47
|
+
if [[ "head" = "$rvm_ruby_revision" ]] || [[ "trunk" = "$rvm_ruby_revision" ]] ; then
|
48
48
|
rvm_url="$rvm_ruby_repo_url/trunk"
|
49
49
|
rvm_rev=""
|
50
50
|
else
|
@@ -53,9 +53,9 @@ function __rvm_install_source {
|
|
53
53
|
fi
|
54
54
|
fi
|
55
55
|
|
56
|
-
if [ -d "$rvm_ruby_src_path/.svn" ] ; then
|
56
|
+
if [[ -d "$rvm_ruby_src_path/.svn" ]] ; then
|
57
57
|
cd $rvm_ruby_src_path
|
58
|
-
if [ -z "$rvm_rev" ] ; then
|
58
|
+
if [[ -z "$rvm_rev" ]] ; then
|
59
59
|
svn update
|
60
60
|
else
|
61
61
|
svn checkout -q $rvm_rev
|
@@ -63,27 +63,27 @@ function __rvm_install_source {
|
|
63
63
|
else
|
64
64
|
svn checkout -q $rvm_rev --force $rvm_url $rvm_ruby_src_path
|
65
65
|
fi
|
66
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
66
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
67
67
|
fi
|
68
68
|
fi
|
69
69
|
|
70
70
|
cd $rvm_ruby_src_path
|
71
|
-
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
|
71
|
+
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
|
72
72
|
|
73
|
-
if [ ! -s "$rvm_ruby_src_path/configure" ] ; then
|
73
|
+
if [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
|
74
74
|
rvm_autoconf="$(which autoconf)"
|
75
|
-
if [ $? -gt 0 ] ; then __rvm_log "fail" "rvm expects autoconf" ; result=$? ; return $result ; fi
|
75
|
+
if [[ $? -gt 0 ]] ; then __rvm_log "fail" "rvm expects autoconf" ; result=$? ; return $result ; fi
|
76
76
|
__rvm_run "autoconf" "$rvm_autoconf" "Running autoconf"
|
77
|
-
# if [ $? -gt 0 ] ; then result=$? ; return $result ; fi # Don't barf on autoconf fail...
|
77
|
+
# if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi # Don't barf on autoconf fail...
|
78
78
|
fi
|
79
79
|
|
80
|
-
if [ -s ./Makefile
|
80
|
+
if [[ -s ./Makefile ]] && [[ -z "$rvm_reconfigure_flag" ]] ; then
|
81
81
|
__rvm_log "debug" "Skipping configure step, Makefile exists so configure must have already been run."
|
82
|
-
elif [ -s ./configure ] ; then
|
82
|
+
elif [[ -s ./configure ]] ; then
|
83
83
|
__rvm_run "configure" "./configure --prefix=$rvm_ruby_home $rvm_ruby_configure $configure_parameters" "Configuring $rvm_ruby_package_name using $rvm_ruby_configure, this may take a while depending on your cpu(s)..."
|
84
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
84
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
85
85
|
unset configure_parameters
|
86
|
-
elif [ ! -z "rvm_ruby_configure" ] ; then
|
86
|
+
elif [[ ! -z "rvm_ruby_configure" ]] ; then
|
87
87
|
$rvm_ruby_configure
|
88
88
|
else
|
89
89
|
__rvm_log "error" "Skipping configure step, 'configure' script does not exist, did autoconf not run successfully?"
|
@@ -91,11 +91,11 @@ function __rvm_install_source {
|
|
91
91
|
|
92
92
|
rvm_ruby_make=${rvm_ruby_make:-"/usr/bin/make"}
|
93
93
|
__rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_package_name, this may take a while, depending on your cpu(s)..."
|
94
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
94
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
95
95
|
|
96
96
|
rvm_ruby_make_install=${rvm_ruby_make_install:-"/usr/bin/make install"}
|
97
97
|
__rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_package_name"
|
98
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
98
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
99
99
|
|
100
100
|
__rvm_log "info" "Installation of $rvm_ruby_package_name is complete."
|
101
101
|
|
@@ -111,13 +111,13 @@ function __rvm_install_source {
|
|
111
111
|
|
112
112
|
function __rvm_install_ruby {
|
113
113
|
|
114
|
-
if [ -z "$rvm_ruby_selected_flag" ]
|
115
|
-
if [ ! -z "$RUBYOPT" ]
|
114
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
115
|
+
if [[ ! -z "$RUBYOPT" ]] ; then ruby_options="$RUBYOPT" ; unset RUBYOPT ; fi
|
116
116
|
__rvm_make_flags
|
117
117
|
|
118
118
|
case "$rvm_ruby_interpreter" in
|
119
119
|
macruby)
|
120
|
-
if [ "$(uname)" = "Darwin" ] ; then
|
120
|
+
if [[ "$(uname)" = "Darwin" ]] ; then
|
121
121
|
rvm_url="$(__rvm_db "macruby_nightly_url")"
|
122
122
|
__rvm_log "info" "Retrieving latest macruby" # $rvm_archives_path/macruby_nightly.pkg
|
123
123
|
__rvm_fetch $rvm_url
|
@@ -130,28 +130,29 @@ function __rvm_install_ruby {
|
|
130
130
|
;;
|
131
131
|
|
132
132
|
ree)
|
133
|
-
|
133
|
+
__rvm_make_flags
|
134
|
+
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.8/')" ]] && [[ -z "$rvm_head_flag" ]] ; then
|
134
135
|
rvm_url="$(__rvm_db "ree_${rvm_ruby_version}_url")/$rvm_ruby_package_file.tar.gz"
|
135
136
|
__rvm_log "info" "Installing Ruby Enterprise Edition from source to: $rvm_ruby_home"
|
136
137
|
__rvm_pushpop "$rvm_src_path"
|
137
|
-
if [ -z "$rvm_force_flag"
|
138
|
+
if [[ -z "$rvm_force_flag" ]] && [[ -d "$rvm_ruby_src_path" ]] && [[ ! -x "$rvm_ruby_src_path/installer" ]] ; then
|
138
139
|
__rvm_log "It appears that the archive has already been extracted. Skipping extract (use --force to force re-download and extract)."
|
139
140
|
else
|
140
141
|
__rvm_log "Downloading $rvm_ruby_package_file, this may take a while depending on your connection..."
|
141
142
|
__rvm_fetch "$rvm_url"
|
142
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
143
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
143
144
|
rm -rf "$rvm_ruby_src_path"
|
144
145
|
__rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_file.tar.gz -C $rvm_src_path" "Extracting $rvm_ruby_package_file..."
|
145
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
146
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
146
147
|
mv "$rvm_src_path/$rvm_ruby_package_file" "$rvm_ruby_src_path"
|
147
148
|
fi
|
148
149
|
cd "$rvm_ruby_src_path"
|
149
150
|
|
150
151
|
mkdir -p "$rvm_ruby_log_path"
|
151
152
|
mkdir -p "${rvm_ruby_home}/lib/ruby/gems/1.8/gems"
|
152
|
-
if [ ! -z "$rvm_ruby_configure" ] ; then rvm_ruby_configure="-c $rvm_ruby_configure"; fi
|
153
|
-
__rvm_run "install" "./installer -a $rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level --dont-install-useful-gems $rvm_ruby_configure" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..." # --no-tcmalloc
|
154
|
-
if [ $? -gt 0 ] ; then result=$? ; return $result ; fi
|
153
|
+
if [[ ! -z "$rvm_ruby_configure" ]] ; then rvm_ruby_configure="-c $rvm_ruby_configure"; fi
|
154
|
+
__rvm_run "install" "./installer -a $rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options --dont-install-useful-gems $rvm_ruby_configure" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..." # --no-tcmalloc
|
155
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
155
156
|
chmod +x $rvm_ruby_home/bin/*
|
156
157
|
|
157
158
|
__rvm_rubygems_setup
|
@@ -168,7 +169,7 @@ function __rvm_install_ruby {
|
|
168
169
|
__rvm_pushpop
|
169
170
|
else
|
170
171
|
rvm_url="$(__rvm_db "ree_${rvm_ruby_version}_repo_url")"
|
171
|
-
if [ -z "$rvm_url" ] ; then
|
172
|
+
if [[ -z "$rvm_url" ]] ; then
|
172
173
|
__rvm_log "fail" "rvm does not know the rvm repo url for 'ree_${rvm_ruby_version}'"
|
173
174
|
result=1
|
174
175
|
else
|
@@ -195,7 +196,7 @@ function __rvm_install_ruby {
|
|
195
196
|
RBX_PREFIX=$rvm_ruby_home ; export RBX_PREFIX
|
196
197
|
# Also see 'rakelib/configuration.rake'
|
197
198
|
|
198
|
-
if [ ! -d "$rvm_ruby_src_path"
|
199
|
+
if [[ ! -d "$rvm_ruby_src_path" ]] || [[ ! -d "$rvm_ruby_src_path/.git" ]] ; then
|
199
200
|
rm -rf $rvm_ruby_src_path
|
200
201
|
__rvm_run "rbx.repo" "git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_src_path" "Cloning $rvm_ruby_repo_url"
|
201
202
|
cd $rvm_ruby_home
|
@@ -210,7 +211,7 @@ function __rvm_install_ruby {
|
|
210
211
|
rvm_ruby_interpreter="rbx"
|
211
212
|
__rvm_select
|
212
213
|
|
213
|
-
if [ ! -z "$rvm_jit_flag" ]; then
|
214
|
+
if [[ ! -z "$rvm_jit_flag" ]] ; then
|
214
215
|
__rvm_run "configure" "./configure --prefix=$rvm_ruby_home --enable-llvm" "Configuring rbx with LLVM enabled"
|
215
216
|
else
|
216
217
|
__rvm_run "configure" "./configure --prefix=$rvm_ruby_home" "Configuring rbx"
|
@@ -225,8 +226,8 @@ function __rvm_install_ruby {
|
|
225
226
|
|
226
227
|
__rvm_run "rake.install" "$rvm_ruby_home/bin/rbx gem install rake --no-rdoc --no-ri" "Installing Rake"
|
227
228
|
binary=rake
|
228
|
-
if [ -f $rvm_ruby_gem_home/bin/$binary ] ; then
|
229
|
-
if [ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ] ; then
|
229
|
+
if [[ -f $rvm_ruby_gem_home/bin/$binary ]] ; then
|
230
|
+
if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] ; then
|
230
231
|
cp $rvm_ruby_gem_home/bin/$binary $rvm_ruby_home/bin/$binary
|
231
232
|
fi
|
232
233
|
chmod +x $rvm_ruby_home/bin/$binary
|
@@ -239,7 +240,7 @@ function __rvm_install_ruby {
|
|
239
240
|
|
240
241
|
binaries="gem" # Trick to work in more shells :)
|
241
242
|
for binary_name in $(echo $binaries); do
|
242
|
-
if [ $binary_name != "gem" ] ; then prefix="-S" ; fi
|
243
|
+
if [[ $binary_name != "gem" ]] ; then prefix="-S" ; fi
|
243
244
|
ruby_wrapper=$(cat <<RubyWrapper
|
244
245
|
#!/bin/bash
|
245
246
|
|
@@ -255,7 +256,7 @@ RubyWrapper
|
|
255
256
|
for file_name in $(echo $files) ; do
|
256
257
|
rm -f $file_name
|
257
258
|
echo "$ruby_wrapper" > $file_name
|
258
|
-
if [ -f $file_name ] ; then chmod +x $file_name ; fi
|
259
|
+
if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
|
259
260
|
done ; unset file_name
|
260
261
|
unset ruby_wrapper binary_name files prefix
|
261
262
|
done
|
@@ -267,23 +268,23 @@ RubyWrapper
|
|
267
268
|
mkdir -p $rvm_ruby_log_path
|
268
269
|
__rvm_pushpop $rvm_src_path
|
269
270
|
|
270
|
-
if [ ! -z "$rvm_ruby_revision" ] ; then
|
271
|
-
if [ ! -d $rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version
|
271
|
+
if [[ ! -z "$rvm_ruby_revision" ]] ; then
|
272
|
+
if [[ ! -d "$rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version" ]] || [[ ! -d "$rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version/.git" ]] ; then
|
272
273
|
git clone --depth 1 $rvm_jruby_repo_url $rvm_ruby_src_path
|
273
274
|
cd $rvm_ruby_src_path && ant # TODO: Test if 'ant' is installed, if not throw error.
|
274
275
|
fi
|
275
276
|
else
|
276
|
-
if [ -d $rvm_ruby_src_path ]
|
277
|
+
if [[ -d $rvm_ruby_src_path ]] ; then
|
277
278
|
cd $rvm_ruby_src_path
|
278
279
|
else
|
279
|
-
if [ -z "$rvm_force_flag"
|
280
|
+
if [[ -z "$rvm_force_flag" ]] && [[ -f $rvm_package_file ]] && [[ -s $rvm_package_file ]] ; then
|
280
281
|
__rvm_log "info" "It appears that $rvm_package_file has already been downloaded, skipping. Use --force to force re-download."
|
281
282
|
else
|
282
283
|
__rvm_log "info" "Downloading $rvm_package_file, this may take a while depending on your connection..."
|
283
284
|
__rvm_fetch $rvm_url
|
284
285
|
fi
|
285
286
|
__rvm_run "extract" "tar zxf $rvm_archives_path/$rvm_package_file.tar.gz -C $rvm_src_path" "Extracting $rvm_package_file..."
|
286
|
-
if [ "$rvm_package_file" != "$rvm_ruby_string" ] ; then
|
287
|
+
if [[ "$rvm_package_file" != "$rvm_ruby_string" ]] ; then
|
287
288
|
mv $rvm_src_path/$rvm_package_file $rvm_src_path/$rvm_ruby_string
|
288
289
|
fi
|
289
290
|
cd $rvm_ruby_src_path
|
@@ -294,7 +295,7 @@ RubyWrapper
|
|
294
295
|
__rvm_run "nailgun" "cd $rvm_ruby_src_path/tool/nailgun && /usr/bin/make $rvm_make_flags" "Installing $rvm_ruby_package_name..."
|
295
296
|
__rvm_pushpop
|
296
297
|
|
297
|
-
if [ -z "$rvm_ruby_home"
|
298
|
+
if [[ -z "$rvm_ruby_home" ]] || [[ "$rvm_ruby_home" = "/" ]] ; then echo "WTH?!?! rvm_ruby_home == / ??? not removing." ; return 1000000 ; fi
|
298
299
|
rm -rf $rvm_ruby_home
|
299
300
|
__rvm_run "install" "/bin/cp -Rf $rvm_ruby_src_path $rvm_ruby_home" "Installing JRuby to $rvm_ruby_home"
|
300
301
|
|
@@ -333,31 +334,34 @@ RubyWrapper
|
|
333
334
|
|
334
335
|
esac
|
335
336
|
|
336
|
-
if [ ! -z "$ruby_options" ] ; then RUBYOPT=$ruby_options ; export RUBYOPT ; fi
|
337
|
+
if [[ ! -z "$ruby_options" ]] ; then RUBYOPT=$ruby_options ; export RUBYOPT ; fi
|
337
338
|
}
|
338
339
|
|
339
340
|
function __rvm_manage_rubies {
|
340
341
|
__rvm_state
|
341
342
|
rubies=() ; successes=() ; errors=() ; statuses=()
|
343
|
+
unset rvm_gem_set_name
|
344
|
+
rvm_ruby_gem_home=$(echo $rvm_ruby_gem_home | awk -F'%' '{print $1}')
|
345
|
+
rvm_ruby_string=$(echo $rvm_ruby_string | awk -F'%' '{print $1}')
|
342
346
|
# TODO: Extract the common functionality out of the if below
|
343
|
-
if [ ! -z "$rvm_ruby_string" ] ; then
|
347
|
+
if [[ ! -z "$rvm_ruby_string" ]] ; then
|
344
348
|
unset rvm_ruby_interpreter rvm_ruby_version
|
345
349
|
__rvm_${rvm_action}_ruby
|
346
|
-
elif [ ! -z "$rvm_ruby_version" ] ;then
|
350
|
+
elif [[ ! -z "$rvm_ruby_version" ]] ;then
|
347
351
|
for rvm_ruby_string in $(echo $rvm_ruby_version | tr ',' ' ') ; do
|
348
|
-
__rvm_${rvm_action}_ruby
|
352
|
+
eval "__rvm_${rvm_action}_ruby"
|
349
353
|
__rvm_unset_ruby_variables
|
350
354
|
done
|
351
|
-
elif [ ! -z "$rvm_ruby_interpreter" ] ; then
|
355
|
+
elif [[ ! -z "$rvm_ruby_interpreter" ]] ; then
|
352
356
|
unset rvm_ruby_string rvm_ruby_version
|
353
|
-
__rvm_${rvm_action}_ruby
|
357
|
+
eval "__rvm_${rvm_action}_ruby"
|
354
358
|
else # all
|
355
|
-
if [ "$rvm_action" != "install" ] ; then
|
359
|
+
if [[ "$rvm_action" != "install" ]] ; then
|
356
360
|
while read bin_line
|
357
361
|
do # Keep this on second line damnit!
|
358
|
-
if [ -x $bin_line ] ; then
|
359
|
-
rvm_ruby_string="$(dirname $bin_line | xargs dirname | xargs basename)"
|
360
|
-
__rvm_${rvm_action}_ruby
|
362
|
+
if [[ -x "$bin_line" ]] ; then
|
363
|
+
rvm_ruby_string="$(dirname "$bin_line" | xargs dirname | xargs basename)"
|
364
|
+
eval "__rvm_${rvm_action}_ruby"
|
361
365
|
__rvm_unset_ruby_variables
|
362
366
|
fi
|
363
367
|
done < <(/bin/ls $rvm_path/*/bin/ruby 2> /dev/null)
|
@@ -367,23 +371,23 @@ function __rvm_manage_rubies {
|
|
367
371
|
fi
|
368
372
|
__rvm_state
|
369
373
|
|
370
|
-
if [ ! -z "$rvm_summary_flag" ] ; then __rvm_summary ; fi
|
371
|
-
if [ ! -z "$rvm_yaml_flag" ]
|
372
|
-
if [ ! -z "$rvm_json_flag" ]
|
374
|
+
if [[ ! -z "$rvm_summary_flag" ]] ; then __rvm_summary ; fi
|
375
|
+
if [[ ! -z "$rvm_yaml_flag" ]] ; then __rvm_yaml ; fi
|
376
|
+
if [[ ! -z "$rvm_json_flag" ]] ; then __rvm_json ; fi
|
373
377
|
}
|
374
378
|
|
375
379
|
function __rvm_uninstall_ruby {
|
376
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
380
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
377
381
|
|
378
|
-
if [ ! -z "$rvm_ruby_package_name" ] ; then
|
382
|
+
if [[ ! -z "$rvm_ruby_package_name" ]] ; then
|
379
383
|
for dir in $rvm_path ; do
|
380
|
-
if [ -d $dir/$rvm_ruby_package_name ] ; then
|
384
|
+
if [[ -d $dir/$rvm_ruby_package_name ]] ; then
|
381
385
|
__rvm_log "info" "Removing $dir/$rvm_ruby_package_name..."
|
382
386
|
rm -rf $dir/$rvm_ruby_package_name
|
383
387
|
else
|
384
388
|
__rvm_log "info" "$dir/$rvm_ruby_package_name has already been removed."
|
385
389
|
fi
|
386
|
-
if [ -e $rvm_bin_path/$rvm_ruby_package_name ] ; then
|
390
|
+
if [[ -e $rvm_bin_path/$rvm_ruby_package_name ]] ; then
|
387
391
|
rm -f $rvm_bin_path/$rvm_ruby_package_name
|
388
392
|
fi
|
389
393
|
done ; unset dir
|
@@ -394,17 +398,17 @@ function __rvm_uninstall_ruby {
|
|
394
398
|
}
|
395
399
|
|
396
400
|
function __rvm_remove_ruby {
|
397
|
-
if [ -z "$rvm_ruby_selected_flag" ] ; then __rvm_select $* ; fi
|
401
|
+
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select $* ; fi
|
398
402
|
|
399
|
-
if [ ! -z "$rvm_ruby_package_name" ] ; then
|
403
|
+
if [[ ! -z "$rvm_ruby_package_name" ]] ; then
|
400
404
|
for dir in $rvm_src_path $rvm_path ; do
|
401
|
-
if [ -d $dir/$rvm_ruby_package_name ] ; then
|
405
|
+
if [[ -d $dir/$rvm_ruby_package_name ]] ; then
|
402
406
|
__rvm_log "info" "Removing $dir/$rvm_ruby_package_name..."
|
403
407
|
rm -rf $dir/$rvm_ruby_package_name
|
404
408
|
else
|
405
409
|
__rvm_log "info" "it seems that $dir/$rvm_ruby_package_name is already non existent."
|
406
410
|
fi
|
407
|
-
if [ -e $rvm_bin_path/$rvm_ruby_package_name ] ; then
|
411
|
+
if [[ -e $rvm_bin_path/$rvm_ruby_package_name ]] ; then
|
408
412
|
rm -f $rvm_bin_path/$rvm_ruby_package_name
|
409
413
|
fi
|
410
414
|
done ; unset dir
|
@@ -416,15 +420,15 @@ function __rvm_remove_ruby {
|
|
416
420
|
function __rvm_post_install {
|
417
421
|
binaries="${binaries:-"gem irb erb ri rdoc testrb rake"}"
|
418
422
|
for binary in $(echo $binaries) ; do
|
419
|
-
if [ -e $rvm_ruby_home/bin/$binary
|
420
|
-
if [ "$rvm_ruby_src_path" != "$rvm_ruby_home"
|
421
|
-
cp -f $rvm_ruby_src_path/bin/$binary $rvm_ruby_home/bin/$binary
|
422
|
-
elif [ -f "$rvm_ruby_gem_home/bin/$binary" ] ; then
|
423
|
-
cp -f $rvm_ruby_gem_home/bin/$binary $rvm_ruby_home/bin/$binary
|
423
|
+
if [[ -e "$rvm_ruby_home/bin/$binary" ]] || [[ -e "$rvm_ruby_src_path/bin/$binary" ]] ; then
|
424
|
+
if [[ "$rvm_ruby_src_path" != "$rvm_ruby_home" ]] && [[ -f "$rvm_ruby_src_path/bin/$binary" ]] ; then
|
425
|
+
cp -f "$rvm_ruby_src_path/bin/$binary" "$rvm_ruby_home/bin/$binary"
|
426
|
+
elif [[ -f "$rvm_ruby_gem_home/bin/$binary" ]] ; then
|
427
|
+
cp -f "$rvm_ruby_gem_home/bin/$binary" "$rvm_ruby_home/bin/$binary"
|
424
428
|
fi
|
425
|
-
__rvm_inject_gem_env $rvm_ruby_home/bin/$binary
|
426
|
-
__rvm_inject_ruby_shebang $rvm_ruby_home/bin/$binary
|
427
|
-
chmod +x $rvm_ruby_home/bin/$binary
|
429
|
+
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
|
430
|
+
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$binary"
|
431
|
+
chmod +x "$rvm_ruby_home/bin/$binary"
|
428
432
|
fi
|
429
433
|
done ; unset binary binaries
|
430
434
|
|
@@ -437,8 +441,8 @@ function __rvm_post_install {
|
|
437
441
|
__rvm_log "info" "Installation of gems for $rvm_ruby_package_name is complete."
|
438
442
|
|
439
443
|
binary=rake
|
440
|
-
if [ -x $rvm_ruby_gem_home/bin/$binary ] ; then
|
441
|
-
if [ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ] ; then
|
444
|
+
if [[ -x $rvm_ruby_gem_home/bin/$binary ]] ; then
|
445
|
+
if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] ; then
|
442
446
|
cp $rvm_ruby_gem_home/bin/$binary $rvm_ruby_home/bin/$binary
|
443
447
|
fi
|
444
448
|
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$binary"
|
@@ -447,7 +451,7 @@ function __rvm_post_install {
|
|
447
451
|
}
|
448
452
|
|
449
453
|
function __rvm_rubygems_setup {
|
450
|
-
if [ ! -z "$(echo $rvm_ruby_version | awk '/^1\.9/')" ] ; then
|
454
|
+
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.9/')" ]] ; then
|
451
455
|
# 1.9 has it's own built-in gem command
|
452
456
|
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/gem"
|
453
457
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
@@ -456,24 +460,24 @@ function __rvm_rubygems_setup {
|
|
456
460
|
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
|
457
461
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
458
462
|
|
459
|
-
elif [ ! -z "$(echo $rvm_ruby_interpreter | awk '/^rbx|jruby/')" ] ; then
|
463
|
+
elif [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^rbx|jruby/')" ]] ; then
|
460
464
|
__rvm_log "debug" "Skipping rubygems update for $rvm_ruby_version"
|
461
465
|
|
462
466
|
else
|
463
467
|
__rvm_log "info" "Installing rubygems dedicated to $rvm_ruby_package_name..."
|
464
468
|
rvm_gem_package_name="rubygems-1.3.5"
|
465
469
|
rvm_gem_url="http://rubyforge.org/frs/download.php/60718/$rvm_gem_package_name.tgz"
|
466
|
-
if [ -d $rvm_src_path/$rvm_gem_package_name ]
|
467
|
-
cd $rvm_src_path/$rvm_gem_package_name
|
470
|
+
if [[ -d "$rvm_src_path/$rvm_gem_package_name" ]] ; then
|
471
|
+
cd "$rvm_src_path/$rvm_gem_package_name"
|
468
472
|
else
|
469
473
|
__rvm_log "info" "Retrieving $rvm_gem_package_name"
|
470
|
-
__rvm_fetch $rvm_gem_url
|
471
|
-
mkdir -p $rvm_src_path/$rvm_gem_package_name
|
474
|
+
__rvm_fetch "$rvm_gem_url"
|
475
|
+
mkdir -p "$rvm_src_path/$rvm_gem_package_name"
|
472
476
|
__rvm_run "rubygems.extract" "tar zxf $rvm_archives_path/$rvm_gem_package_name.tgz -C $rvm_src_path" "Extracting $rvm_gem_package_name"
|
473
477
|
fi
|
474
478
|
__rvm_run "rubygems.install" "GEM_PATH=$rvm_gem_path GEM_HOME=$rvm_ruby_gem_home $rvm_ruby_home/bin/ruby $rvm_src_path/$rvm_gem_package_name/setup.rb" "Installing rubygems for $rvm_ruby_home/bin/ruby"
|
475
479
|
result=$?
|
476
|
-
if [ $result -eq 0 ] ; then
|
480
|
+
if [[ $result -eq 0 ]] ; then
|
477
481
|
__rvm_log "info" "Installation of rubygems $rvm_ruby_package_name completed successfully."
|
478
482
|
else
|
479
483
|
__rvm_log "warning" "Installation of rubygems $rvm_ruby_package_name did not complete successfully."
|
@@ -485,30 +489,30 @@ function __rvm_rubygems_setup {
|
|
485
489
|
|
486
490
|
function __rvm_inject_ruby_shebang {
|
487
491
|
__rvm_actual_file $1
|
488
|
-
if [ -f $actual_file ] ; then
|
492
|
+
if [[ -f "$actual_file" ]] ; then
|
489
493
|
sed -i.orig -e "s=env [j]*ruby=env $rvm_ruby_home/bin/ruby=" $actual_file
|
490
|
-
rm -f $actual_file.orig ; chmod +x $actual_file
|
494
|
+
rm -f $actual_file.orig ; chmod +x "$actual_file"
|
491
495
|
fi ; unset actual_file
|
492
496
|
}
|
493
497
|
|
494
498
|
function __rvm_inject_gem_env {
|
495
499
|
__rvm_actual_file $1
|
496
|
-
if [ -f $actual_file ] ; then
|
497
|
-
if [ ! -z "$(head -n 1 $actual_file | awk '/[j]*ruby/')" ] ; then
|
500
|
+
if [[ -f "$actual_file" ]] ; then
|
501
|
+
if [[ ! -z "$(head -n 1 $actual_file | awk '/[j]*ruby/')" ]] ; then
|
498
502
|
string="ENV['GEM_HOME']=ENV['GEM_HOME'] || '$rvm_ruby_gem_home'\nENV['GEM_PATH']=ENV['GEM_PATH'] || '$rvm_ruby_gem_home'\nENV['PATH']='$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:' + ENV['PATH']"
|
499
|
-
elif [ ! -z "$(head -n 1 $actual_file | awk '/bash/')" ] ; then
|
503
|
+
elif [[ ! -z "$(head -n 1 $actual_file | awk '/bash/')" ]] ; then
|
500
504
|
string="GEM_HOME=\${GEM_HOME:-'$rvm_ruby_gem_home'}\nGEM_PATH=\${GEM_PATH:-'$rvm_ruby_gem_home'}\nPATH=$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:\$PATH"
|
501
505
|
fi
|
502
|
-
if [ ! -z "$string" ] ; then
|
503
|
-
awk "NR==2 {print \"$string\"} {print}" $actual_file > $actual_file.new
|
504
|
-
mv $actual_file.new $actual_file ; chmod +x $actual_file
|
506
|
+
if [[ ! -z "$string" ]] ; then
|
507
|
+
awk "NR==2 {print \"$string\"} {print}" "$actual_file" > "$actual_file.new"
|
508
|
+
mv $actual_file.new $actual_file ; chmod +x "$actual_file"
|
505
509
|
unset string
|
506
510
|
fi
|
507
511
|
fi ; unset actual_file
|
508
512
|
}
|
509
513
|
|
510
514
|
function __rvm_actual_file {
|
511
|
-
if [ -L $1 ] ; then # If the file is a symlink,
|
515
|
+
if [[ -L $1 ]] ; then # If the file is a symlink,
|
512
516
|
actual_file="$(readlink $1)" # read the link target so we can preserve it.
|
513
517
|
else
|
514
518
|
actual_file="$1"
|