rvm 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/VERSION.yml +1 -1
- data/lib/rvm/environment.rb +1 -1
- data/lib/rvm/shell/shell_wrapper.sh +1 -1
- data/rvm.gemspec +3 -110
- metadata +4 -111
- data/binscripts/rvm +0 -76
- data/binscripts/rvm-auto-ruby +0 -24
- data/binscripts/rvm-prompt +0 -208
- data/binscripts/rvm-shell +0 -35
- data/binscripts/rvm-update-head +0 -58
- data/binscripts/rvm-update-latest +0 -27
- data/binscripts/rvmsudo +0 -20
- data/config/db +0 -71
- data/config/known +0 -54
- data/config/md5 +0 -139
- data/contrib/gemset_snapshot +0 -25
- data/contrib/install-system-wide +0 -221
- data/contrib/r +0 -44
- data/examples/rvmrc +0 -49
- data/gemsets/default.gems +0 -1
- data/gemsets/global.gems +0 -1
- data/help/alias +0 -46
- data/help/benchmark +0 -17
- data/help/cleanup +0 -23
- data/help/debug +0 -8
- data/help/disk-usage +0 -15
- data/help/docs +0 -22
- data/help/exec +0 -33
- data/help/fetch +0 -5
- data/help/gem +0 -0
- data/help/gemdir +0 -0
- data/help/gemset +0 -14
- data/help/implode +0 -0
- data/help/info +0 -62
- data/help/install +0 -0
- data/help/list +0 -0
- data/help/migrate +0 -15
- data/help/monitor +0 -0
- data/help/notes +0 -0
- data/help/package +0 -0
- data/help/rake +0 -14
- data/help/remove +0 -0
- data/help/repair +0 -23
- data/help/reset +0 -0
- data/help/ruby +0 -84
- data/help/rubygems +0 -11
- data/help/rvmrc +0 -34
- data/help/snapshot +0 -15
- data/help/specs +0 -0
- data/help/srcdir +0 -0
- data/help/tests +0 -0
- data/help/tools +0 -22
- data/help/uninstall +0 -0
- data/help/update +0 -0
- data/help/upgrade +0 -18
- data/help/use +0 -0
- data/help/wrapper +0 -41
- data/install +0 -667
- data/man/man1/rvm.1 +0 -380
- data/man/man1/rvm.1.gz +0 -0
- data/scripts/alias +0 -226
- data/scripts/aliases +0 -4
- data/scripts/array +0 -32
- data/scripts/base +0 -57
- data/scripts/cd +0 -94
- data/scripts/cleanup +0 -58
- data/scripts/cli +0 -798
- data/scripts/color +0 -49
- data/scripts/completion +0 -151
- data/scripts/db +0 -87
- data/scripts/default +0 -64
- data/scripts/disk-usage +0 -60
- data/scripts/docs +0 -115
- data/scripts/env +0 -46
- data/scripts/environment-convertor +0 -74
- data/scripts/fetch +0 -231
- data/scripts/gemsets +0 -1045
- data/scripts/get +0 -126
- data/scripts/hash +0 -37
- data/scripts/help +0 -46
- data/scripts/hook +0 -23
- data/scripts/info +0 -213
- data/scripts/initialize +0 -29
- data/scripts/install +0 -667
- data/scripts/irbrc +0 -13
- data/scripts/irbrc.rb +0 -64
- data/scripts/list +0 -315
- data/scripts/log +0 -38
- data/scripts/maglev +0 -193
- data/scripts/manage +0 -2157
- data/scripts/match +0 -6
- data/scripts/md5 +0 -22
- data/scripts/migrate +0 -175
- data/scripts/monitor +0 -105
- data/scripts/notes +0 -140
- data/scripts/override_gem +0 -14
- data/scripts/package +0 -302
- data/scripts/patches +0 -64
- data/scripts/patchsets +0 -87
- data/scripts/repair +0 -199
- data/scripts/rubygems +0 -157
- data/scripts/rvm +0 -128
- data/scripts/rvm-install +0 -667
- data/scripts/selector +0 -904
- data/scripts/set +0 -301
- data/scripts/snapshot +0 -262
- data/scripts/tools +0 -58
- data/scripts/update +0 -667
- data/scripts/upgrade +0 -144
- data/scripts/utility +0 -1499
- data/scripts/version +0 -17
- data/scripts/wrapper +0 -210
data/scripts/irbrc
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
|
2
|
-
# This loads some niceties for irb, courtesy of rvm.
|
3
|
-
# It also loads your custom ~/.irbrc if it exists.
|
4
|
-
# If you want to customize the irbrc for ONLY this version of
|
5
|
-
# ruby then edit this file. It will only be deleted if you do
|
6
|
-
# an "rvm install" over this ruby version.
|
7
|
-
|
8
|
-
if ENV["rvm_path"].nil?
|
9
|
-
require File.join(ENV["HOME"], "irbrc")
|
10
|
-
else
|
11
|
-
require File.join(ENV["rvm_path"], "scripts", "irbrc")
|
12
|
-
end
|
13
|
-
|
data/scripts/irbrc.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
# This is the common irbrc file used by all rvm ruby installations.
|
2
|
-
# This file will be overriden every time you update rvm.
|
3
|
-
|
4
|
-
# Turn on completion.
|
5
|
-
begin
|
6
|
-
require "readline"
|
7
|
-
|
8
|
-
require "irb/completion" rescue nil
|
9
|
-
|
10
|
-
# Turn on history saving.
|
11
|
-
# require "irb/ext/save-history"
|
12
|
-
# IRB.conf[:HISTORY_FILE] = File.join(ENV["HOME"], ".irb-history")
|
13
|
-
|
14
|
-
# Use an alternate way to on history saving until save-history is fixed.
|
15
|
-
#
|
16
|
-
# bug: http://redmine.ruby-lang.org/issues/show/1556
|
17
|
-
# patch: http://pastie.org/513500
|
18
|
-
#
|
19
|
-
# This technique was adopted from /etc/irbrc on OS X.
|
20
|
-
histfile = File.expand_path(".irb-history", ENV["HOME"])
|
21
|
-
|
22
|
-
if File.exists?(histfile)
|
23
|
-
lines = IO.readlines(histfile).collect { |line| line.chomp }
|
24
|
-
Readline::HISTORY.push(*lines)
|
25
|
-
end
|
26
|
-
|
27
|
-
Kernel::at_exit do
|
28
|
-
maxhistsize = 100
|
29
|
-
histfile = File::expand_path(".irb-history", ENV["HOME"])
|
30
|
-
lines = Readline::HISTORY.to_a.reverse.uniq.reverse
|
31
|
-
lines = lines[-maxhistsize, maxhistsize] if lines.compact.length > maxhistsize
|
32
|
-
File::open(histfile, "w+") { |io| io.puts lines.join("\n") }
|
33
|
-
end
|
34
|
-
|
35
|
-
rescue LoadError
|
36
|
-
puts "Readline was unable to be required, if you need completion or history install readline then reinstall the ruby.\nYou may follow 'rvm notes' for dependencies and/or read the docs page http://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries."
|
37
|
-
end
|
38
|
-
|
39
|
-
# Calculate the ruby string.
|
40
|
-
rvm_ruby_string = ENV["rvm_ruby_string"] || `rvm tools identifier`.strip.split("@", 2)[0]
|
41
|
-
|
42
|
-
# Set up the prompt to be RVM specific.
|
43
|
-
@prompt = {
|
44
|
-
:PROMPT_I => "#{rvm_ruby_string} > ", # default prompt
|
45
|
-
:PROMPT_S => "#{rvm_ruby_string}%l> ", # known continuation
|
46
|
-
:PROMPT_C => "#{rvm_ruby_string} > ",
|
47
|
-
:PROMPT_N => "#{rvm_ruby_string} ?> ", # unknown continuation
|
48
|
-
:RETURN => " => %s \n",
|
49
|
-
:AUTO_INDENT => true
|
50
|
-
}
|
51
|
-
IRB.conf[:PROMPT] ||= {}
|
52
|
-
IRB.conf[:PROMPT][:RVM] = @prompt
|
53
|
-
IRB.conf[:PROMPT_MODE] = :RVM
|
54
|
-
|
55
|
-
# Load the user's irbrc file, if possible.
|
56
|
-
# Report any errors that occur.
|
57
|
-
begin
|
58
|
-
load File.join(ENV["HOME"], ".irbrc") if File.exists?("#{ENV["HOME"]}/.irbrc")
|
59
|
-
rescue LoadError => load_error
|
60
|
-
puts load_error
|
61
|
-
rescue => exception
|
62
|
-
puts "Error : 'load #{ENV["HOME"]}/.irbrc' : #{exception.message}"
|
63
|
-
end
|
64
|
-
|
data/scripts/list
DELETED
@@ -1,315 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
rvm_base_except="selector"
|
4
|
-
|
5
|
-
source "$rvm_path/scripts/base"
|
6
|
-
|
7
|
-
usage()
|
8
|
-
{
|
9
|
-
printf "
|
10
|
-
Usage:
|
11
|
-
|
12
|
-
rvm list [action]
|
13
|
-
|
14
|
-
Actions:
|
15
|
-
|
16
|
-
{help,known,gemsets,default [string],rubies,strings,known_strings,ruby_svn_tags}
|
17
|
-
|
18
|
-
"
|
19
|
-
|
20
|
-
return 0
|
21
|
-
}
|
22
|
-
|
23
|
-
list_gemsets()
|
24
|
-
{
|
25
|
-
local all_rubies version versions ruby_version_name current_ruby selected system_ruby system_version string binary
|
26
|
-
|
27
|
-
if [[ "${1:-""}" = "strings" ]]; then
|
28
|
-
list_gemset_strings
|
29
|
-
return 0
|
30
|
-
fi
|
31
|
-
|
32
|
-
current_ruby="$(__rvm_environment_identifier)"
|
33
|
-
|
34
|
-
all_rubies="$(list_strings)"
|
35
|
-
|
36
|
-
printf "\nrvm gemsets\n"
|
37
|
-
|
38
|
-
versions=($(builtin cd "${rvm_gems_path:-"$rvm_path/gems"}/" ; find . -maxdepth 1 -mindepth 1 -type d -print 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}'))
|
39
|
-
|
40
|
-
for version in "${versions[@]//.\/}" ; do
|
41
|
-
|
42
|
-
ruby_version_name="$(echo "$version" | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')"
|
43
|
-
|
44
|
-
[[ "$all_rubies" != *"$ruby_version_name"* ]] && continue
|
45
|
-
|
46
|
-
if echo "$version" | grep -q '^jruby-' ; then
|
47
|
-
string="[ $("$rvm_path/rubies/$ruby_version_name/bin/ruby" -v | awk '{print $NF}' | sed -e 's/\[//' -e 's/\]//') ]"
|
48
|
-
|
49
|
-
elif [[ -n "$(echo "$version" | awk '/^maglev-|^macruby-/')" ]] ; then
|
50
|
-
string="[ x86_64 ]"
|
51
|
-
|
52
|
-
else
|
53
|
-
string="[ $(file "$rvm_path/rubies/$ruby_version_name/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
54
|
-
fi
|
55
|
-
|
56
|
-
printf "\n"
|
57
|
-
|
58
|
-
if [[ "$version" = "$current_ruby" ]]; then
|
59
|
-
printf "=> "
|
60
|
-
else
|
61
|
-
printf " "
|
62
|
-
fi
|
63
|
-
|
64
|
-
if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then
|
65
|
-
|
66
|
-
printf "$(tput setaf 2)$version$(tput sgr0) $string"
|
67
|
-
else
|
68
|
-
printf "$version $string"
|
69
|
-
fi
|
70
|
-
|
71
|
-
done
|
72
|
-
|
73
|
-
if [[ -f "$rvm_path/config/default" && -s "$rvm_path/config/default" ]] ; then
|
74
|
-
|
75
|
-
version=$(grep 'MY_RUBY_HOME' "$rvm_path/config/default" | head -n1 | awk -F"'" '{print $2}' | xargs basename --)
|
76
|
-
|
77
|
-
if [[ -n "$version" ]] ; then
|
78
|
-
|
79
|
-
printf "\nDefault Ruby (for new shells)\n"
|
80
|
-
|
81
|
-
string="[ $(file "$rvm_path/rubies/$version/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
82
|
-
|
83
|
-
if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then
|
84
|
-
|
85
|
-
printf "\n $(tput setaf 2)$version$(tput sgr0) $string\n"
|
86
|
-
else
|
87
|
-
printf "\n $version $string\n"
|
88
|
-
fi
|
89
|
-
|
90
|
-
fi
|
91
|
-
|
92
|
-
fi
|
93
|
-
|
94
|
-
printf "\n\n"
|
95
|
-
|
96
|
-
return 0
|
97
|
-
}
|
98
|
-
|
99
|
-
list_default()
|
100
|
-
{
|
101
|
-
|
102
|
-
local version string
|
103
|
-
|
104
|
-
if [[ "${args[0]:-""}" = "string" ]] ; then
|
105
|
-
|
106
|
-
"$rvm_path/scripts/alias" show default 2>/dev/null | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}' | xargs basename --
|
107
|
-
|
108
|
-
else
|
109
|
-
if [[ -L "$rvm_path/rubies/default" ]]; then
|
110
|
-
|
111
|
-
version=$("$rvm_path/scripts/alias" show default 2>/dev/null | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}' | xargs basename --)
|
112
|
-
|
113
|
-
if [[ -n "$version" ]] ; then
|
114
|
-
|
115
|
-
printf "\nDefault Ruby (for new shells)\n"
|
116
|
-
|
117
|
-
string="[ $(file "$rvm_path/rubies/$version/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | \tr "\n" ' ')]"
|
118
|
-
|
119
|
-
if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then
|
120
|
-
|
121
|
-
printf "\n $(tput setaf 2)$version$(tput sgr0) $string\n"
|
122
|
-
|
123
|
-
else
|
124
|
-
printf "\n $version $string\n"
|
125
|
-
fi
|
126
|
-
fi
|
127
|
-
fi
|
128
|
-
fi
|
129
|
-
|
130
|
-
printf "\n"
|
131
|
-
|
132
|
-
return 0
|
133
|
-
}
|
134
|
-
|
135
|
-
list_ruby_svn_tags()
|
136
|
-
{
|
137
|
-
local prefix tag
|
138
|
-
|
139
|
-
while read -r tag
|
140
|
-
do
|
141
|
-
prefix="$(echo ${tag/\//} | sed 's#^v1_##' | awk -F'_' '{print "(ruby-)1."$1"."$2}' | sed 's#p$##')"
|
142
|
-
|
143
|
-
echo "${prefix}-t${tag/\//}"
|
144
|
-
|
145
|
-
done < <(svn list http://svn.ruby-lang.org/repos/ruby/tags/ | awk '/^v1_[8|9]/')
|
146
|
-
|
147
|
-
return 0
|
148
|
-
}
|
149
|
-
|
150
|
-
# Query for valid rvm ruby strings
|
151
|
-
# This is meant to be used with scripting.
|
152
|
-
list_strings()
|
153
|
-
{
|
154
|
-
(
|
155
|
-
cd "$rvm_path/rubies"
|
156
|
-
|
157
|
-
find . -maxdepth 1 -mindepth 1 -type d | sed -e 's#./##g'
|
158
|
-
)
|
159
|
-
|
160
|
-
return $?
|
161
|
-
}
|
162
|
-
|
163
|
-
# This is meant to be used with scripting.
|
164
|
-
list_gemset_strings()
|
165
|
-
{
|
166
|
-
local all_rubies ruby_name gemset gemsets
|
167
|
-
|
168
|
-
all_rubies="$(list_strings)"
|
169
|
-
|
170
|
-
gemsets=($(builtin cd "${rvm_gems_path:-"$rvm_path/gems"}" ; find . -maxdepth 1 -mindepth 1 -type d 2>/dev/null | xargs -n1 basename -- | \grep -v '^\(@\|doc$\|cache$\|system$\)' | sort))
|
171
|
-
|
172
|
-
for gemset in "${gemsets[@]//.\/}" ; do
|
173
|
-
|
174
|
-
ruby_name="${gemset//${rvm_gemset_separator:-"@"}*}"
|
175
|
-
|
176
|
-
[[ "$all_rubies" != *"$ruby_name"* ]] && continue
|
177
|
-
|
178
|
-
echo "$gemset"
|
179
|
-
done
|
180
|
-
|
181
|
-
return 0
|
182
|
-
}
|
183
|
-
|
184
|
-
# This is meant to be used with scripting.
|
185
|
-
list_known_strings()
|
186
|
-
{
|
187
|
-
sed -e 's/#.*$//g' -e 's#\[##g' -e 's#\]##g' < "$rvm_path/config/known" | sort -r | uniq
|
188
|
-
|
189
|
-
return $?
|
190
|
-
}
|
191
|
-
|
192
|
-
list_known()
|
193
|
-
{
|
194
|
-
if [[ "${1:-""}" = "strings" ]]; then
|
195
|
-
|
196
|
-
list_known_strings
|
197
|
-
|
198
|
-
return 0
|
199
|
-
fi
|
200
|
-
|
201
|
-
if [[ ${rvm_interactive_flag:-0} -eq 0 ]] ; then
|
202
|
-
|
203
|
-
cat "$rvm_path/config/known"
|
204
|
-
|
205
|
-
else
|
206
|
-
|
207
|
-
eval "${PAGER:-less -X} '$rvm_path/config/known'"
|
208
|
-
|
209
|
-
fi
|
210
|
-
|
211
|
-
return $?
|
212
|
-
}
|
213
|
-
|
214
|
-
list_rubies_strings()
|
215
|
-
{
|
216
|
-
( builtin cd "$rvm_path/rubies" ; find -maxdepth 0 -type d | tail -n+2 | xargs -n1 basename -- | __rvm_strip )
|
217
|
-
|
218
|
-
return $?
|
219
|
-
}
|
220
|
-
|
221
|
-
list_rubies()
|
222
|
-
{
|
223
|
-
local current_ruby rubies version selected system_ruby system_version string binary
|
224
|
-
|
225
|
-
if [[ "${1:-""}" = "strings" ]]; then list_rubies_strings ; return 0 ; fi
|
226
|
-
|
227
|
-
current_ruby="$(__rvm_environment_identifier | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')"
|
228
|
-
|
229
|
-
printf "\nrvm rubies\n"
|
230
|
-
|
231
|
-
rubies=($(builtin cd "$rvm_path/rubies/" ; find . -maxdepth 1 -mindepth 1 -type d 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}'))
|
232
|
-
|
233
|
-
for version in "${rubies[@]//.\/}" ; do
|
234
|
-
|
235
|
-
[[ ! -x "$rvm_path/rubies/$version/bin/ruby" ]] && continue
|
236
|
-
|
237
|
-
if echo "$version" | grep -q '^jruby-' ; then
|
238
|
-
|
239
|
-
string="[ $("$rvm_path/rubies/$version/bin/ruby" -v | awk '{print $NF}' | sed -e 's/\[//' -e 's/\]//') ]"
|
240
|
-
|
241
|
-
elif [[ ! -z "$(echo "$version" | awk '/^maglev-|^macruby-/')" ]] ; then
|
242
|
-
|
243
|
-
string="[ x86_64 ]"
|
244
|
-
|
245
|
-
else
|
246
|
-
|
247
|
-
string="[ $(file "$rvm_path/rubies/$version/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
248
|
-
fi
|
249
|
-
|
250
|
-
printf "\n"
|
251
|
-
|
252
|
-
if [[ "$version" = "$current_ruby" ]]; then
|
253
|
-
printf "=> "
|
254
|
-
else
|
255
|
-
printf " "
|
256
|
-
fi
|
257
|
-
|
258
|
-
# TODO: Only use tput for interactive terminal sessions.
|
259
|
-
if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then
|
260
|
-
|
261
|
-
printf "$(tput setaf 2)$version$(tput sgr0) $string"
|
262
|
-
else
|
263
|
-
printf "$version $string"
|
264
|
-
fi
|
265
|
-
|
266
|
-
done
|
267
|
-
|
268
|
-
if [[ -f "$rvm_path/config/default" ]] && [[ -s "$rvm_path/config/default" ]] ; then
|
269
|
-
|
270
|
-
version=$(grep 'MY_RUBY_HOME' "$rvm_path/config/default" | head -n 1 | awk -F"'" '{print $2}' | xargs basename --)
|
271
|
-
|
272
|
-
if [[ -n "$version" ]] ; then
|
273
|
-
|
274
|
-
printf "Default Ruby (for new shells)\n"
|
275
|
-
|
276
|
-
string="[ $(file "$rvm_path/rubies/$version/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | \tr "\n" ' ')]"
|
277
|
-
|
278
|
-
if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then
|
279
|
-
printf " $(tput setaf 2)$version$(tput sgr0) $string\n"
|
280
|
-
else
|
281
|
-
printf " $version $string\n"
|
282
|
-
fi
|
283
|
-
|
284
|
-
fi
|
285
|
-
|
286
|
-
fi
|
287
|
-
|
288
|
-
printf "\n\n"
|
289
|
-
|
290
|
-
return 0
|
291
|
-
}
|
292
|
-
|
293
|
-
# List all rvm installed rubies, default ruby and system ruby.
|
294
|
-
# Display the rubies, indicate their architecture and indicate which is currently used.
|
295
|
-
# This is not meant to be used with scripting. This is for interactive mode usage only.
|
296
|
-
args=($*)
|
297
|
-
action="${args[0]:-""}"
|
298
|
-
args=${args[@]:1} # Strip trailing / leading / extra spacing.
|
299
|
-
|
300
|
-
|
301
|
-
if [[ -z "$action" ]] ; then list_rubies ; exit 0 ; fi
|
302
|
-
|
303
|
-
case "$action" in
|
304
|
-
known) list_known ;;
|
305
|
-
known_strings) list_known_strings ;;
|
306
|
-
gemsets) list_gemsets "$args" ;;
|
307
|
-
default) list_default ;;
|
308
|
-
rubies) list_rubies "$args" ;;
|
309
|
-
strings) list_strings ;;
|
310
|
-
ruby_svn_tags) list_ruby_svn_tags ;;
|
311
|
-
help) usage ;;
|
312
|
-
*) usage ; exit 1 ;;
|
313
|
-
esac
|
314
|
-
|
315
|
-
exit $?
|
data/scripts/log
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
# When rvm_silence_logging is set, don't show anything.
|
4
|
-
[[ -n "$rvm_silence_logging" ]] && exit 0
|
5
|
-
|
6
|
-
if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
|
7
|
-
|
8
|
-
if [[ ! -z "$2" ]] ; then level=$1 ; shift ; else level="info" ; fi
|
9
|
-
|
10
|
-
message="${1//\%/%%}"
|
11
|
-
|
12
|
-
if [[ ${rvm_pretty_print_flag:-0} -eq 0 ]] ; then
|
13
|
-
|
14
|
-
if [[ ${rvm_verbose_flag:-0} -gt 0 && -n "$level" ]] ; then
|
15
|
-
message="$level: $message"
|
16
|
-
fi
|
17
|
-
|
18
|
-
case "$level" in
|
19
|
-
info) printf -- "${message#*: }\n" ;;
|
20
|
-
debug|warn) printf -- "$message\n" ;;
|
21
|
-
error|fail) printf -- "$message\n" >&2 ;;
|
22
|
-
*) printf "$message\n"
|
23
|
-
esac
|
24
|
-
|
25
|
-
else
|
26
|
-
|
27
|
-
case "$level" in
|
28
|
-
debug) printf -- "$(tput setaf 5)$level$(tput sgr0): $message\n" ;;
|
29
|
-
info) printf -- "$(tput setaf 2)$level$(tput sgr0): $message\n" ;;
|
30
|
-
warn) printf -- "$(tput setaf 3)$level$(tput sgr0): $message\n" ;;
|
31
|
-
error) printf -- "$(tput setaf 1)$level$(tput sgr0): $message\n" >&2 ;;
|
32
|
-
fail) printf -- "$(tput setaf 1)$level$(tput sgr0): $message\n" >&2 ;;
|
33
|
-
*) printf -- "$message\n"
|
34
|
-
esac
|
35
|
-
|
36
|
-
fi
|
37
|
-
|
38
|
-
exit 0
|
data/scripts/maglev
DELETED
@@ -1,193 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
|
4
|
-
|
5
|
-
system="$(uname -s)"
|
6
|
-
if [[ $system = "SunOS" ]] && [[ "$(uname -m)" = "i86pc" ]] ; then system="Solaris-x86" ; fi
|
7
|
-
version="MagLev-${1}.${system}"
|
8
|
-
gsname="GemStone-${1}.${system}"
|
9
|
-
zipfile=${version}.zip
|
10
|
-
|
11
|
-
# Check we're on a suitable 64-bit machine
|
12
|
-
case "$system" in
|
13
|
-
Linux)
|
14
|
-
if [[ "$(uname -sm)" != "Linux x86_64" ]]; then
|
15
|
-
"$rvm_path/scripts/log" "error" "This script only works on a 64-bit Linux OS."
|
16
|
-
echo "The result from \"uname -sm\" is \"`uname -sm`\" not \"Linux x86_64\""
|
17
|
-
exit 1
|
18
|
-
fi
|
19
|
-
;;
|
20
|
-
Darwin)
|
21
|
-
system_version="$(sw_vers -productVersion)"
|
22
|
-
MAJOR="$(echo $system_version | cut -f1 -d.)"
|
23
|
-
MINOR="$(echo $system_version | cut -f2 -d.)"
|
24
|
-
CPU_TYPE="$(uname -p)"
|
25
|
-
CPU_CAPABLE="$(sysctl hw.cpu64bit_capable | cut -f2 -d' ')"
|
26
|
-
#
|
27
|
-
# Check the CPU and Mac OS profile.
|
28
|
-
if [[ $CPU_TYPE != "i386" || $CPU_CAPABLE -ne 1 || $MAJOR -lt 10 || $MINOR -lt 5 ]] ; then
|
29
|
-
"$rvm_path/scripts/log" "error" "This script requires Mac OS 10.5 or later on a 64-bit Intel CPU."
|
30
|
-
exit 1
|
31
|
-
fi
|
32
|
-
;;
|
33
|
-
Solaris-x86)
|
34
|
-
if [[ "$(uname -sm)" != "SunOS i86pc" ]]; then
|
35
|
-
"$rvm_path/scripts/log" "error" "This script only works on a 64-bit Solaris-x86 OS."
|
36
|
-
echo "The result from \"uname -sm\" is \"`uname -sm`\" not \"SunOS i86pc\""
|
37
|
-
exit 1
|
38
|
-
fi
|
39
|
-
;;
|
40
|
-
*)
|
41
|
-
"$rvm_path/scripts/log" "error" "This script only works on a 64-bit Linux, Mac OS X, or Solaris-x86 machine"
|
42
|
-
echo "The result from \"uname -sm\" is \"`uname -sm`\""
|
43
|
-
exit 1
|
44
|
-
;;
|
45
|
-
esac
|
46
|
-
|
47
|
-
# We should run this as a normal user, not root.
|
48
|
-
if [[ `id | cut -f2 -d= | cut -f1 -d\(` -eq 0 ]]; then
|
49
|
-
"$rvm_path/scripts/log" "error" "This script should be run as a normal user, not root."
|
50
|
-
exit 1
|
51
|
-
fi
|
52
|
-
|
53
|
-
# Check that the current directory is writable
|
54
|
-
if [[ ! -w "." ]]; then
|
55
|
-
"$rvm_path/scripts/log" "error" "This script requires write permission on your current directory."
|
56
|
-
\ls -ld $PWD
|
57
|
-
exit 1
|
58
|
-
fi
|
59
|
-
|
60
|
-
# We're good to go. Let user know.
|
61
|
-
machine_name="`uname -n`"
|
62
|
-
"$rvm_path/scripts/log" "info" "Starting installation of $version on $machine_name"
|
63
|
-
|
64
|
-
# Figure out how much total memory is installed
|
65
|
-
"$rvm_path/scripts/log" "info" "Setting up shared memory"
|
66
|
-
#
|
67
|
-
# Ref: http://wiki.finkproject.org/index.php/Shared_Memory_Regions_on_Darwin
|
68
|
-
# Ref: http://developer.postgresql.org/pgdocs/postgres/kernel-resources.html
|
69
|
-
# Ref: http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_8.shtml
|
70
|
-
#
|
71
|
-
case "$system" in
|
72
|
-
Linux)
|
73
|
-
# use TotalMem: kB because Ubuntu doesn't have Mem: in Bytes
|
74
|
-
totalMemKB=`awk '/MemTotal:/{print($2);}' /proc/meminfo`
|
75
|
-
totalMem=$(($totalMemKB * 1024))
|
76
|
-
# Figure out the max shared memory segment size currently allowed
|
77
|
-
shmmax=`cat /proc/sys/kernel/shmmax`
|
78
|
-
# Figure out the max shared memory currently allowed
|
79
|
-
shmall=`cat /proc/sys/kernel/shmall`
|
80
|
-
;;
|
81
|
-
Darwin)
|
82
|
-
totalMem="`sysctl hw.memsize | cut -f2 -d' '`"
|
83
|
-
# Figure out the max shared memory segment size currently allowed
|
84
|
-
shmmax="`sysctl kern.sysv.shmmax | cut -f2 -d' '`"
|
85
|
-
# Figure out the max shared memory currently allowed
|
86
|
-
shmall="`sysctl kern.sysv.shmall | cut -f2 -d' '`"
|
87
|
-
;;
|
88
|
-
Solaris-x86)
|
89
|
-
# TODO: figure memory needs for Solaris-x86
|
90
|
-
# Investigate project.max-shm-memory
|
91
|
-
totalMemMB="`/usr/sbin/prtconf | \grep Memory | cut -f3 -d' '`"
|
92
|
-
totalMem=$(($totalMemMB * 1048576))
|
93
|
-
shmmax=$(($totalMem / 4))
|
94
|
-
shmall=$(($shmmax / 4096))
|
95
|
-
;;
|
96
|
-
*)
|
97
|
-
"$rvm_path/scripts/log" "error" "Can't determine operating system. Check script."
|
98
|
-
exit 1
|
99
|
-
;;
|
100
|
-
esac
|
101
|
-
totalMemMB=$(($totalMem / 1048576))
|
102
|
-
shmmaxMB=$(($shmmax / 1048576))
|
103
|
-
shmallMB=$(($shmall / 256))
|
104
|
-
|
105
|
-
# Print current values
|
106
|
-
echo " Total memory available is $totalMemMB MB"
|
107
|
-
echo " Max shared memory segment size is $shmmaxMB MB"
|
108
|
-
echo " Max shared memory allowed is $shmallMB MB"
|
109
|
-
|
110
|
-
# Figure out the max shared memory segment size (shmmax) we want
|
111
|
-
# Use 75% of available memory but not more than 2GB
|
112
|
-
shmmaxNew=$(($totalMem * 3/4))
|
113
|
-
[[ $shmmaxNew -gt 2147483648 ]] && shmmaxNew=2147483648
|
114
|
-
shmmaxNewMB=$(($shmmaxNew / 1048576))
|
115
|
-
|
116
|
-
# Figure out the max shared memory allowed (shmall) we want
|
117
|
-
# The Darwin (OSX) default is 4MB, way too small
|
118
|
-
# The Linux default is 2097152 or 8GB, so we should never need this
|
119
|
-
# but things will certainly break if it's been reset too small
|
120
|
-
# so ensure it's at least big enough to hold a fullsize shared memory segment
|
121
|
-
shmallNew=$(($shmmaxNew / 4096))
|
122
|
-
[[ $shmallNew -lt $shmall ]] && shmallNew=$shmall
|
123
|
-
shmallNewMB=$(($shmallNew / 256))
|
124
|
-
|
125
|
-
# Increase shmmax if appropriate
|
126
|
-
if [[ $shmmaxNew -gt $shmmax ]]; then
|
127
|
-
"$rvm_path/scripts/log" "info" "Increasing max shared memory segment size to $shmmaxNewMB MB"
|
128
|
-
[[ $system = "Darwin" ]] && sudo sysctl -w kern.sysv.shmmax=$shmmaxNew
|
129
|
-
[[ $system = "Linux" ]] && sudo bash -c "echo $shmmaxNew > /proc/sys/kernel/shmmax"
|
130
|
-
[[ $system = "Solaris-x86" ]] && echo "[[Warning]] shmmax must be set manually on Solaris-x86"
|
131
|
-
else
|
132
|
-
"$rvm_path/scripts/log" "info" "No need to increase max shared memory segment size"
|
133
|
-
fi
|
134
|
-
|
135
|
-
# Increase shmall if appropriate
|
136
|
-
if [[ $shmallNew -gt $shmall ]]; then
|
137
|
-
"$rvm_path/scripts/log" "info" "Increasing max shared memory allowed to $shmallNewMB MB"
|
138
|
-
[[ $system = "Darwin" ]] && sudo sysctl -w kern.sysv.shmall=$shmallNew
|
139
|
-
[[ $system = "Linux" ]] && sudo bash -c "echo $shmallNew > /proc/sys/kernel/shmall"
|
140
|
-
[[ $system = "Solaris-x86" ]] && echo "[[Warning]]shmall must be set manually on Solaris-x86"
|
141
|
-
else
|
142
|
-
"$rvm_path/scripts/log" "info" "No need to increase max shared memory allowed"
|
143
|
-
fi
|
144
|
-
|
145
|
-
# At this point, shared memory settings contain the values we want,
|
146
|
-
# put them in sysctl.conf so they are preserved.
|
147
|
-
if [[ ! -f /etc/sysctl.conf ]] || [[ "$(\grep -sc "kern.*.shm" /etc/sysctl.conf)" -eq 0 ]] ; then
|
148
|
-
case "$system" in
|
149
|
-
Linux)
|
150
|
-
echo "# kernel.shm* settings added by MagLev installation" > /tmp/sysctl.conf.$$
|
151
|
-
echo "kernel.shmmax=$(cat /proc/sys/kernel/shmmax)" >> /tmp/sysctl.conf.$$
|
152
|
-
echo "kernel.shmall=$(cat /proc/sys/kernel/shmall)" >> /tmp/sysctl.conf.$$
|
153
|
-
;;
|
154
|
-
Darwin)
|
155
|
-
# On Mac OS X Leopard, you must have all five settings in sysctl.conf
|
156
|
-
# before they will take effect.
|
157
|
-
echo "# kern.sysv.shm* settings added by MagLev installation" > /tmp/sysctl.conf.$$
|
158
|
-
sysctl kern.sysv.shmmax kern.sysv.shmall kern.sysv.shmmin kern.sysv.shmmni \
|
159
|
-
kern.sysv.shmseg | \tr ":" "=" | \tr -d " " >> /tmp/sysctl.conf.$$
|
160
|
-
;;
|
161
|
-
Solaris-x86)
|
162
|
-
# Do nothing in Solaris-x86 since /etc/sysctl.conf is ignored on Solaris 10.
|
163
|
-
# Must configure shared memory settings manually.
|
164
|
-
;;
|
165
|
-
*)
|
166
|
-
"$rvm_path/scripts/log" "error" "Can't determine operating system. Check script."
|
167
|
-
exit 1
|
168
|
-
;;
|
169
|
-
esac
|
170
|
-
# Do nothing on Solaris-x86 since /etc/sysctl.conf is ignored on Solaris 10.
|
171
|
-
if [[ "$system" != "Solaris-x86" ]]; then
|
172
|
-
"$rvm_path/scripts/log" "info" "Adding the following section to /etc/sysctl.conf"
|
173
|
-
cat /tmp/sysctl.conf.$$
|
174
|
-
sudo bash -c "cat /tmp/sysctl.conf.$$ >> /etc/sysctl.conf"
|
175
|
-
/bin/rm -f /tmp/sysctl.conf.$$
|
176
|
-
fi
|
177
|
-
else
|
178
|
-
"$rvm_path/scripts/log" "info" "The following shared memory settings already exist in /etc/sysctl.conf"
|
179
|
-
echo "To change them, remove the following lines from /etc/sysctl.conf and rerun this script"
|
180
|
-
\grep "kern.*.shm" /etc/sysctl.conf
|
181
|
-
fi
|
182
|
-
|
183
|
-
# Now setup for NetLDI in case we ever need it.
|
184
|
-
"$rvm_path/scripts/log" "info" "Setting up GemStone netldi service port"
|
185
|
-
if [[ $(\grep -sc "^gs64ldi" /etc/services) -eq 0 ]]; then
|
186
|
-
echo '[[Info]] Adding "gs64ldi 50378/tcp" to /etc/services'
|
187
|
-
sudo bash -c 'echo "gs64ldi 50378/tcp # Gemstone netldi" >> /etc/services'
|
188
|
-
else
|
189
|
-
"$rvm_path/scripts/log" "info" "GemStone netldi service port is already set in /etc/services"
|
190
|
-
echo "To change it, remove the following line from /etc/services and rerun this script"
|
191
|
-
\grep "^gs64ldi" /etc/services
|
192
|
-
fi
|
193
|
-
|