scripts/rvm-install in rvm-0.1.43 vs scripts/rvm-install in rvm-0.1.44

- old
+ new

@@ -1,12 +1,20 @@ #!/usr/bin/env bash +if [[ -z "$rvm_sandboxed" ]]; then + if [[ "root" = "$(whoami)" ]] || [[ -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then + export rvm_sandboxed=0 + else + export rvm_sandboxed=1 + fi +fi + unset rvm_auto_flag -install_source_path=$(dirname $0) +install_source_path="$(dirname "$0" | sed 's#\/scripts$##')" if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then - builtin cd $install_source_path + builtin cd "$install_source_path" fi source scripts/version source scripts/utility @@ -51,22 +59,22 @@ esac done if [[ -z "$rvm_prefix" ]] ; then __rvm_load_rvmrc - if [[ "root" = "$(whoami)" ]] ; then + if [[ "$rvm_sandboxed" = "0" ]] ; then rvm_prefix="${rvm_prefix:-"/usr/local/"}" else rvm_prefix="${rvm_prefix:-"$HOME/."}" fi fi if [[ -z "$rvm_path" ]] ; then rvm_path="${rvm_prefix}rvm" ; fi source scripts/initialize -if grep -q 'scripts/rvm' $HOME/.bash* || grep -q 'scripts/rvm' $HOME/.zsh*; then +if grep -q 'scripts/rvm' $HOME/.bash* 2>/dev/null || grep -q 'scripts/rvm' $HOME/.zsh* 2>/dev/null; then if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then export upgrade_flag=1 else export upgrade_flag=0 fi @@ -112,11 +120,11 @@ printf "\n\n Installing rvm to $rvm_path/" fi spinner -mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gems_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path +mkdir -p "$rvm_archives_path" "$rvm_src_path" "$rvm_log_path" "$rvm_bin_path" "$rvm_gems_path" "$rvm_rubies_path" "$rvm_config_path" "$rvm_hooks_path" "$rvm_tmp_path" for file in README LICENCE ; do spinner cp -f "$source_path/$file" "$rvm_path/" done @@ -146,11 +154,11 @@ # # Bin Scripts # # Cleanse and purge... -for file in rvm-prompt rvm rvmsudo rvm-shell ; do +for file in rvm-prompt rvm rvmsudo rvm-shell rvm-auto-ruby ; do spinner && perl -e 'sleep 0.2' rm -f "$rvm_bin_path/$file" cp -f "$source_path/binscripts/$file" $rvm_bin_path/ done spinner @@ -181,34 +189,35 @@ # # Initial Interpreter Gemsets. # spinner -mkdir -p "$rvm_gemsets_path" -for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do - source_path="$(pwd)/gemsets" - destination="$rvm_gemsets_path/$gemset_file" - destination_path="$(dirname "$destination")" - if [[ ! -s "$destination" ]] ; then - mkdir -p "$destination_path" - cp "$source_path/$gemset_file" "$destination" - fi -done ; unset destination destination_path source_path gemset_file +if [[ -d gemsets/ ]] ; then + mkdir -p "$rvm_gemsets_path" + for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/^\.\///') ; do + destination="$rvm_gemsets_path/$gemset_file" + destination_path="$(dirname "$destination")" + if [[ ! -s "$destination" ]] ; then + mkdir -p "$destination_path" + cp "gemsets/$gemset_file" "$destination" + fi + done ; unset destination destination_path gemset_file +fi spinner -mkdir -p "$rvm_patchsets_path" -for patchsets_file in $(cd gemsets ; find . -iname '*' | sed 's/^\.\///') ; do - source_path="$(pwd)/gemsets" - destination="$rvm_patchsets_path/$patchset_file" - destination_path="$(dirname "$destination")" - if [[ ! -s "$destination" ]] ; then - mkdir -p "$destination_path" - cp "$source_path/$patchset_file" "$destination" - fi -done ; unset destination destination_path source_path patchset_file +if [[ -d patchsets/ ]] ; then + mkdir -p "$rvm_patchsets_path" + for patchset_file in $(cd patchsets ; find . -iname '*' | sed 's/^\.\///') ; do + destination="$rvm_patchsets_path/$patchset_file" + destination_path="$(dirname "$destination")" + if [[ ! -s "$destination" ]] ; then + mkdir -p "$destination_path" + cp "patchsets/$patchset_file" "$destination" + fi + done ; unset destination destination_path patchset_file +fi - # # Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0. # rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}" mkdir -p "$rvm_rubies_path/" @@ -274,21 +283,19 @@ # End of gemset migration. # printf "\n Correct permissions for base binaries in $rvm_bin_path..." mkdir -p $rvm_bin_path -for file in rvm rvmsudo rvm-shell ; do +for file in rvm rvmsudo rvm-shell rvm-auto-ruby; do [[ -s "$rvm_bin_path/$file" ]] && chmod +x "$rvm_bin_path/$file" done; unset file printf "\n Copying manpages into place." for man_file in $(\ls "$install_source_path/man"); do rm -rf "$rvm_man_path/$man_file" cp -R "$install_source_path/man/$man_file" "$rvm_man_path/" done -if [[ "$upgrade_flag" -eq 0 ]] ; then - ./scripts/notes -fi +[[ "$upgrade_flag" = 0 ]] && ./scripts/notes name="$(awk -F= '/^[[:space:]]*name/{print $2}' ~/.gitconfig 2>/dev/null)" printf "\n\n${name:-"$(whoami)"},\n" printf "\nThank you for using rvm. I hope that it makes your work easier and more enjoyable." printf "\nIf you have any questions, issues and/or ideas for improvement please hop in #rvm on irc.freenode.net and let me know."