rvm 0.1.38 → 0.1.39
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 +7 -3
- data/binscripts/rvm-prompt +15 -11
- data/config/db +7 -6
- data/config/known +4 -4
- data/config/md5 +6 -4
- data/help/alias +3 -3
- data/help/fetch +3 -3
- data/install +7 -1
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +3 -2
- data/scripts/alias +21 -0
- data/scripts/cli +68 -48
- data/scripts/gemsets +3 -3
- data/scripts/info +2 -1
- data/scripts/initialize +6 -1
- data/scripts/install +7 -1
- data/scripts/manage +103 -49
- data/scripts/match +2 -13
- data/scripts/notes +4 -4
- data/scripts/package +13 -6
- data/scripts/rubygems +104 -0
- data/scripts/rvm-install +7 -1
- data/scripts/set +50 -32
- data/scripts/update +7 -1
- data/scripts/utility +54 -0
- data/scripts/wrapper +23 -9
- metadata +5 -4
data/scripts/rvm-install
CHANGED
@@ -79,7 +79,13 @@ source_path="${source_path:-$cwd}"
|
|
79
79
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
80
80
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
81
81
|
rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
82
|
-
|
82
|
+
|
83
|
+
if [[ "root" = "$(whoami)" ]] ; then
|
84
|
+
rvm_bin_path="${rvm_bin_path:-"/usr/local/bin"}"
|
85
|
+
else
|
86
|
+
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
87
|
+
fi
|
88
|
+
|
83
89
|
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
84
90
|
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
85
91
|
rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
|
data/scripts/set
CHANGED
@@ -8,50 +8,63 @@ if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
|
8
8
|
|
9
9
|
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
|
10
10
|
|
11
|
-
|
12
|
-
args="$*"
|
13
|
-
if [[ -z "$action" ]] ; then
|
11
|
+
if [[ -z "$1" ]] ; then
|
14
12
|
$rvm_scripts_path/log "error" "Action must be specified."
|
15
13
|
exit 1
|
16
14
|
fi
|
17
15
|
|
16
|
+
action="$1" ; shift
|
17
|
+
args="$*"
|
18
|
+
|
19
|
+
__rvm_attempt_single_exec() {
|
20
|
+
# Return if we have multiple rubies. or we're not running exec.
|
21
|
+
if [[ "$action" != "exec" ]] || $rvm_scripts_path/match "$rvm_ruby_strings" ' '; then
|
22
|
+
return 1
|
23
|
+
fi
|
24
|
+
eval "exec $args"
|
25
|
+
}
|
26
|
+
|
18
27
|
# Perform an action using one of a selected ruby's specified binaries.
|
19
28
|
__rvm_ruby_do() {
|
20
29
|
# Return on invalid rubies.
|
21
30
|
__rvm_become || return 1
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
binary="$rvm_ruby_home/bin/$binary"
|
26
|
-
elif [[ -x "$rvm_ruby_global_gems_path/bin/$binary" ]] ; then
|
27
|
-
binary="$rvm_ruby_global_gems_path/bin/$binary"
|
28
|
-
elif [[ -x "$rvm_ruby_gem_home/bin/$binary" ]] ; then
|
29
|
-
binary="$rvm_ruby_gem_home/bin/$binary"
|
30
|
-
elif [[ "system" = "$rvm_ruby_string" ]] && [[ -x "$(command -v $binary)" ]] ; then
|
31
|
-
binary="$(basename $(command -v $binary) 2>/dev/null)"
|
31
|
+
if [[ "$action" = "exec" ]]; then
|
32
|
+
# Exec is a special case.
|
33
|
+
rvm_command="$args"
|
32
34
|
else
|
33
|
-
$
|
34
|
-
|
35
|
-
|
36
|
-
|
35
|
+
binary="$(echo $action | sed 's#do$##')"
|
36
|
+
if [[ -x "$rvm_ruby_home/bin/$binary" ]] ; then
|
37
|
+
binary="$rvm_ruby_home/bin/$binary"
|
38
|
+
elif [[ -x "$rvm_ruby_global_gems_path/bin/$binary" ]] ; then
|
39
|
+
binary="$rvm_ruby_global_gems_path/bin/$binary"
|
40
|
+
elif [[ -x "$rvm_ruby_gem_home/bin/$binary" ]] ; then
|
41
|
+
binary="$rvm_ruby_gem_home/bin/$binary"
|
42
|
+
elif [[ "system" = "$rvm_ruby_string" ]] && [[ -x "$(command -v $binary)" ]] ; then
|
43
|
+
binary="$(basename $(command -v $binary) 2>/dev/null)"
|
44
|
+
else
|
45
|
+
$rvm_scripts_path/log "warn" "'$binary not found for $rvm_ruby_string' either does not exist or is not executable? :("
|
46
|
+
__rvm_unset_ruby_variables
|
47
|
+
return 1
|
48
|
+
fi
|
37
49
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
50
|
+
if [[ ! -z "$rvm_ruby_mode" ]] ; then
|
51
|
+
rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_mode}"
|
52
|
+
rvm_ruby_mode="--$(echo "$rvm_ruby_mode" | sed 's/^m//')"
|
53
|
+
fi
|
42
54
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
55
|
+
load_path="$(dirname $(command -v $binary) 2>/dev/null):$rvm_ruby_load_path"
|
56
|
+
# TODO: the else case below should be run if $args =~ /\.rb$/
|
57
|
+
if [[ "ruby" = "$(basename $binary)" ]] && [[ "$rvm_benchmark_flag" -ne 1 ]] ; then
|
58
|
+
if $rvm_scripts_path/match "$args" "\.rb$" ; then
|
59
|
+
if [[ -z "$prefix" ]] ; then prefix="-S" ; fi
|
60
|
+
if ! $rvm_scripts_path/match "$args" "$prefix" ; then
|
61
|
+
args="$prefix $args"
|
62
|
+
fi
|
50
63
|
fi
|
64
|
+
rvm_command="$binary $rvm_ruby_mode $rvm_ruby_require -I$load_path $args"
|
65
|
+
else
|
66
|
+
rvm_command="$binary $rvm_ruby_mode $args"
|
51
67
|
fi
|
52
|
-
rvm_command="$binary $rvm_ruby_mode $rvm_ruby_require -I$load_path $args"
|
53
|
-
else
|
54
|
-
rvm_command="$binary $rvm_ruby_mode $args"
|
55
68
|
fi
|
56
69
|
|
57
70
|
if [[ ! -z "$rvm_json_flag" ]] || [[ ! -z "$rvm_yaml_flag" ]] || [[ ! -z "$rvm_summary_flag" ]] ; then
|
@@ -147,7 +160,12 @@ __rvm_json() {
|
|
147
160
|
rubies=() ; successes=() ; errors=() ; statuses=()
|
148
161
|
|
149
162
|
rvm_ruby_strings="${rvm_ruby_strings:-"$($rvm_scripts_path/list strings)"}"
|
150
|
-
|
163
|
+
rvm_ruby_strings="$(echo "$rvm_ruby_strings" | tr ',' ' ')"
|
164
|
+
|
165
|
+
# Check for a single ruby && exec if present.
|
166
|
+
__rvm_attempt_single_exec
|
167
|
+
|
168
|
+
for rvm_ruby_string in ${rvm_ruby_strings} ; do
|
151
169
|
__rvm_ruby_do
|
152
170
|
done
|
153
171
|
|
data/scripts/update
CHANGED
@@ -79,7 +79,13 @@ source_path="${source_path:-$cwd}"
|
|
79
79
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
80
80
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
81
81
|
rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
82
|
-
|
82
|
+
|
83
|
+
if [[ "root" = "$(whoami)" ]] ; then
|
84
|
+
rvm_bin_path="${rvm_bin_path:-"/usr/local/bin"}"
|
85
|
+
else
|
86
|
+
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
87
|
+
fi
|
88
|
+
|
83
89
|
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
84
90
|
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
85
91
|
rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
|
data/scripts/utility
CHANGED
@@ -51,6 +51,18 @@ __rvm_db() {
|
|
51
51
|
|
52
52
|
is_a_function() { type $1 | head -n 1 | grep -q "function" ; }
|
53
53
|
|
54
|
+
__rvm_quote_args() {
|
55
|
+
local quoted_string=""
|
56
|
+
for quoted_argument in "$@"; do
|
57
|
+
if echo "$quoted_argument" | grep -q " "; then
|
58
|
+
quoted_string="$quoted_string '$(echo "$quoted_argument" | sed "s/'/\\\'/g")'"
|
59
|
+
else
|
60
|
+
quoted_string="$quoted_string $quoted_argument"
|
61
|
+
fi
|
62
|
+
done
|
63
|
+
echo "$quoted_string" | sed -e 's/^ *//g' -e 's/ *$//g'
|
64
|
+
}
|
65
|
+
|
54
66
|
__rvm_strings() {
|
55
67
|
unset results
|
56
68
|
for rvm_ruby_string in $(echo $rvm_ruby_args) ; do
|
@@ -108,6 +120,28 @@ __rvm_run() {
|
|
108
120
|
unset log_file command
|
109
121
|
}
|
110
122
|
|
123
|
+
# Runs a command in a given env.
|
124
|
+
__rvm_run_with_env() {
|
125
|
+
log_file_name="$1" ; env_name="$2" ; command="$3" ; message="$4"
|
126
|
+
if [[ -z "$env_name" ]]; then env_name="$(__rvm_environment_identifier)"; fi
|
127
|
+
if [[ -z "$rvm_ruby_log_path" ]] ; then rvm_ruby_log_path="$rvm_log_path" ; fi
|
128
|
+
if [[ ! -z "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
|
129
|
+
if [[ ! -z "$rvm_debug_flag" ]] ; then
|
130
|
+
$rvm_scripts_path/log "debug" "Executing: $command in environment "$env_name""
|
131
|
+
fi
|
132
|
+
|
133
|
+
mkdir -p "$(dirname "$rvm_ruby_log_path/$log_file_name.log")"
|
134
|
+
touch "$rvm_ruby_log_path/$log_file_name.log" "$rvm_ruby_log_path/$log_file_name.error.log" # for zsh :(
|
135
|
+
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $command # under $env_name" | tee "$rvm_ruby_log_path/$log_file_name.log" >> "$rvm_ruby_log_path/$log_file_name.error.log"
|
136
|
+
if [[ -z "$rvm_niceness" ]] || [[ "0" = "$rvm_niceness" ]] ; then
|
137
|
+
eval "__rvm_with_env '$env_name' '$command'" >> "$rvm_ruby_log_path/$log_file_name.log" 2>> "$rvm_ruby_log_path/$log_file_name.error.log"
|
138
|
+
else
|
139
|
+
eval "nice -n $rvm_niceness __rvm_with_env '$env_name' '$command'" >> $rvm_ruby_log_path/$log_file_name.log 2>> $rvm_ruby_log_path/$log_file_name.error.log
|
140
|
+
fi
|
141
|
+
if [[ $? -gt 0 ]] ; then $rvm_scripts_path/log "error" "Error running '$command' under $env_name, please check $rvm_ruby_log_path/$log_file_name*.log" ; __rvm_pushpop ; return 1 ; fi
|
142
|
+
unset log_file command env_name
|
143
|
+
}
|
144
|
+
|
111
145
|
# Unset both rvm variables as well as ruby-specific variables
|
112
146
|
# Preserve gemset if 'rvm_sticky' is set (persist gemset unless clear is explicitely called).
|
113
147
|
__rvm_cleanup_variables() {
|
@@ -123,6 +157,18 @@ __rvm_unset_ruby_variables() {
|
|
123
157
|
unset rvm_ruby_interpreter rvm_ruby_version rvm_url rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_release_version rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_ruby_binary rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_src_path rvm_ruby_repo_url rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_head_flag rvm_ruby_configure rvm_ruby_mode rvm_ruby_package_file rvm_ruby_package_name rvm_ruby_gem_path rvm_ruby_name rvm_ruby_alias rvm_ruby_strings rvm_ruby_repo_path
|
124
158
|
}
|
125
159
|
|
160
|
+
# Usage: __rvm_with_env 'env-name' 'command'
|
161
|
+
__rvm_with_env() {
|
162
|
+
[[ -n "$rvm_trace_flag" ]] && rvm_env_args="--trace"
|
163
|
+
rvm_env_command="$(echo "$2" | sed "s/rvm /rvm $rvm_env_args /")"
|
164
|
+
# Subshells!
|
165
|
+
(
|
166
|
+
source $rvm_scripts_path/rvm
|
167
|
+
rvm $rvm_env_args use $1 && eval "$rvm_env_command"
|
168
|
+
)
|
169
|
+
unset rvm_env_args rvm_env_command
|
170
|
+
}
|
171
|
+
|
126
172
|
__rvm_set_rvmrc() {
|
127
173
|
if [[ "$HOME" != "$(pwd)" ]] ; then
|
128
174
|
if [[ "$rvm_verbose_flag" -eq 1 ]] ; then flags="use " ; fi
|
@@ -166,7 +212,15 @@ __rvm_benchmark() {
|
|
166
212
|
rvm_benchmark_flag=1
|
167
213
|
rvm_action="ruby"
|
168
214
|
if [[ ! -z "$rvm_debug_flag" ]] ; then printf "\n$rvm_tmp_path/$$.rb:\n$(cat $rvm_tmp_path/$$.rb)" ; fi
|
215
|
+
# Override ruby string stuff, pass through.
|
216
|
+
old_rvm_ruby_string=$rvm_ruby_string
|
217
|
+
unset rvm_ruby_string
|
218
|
+
export rvm_ruby_strings
|
169
219
|
$rvm_scripts_path/set $rvm_action $rvm_ruby_args
|
220
|
+
result=$?
|
221
|
+
# Restore the state pre-sets.
|
222
|
+
[[ -n "$old_rvm_ruby_string" ]] && rvm_ruby_string=$old_rvm_ruby_string
|
223
|
+
unset old_rvm_ruby_string
|
170
224
|
}
|
171
225
|
|
172
226
|
# Loop over the currently installed rubies and refresh their binscripts.
|
data/scripts/wrapper
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
+
default_flag="$rvm_default_flag"
|
3
4
|
# Prevent it from recursing.
|
4
5
|
unset rvm_default_flag rvm_wrapper_name
|
5
6
|
|
@@ -18,17 +19,24 @@ full_binary_name() {
|
|
18
19
|
wrap() {
|
19
20
|
mkdir -p "$(dirname "$file_name")"
|
20
21
|
rm -f "$file_name"
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
|
23
|
+
echo "#!/usr/bin/env sh" > "$file_name"
|
24
|
+
echo "if [ -s \"${rvm_environments_path}/${environment_identifier}\" ] ; then" >> "$file_name"
|
25
|
+
echo " . \"${rvm_environments_path}/${environment_identifier}\"" >> "$file_name"
|
26
|
+
echo " exec $binary_name \"\$@\"" >> "$file_name"
|
27
|
+
echo "else" >> $file_name
|
28
|
+
echo " echo \"ERROR: Missing RVM environment file: '${rvm_environments_path}/${environment_identifier}'\"" >> $file_name
|
29
|
+
echo " exit 1" >> $file_name
|
30
|
+
echo "fi" >> $file_name
|
24
31
|
|
25
32
|
if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
|
26
33
|
}
|
27
34
|
|
28
35
|
symlink_binary() {
|
29
36
|
# Generate the default wrapper with the given binary name.
|
30
|
-
|
37
|
+
wrap_binary # Note, now forcing this every time to force clean.
|
31
38
|
# Then symlink it into place.
|
39
|
+
rm -f "${rvm_bin_path}/${prefix}_${binary_name}"
|
32
40
|
ln -fs "$file_name" "${rvm_bin_path}/${prefix}_${binary_name}"
|
33
41
|
}
|
34
42
|
|
@@ -48,6 +56,7 @@ usage() {
|
|
48
56
|
}
|
49
57
|
|
50
58
|
# Empty ruby string: show usage and exit.
|
59
|
+
|
51
60
|
if [[ -z "$1" ]]; then
|
52
61
|
usage
|
53
62
|
exit 1
|
@@ -84,15 +93,20 @@ for binary_name in $binaries; do
|
|
84
93
|
if [[ -z "$prefix" ]] ; then
|
85
94
|
wrap_binary
|
86
95
|
# Symlink it into place.
|
87
|
-
if [[ "$binary_name" == "ruby" ]]; then
|
88
|
-
|
96
|
+
if [[ "$binary_name" == "ruby" ]] ; then
|
97
|
+
rm -f "${rvm_bin_path}/${environment_identifier}"
|
98
|
+
ln -nsf "${file_name}" "${rvm_bin_path}/${environment_identifier}"
|
89
99
|
else
|
90
|
-
|
100
|
+
rm -f "${rvm_bin_path}/${binary_name}-${environment_identifier}"
|
101
|
+
ln -nsf "${file_name}" "${rvm_bin_path}/${binary_name}-${environment_identifier}"
|
102
|
+
fi
|
103
|
+
if [[ "root" = "$(whoami)" ]] && [[ "${default_flag}" = 1 ]] ; then
|
104
|
+
rm -f "${rvm_bin_path}/${binary_name}"
|
105
|
+
ln -nsf "${file_name}" "${rvm_bin_path}/${binary_name}"
|
91
106
|
fi
|
92
107
|
else
|
93
108
|
symlink_binary
|
94
|
-
fi
|
95
|
-
unset file_name
|
109
|
+
fi ; unset file_name
|
96
110
|
done
|
97
111
|
|
98
112
|
exit $?
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 85
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 39
|
10
|
+
version: 0.1.39
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Wayne E. Seguin
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-06-
|
18
|
+
date: 2010-06-18 00:00:00 -04:00
|
19
19
|
default_executable: rvm-install
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- scripts/monitor
|
106
106
|
- scripts/notes
|
107
107
|
- scripts/package
|
108
|
+
- scripts/rubygems
|
108
109
|
- scripts/rvm
|
109
110
|
- scripts/rvm-install
|
110
111
|
- scripts/selector
|