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 }