scripts/utility in rvm-0.1.3 vs scripts/utility in rvm-0.1.5
- old
+ new
@@ -61,10 +61,11 @@
# Output debugging information that has been found useful to help people identify and resolve issues.
__rvm_debug() {
$rvm_scripts_path/log "debug" "PATH:\n$(echo $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}')"
$rvm_scripts_path/log "debug" "uname -a: $(uname -a)"
+ $rvm_scripts_path/log "debug" "permissions: $(ls -la $rvm_path{,/rubies})"
if [[ "Darwin" = "$(uname)" ]] ; then
$rvm_scripts_path/log "debug" "uname -r: $(uname -r)"
$rvm_scripts_path/log "debug" "uname -m: $(uname -m)"
$rvm_scripts_path/log "debug" "sw_vers: $(sw_vers | tr "\n" ',')"
@@ -126,10 +127,11 @@
if [[ ! -z "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
if [[ ! -z "$rvm_debug_flag" ]] ; then
$rvm_scripts_path/log "debug" "Executing: $command"
fi
+ mkdir -p "$(dirname "$rvm_ruby_log_path/$log_file_name.log")"
touch "$rvm_ruby_log_path/$log_file_name.log" "$rvm_ruby_log_path/$log_file_name.error.log" # for zsh :(
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $command" | tee "$rvm_ruby_log_path/$log_file_name.log" >> "$rvm_ruby_log_path/$log_file_name.error.log"
if [[ -z "$rvm_niceness" ]] || [[ "0" = "$rvm_niceness" ]] ; then
eval "$command" >> "$rvm_ruby_log_path/$log_file_name.log" 2>> "$rvm_ruby_log_path/$log_file_name.error.log"
else
@@ -149,11 +151,11 @@
unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_load_flag rvm_dump_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits
}
# Unset ruby-specific variables
__rvm_unset_ruby_variables() {
- 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_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_string rvm_ruby_string 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_patch rvm_ruby_package_file rvm_ruby_package_name
+ 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_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_string rvm_ruby_string 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_patch rvm_ruby_package_file rvm_ruby_package_name rvm_ruby_gem_path
}
__rvm_load_rvmrc() {
if [[ -f /etc/rvmrc ]] ; then source /etc/rvmrc ; fi
if [[ -f "$HOME/.rvmrc" ]] ; then source "$HOME/.rvmrc" ; fi
@@ -176,13 +178,13 @@
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
ruby_wrapper=$(cat <<RubyWrapper
#!/bin/bash
GEM_HOME=$rvm_ruby_gem_home ; export GEM_HOME
-GEM_PATH=$rvm_ruby_gem_home ; export GEM_PATH
+GEM_PATH=$rvm_ruby_gem_path ; export GEM_PATH
MY_RUBY_HOME=$rvm_ruby_home ; export MY_RUBY_HOME
-PATH=$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:\$PATH ; export PATH
+PATH=$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_bin_path:\$PATH ; export PATH
exec "$rvm_ruby_binary" "\$@"
RubyWrapper
)
rm -f $rvm_bin_path/$rvm_ruby_package_name
@@ -232,12 +234,12 @@
}
# Reset any rvm gathered information about the system and its state.
# rvm will refresh the stored information the next time it is called after reset.
__rvm_reset() {
- PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
- PATH=$rvm_bin_path:$PATH ; export PATH
+ PATH="$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)"
+ PATH="$rvm_bin_path:$PATH" ; export PATH
for variable in RUBY_VERSION GEM_HOME MY_RUBY_HOME ; do unset $variable ; done
for flag in default passenger editor ; do rm -f "$rvm_bin_path"/${flag}_* ; done
@@ -716,10 +718,12 @@
# Select a gems(et) based on CLI set options and environment.
# This only sets 'rvm_ruby_gem_home'
__rvm_gems_select() {
if [[ -z "$(which gem 2>/dev/null)" ]] ; then return 0 ; fi
+ rvm_ruby_global_gems_path="$rvm_gem_path/$rvm_ruby_string%global"
+
if [[ -z "$rvm_gem_set_name" ]] ; then
# No longer defaulting to 'sticky' gem sets.
# Set 'rvm_sticky_gemsets=1' in ~/.rvmrc to enable.
if [[ ! -z "$rvm_sticky_gemsets" ]] ; then
if [[ ! -z "$GEM_HOME" ]] ; then
@@ -745,22 +749,40 @@
fi
if [[ -z "$rvm_gem_set_name" ]] ; then unset rvm_gem_set_name ; fi
else
rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_string%$rvm_gem_set_name"
fi
+ rvm_ruby_gem_path="$rvm_ruby_gem_home:$rvm_ruby_global_gems_path"
+
+ # Careful not to nuke system gems cache.
+ if [[ ! -z "$rvm_ruby_gem_home" ]] && [[ ! -z "$(echo $rvm_ruby_gem_home | awk '/rvm/')" ]] ; then
+ # Global gems cache
+ mkdir -p "$rvm_ruby_gem_home"
+ if [[ ! -L "$rvm_ruby_gem_home/cache" ]] ; then
+ for file in "$rvm_ruby_gem_home"/cache/* ; do
+ mv $file "$rvm_gem_path/cache/" > /dev/null 2>&1
+ done
+ rm -rf "$rvm_ruby_gem_home/cache"
+ ln -nfs "$rvm_gem_path/cache" "$rvm_ruby_gem_home/cache"
+ fi
+ fi
}
# Use a gems(et) specified by 'rvm_ruby_gem_home'
__rvm_gems_use() {
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
if [[ ! -z "$rvm_ruby_gem_home" ]] ; then
if [[ ! -d "$rvm_ruby_gem_home" ]] ; then
mkdir -p "$rvm_ruby_gem_home"
- gem update --system
fi
+
+ if [[ "$rvm_interactive" = 1 ]] ; then
+ $rvm_scripts_path/log "info" "gems(et) : ${rvm_gem_set_name:-default}"
+ fi
+
GEM_HOME="$rvm_ruby_gem_home" ; export GEM_HOME
- GEM_PATH="$GEM_HOME" ; export GEM_PATH
+ GEM_PATH="$rvm_ruby_gem_path" ; export GEM_PATH
__rvm_use
fi
}