bin/brew: fix tracking of original paths with brew-in-brew calls

This commit is contained in:
Bo Anderson 2024-06-04 03:47:31 +01:00
parent c0dd639c7f
commit 2f0f5fbb61
No known key found for this signature in database
2 changed files with 6 additions and 3 deletions

View File

@ -391,9 +391,6 @@ auto-update() {
unset HOMEBREW_AUTO_UPDATING unset HOMEBREW_AUTO_UPDATING
unset HOMEBREW_AUTO_UPDATE_TAP 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 a new process to set any new environment variables.
exec "${HOMEBREW_BREW_FILE}" "$@" exec "${HOMEBREW_BREW_FILE}" "$@"
fi fi

View File

@ -57,6 +57,12 @@ do
done done
unset cmd 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)" BREW_FILE_DIRECTORY="$(quiet_cd "${0%/*}/" && pwd -P)"
HOMEBREW_BREW_FILE="${BREW_FILE_DIRECTORY%/}/${0##*/}" HOMEBREW_BREW_FILE="${BREW_FILE_DIRECTORY%/}/${0##*/}"
HOMEBREW_PREFIX="${HOMEBREW_BREW_FILE%/*/*}" HOMEBREW_PREFIX="${HOMEBREW_BREW_FILE%/*/*}"