From bb74d26a93a86882550cd6bf9b0858d27b325321 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 8 Jan 2025 14:04:18 +0000 Subject: [PATCH] Fix `HOMEBREW_*BREW_WRAPPER` behaviour - handle reading from variables that may not be defined yet - avoid unnecessary handling of defined variables - fix incorrect `env_config.rbi` file entry - add `HOMEBREW_NO_FORCE_BREW_WRAPPER` to disable `HOMEBREW_FORCE_BREW_WRAPPER` functionality if needed --- Library/Homebrew/brew.sh | 7 ++++--- Library/Homebrew/env_config.rb | 4 ++++ Library/Homebrew/sorbet/rbi/dsl/homebrew/env_config.rbi | 7 +++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index d8148c4286..95deedd830 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -182,8 +182,9 @@ esac source "${HOMEBREW_LIBRARY}/Homebrew/utils/helpers.sh" # Require HOMEBREW_BREW_WRAPPER to be set if HOMEBREW_FORCE_BREW_WRAPPER is set -# for all non-trivial commands (i.e. not run above). -if [[ -n "${HOMEBREW_FORCE_BREW_WRAPPER}" ]] +# (and HOMEBREW_NO_FORCE_BREW_WRAPPER is not set) for all non-trivial commands +# (i.e. not defined above this line e.g. formulae or --cellar). +if [[ -z "${HOMEBREW_NO_FORCE_BREW_WRAPPER:-}" && -n "${HOMEBREW_FORCE_BREW_WRAPPER:-}" ]] then if [[ -z "${HOMEBREW_BREW_WRAPPER:-}" ]] then @@ -195,7 +196,7 @@ but HOMEBREW_BREW_WRAPPER was unset. This indicates that you are running directly but should instead run ${HOMEBREW_FORCE_BREW_WRAPPER} EOS - elif [[ "${HOMEBREW_FORCE_BREW_WRAPPER:-}" != "${HOMEBREW_BREW_WRAPPER:-}" ]] + elif [[ "${HOMEBREW_FORCE_BREW_WRAPPER}" != "${HOMEBREW_BREW_WRAPPER}" ]] then odie <