diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index 71e2eacd8013ffe69d6a65833d3e4167764f2ad7..bdc16416f53a20be4a29bc313ec760d6563f7685 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -395,12 +395,15 @@ update-preinstall-timer() { update-preinstall() { [[ -z "$HOMEBREW_HELP" ]] || return [[ -z "$HOMEBREW_NO_AUTO_UPDATE" ]] || return + [[ -z "$HOMEBREW_AUTO_UPDATING" ]] || return [[ -z "$HOMEBREW_AUTO_UPDATE_CHECKED" ]] || return [[ -z "$HOMEBREW_UPDATE_PREINSTALL" ]] || return if [[ "$HOMEBREW_COMMAND" = "install" || "$HOMEBREW_COMMAND" = "upgrade" || "$HOMEBREW_COMMAND" = "tap" || "$HOMEBREW_CASK_COMMAND" = "install" || "$HOMEBREW_CASK_COMMAND" = "upgrade" ]] then + export HOMEBREW_AUTO_UPDATING="1" + if [[ -z "$HOMEBREW_VERBOSE" ]] then update-preinstall-timer & @@ -417,17 +420,14 @@ update-preinstall() { kill "$timer_pid" 2>/dev/null wait "$timer_pid" 2>/dev/null fi - fi - # If brew update --preinstall did a migration then export the new locations. - if [[ "$HOMEBREW_REPOSITORY" = "/usr/local" && - ! -d "$HOMEBREW_REPOSITORY/.git" && - -d "/usr/local/Homebrew/.git" ]] - then - HOMEBREW_REPOSITORY="/usr/local/Homebrew" - HOMEBREW_LIBRARY="$HOMEBREW_REPOSITORY/Library" - export HOMEBREW_REPOSITORY - export HOMEBREW_LIBRARY + unset HOMEBREW_AUTO_UPDATING + + # If we've checked for updates, we don't need to check again. + export HOMEBREW_AUTO_UPDATE_CHECKED="1" + + # exec a new process to set any new environment variables. + exec "$HOMEBREW_BREW_FILE" "$@" fi # If we've checked for updates, we don't need to check again. @@ -444,7 +444,7 @@ then # Don't need shellcheck to follow this `source`. # shellcheck disable=SC1090 source "$HOMEBREW_BASH_COMMAND" - { update-preinstall; "homebrew-$HOMEBREW_COMMAND" "$@"; exit $?; } + { update-preinstall "$@"; "homebrew-$HOMEBREW_COMMAND" "$@"; exit $?; } else # Don't need shellcheck to follow this `source`. # shellcheck disable=SC1090 @@ -453,5 +453,5 @@ else # Unshift command back into argument list (unless argument list was empty). [[ "$HOMEBREW_ARG_COUNT" -gt 0 ]] && set -- "$HOMEBREW_COMMAND" "$@" - { update-preinstall; exec "$HOMEBREW_RUBY_PATH" $HOMEBREW_RUBY_WARNINGS "$HOMEBREW_LIBRARY/Homebrew/brew.rb" "$@"; } + { update-preinstall "$@"; exec "$HOMEBREW_RUBY_PATH" $HOMEBREW_RUBY_WARNINGS "$HOMEBREW_LIBRARY/Homebrew/brew.rb" "$@"; } fi diff --git a/Library/Homebrew/config.rb b/Library/Homebrew/config.rb index 444db9ac35e8a513e6449e32f3eee422a4c165cd..3d1f3208cd7fb3e71118d81cc86af7c6d3cdd6d8 100644 --- a/Library/Homebrew/config.rb +++ b/Library/Homebrew/config.rb @@ -36,13 +36,11 @@ HOMEBREW_CACHE = Pathname.new(ENV["HOMEBREW_CACHE"]) HOMEBREW_CACHE_FORMULA = HOMEBREW_CACHE/"Formula" # Where build, postinstall, and test logs of formulae are written to -HOMEBREW_LOGS = Pathname.new(ENV["HOMEBREW_LOGS"] || "~/Library/Logs/Homebrew/").expand_path +HOMEBREW_LOGS = Pathname.new(ENV["HOMEBREW_LOGS"]).expand_path # Must use `/tmp` instead of `TMPDIR` because long paths break Unix domain sockets HOMEBREW_TEMP = begin - # /tmp fallback is here for people auto-updating from a version where - # HOMEBREW_TEMP isn't set. - tmp = Pathname.new(ENV["HOMEBREW_TEMP"] || "/tmp") + tmp = Pathname.new(ENV["HOMEBREW_TEMP"]) tmp.mkpath unless tmp.exist? tmp.realpath end diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index e47f01eec6cf6e4131e08533ceaf5368c5da5bbd..7657f74c36c5253f5b040eb572c4bf483363bfa9 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -50,18 +50,8 @@ HOMEBREW_USER_AGENT_FAKE_SAFARI = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 " \ "(KHTML, like Gecko) Version/10.0.3 Safari/602.4.8".freeze -# Bintray fallback is here for people auto-updating from a version where -# `HOMEBREW_BOTTLE_DEFAULT_DOMAIN` isn't set. -HOMEBREW_BOTTLE_DEFAULT_DOMAIN = if ENV["HOMEBREW_BOTTLE_DEFAULT_DOMAIN"] - ENV["HOMEBREW_BOTTLE_DEFAULT_DOMAIN"] -elsif OS.mac? || ENV["HOMEBREW_FORCE_HOMEBREW_ON_LINUX"] - "https://homebrew.bintray.com".freeze -else - "https://linuxbrew.bintray.com".freeze -end - -HOMEBREW_BOTTLE_DOMAIN = ENV["HOMEBREW_BOTTLE_DOMAIN"] || - HOMEBREW_BOTTLE_DEFAULT_DOMAIN +HOMEBREW_BOTTLE_DEFAULT_DOMAIN = ENV["HOMEBREW_BOTTLE_DEFAULT_DOMAIN"] +HOMEBREW_BOTTLE_DOMAIN = ENV["HOMEBREW_BOTTLE_DOMAIN"] require "fileutils" require "os"