rvm 0.1.32 → 0.1.33
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/README +4 -0
- data/binscripts/rvm +1 -1
- data/binscripts/rvm-prompt +1 -1
- data/config/db +20 -10
- data/config/md5 +4 -4
- data/gemsets/default.gems +1 -0
- data/gemsets/global.gems +0 -0
- data/help/info +64 -0
- data/help/wrapper +41 -0
- data/install +62 -64
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +39 -30
- data/scripts/alias +103 -0
- data/scripts/cli +64 -23
- data/scripts/db +9 -2
- data/scripts/docs +57 -0
- data/scripts/env +48 -0
- data/scripts/fetch +1 -1
- data/scripts/gemsets +14 -14
- data/scripts/help +30 -0
- data/scripts/info +142 -0
- data/scripts/initialize +4 -2
- data/scripts/install +62 -64
- data/scripts/list +102 -0
- data/scripts/log +12 -12
- data/scripts/manage +71 -38
- data/scripts/notes +35 -34
- data/scripts/package +4 -4
- data/scripts/rvm +5 -9
- data/scripts/rvm-install +62 -64
- data/scripts/selector +44 -63
- data/scripts/set +8 -8
- data/scripts/update +62 -64
- data/scripts/utility +51 -250
- data/scripts/wrapper +66 -0
- metadata +42 -30
- data/scripts/symlink +0 -18
data/scripts/help
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
source $rvm_scripts_path/initialize
|
4
|
+
|
5
|
+
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
6
|
+
|
7
|
+
trap "if [[ -d $rvm_tmp_path/ ]] && [[ -s $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
|
8
|
+
|
9
|
+
rvm_help_path="${rvm_help_path:-"$rvm_path/help"}"
|
10
|
+
|
11
|
+
command="$(echo $* | awk '{print $1}')"
|
12
|
+
action="$(echo $* | awk '{print $2}')"
|
13
|
+
# Reserved for future use:
|
14
|
+
args=$(echo "$*" | awk '{$1=""; $2="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
15
|
+
|
16
|
+
if [[ ! -z "$command" ]] && [[ -s "${rvm_help_path}/${command}" ]] ; then
|
17
|
+
if [[ ! -z "$action" ]] && [[ -s "${rvm_help_path}/${command}/${action}" ]] ; then
|
18
|
+
cat "${rvm_help_path}/${command}/${action}" | ${PAGER:-less}
|
19
|
+
else
|
20
|
+
cat "${rvm_help_path}/${command}" | ${PAGER:-less}
|
21
|
+
fi
|
22
|
+
else
|
23
|
+
cat "${rvm_path:-$HOME/.rvm}/README" | ${PAGER:-less}
|
24
|
+
$rvm_scripts_path/log "info" "\nCommands available with 'rvm help':\n\n $(builtin cd "${rvm_help_path}" ; \ls | tr "\n" ' ')"
|
25
|
+
fi
|
26
|
+
|
27
|
+
$rvm_scripts_path/log "info" "\nFor additional information please visit RVM's documentation website:\n\n http://rvm.beginrescueend.com/"
|
28
|
+
$rvm_scripts_path/log "info" "\nIf you still cannot find what an answer to your question, find me 'wayneeseguin' in #rvm on irc.freenode.net:\n\n http://webchat.freenode.net/?channels=rvm\n"
|
29
|
+
|
30
|
+
exit $?
|
data/scripts/info
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
source $rvm_scripts_path/initialize
|
4
|
+
source $rvm_scripts_path/utility
|
5
|
+
source $rvm_scripts_path/selector
|
6
|
+
source $rvm_scripts_path/version
|
7
|
+
|
8
|
+
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
9
|
+
rvm_ruby_gem_home="${rvm_ruby_gem_home:-$GEM_HOME}"
|
10
|
+
|
11
|
+
if [[ ! -d "$rvm_ruby_gem_home" ]] && command -v gem > /dev/null 2>&1; then rvm_ruby_gem_home="$(gem env home)" ; fi
|
12
|
+
|
13
|
+
info_system() {
|
14
|
+
rvm_info="$rvm_info\n system:\n uname: \"$(uname -a)\""
|
15
|
+
|
16
|
+
if [[ ! -z "$ZSH_VERSION" ]] ; then
|
17
|
+
rvm_info="$rvm_info\n shell: \"zsh\"\n version: \"$ZSH_VERSION\""
|
18
|
+
fi
|
19
|
+
|
20
|
+
if [[ ! -z "$BASH_VERSION" ]] ; then
|
21
|
+
rvm_info="$rvm_info\n shell: \"bash\"\n version: \"$BASH_VERSION\""
|
22
|
+
fi
|
23
|
+
rvm_info="$rvm_info\n"
|
24
|
+
}
|
25
|
+
|
26
|
+
info_rvm() {
|
27
|
+
rvm_info="$rvm_info\n rvm:"
|
28
|
+
rvm_info="$rvm_info\n type: \"$(head -n 1 < <(type rvm))\""
|
29
|
+
rvm_info="$rvm_info\n version: \"$(__rvm_version | tr "\n" ' ' | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//')\""
|
30
|
+
rvm_info="$rvm_info\n"
|
31
|
+
}
|
32
|
+
|
33
|
+
info_ruby() {
|
34
|
+
ruby=$(command -v ruby)
|
35
|
+
if [[ $? -eq 0 ]] && [[ -x "$ruby" ]] ; then full_version="$($ruby -v)" ; fi
|
36
|
+
rvm_info="$rvm_info\n ruby:"
|
37
|
+
rvm_info="$rvm_info\n interpreter: \"$(printf "${full_version}" | awk '{print $1}')\""
|
38
|
+
rvm_info="$rvm_info\n version: \"$(printf "${full_version}" | awk '{print $2}')\""
|
39
|
+
rvm_info="$rvm_info\n date: \"$(printf "${full_version}" | sed 's/^.*(\([0-9]\{4\}\(-[0-9][0-9]\)\{2\}\).*$/\1/')\""
|
40
|
+
rvm_info="$rvm_info\n platform: \"$(printf "${full_version}" | sed 's/^.*\[//' | sed 's/\].*$//')\""
|
41
|
+
rvm_info="$rvm_info\n patchlevel: \"$(printf "${full_version}" | sed 's/^.*(//' | sed 's/).*$//')\""
|
42
|
+
rvm_info="$rvm_info\n full_version: \"${full_version}\""
|
43
|
+
rvm_info="$rvm_info\n"
|
44
|
+
}
|
45
|
+
|
46
|
+
info_homes() {
|
47
|
+
rvm_info="$rvm_info\n homes:"
|
48
|
+
rvm_info="$rvm_info\n gem: \"${GEM_HOME:-'not set'}\""
|
49
|
+
rvm_info="$rvm_info\n ruby: \"${MY_RUBY_HOME:-'not set'}\""
|
50
|
+
rvm_info="$rvm_info\n"
|
51
|
+
}
|
52
|
+
|
53
|
+
info_binaries() {
|
54
|
+
rvm_info="$rvm_info\n binaries:"
|
55
|
+
rvm_info="$rvm_info\n ruby: \"$(command -v ruby)\""
|
56
|
+
rvm_info="$rvm_info\n irb: \"$(command -v irb)\""
|
57
|
+
rvm_info="$rvm_info\n gem: \"$(command -v gem)\""
|
58
|
+
rvm_info="$rvm_info\n rake: \"$(command -v rake)\""
|
59
|
+
rvm_info="$rvm_info\n"
|
60
|
+
}
|
61
|
+
|
62
|
+
info_environment() {
|
63
|
+
rvm_info="$rvm_info\n environment:"
|
64
|
+
rvm_info="$rvm_info\n GEM_HOME: \"$GEM_HOME\""
|
65
|
+
rvm_info="$rvm_info\n GEM_PATH: \"$GEM_PATH\""
|
66
|
+
rvm_info="$rvm_info\n BUNDLE_PATH: \"$BUNDLE_PATH\""
|
67
|
+
rvm_info="$rvm_info\n MY_RUBY_HOME: \"$MY_RUBY_HOME\""
|
68
|
+
rvm_info="$rvm_info\n IRBRC: \"$IRBRC\""
|
69
|
+
rvm_info="$rvm_info\n RUBYOPT: \"$RUBYOPT\""
|
70
|
+
rvm_info="$rvm_info\n gemset: \"$(printf $GEM_HOME | awk -F${rvm_gemset_separator:-'@'} '{print $2}')\"\n"
|
71
|
+
if [[ ! -z "$MAGLEV_HOME" ]] ; then
|
72
|
+
rvm_info="$rvm_info\n MAGLEV_HOME: \"$MAGLEV_HOME\""
|
73
|
+
fi
|
74
|
+
rvm_info="$rvm_info\n"
|
75
|
+
}
|
76
|
+
|
77
|
+
info_debug() {
|
78
|
+
rvm_info=$(__rvm_version)
|
79
|
+
rvm_info="$rvm_info\n$($rvm_scripts_path/info "$rvm_ruby_string" "" )"
|
80
|
+
rvm_info="$rvm_info\nPATH:\n$(printf $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}' )"
|
81
|
+
rvm_info="$rvm_info\nuname -a: $(uname -a)"
|
82
|
+
rvm_info="$rvm_info\npermissions: $(\ls -la $rvm_path{,/rubies})"
|
83
|
+
|
84
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
85
|
+
rvm_info="$rvm_info\nuname -r: $(uname -r)"
|
86
|
+
rvm_info="$rvm_info\nuname -m: $(uname -m)"
|
87
|
+
rvm_info="$rvm_info\nsw_vers: $(sw_vers | tr "\n" ',')"
|
88
|
+
rvm_info="$rvm_info\nARCHFLAGS: $ARCHFLAGS"
|
89
|
+
rvm_info="$rvm_info\nLDFLAGS: $LDFLAGS"
|
90
|
+
rvm_info="$rvm_info\nCFLAGS: $CFLAGS"
|
91
|
+
rvm_info="$rvm_info\n/Developer/SDKs/*:$(/usr/bin/basename -a /Developer/SDKs/* | tr "\n" ',')"
|
92
|
+
fi
|
93
|
+
|
94
|
+
for file_name in $(echo $rc_files) ; do
|
95
|
+
if [[ -s "$file_name" ]] ; then
|
96
|
+
rvm_info="$rvm_info\n$( "$file_name:\n$(grep 'rvm' $file_name 2>/dev/null)" )"
|
97
|
+
fi
|
98
|
+
done
|
99
|
+
|
100
|
+
if [[ "root" = "$(whoami)" ]] ; then
|
101
|
+
debug_files="$rvm_config_path/alias $rvm_config_path/system $rvm_config_path/db /etc/rvmrc /etc/gemrc"
|
102
|
+
else
|
103
|
+
debug_files="$rvm_config_path/alias $rvm_config_path/system $rvm_config_path/db $HOME/.rvmrc $HOME/.gemrc"
|
104
|
+
fi
|
105
|
+
|
106
|
+
for file_name in $(echo $debug_files); do
|
107
|
+
if [[ -f "$file_name" ]] && [[ -s "$file_name" ]] ; then
|
108
|
+
rvm_info="$rvm_info\n$file_name \(filtered\):\n$(cat $file_name | awk '!/assword|_key/')\n"
|
109
|
+
fi
|
110
|
+
done
|
111
|
+
|
112
|
+
rvm_info="$rvm_info\ngem sources:\n$(gem sources | awk '/gems/')"
|
113
|
+
}
|
114
|
+
|
115
|
+
info_sections() {
|
116
|
+
for section in $(echo $sections | tr ',' ' ') ; do
|
117
|
+
unset rvm_info ; "info_${section}" ; printf "$rvm_info"
|
118
|
+
done
|
119
|
+
}
|
120
|
+
|
121
|
+
args="$*"
|
122
|
+
ruby_strings="$(echo "$args" | awk '{print $1}')"
|
123
|
+
sections=$(echo "$args" | awk '{$1="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
124
|
+
all_sections="system rvm ruby homes binaries environment"
|
125
|
+
|
126
|
+
if $rvm_scripts_path/match "$all_sections debug" "${ruby_strings/,*/}" ; then
|
127
|
+
sections="$ruby_strings"
|
128
|
+
ruby_strings=""
|
129
|
+
fi
|
130
|
+
|
131
|
+
if [[ -z "$sections" ]] ; then sections="$all_sections" ; fi
|
132
|
+
|
133
|
+
if [[ -z "$ruby_strings" ]] ; then
|
134
|
+
printf "${rvm_ruby_string}:\n"
|
135
|
+
info_sections
|
136
|
+
else
|
137
|
+
for ruby_string in $(printf $ruby_strings | tr ',' ' ') ; do
|
138
|
+
rvm_ruby_string="${ruby_string}" ; __rvm_select ; __rvm_use
|
139
|
+
printf "${rvm_ruby_string}:\n"
|
140
|
+
info_sections
|
141
|
+
done
|
142
|
+
fi
|
data/scripts/initialize
CHANGED
@@ -17,14 +17,16 @@ rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
|
17
17
|
rvm_docs_path="${rvm_docs_path:-"$rvm_path/docs"}"
|
18
18
|
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
19
19
|
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
20
|
+
rvm_gemsets_path="${rvm_gemsets_path:-"$rvm_path/gemsets"}"
|
20
21
|
rvm_gems_cache_path="${rvm_gems_cache_path:-"$rvm_gems_path/cache"}"
|
21
22
|
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
22
23
|
rvm_config_path="${rvm_config_path:-"$rvm_path/config"}"
|
24
|
+
rvm_environments_path="${rvm_environments_path:-"$rvm_path/environments"}"
|
25
|
+
rvm_wrappers_path="${rvm_wrappers_path:-"$rvm_path/wrappers"}"
|
23
26
|
rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
|
24
27
|
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
25
28
|
rvm_usr_path="${rvm_usr_path:-"$rvm_path/usr"}"
|
26
|
-
rvm_symlink_path="${rvm_symlink_path:-$rvm_prefix/bin}"
|
27
29
|
rvm_gemset_separator="${rvm_gemset_separator:-"@"}"
|
28
30
|
|
29
|
-
export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator
|
31
|
+
export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator
|
30
32
|
|
data/scripts/install
CHANGED
@@ -11,7 +11,7 @@ source scripts/version
|
|
11
11
|
source scripts/utility
|
12
12
|
|
13
13
|
usage() {
|
14
|
-
|
14
|
+
printf "
|
15
15
|
Usage:
|
16
16
|
${0} [options]
|
17
17
|
|
@@ -27,7 +27,7 @@ spinner_counter=0
|
|
27
27
|
spinner() {
|
28
28
|
array=('/' '-' '\\' '|' '/' '-' '\\' '|')
|
29
29
|
index=$((($spinner_counter % 8)))
|
30
|
-
|
30
|
+
printf "\r${array[$index]}"
|
31
31
|
let "spinner_counter=spinner_counter+1"
|
32
32
|
command -v perl > /dev/null 2>&1 && perl -e 'sleep 0.5'
|
33
33
|
}
|
@@ -86,19 +86,17 @@ rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
|
|
86
86
|
rvm_config_path="${rvm_config_path:-"$rvm_path/config"}"
|
87
87
|
rvm_hooks_path="${rvm_hooks_path:-"$rvm_path/hooks"}"
|
88
88
|
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
89
|
-
rvm_symlink_path="${rvm_symlink_path:-$rvm_prefix/bin}"
|
90
89
|
|
91
90
|
export rvm_gemset_separator="@" # TODO: Remove this after a while.
|
92
91
|
|
93
|
-
|
94
|
-
|
95
|
-
|
92
|
+
printf "\n$(tput setaf 2)RVM:$(tput sgr0) shell scripts which allow management of multiple ruby interpreters and environments."
|
93
|
+
printf "\n$(tput setaf 2)RTFM: $(tput sgr0) http://rvm.beginrescueend.com/"
|
94
|
+
printf "\n$(tput setaf 2)HELP: $(tput sgr0) http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)"
|
96
95
|
|
97
|
-
echo -e "\n********************************************************************************"
|
98
96
|
if [[ "$upgrade_flag" -eq 1 ]] ;then
|
99
|
-
|
97
|
+
printf "\n\n Upgrading the RVM installation in $rvm_path/"
|
100
98
|
else
|
101
|
-
|
99
|
+
printf "\n\n Installing rvm to $rvm_path/"
|
102
100
|
fi
|
103
101
|
|
104
102
|
spinner
|
@@ -150,19 +148,19 @@ chmod +x $rvm_bin_path/*
|
|
150
148
|
#
|
151
149
|
spinner
|
152
150
|
if [[ ! -z "$rvm_auto_flag" ]] ; then
|
153
|
-
|
151
|
+
printf "Checking rc files... ($rvm_rc_files)"
|
154
152
|
if [[ "$rvm_loaded_flag" != "1" ]] ; then
|
155
153
|
for rcfile in $(echo $rvm_rc_files) ; do
|
156
154
|
if [[ ! -f $rcfile ]] ; then touch $rcfile ; fi
|
157
155
|
if [[ -s "$HOME/.profile" ]] ; then
|
158
156
|
if ! grep -q '.profile' "$rcfile" ; then
|
159
157
|
echo " Adding 'if [[ -s \$HOME/.profile ]] ; then source \$HOME ; fi' to $rcfile."
|
160
|
-
|
158
|
+
printf "\n# rvm-install added line:\nif [[ -s \$HOME/.profile ]] ; then source \$HOME/.profile ; fi\n" >> $rcfile
|
161
159
|
fi
|
162
160
|
fi
|
163
161
|
if ! grep -q "scripts\/rvm" "$rcfile" ; then
|
164
162
|
echo " Adding 'if [[ -s $rvm_scripts_path/rvm ]] ; then source $rvm_scripts_path/rvm ; fi' to $rcfile."
|
165
|
-
|
163
|
+
printf "\n# rvm-install added:\nif [[ -s $rvm_scripts_path/rvm ]] ; then source $rvm_scripts_path/rvm ; fi\n" >> $rcfile
|
166
164
|
fi
|
167
165
|
done
|
168
166
|
fi
|
@@ -196,12 +194,12 @@ done
|
|
196
194
|
# Migrate old gemset directories to new gemset pattern.
|
197
195
|
#
|
198
196
|
spinner
|
199
|
-
|
197
|
+
printf "\r*" # Stop spinner.
|
200
198
|
|
201
199
|
for gemset in $rvm_path/gems/*\%* ; do
|
202
200
|
new_path=${gemset/\%/${rvm_gemset_separator}}
|
203
201
|
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
204
|
-
|
202
|
+
printf "\n Renaming $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
205
203
|
mv $gemset $new_path
|
206
204
|
fi
|
207
205
|
done
|
@@ -209,22 +207,26 @@ done
|
|
209
207
|
for gemset in $rvm_path/gems/*\+* ; do
|
210
208
|
new_path=${gemset/\+/${rvm_gemset_separator}}
|
211
209
|
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
212
|
-
|
210
|
+
printf "\n Renaming $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
213
211
|
mv $gemset $new_path
|
214
212
|
fi
|
215
213
|
done
|
216
214
|
for gemset in $rvm_path/gems/*\@ ; do
|
217
215
|
new_path=$(echo $gemset | sed -e 's#\@$##')
|
218
216
|
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
219
|
-
|
217
|
+
printf "\n Fixing: $(basename $gemset) to $(basename $new_path) for new gemset separator."
|
220
218
|
mv $gemset $new_path
|
221
219
|
fi
|
222
220
|
done
|
223
221
|
|
224
|
-
#
|
225
|
-
if [[ -s $rvm_config_path/default ]]
|
226
|
-
|
227
|
-
|
222
|
+
# Move from legacy defaults to the new, alias based system.
|
223
|
+
if [[ -s "$rvm_config_path/default" ]]; then
|
224
|
+
original_version="$(basename "$(grep GEM_HOME "$rvm_config_path/default" | awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator}#")")"
|
225
|
+
if [[ -n "$original_version" ]]; then
|
226
|
+
$rvm_scripts_path/alias create default "$original_version" &> /dev/null
|
227
|
+
fi
|
228
|
+
unset original_version
|
229
|
+
rm -rf "$rvm_config_path/default"
|
228
230
|
fi
|
229
231
|
|
230
232
|
#
|
@@ -232,64 +234,60 @@ fi
|
|
232
234
|
#
|
233
235
|
|
234
236
|
if [[ "root" = "$(whoami)" ]] ; then
|
235
|
-
|
236
|
-
mkdir -p $
|
237
|
-
|
238
|
-
|
239
|
-
chmod +x $rvm_symlink_path/rvm
|
240
|
-
chmod +x $rvm_symlink_path/rvmsudo
|
237
|
+
printf "\n Symlinking rvm to $rvm_bin_path/rvm ..."
|
238
|
+
mkdir -p $rvm_bin_path
|
239
|
+
chmod +x $rvm_bin_path/rvm
|
240
|
+
chmod +x $rvm_bin_path/rvmsudo
|
241
241
|
fi
|
242
242
|
|
243
243
|
if [[ "$upgrade_flag" -eq 0 ]] ; then
|
244
|
-
echo -e "\n********************************************************************************"
|
245
244
|
./scripts/notes
|
246
245
|
fi
|
247
246
|
|
248
|
-
echo -e "\n********************************************************************************"
|
249
247
|
name="$(awk -F= '/^[[:space:]]*name/{print $2}' ~/.gitconfig 2>/dev/null)"
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
echo -e "\n********************************************************************************"
|
248
|
+
printf "\n\n${name:-"$(whoami)"},\n"
|
249
|
+
printf "\nThank you for using rvm. I hope that it makes your work easier and more enjoyable."
|
250
|
+
printf "\nIf you have any questions, issues and/or ideas for improvement please hop in #rvm on irc.freenode.net and let me know."
|
251
|
+
printf "\nMy irc nickname is 'wayneeseguin' and I hang out from ~09:00-17:00EST and again from ~21:00EST-~00:00EST."
|
252
|
+
printf "\nIf I do not respond right away, please hang around after asking your question, I will respond as soon as I am back."
|
253
|
+
printf "\nBe sure to get head often as rvm development happens fast, you can do this by typing 'rvm update --head'."
|
254
|
+
printf "\n w$(tput setaf 2)⦿‿⦿$(tput sgr0)t!"
|
255
|
+
printf "\n ~ Wayne\n"
|
259
256
|
|
260
257
|
if [[ "$upgrade_flag" -eq 1 ]] ; then
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
258
|
+
printf "\n$(tput setaf 6)Upgrade Notes\n"
|
259
|
+
printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
|
260
|
+
printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
|
261
|
+
printf "\n * Do not forget that 'rvm notes' tells you OS dependency packages for installing rubies."
|
262
|
+
printf "\n$(tput sgr0)\n"
|
263
|
+
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
|
266
264
|
else
|
267
265
|
if [[ "root" != "$(whoami)" ]] ; then
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
266
|
+
printf "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
|
267
|
+
printf "\n1) Place the folowing line at the end of your shell's loading files(.bashrc or .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
|
268
|
+
printf "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
|
269
|
+
printf "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
|
270
|
+
printf "\n This means that if you see '[ -z "$PS1" ] && return' then you must change this line to:"
|
271
|
+
printf "\n if [[ ! -z "$PS1" ]] ; then"
|
272
|
+
printf "\n ... original content that was below the && return line ..."
|
273
|
+
printf "\n fi # <= be sure to close the if."
|
274
|
+
printf "\n #EOF .bashrc"
|
275
|
+
printf "\n Be absolutely *sure* to REMOVE the '&& return'."
|
276
|
+
printf "\n If you wish to DRY up your config you can 'source ~/.bashrc' at the top of your .bash_profile."
|
277
|
+
printf "\n placing all non-interactive items in the .bashrc"
|
278
|
+
printf "\n3) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
|
281
279
|
fi
|
282
280
|
if [[ -s $HOME/.bashrc ]] && grep '&& return' $HOME/.bashrc ; then
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
281
|
+
printf "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc."
|
282
|
+
printf "\n This means that if you see '[ -z "\$PS1" ] && return' then you must change this line to:"
|
283
|
+
printf "\n if [[ -n "\$PS1" ]] ; then"
|
284
|
+
printf "\n ... original content that was below the && return line ..."
|
285
|
+
printf "\n fi # <= be sure to close the if."
|
286
|
+
printf "\n #EOF .bashrc"
|
287
|
+
printf "\nEven if you use zsh you should still adjust the .bashrc as above."
|
288
|
+
printf "\nIf you have any questions about this please visit #rvm on irc.freenode.net.\n"
|
291
289
|
fi
|
292
|
-
|
290
|
+
printf "\nInstallation of RVM to $rvm_path/ is complete.\n\n"
|
293
291
|
fi
|
294
292
|
|
295
293
|
exit 0
|
data/scripts/list
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
|
4
|
+
|
5
|
+
# Query for valid rvm ruby strings
|
6
|
+
# This is meant to be used with scripting.
|
7
|
+
__rvm_list_strings() {
|
8
|
+
echo $(\ls $rvm_rubies_path)
|
9
|
+
}
|
10
|
+
|
11
|
+
__rvm_list_default() {
|
12
|
+
strings="$(echo $rvm_ruby_args | awk '{print $2}')"
|
13
|
+
if [[ "$strings" = "string" ]] ; then
|
14
|
+
$rvm_scripts_path/alias show default 2>/dev/null | awk -F"$rvm_gemset_separator" '{print $1}' | xargs basename
|
15
|
+
else
|
16
|
+
if [[ -L "$rvm_rubies_path/default" ]]; then
|
17
|
+
version=$($rvm_scripts_path/alias show default 2>/dev/null | awk -F"$rvm_gemset_separator" '{print $1}' | xargs basename)
|
18
|
+
if [[ ! -z "$version" ]] ; then
|
19
|
+
printf "\n\nDefault Ruby (for new shells)\n"
|
20
|
+
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
21
|
+
printf "\n $(tput setaf 2)$version$(tput sgr0) $string\n"
|
22
|
+
fi ; unset version
|
23
|
+
fi
|
24
|
+
fi
|
25
|
+
}
|
26
|
+
|
27
|
+
__rvm_list_known() {
|
28
|
+
while read -r tag
|
29
|
+
do
|
30
|
+
prefix="$(echo ${tag/\//} | sed 's#^v1_##' | awk -F'_' '{print "(ruby-)1."$1"."$2}' | sed 's#p$##')"
|
31
|
+
echo "${prefix}-t${tag/\//}"
|
32
|
+
unset prefix tag
|
33
|
+
done < <(svn list http://svn.ruby-lang.org/repos/ruby/tags/ | awk '/^v1_[8|9]/')
|
34
|
+
printf "\n(ruby-)1.8.6(-p399)\n(ruby-)1.8.6-head\n(ruby-)1.8.7(-p249)\n(ruby-)1.8.7-head\n(ruby-)1.9.1(-p243)\n(ruby-)1.9.1(-p376)\n(ruby-)1.9.1-head\n(ruby-)1.9.2-preview1\n(ruby-)1.9.2-head\nruby-head\n"
|
35
|
+
printf "\njruby-1.2.0\njruby-1.3.1\njruby-1.4.0\njruby(-1.5.0) # the default\njruby-head"
|
36
|
+
printf "\nrbx(-1.0.0) # default\nrbx-head"
|
37
|
+
printf "\nree-1.8.6\nree(-1.8.7) # the default\nree-1.8.6-head\nree-1.8.7-head"
|
38
|
+
printf "\nmaglev(-23530)\nmaglev-head"
|
39
|
+
printf "\nmput(-head) # shyouhei head, the default mput"
|
40
|
+
printf "\nironruby-0.9.3\nironruby-1.0-rc2\nironruby-head"
|
41
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
42
|
+
printf "\nmacruby(-nightly) # the default macruby\nmacruby-head # Build from the macruby git repository"
|
43
|
+
fi
|
44
|
+
}
|
45
|
+
|
46
|
+
__rvm_list_rubies() {
|
47
|
+
echo
|
48
|
+
ruby=$(command -v ruby) ; current_ruby=""
|
49
|
+
if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo $ruby | awk '/rvm/')" ]] ; then
|
50
|
+
current_ruby="$(echo $ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null)"
|
51
|
+
fi
|
52
|
+
|
53
|
+
printf "rvm rubies\n"
|
54
|
+
for version in $(\ls $rvm_rubies_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
|
55
|
+
if [[ ! -z "$(echo $version | awk '/^jruby-/')" ]] ; then
|
56
|
+
string="[ $($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}') ]"
|
57
|
+
elif [[ ! -z "$(echo $version | awk '/^maglev-|^macruby-/')" ]] ; then
|
58
|
+
string="[ x86_64 ]"
|
59
|
+
else
|
60
|
+
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
61
|
+
fi
|
62
|
+
printf "\n"
|
63
|
+
if [[ "$version" = "$current_ruby" ]]; then
|
64
|
+
printf "=> "
|
65
|
+
else
|
66
|
+
printf " "
|
67
|
+
fi
|
68
|
+
printf "$(tput setaf 2)$version$(tput sgr0) $string"
|
69
|
+
done ; unset version
|
70
|
+
|
71
|
+
if [[ -f "$rvm_config_path/default" ]] && [[ -s $rvm_config_path/default ]] ; then
|
72
|
+
version=$(grep 'MY_RUBY_HOME' $rvm_config_path/default | head -n 1 | awk -F"'" '{print $2}' | xargs basename)
|
73
|
+
if [[ ! -z "$version" ]] ; then
|
74
|
+
printf "\n\nDefault Ruby (for new shells)\n"
|
75
|
+
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
76
|
+
printf "\n $(tput setaf 2)$version$(tput sgr0) $string"
|
77
|
+
fi ; unset version
|
78
|
+
fi
|
79
|
+
printf "\n"
|
80
|
+
|
81
|
+
unset current_ruby version selected system_ruby system_version string binary
|
82
|
+
echo
|
83
|
+
}
|
84
|
+
|
85
|
+
# List all rvm installed rubies, default ruby and system ruby.
|
86
|
+
# Display the rubies, indicate their architecture and indicate which is currently used.
|
87
|
+
# This is not meant to be used with scripting. This is for interactive mode usage only.
|
88
|
+
action="$(echo "$1" | awk '{print $1}')"
|
89
|
+
|
90
|
+
if [[ "known" = "$action" ]] ; then
|
91
|
+
__rvm_list_known
|
92
|
+
elif [[ "default" = "$action" ]] ; then
|
93
|
+
__rvm_list_default
|
94
|
+
elif [[ -z "$action" ]] || [[ "rubies" = "$action" ]] ; then
|
95
|
+
__rvm_list_rubies
|
96
|
+
elif [[ "strings" = "$action" ]] ; then
|
97
|
+
__rvm_list_strings
|
98
|
+
else # help
|
99
|
+
printf "\nUsage: rvm list {known,default,rubies,strings}"
|
100
|
+
fi
|
101
|
+
|
102
|
+
exit $?
|