From 2f0f5fbb61420e24743b618d0934157b169adaff Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Tue, 4 Jun 2024 03:47:31 +0100 Subject: [PATCH] bin/brew: fix tracking of original paths with brew-in-brew calls --- Library/Homebrew/brew.sh | 3 --- bin/brew | 6 ++++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index 747f6236e2..31d41077e9 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -391,9 +391,6 @@ auto-update() { unset HOMEBREW_AUTO_UPDATING unset HOMEBREW_AUTO_UPDATE_TAP - # Restore user path as it'll be refiltered by HOMEBREW_BREW_FILE (bin/brew) - export PATH=${HOMEBREW_PATH} - # exec a new process to set any new environment variables. exec "${HOMEBREW_BREW_FILE}" "$@" fi diff --git a/bin/brew b/bin/brew index e83837eced..91a687ec55 100755 --- a/bin/brew +++ b/bin/brew @@ -57,6 +57,12 @@ do done unset cmd +# Take the HOMEBREW_PATH if we are running brew within brew, otherwise we would lose the original path. +if [[ -n "${HOMEBREW_BREW_FILE:-}" && -n "${HOMEBREW_PATH:-}" ]] +then + PATH="${HOMEBREW_PATH}" +fi + BREW_FILE_DIRECTORY="$(quiet_cd "${0%/*}/" && pwd -P)" HOMEBREW_BREW_FILE="${BREW_FILE_DIRECTORY%/}/${0##*/}" HOMEBREW_PREFIX="${HOMEBREW_BREW_FILE%/*/*}"