Merge pull request #5451 from MikeMcQuaid/update-preinstall-exec
brew.sh: make update --preinstall exec.
This commit is contained in:
commit
e6f17f2316
@ -395,12 +395,15 @@ update-preinstall-timer() {
|
|||||||
update-preinstall() {
|
update-preinstall() {
|
||||||
[[ -z "$HOMEBREW_HELP" ]] || return
|
[[ -z "$HOMEBREW_HELP" ]] || return
|
||||||
[[ -z "$HOMEBREW_NO_AUTO_UPDATE" ]] || return
|
[[ -z "$HOMEBREW_NO_AUTO_UPDATE" ]] || return
|
||||||
|
[[ -z "$HOMEBREW_AUTO_UPDATING" ]] || return
|
||||||
[[ -z "$HOMEBREW_AUTO_UPDATE_CHECKED" ]] || return
|
[[ -z "$HOMEBREW_AUTO_UPDATE_CHECKED" ]] || return
|
||||||
[[ -z "$HOMEBREW_UPDATE_PREINSTALL" ]] || return
|
[[ -z "$HOMEBREW_UPDATE_PREINSTALL" ]] || return
|
||||||
|
|
||||||
if [[ "$HOMEBREW_COMMAND" = "install" || "$HOMEBREW_COMMAND" = "upgrade" || "$HOMEBREW_COMMAND" = "tap" ||
|
if [[ "$HOMEBREW_COMMAND" = "install" || "$HOMEBREW_COMMAND" = "upgrade" || "$HOMEBREW_COMMAND" = "tap" ||
|
||||||
"$HOMEBREW_CASK_COMMAND" = "install" || "$HOMEBREW_CASK_COMMAND" = "upgrade" ]]
|
"$HOMEBREW_CASK_COMMAND" = "install" || "$HOMEBREW_CASK_COMMAND" = "upgrade" ]]
|
||||||
then
|
then
|
||||||
|
export HOMEBREW_AUTO_UPDATING="1"
|
||||||
|
|
||||||
if [[ -z "$HOMEBREW_VERBOSE" ]]
|
if [[ -z "$HOMEBREW_VERBOSE" ]]
|
||||||
then
|
then
|
||||||
update-preinstall-timer &
|
update-preinstall-timer &
|
||||||
@ -417,17 +420,14 @@ update-preinstall() {
|
|||||||
kill "$timer_pid" 2>/dev/null
|
kill "$timer_pid" 2>/dev/null
|
||||||
wait "$timer_pid" 2>/dev/null
|
wait "$timer_pid" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
# If brew update --preinstall did a migration then export the new locations.
|
unset HOMEBREW_AUTO_UPDATING
|
||||||
if [[ "$HOMEBREW_REPOSITORY" = "/usr/local" &&
|
|
||||||
! -d "$HOMEBREW_REPOSITORY/.git" &&
|
# If we've checked for updates, we don't need to check again.
|
||||||
-d "/usr/local/Homebrew/.git" ]]
|
export HOMEBREW_AUTO_UPDATE_CHECKED="1"
|
||||||
then
|
|
||||||
HOMEBREW_REPOSITORY="/usr/local/Homebrew"
|
# exec a new process to set any new environment variables.
|
||||||
HOMEBREW_LIBRARY="$HOMEBREW_REPOSITORY/Library"
|
exec "$HOMEBREW_BREW_FILE" "$@"
|
||||||
export HOMEBREW_REPOSITORY
|
|
||||||
export HOMEBREW_LIBRARY
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If we've checked for updates, we don't need to check again.
|
# 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`.
|
# Don't need shellcheck to follow this `source`.
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "$HOMEBREW_BASH_COMMAND"
|
source "$HOMEBREW_BASH_COMMAND"
|
||||||
{ update-preinstall; "homebrew-$HOMEBREW_COMMAND" "$@"; exit $?; }
|
{ update-preinstall "$@"; "homebrew-$HOMEBREW_COMMAND" "$@"; exit $?; }
|
||||||
else
|
else
|
||||||
# Don't need shellcheck to follow this `source`.
|
# Don't need shellcheck to follow this `source`.
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
@ -453,5 +453,5 @@ else
|
|||||||
|
|
||||||
# Unshift command back into argument list (unless argument list was empty).
|
# Unshift command back into argument list (unless argument list was empty).
|
||||||
[[ "$HOMEBREW_ARG_COUNT" -gt 0 ]] && set -- "$HOMEBREW_COMMAND" "$@"
|
[[ "$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
|
fi
|
||||||
|
@ -36,13 +36,11 @@ HOMEBREW_CACHE = Pathname.new(ENV["HOMEBREW_CACHE"])
|
|||||||
HOMEBREW_CACHE_FORMULA = HOMEBREW_CACHE/"Formula"
|
HOMEBREW_CACHE_FORMULA = HOMEBREW_CACHE/"Formula"
|
||||||
|
|
||||||
# Where build, postinstall, and test logs of formulae are written to
|
# 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
|
# Must use `/tmp` instead of `TMPDIR` because long paths break Unix domain sockets
|
||||||
HOMEBREW_TEMP = begin
|
HOMEBREW_TEMP = begin
|
||||||
# /tmp fallback is here for people auto-updating from a version where
|
tmp = Pathname.new(ENV["HOMEBREW_TEMP"])
|
||||||
# HOMEBREW_TEMP isn't set.
|
|
||||||
tmp = Pathname.new(ENV["HOMEBREW_TEMP"] || "/tmp")
|
|
||||||
tmp.mkpath unless tmp.exist?
|
tmp.mkpath unless tmp.exist?
|
||||||
tmp.realpath
|
tmp.realpath
|
||||||
end
|
end
|
||||||
|
@ -50,18 +50,8 @@ HOMEBREW_USER_AGENT_FAKE_SAFARI =
|
|||||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 " \
|
"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
|
"(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 = ENV["HOMEBREW_BOTTLE_DEFAULT_DOMAIN"]
|
||||||
# `HOMEBREW_BOTTLE_DEFAULT_DOMAIN` isn't set.
|
HOMEBREW_BOTTLE_DOMAIN = ENV["HOMEBREW_BOTTLE_DOMAIN"]
|
||||||
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
|
|
||||||
|
|
||||||
require "fileutils"
|
require "fileutils"
|
||||||
require "os"
|
require "os"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user