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/help/rubygems
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
|
2
|
-
∴ rvm rubygems [version]
|
3
|
-
|
4
|
-
Installs a specific rubygems version in the current ruby. If
|
5
|
-
current is specified, will install the most current rubygems
|
6
|
-
as known by rvm.
|
7
|
-
|
8
|
-
Please note that currently this is only compatible with ruby
|
9
|
-
1.8.* and ruby enterprise edition. If your system isn't supported,
|
10
|
-
running the command will generate an error message.
|
11
|
-
|
data/help/rvmrc
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
|
2
|
-
∴ rvm rvmrc {trust,untrust,trusted,load,reset} [optional-path]
|
3
|
-
|
4
|
-
Tools for dealing with and loading the rvmrc trust for a given directory.
|
5
|
-
All actions take an optional path to a directory to check.
|
6
|
-
|
7
|
-
Examples:
|
8
|
-
|
9
|
-
To check the status of ~/My/project, you'd run:
|
10
|
-
|
11
|
-
∴ rvm rvmrc trusted ~/My/project
|
12
|
-
|
13
|
-
Or, more conventionally,
|
14
|
-
|
15
|
-
∴ cd ~/My/project && rvm rvmrc trusted
|
16
|
-
|
17
|
-
To manually set it as trusted:
|
18
|
-
|
19
|
-
∴ rvm rvmrc trust ~/My/project
|
20
|
-
|
21
|
-
Or, to reset the trust and force a prompt:
|
22
|
-
|
23
|
-
∴ rvm rvmrc reset ~/My/project
|
24
|
-
|
25
|
-
Finally, to load the rvmrc in a directory, you'd run:
|
26
|
-
|
27
|
-
∴ rvm rvmrc load ~/My/project
|
28
|
-
|
29
|
-
Or,
|
30
|
-
|
31
|
-
∴ cd ~/My/project && rvm rvmrc load
|
32
|
-
|
33
|
-
Note that this replaces 'rvm load-rvmrc'. Note that load implicity trusts the
|
34
|
-
rvmrc, even if it is set to untrusted.
|
data/help/snapshot
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
|
2
|
-
∴ rvm snapshot {load,save} filename
|
3
|
-
|
4
|
-
Saves or creates a snapshot of the given rvm install. This includes:
|
5
|
-
|
6
|
-
* Settings
|
7
|
-
* Aliases
|
8
|
-
* Rubies
|
9
|
-
* Gemsets
|
10
|
-
* Packages
|
11
|
-
* Your Default
|
12
|
-
|
13
|
-
Ideally to make it easy to have a consistent environment among machines
|
14
|
-
/ to back up your environment. Please note that this is still considered
|
15
|
-
experimental to a large degree.
|
data/help/specs
DELETED
File without changes
|
data/help/srcdir
DELETED
File without changes
|
data/help/tests
DELETED
File without changes
|
data/help/tools
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
|
2
|
-
∴ rvm tools {identifier,path-identifier,strings}
|
3
|
-
|
4
|
-
Provides generic tools related to rvm environments for getting information
|
5
|
-
about your current environment. Primarily used for scripting rvm.
|
6
|
-
|
7
|
-
Examples:
|
8
|
-
|
9
|
-
To get the expanded ruby string of the current environment, we'd run:
|
10
|
-
|
11
|
-
∴ rvm tools identifier
|
12
|
-
|
13
|
-
To get the identifier for a folder (taking into account rvmrc files and the like),
|
14
|
-
we're instead run:
|
15
|
-
|
16
|
-
∴ rvm tools path-identifier ~/path/to/directory
|
17
|
-
|
18
|
-
Lastly, we can example ruby strings. E.g., to get the current ree version, we'd
|
19
|
-
run:
|
20
|
-
|
21
|
-
∴ rvm tools strings ree
|
22
|
-
|
data/help/uninstall
DELETED
File without changes
|
data/help/update
DELETED
File without changes
|
data/help/upgrade
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
|
2
|
-
∴ rvm upgrade ruby-prefix [optional-source]
|
3
|
-
|
4
|
-
Attempts to install the latest version of a given ruby (still experimental).
|
5
|
-
|
6
|
-
Given a ruby prefix (e.g. 1.9.2), it attempts to upgrade your last installed
|
7
|
-
version, migrating gemsets.
|
8
|
-
|
9
|
-
The process will prompt you at each stage - if the versions look incorrect,
|
10
|
-
please cancel and perform it manually.
|
11
|
-
|
12
|
-
Examples:
|
13
|
-
|
14
|
-
If you have 1.9.2-rc2 installed and want to switch it to 1.9.2-p0,
|
15
|
-
|
16
|
-
∴ rvm upgrade 1.9.2
|
17
|
-
|
18
|
-
Will install 1.9.2-p0 and migrate the gemsets.
|
data/help/use
DELETED
File without changes
|
data/help/wrapper
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
|
2
|
-
∴ rvm wrapper [ruby_string] [wrapper_prefix] [binary[ binary[ ...]]]
|
3
|
-
|
4
|
-
Where ruby_string is the ruby version and gemset combination to wrap,
|
5
|
-
wrapper prefix is what to prepend to the name of the generated wrapper
|
6
|
-
binaries and binaries is the names of the binaries you wish to provide
|
7
|
-
a wrapper for (e.g. gem).
|
8
|
-
|
9
|
-
When no binaries are provided, rvm will by default generate wrappers for
|
10
|
-
ruby, gem, rake, irb, rdoc, ri, and testrb.
|
11
|
-
|
12
|
-
Examples:
|
13
|
-
|
14
|
-
If you wish to provide an environment-specific wrapper for rspec with a
|
15
|
-
rails 3 gemset, you could do:
|
16
|
-
|
17
|
-
∴ rvm --create ree@rails3
|
18
|
-
∴ rvm wrapper ree@rails3 r3 spec
|
19
|
-
|
20
|
-
Which would add r3_spec with the specified environment to your the bin
|
21
|
-
directory where you installed rvm.
|
22
|
-
|
23
|
-
Alternatively, if you do:
|
24
|
-
|
25
|
-
∴ rvm wrapper ruby-1.9.2-head
|
26
|
-
|
27
|
-
It will create binaries named ruby,gem, rake, irb, rdoc, ri and tesrb
|
28
|
-
in the rvm bin directory.
|
29
|
-
|
30
|
-
Finally, to show another real and common use, you can use wrapper
|
31
|
-
to generate ruby executables and gems for passenger to use. Namely:
|
32
|
-
|
33
|
-
∴ rvm use ree@rails3 --passenger
|
34
|
-
|
35
|
-
is equivelant to:
|
36
|
-
|
37
|
-
∴ rvm use ree@rails3
|
38
|
-
∴ rvm wrapper ree@rails3 passenger
|
39
|
-
|
40
|
-
Which creates passenger_* binaries in the rvm bin directory using
|
41
|
-
ree and the rails3 gemset.
|
data/install
DELETED
@@ -1,667 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
set -o errtrace
|
4
|
-
|
5
|
-
export PS4='+[${BASH_SOURCE}] : ${LINENO} : ${FUNCNAME[0]:+${FUNCNAME[0]}() $ }'
|
6
|
-
|
7
|
-
if [[ -z "$rvm_selfcontained" ]]; then
|
8
|
-
if [[ $(id -u) -eq 0 || -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
|
9
|
-
export rvm_selfcontained=0
|
10
|
-
else
|
11
|
-
export rvm_selfcontained=1
|
12
|
-
fi
|
13
|
-
fi
|
14
|
-
|
15
|
-
unset rvm_auto_flag
|
16
|
-
|
17
|
-
install_source_path="$(dirname "$0" | sed 's#\/scripts$##')"
|
18
|
-
|
19
|
-
if [[ -d "$install_source_path/scripts" \
|
20
|
-
&& -s "$install_source_path/scripts/utility" ]] ; then
|
21
|
-
builtin cd "$install_source_path"
|
22
|
-
fi
|
23
|
-
|
24
|
-
source scripts/version
|
25
|
-
source scripts/utility
|
26
|
-
|
27
|
-
usage()
|
28
|
-
{
|
29
|
-
printf "
|
30
|
-
Usage:
|
31
|
-
|
32
|
-
${0} [options]
|
33
|
-
|
34
|
-
options:
|
35
|
-
|
36
|
-
--auto : Automatically update shell profile files.
|
37
|
-
|
38
|
-
--prefix : Installation prefix directory.
|
39
|
-
|
40
|
-
--help : Display help/usage (this) message
|
41
|
-
|
42
|
-
--version : display rvm package version
|
43
|
-
|
44
|
-
\n"
|
45
|
-
}
|
46
|
-
|
47
|
-
check_rubyopt_conditions()
|
48
|
-
{
|
49
|
-
if [[ -n "${RUBYOPT:-""}" ]]; then
|
50
|
-
printf "
|
51
|
-
|
52
|
-
WARNING: You have RUBYOPT set in your current environment.
|
53
|
-
This may cause rubies to not work as you expect them to as it is not supported
|
54
|
-
by all of them If errors show up, please try unsetting RUBYOPT first.
|
55
|
-
|
56
|
-
"
|
57
|
-
fi
|
58
|
-
}
|
59
|
-
|
60
|
-
andand_return_instructions()
|
61
|
-
{
|
62
|
-
printf "
|
63
|
-
This means that if you see something like:
|
64
|
-
|
65
|
-
'[ -z \"\$PS1\" ] && return'
|
66
|
-
|
67
|
-
then you change this line to:
|
68
|
-
|
69
|
-
if [[ -n \"\$PS1\" ]] ; then
|
70
|
-
|
71
|
-
# ... original content that was below the '&& return' line ...
|
72
|
-
|
73
|
-
fi # <= be sure to close the if at the end of the .bashrc.
|
74
|
-
|
75
|
-
# This is a good place to source rvm v v v
|
76
|
-
[[ -s \"\$HOME/.rvm/scripts/rvm\" ]] && source \"\$HOME/.rvm/scripts/rvm\" # This loads RVM into a shell session.
|
77
|
-
|
78
|
-
EOF - This marks the end of the .bashrc file
|
79
|
-
"
|
80
|
-
}
|
81
|
-
|
82
|
-
installation_complete()
|
83
|
-
{
|
84
|
-
printf "
|
85
|
-
You must now complete the install by loading RVM in new shells.
|
86
|
-
|
87
|
-
1) Place the folowing line at the end of your shell's loading files
|
88
|
-
(.bashrc or .bash_profile for bash and .zshrc for zsh),
|
89
|
-
after all PATH/variable settings:
|
90
|
-
|
91
|
-
[[ -s \"\$HOME/.rvm/scripts/rvm\" ]] && source \"\$HOME/.rvm/scripts/rvm\" # This loads RVM into a shell session.
|
92
|
-
|
93
|
-
You only need to add this line the first time you install rvm.
|
94
|
-
|
95
|
-
2) Ensure that there is no 'return' from inside the ~/.bashrc file,
|
96
|
-
otherwise rvm may be prevented from working properly.
|
97
|
-
|
98
|
-
$(andand_return_instructions)
|
99
|
-
|
100
|
-
Be absolutely *sure* to REMOVE the '&& return'.
|
101
|
-
|
102
|
-
If you wish to DRY up your config you can 'source ~/.bashrc' at the bottom of your .bash_profile.
|
103
|
-
|
104
|
-
Placing all non-interactive (non login) items in the .bashrc,
|
105
|
-
including the 'source' line above and any environment settings.
|
106
|
-
|
107
|
-
3) CLOSE THIS SHELL and open a new one in order to use rvm.
|
108
|
-
\n"
|
109
|
-
}
|
110
|
-
|
111
|
-
andand_return_warning()
|
112
|
-
{
|
113
|
-
printf "
|
114
|
-
WARNING: you have a 'return' statement in your ~/.bashrc
|
115
|
-
This could cause some features of RVM to not work.
|
116
|
-
|
117
|
-
$(andand_return_instructions)
|
118
|
-
|
119
|
-
Even if you are using zsh you should still adjust the ~/.bashrc
|
120
|
-
If you have any questions about this please visit
|
121
|
-
#rvm on irc.freenode.net.
|
122
|
-
\n"
|
123
|
-
}
|
124
|
-
|
125
|
-
thank_you()
|
126
|
-
{
|
127
|
-
printf "
|
128
|
-
${name:-"${USER:-$(id | sed -e 's/^[^(]*(//' -e 's/).*$//')}"},
|
129
|
-
|
130
|
-
Thank you very much for using RVM! I sincerely hope that RVM helps to
|
131
|
-
make your work both easier and more enjoyable.
|
132
|
-
|
133
|
-
If you have any questions, issues and/or ideas for improvement please
|
134
|
-
join#rvm on irc.freenode.net and let me know, note you must register
|
135
|
-
(http://bit.ly/5mGjlm) and identify (/msg nickserv <nick> <pass>) to
|
136
|
-
talk, this prevents spambots from ruining our day.
|
137
|
-
|
138
|
-
My irc nickname is 'wayneeseguin' and I hang out in #rvm typically
|
139
|
-
|
140
|
-
~09:00-17:00EDT and again from ~21:00EDT-~23:00EDT
|
141
|
-
|
142
|
-
If I do not respond right away, please hang around after asking your
|
143
|
-
question, I will respond as soon as I am back. It is best to talk in
|
144
|
-
#rvm itself as then other users can help out should I be offline.
|
145
|
-
|
146
|
-
Be sure to get head often as rvm development happens fast,
|
147
|
-
you can do this by running 'rvm get head' followed by 'rvm reload'
|
148
|
-
or opening a new shell
|
149
|
-
|
150
|
-
w⦿‿⦿t
|
151
|
-
|
152
|
-
~ Wayne
|
153
|
-
|
154
|
-
"
|
155
|
-
}
|
156
|
-
|
157
|
-
upgrade_notes()
|
158
|
-
{
|
159
|
-
printf "
|
160
|
-
|
161
|
-
Upgrade Notes
|
162
|
-
|
163
|
-
* rvm_trust_rvmrcs has been changed to rvm_trust_rvmrcs_flag for consistency
|
164
|
-
|
165
|
-
* Ruby package dependency list for your OS is given by:
|
166
|
-
rvm notes
|
167
|
-
|
168
|
-
* If you encounter any issues with a ruby 'X' your best bet is to:
|
169
|
-
rvm remove X ; rvm install X
|
170
|
-
|
171
|
-
* If you wish to have the 'pretty colors' again, set in ~/.rvmrc:
|
172
|
-
export rvm_pretty_print_flag=1
|
173
|
-
|
174
|
-
* If you see the following error message: Unknown alias name: 'default'
|
175
|
-
re-set your default ruby, this is due to a change in how default works.
|
176
|
-
"
|
177
|
-
}
|
178
|
-
|
179
|
-
set -o noclobber
|
180
|
-
set -o nounset
|
181
|
-
|
182
|
-
while [[ $# -gt 0 ]] ; do
|
183
|
-
token="$1" ; shift
|
184
|
-
case "$token" in
|
185
|
-
--auto) rvm_auto_flag=1 ;;
|
186
|
-
--prefix) rvm_prefix="$1" ; shift ;;
|
187
|
-
--version) rvm_path="$PWD" ; __rvm_version ; unset rvm_path ; exit ;;
|
188
|
-
--debug)
|
189
|
-
set -o verbose
|
190
|
-
;;
|
191
|
-
--trace)
|
192
|
-
echo "$*"
|
193
|
-
env | grep '^rvm_'
|
194
|
-
set -o xtrace
|
195
|
-
;;
|
196
|
-
--help)
|
197
|
-
usage
|
198
|
-
exit 0
|
199
|
-
;;
|
200
|
-
*)
|
201
|
-
echo "Unrecognized option: $token"
|
202
|
-
usage
|
203
|
-
exit 1
|
204
|
-
;;
|
205
|
-
esac
|
206
|
-
done
|
207
|
-
|
208
|
-
if [[ -z "${rvm_prefix:-""}" ]] ; then
|
209
|
-
|
210
|
-
if [[ "$USER" = "root" ]] ; then
|
211
|
-
|
212
|
-
source /etc/rvmrc
|
213
|
-
|
214
|
-
if [[ ${rvm_selfcontained:-0} -eq 0 ]] ; then
|
215
|
-
rvm_prefix="${rvm_prefix:-"/usr/local/"}"
|
216
|
-
else
|
217
|
-
rvm_prefix="${rvm_prefix:-"$HOME/."}"
|
218
|
-
fi
|
219
|
-
|
220
|
-
else
|
221
|
-
|
222
|
-
rvm_prefix="${rvm_prefix:-"$HOME/."}"
|
223
|
-
|
224
|
-
fi
|
225
|
-
|
226
|
-
fi
|
227
|
-
|
228
|
-
if [[ -z "${rvm_path:-""}" ]] ; then
|
229
|
-
rvm_path="${rvm_prefix}rvm"
|
230
|
-
fi
|
231
|
-
|
232
|
-
source scripts/initialize
|
233
|
-
|
234
|
-
if grep -q 'scripts/rvm' "$HOME"/.bash* 2>/dev/null \
|
235
|
-
|| grep -q 'scripts/rvm' "$HOME"/.zsh* 2>/dev/null ; then
|
236
|
-
|
237
|
-
if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then
|
238
|
-
|
239
|
-
export upgrade_flag=1
|
240
|
-
|
241
|
-
else
|
242
|
-
|
243
|
-
export upgrade_flag=0
|
244
|
-
|
245
|
-
fi
|
246
|
-
|
247
|
-
else
|
248
|
-
|
249
|
-
export upgrade_flag=0
|
250
|
-
|
251
|
-
fi
|
252
|
-
|
253
|
-
__rvm_initialize
|
254
|
-
|
255
|
-
#
|
256
|
-
# Setup & Configuration
|
257
|
-
#
|
258
|
-
item="* "
|
259
|
-
question="\n<?>"
|
260
|
-
cwd="$PWD"
|
261
|
-
|
262
|
-
source_path="${source_path:-$cwd}"
|
263
|
-
|
264
|
-
if [[ "$rvm_selfcontained" = "0" ]] ; then
|
265
|
-
rvm_bin_path="${rvm_bin_path:-"${rvm_prefix}bin"}"
|
266
|
-
rvm_man_path="${rvm_man_path:-"${rvm_prefix}share/man"}"
|
267
|
-
rvm_rc_files="${rvm_rc_files:-"/etc/profile /etc/zshenv"}"
|
268
|
-
else
|
269
|
-
rvm_man_path="${rvm_man_path:-"$rvm_path/man"}"
|
270
|
-
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
271
|
-
rvm_rc_files="${rvm_rc_files:-"$HOME/.bash_profile $HOME/.bashrc $HOME/.zshenv"}"
|
272
|
-
fi
|
273
|
-
|
274
|
-
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
275
|
-
rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
|
276
|
-
|
277
|
-
printf "
|
278
|
-
RVM: Shell scripts enabling management of multiple ruby environments.
|
279
|
-
RTFM: http://rvm.beginrescueend.com/
|
280
|
-
HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
|
281
|
-
"
|
282
|
-
|
283
|
-
if [[ ${upgrade_flag:-0} -eq 1 ]] ;then
|
284
|
-
|
285
|
-
printf "\nUpgrading the RVM installation in $rvm_path/"
|
286
|
-
|
287
|
-
else
|
288
|
-
|
289
|
-
printf "\nInstalling RVM to $rvm_path/"
|
290
|
-
|
291
|
-
fi
|
292
|
-
|
293
|
-
directories=(
|
294
|
-
"${rvm_archives_path:-"$rvm_path/archives"}"
|
295
|
-
"${rvm_src_path:-"$rvm_path/src"}"
|
296
|
-
"${rvm_log_path:-"$rvm_path/log"}"
|
297
|
-
"$rvm_bin_path"
|
298
|
-
"${rvm_gems_path:-"$rvm_path/gems"}"
|
299
|
-
"${rvm_rubies_path:-"$rvm_path/rubies"}"
|
300
|
-
"$rvm_path/config"
|
301
|
-
"${rvm_tmp_path:-"$rvm_path/tmp"}"
|
302
|
-
"$rvm_path/bin"
|
303
|
-
)
|
304
|
-
|
305
|
-
for directory in "${directories[@]}" ; do
|
306
|
-
|
307
|
-
if [[ ! -d "$directory" ]] ; then
|
308
|
-
|
309
|
-
mkdir -p "$directory"
|
310
|
-
|
311
|
-
fi
|
312
|
-
|
313
|
-
done
|
314
|
-
|
315
|
-
files=(README LICENCE)
|
316
|
-
|
317
|
-
for file in "${files[@]}"; do
|
318
|
-
|
319
|
-
cp -f "$source_path/$file" "$rvm_path/"
|
320
|
-
|
321
|
-
done
|
322
|
-
|
323
|
-
#
|
324
|
-
# Scripts
|
325
|
-
#
|
326
|
-
for dir_name in config scripts examples lib hooks help patches; do
|
327
|
-
|
328
|
-
if [[ -d "$source_path/$dir_name" ]] ; then
|
329
|
-
|
330
|
-
if [[ ! -d "$rvm_path/$dir_name" ]] ; then
|
331
|
-
|
332
|
-
mkdir -p "$rvm_path/$dir_name"
|
333
|
-
|
334
|
-
fi
|
335
|
-
|
336
|
-
cp -Rf "$source_path/$dir_name" "$rvm_path"
|
337
|
-
|
338
|
-
fi
|
339
|
-
|
340
|
-
done
|
341
|
-
|
342
|
-
if [[ ! -s "$rvm_path/config/user" ]] ; then
|
343
|
-
echo '# User settings, overrides db settings and persists across installs.' \
|
344
|
-
>> "$rvm_path/config/user"
|
345
|
-
fi
|
346
|
-
|
347
|
-
scripts=(monitor match log install color db fetch log set package)
|
348
|
-
|
349
|
-
for script_name in "${scripts[@]}" ; do
|
350
|
-
|
351
|
-
chmod +x "$rvm_path/scripts/$script_name" 2>/dev/null # Hide errors.
|
352
|
-
|
353
|
-
done
|
354
|
-
|
355
|
-
#
|
356
|
-
# Bin Scripts
|
357
|
-
#
|
358
|
-
# Cleanse and purge...
|
359
|
-
files=(rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby)
|
360
|
-
|
361
|
-
for file in "${files[@]}" ; do
|
362
|
-
|
363
|
-
rm -f "$rvm_bin_path/$file"
|
364
|
-
|
365
|
-
cp -f "$source_path/binscripts/$file" "${rvm_bin_path:-"$rvm_path/bin"}/"
|
366
|
-
|
367
|
-
chmod +x "${rvm_bin_path:-"$rvm_path/bin"}/$file"
|
368
|
-
|
369
|
-
done
|
370
|
-
|
371
|
-
#
|
372
|
-
# RC Files
|
373
|
-
#
|
374
|
-
if [[ ${rvm_auto_flag:-0} -eq 1 ]] ; then
|
375
|
-
|
376
|
-
printf "Checking rc files... ($rvm_rc_files)"
|
377
|
-
|
378
|
-
if [[ ${rvm_loaded_flag:-0} -ne 1 ]] ; then
|
379
|
-
|
380
|
-
for rcfile in $(printf $rvm_rc_files) ; do
|
381
|
-
|
382
|
-
if [[ ! -f $rcfile ]] ; then touch $rcfile ; fi
|
383
|
-
|
384
|
-
if [[ -s "$HOME/.profile" ]] ; then
|
385
|
-
|
386
|
-
if ! grep -q '.profile' "$rcfile" ; then
|
387
|
-
|
388
|
-
echo " Adding profile sourcing line to $rcfile."
|
389
|
-
|
390
|
-
printf "
|
391
|
-
# rvm install added line:
|
392
|
-
[[ -s \"$rvm_path/.profile\" ]] && source \"$rvm_path/.profile\"
|
393
|
-
" >> "$rcfile"
|
394
|
-
|
395
|
-
fi
|
396
|
-
|
397
|
-
fi
|
398
|
-
|
399
|
-
if ! grep -q "scripts\/rvm" "$rcfile" ; then
|
400
|
-
|
401
|
-
echo " Adding rvm loading line to $rcfile."
|
402
|
-
|
403
|
-
printf "
|
404
|
-
# rvm install added:
|
405
|
-
[[ -s \"$rvm_path/.rvm/scripts/rvm\" ]] && . \"$rvm_path/.rvm/scripts/rvm\"
|
406
|
-
" >> "$rcfile"
|
407
|
-
|
408
|
-
fi
|
409
|
-
|
410
|
-
done
|
411
|
-
fi
|
412
|
-
fi
|
413
|
-
|
414
|
-
#
|
415
|
-
# Initial Interpreter Gemsets.
|
416
|
-
#
|
417
|
-
if [[ -d gemsets/ ]] ; then
|
418
|
-
|
419
|
-
if [[ ! -d "$rvm_path/gemsets" ]] ; then
|
420
|
-
|
421
|
-
mkdir -p "$rvm_path/gemsets"
|
422
|
-
|
423
|
-
fi
|
424
|
-
|
425
|
-
for gemset_file in $(find "$PWD/gemsets" -iname '*.gems' | sed 's/^\.\///') ; do
|
426
|
-
|
427
|
-
cwd="${PWD//\//\\/}\/gemsets\/"
|
428
|
-
|
429
|
-
destination="$rvm_path/gemsets/${gemset_file/$cwd}"
|
430
|
-
|
431
|
-
destination_path="$(dirname "$destination")"
|
432
|
-
|
433
|
-
if [[ ! -s "$destination" ]] ; then
|
434
|
-
|
435
|
-
mkdir -p "$destination_path"
|
436
|
-
|
437
|
-
cp "$gemset_file" "$destination"
|
438
|
-
|
439
|
-
fi
|
440
|
-
|
441
|
-
done
|
442
|
-
|
443
|
-
fi
|
444
|
-
|
445
|
-
if [[ -d patchsets/ ]] ; then
|
446
|
-
|
447
|
-
if [[ ! -d "$rvm_path/patchsets" ]] ; then
|
448
|
-
|
449
|
-
mkdir -p "$rvm_path/patchsets"
|
450
|
-
|
451
|
-
fi
|
452
|
-
|
453
|
-
patchsets=($(builtin cd patchsets ; find \. -iname '*' | sed 's/^\.\///'))
|
454
|
-
|
455
|
-
for patchset_file in "${patchsets[@]}" ; do
|
456
|
-
|
457
|
-
destination="$rvm_path/patchsets/$patchset_file"
|
458
|
-
|
459
|
-
if [[ ! -s "$destination" ]] ; then
|
460
|
-
|
461
|
-
destination_path="$(dirname "$destination")"
|
462
|
-
|
463
|
-
mkdir -p "$destination_path"
|
464
|
-
|
465
|
-
cp "patchsets/$patchset_file" "$destination"
|
466
|
-
|
467
|
-
fi
|
468
|
-
done
|
469
|
-
|
470
|
-
fi
|
471
|
-
|
472
|
-
#
|
473
|
-
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
|
474
|
-
#
|
475
|
-
mkdir -p "${rvm_rubies_path:-"$rvm_path/rubies"}/"
|
476
|
-
|
477
|
-
for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/goruby\
|
478
|
-
$rvm_path/rbx-* $rvm_path/maglev-* $rvm_path/ree-* ; do
|
479
|
-
|
480
|
-
if [[ -d "$ruby" ]] ; then
|
481
|
-
|
482
|
-
mv "$ruby" "${rvm_rubies_path:-"$rvm_path/rubies"}/"
|
483
|
-
|
484
|
-
new_path="${rvm_rubies_path:-"$rvm_path/rubies"}/$(basename $ruby)"
|
485
|
-
|
486
|
-
for file in gem rake ; do
|
487
|
-
|
488
|
-
if [[ -s "$new_path/bin/$file" ]] ; then
|
489
|
-
|
490
|
-
sed -e '1,1s=.*=#!'"${new_path}/bin/ruby=" "${new_path}/bin/${file}" \
|
491
|
-
> "${new_path}/bin/${file}.new"
|
492
|
-
|
493
|
-
mv -f "$new_path/bin/$file.new" "$new_path/bin/$file"
|
494
|
-
|
495
|
-
chmod +x "$new_path/bin/$file"
|
496
|
-
|
497
|
-
fi
|
498
|
-
|
499
|
-
done
|
500
|
-
|
501
|
-
fi
|
502
|
-
|
503
|
-
done
|
504
|
-
#
|
505
|
-
# End of rubies migration.
|
506
|
-
#
|
507
|
-
|
508
|
-
if [[ -d "$rvm_path/environments" ]] ; then
|
509
|
-
#
|
510
|
-
# Remove BUNDLE_PATH from environment files
|
511
|
-
#
|
512
|
-
environments=($( find "$rvm_path/environments" -maxdepth 1 -mindepth 1 -type f ))
|
513
|
-
for file in "${environments[@]}" ; do
|
514
|
-
if grep 'BUNDLE_PATH' "$file" > /dev/null ; then
|
515
|
-
grep -v 'BUNDLE_PATH' "$file" > "$file.new"
|
516
|
-
mv "$file.new" "$file"
|
517
|
-
fi
|
518
|
-
done
|
519
|
-
fi
|
520
|
-
#
|
521
|
-
# Migrate old gemset directories to new gemset pattern.
|
522
|
-
#
|
523
|
-
for gemset in "$rvm_path"/gems/*\%* ; do
|
524
|
-
|
525
|
-
new_path=${gemset/\%/${rvm_gemset_separator:-"@"}}
|
526
|
-
|
527
|
-
if [[ -d "$gemset" ]] && [[ ! -d "$new_path" ]] ; then
|
528
|
-
|
529
|
-
printf "\n Renaming $(basename "$gemset") to $(basename "$new_path") for new gemset separator."
|
530
|
-
|
531
|
-
mv "$gemset" "$new_path"
|
532
|
-
|
533
|
-
fi
|
534
|
-
|
535
|
-
done
|
536
|
-
|
537
|
-
for gemset in "$rvm_path"/gems/*\+* ; do
|
538
|
-
|
539
|
-
new_path=${gemset/\+/${rvm_gemset_separator:-"@"}}
|
540
|
-
|
541
|
-
if [[ -d "$gemset" && ! -d "$new_path" ]] ; then
|
542
|
-
|
543
|
-
printf "\n Renaming $(basename "$gemset") to $(basename "$new_path") for new gemset separator."
|
544
|
-
|
545
|
-
mv $gemset $new_path
|
546
|
-
|
547
|
-
fi
|
548
|
-
|
549
|
-
done
|
550
|
-
|
551
|
-
for gemset in "$rvm_path"/gems/*\@ ; do
|
552
|
-
|
553
|
-
new_path=$(echo $gemset | sed -e 's#\@$##')
|
554
|
-
|
555
|
-
if [[ -d "$gemset" && ! -d "$new_path" ]] ; then
|
556
|
-
|
557
|
-
printf "\n Fixing: $(basename "$gemset") to $(basename "$new_path") for new gemset separator."
|
558
|
-
|
559
|
-
mv "$gemset" "$new_path"
|
560
|
-
|
561
|
-
fi
|
562
|
-
|
563
|
-
done
|
564
|
-
|
565
|
-
# Move from legacy defaults to the new, alias based system.
|
566
|
-
if [[ -s "$rvm_path/config/default" ]]; then
|
567
|
-
|
568
|
-
original_version="$(basename "$(grep GEM_HOME "$rvm_path/config/default" \
|
569
|
-
| awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator:-"@"}#")")"
|
570
|
-
|
571
|
-
if [[ -n "$original_version" ]]; then
|
572
|
-
|
573
|
-
"$rvm_path/scripts/alias" create default "$original_version" &> /dev/null
|
574
|
-
|
575
|
-
fi ; unset original_version
|
576
|
-
|
577
|
-
rm -rf "$rvm_path/config/default"
|
578
|
-
|
579
|
-
fi
|
580
|
-
|
581
|
-
#
|
582
|
-
# End of gemset migration.
|
583
|
-
#
|
584
|
-
declare -a files
|
585
|
-
|
586
|
-
printf "\n Correct permissions for base binaries in $rvm_bin_path..."
|
587
|
-
|
588
|
-
mkdir -p "${rvm_bin_path:-"$rvm_path/bin"}"
|
589
|
-
|
590
|
-
files=(rvm rvmsudo rvm-shell rvm-auto-ruby)
|
591
|
-
for file in "${files[@]}" ; do
|
592
|
-
|
593
|
-
if [[ -s "${rvm_bin_path:-"$rvm_path/bin"}/$file" ]] ; then
|
594
|
-
|
595
|
-
chmod +x "${rvm_bin_path:-"$rvm_path/bin"}/$file"
|
596
|
-
|
597
|
-
fi
|
598
|
-
|
599
|
-
done
|
600
|
-
|
601
|
-
printf "\n Copying manpages into place.\n"
|
602
|
-
|
603
|
-
files=($(builtin cd "$install_source_path/man" ; \
|
604
|
-
find . -maxdepth 1 -mindepth 1 -type f -print))
|
605
|
-
|
606
|
-
for file in "${files[@]//.\/}" ; do
|
607
|
-
|
608
|
-
rm -rf "$rvm_man_path/$file"
|
609
|
-
|
610
|
-
cp -R "$install_source_path/man/$file" "$rvm_man_path/"
|
611
|
-
|
612
|
-
done
|
613
|
-
|
614
|
-
files=($( find "$rvm_path/" -mindepth 1 -maxdepth 2 -iname '*.swp' -type f ))
|
615
|
-
|
616
|
-
if [[ ${#files[@]} -gt 0 ]] ; then
|
617
|
-
|
618
|
-
printf "\n Cleanup any .swp files."
|
619
|
-
|
620
|
-
for file in "${files[@]}" ; do
|
621
|
-
|
622
|
-
if [[ -f "$file" ]] ; then
|
623
|
-
rm -f "$file"
|
624
|
-
fi
|
625
|
-
|
626
|
-
done
|
627
|
-
fi
|
628
|
-
|
629
|
-
if [[ $upgrade_flag -eq 0 ]] ; then
|
630
|
-
chmod +x ./scripts/notes # Sometimes things don't clone properly :/
|
631
|
-
./scripts/notes
|
632
|
-
fi
|
633
|
-
|
634
|
-
if command -v git > /dev/null 2>&1 ; then
|
635
|
-
name="$(git config user.name 2>/dev/null)"
|
636
|
-
fi
|
637
|
-
|
638
|
-
if [[ ${upgrade_flag:-0} -eq 1 ]] ; then
|
639
|
-
|
640
|
-
upgrade_notes
|
641
|
-
|
642
|
-
check_rubyopt_conditions
|
643
|
-
|
644
|
-
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
|
645
|
-
|
646
|
-
else
|
647
|
-
|
648
|
-
if [[ ${rvm_selfcontained:-0} -eq 1 ]] ; then
|
649
|
-
|
650
|
-
installation_complete
|
651
|
-
|
652
|
-
fi
|
653
|
-
|
654
|
-
if [[ -s "$HOME/.bashrc" ]] && grep -q '&& return' "$HOME/.bashrc" ; then
|
655
|
-
|
656
|
-
andand_return_warning
|
657
|
-
|
658
|
-
fi
|
659
|
-
|
660
|
-
check_rubyopt_conditions
|
661
|
-
|
662
|
-
printf "\nInstallation of RVM to $rvm_path/ is complete.\n\n"
|
663
|
-
fi
|
664
|
-
|
665
|
-
thank_you
|
666
|
-
|
667
|
-
exit 0
|