From 12e0a5ee7dc730c163655def44ae9e6dc316a44a Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Fri, 2 Jun 2017 18:44:39 +0100 Subject: brew.rb: use HOMEBREW_PATH for external commands. They shouldn’t need to handle our environment filtering on the PATH as we’re essentially breaking an API for them otherwise. --- Library/Homebrew/brew.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index 84f755688..345c34a19 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -49,12 +49,16 @@ begin end path = PATH.new(ENV["PATH"]) + homebrew_path = PATH.new(ENV["HOMEBREW_PATH"]) # Add contributed commands to PATH before checking. - path.append(Pathname.glob(Tap::TAP_DIRECTORY/"*/*/cmd")) + tap_cmds = Pathname.glob(Tap::TAP_DIRECTORY/"*/*/cmd") + path.append(tap_cmds) + homebrew_path.append(tap_cmds) # Add SCM wrappers. path.append(HOMEBREW_SHIMS_PATH/"scm") + homebrew_path.append(HOMEBREW_SHIMS_PATH/"scm") ENV["PATH"] = path @@ -89,6 +93,9 @@ begin system(HOMEBREW_BREW_FILE, "uninstall", "--force", "brew-cask") end + # External commands expect a normal PATH + ENV["PATH"] = homebrew_path unless internal_cmd + if internal_cmd Homebrew.send cmd.to_s.tr("-", "_").downcase elsif which "brew-#{cmd}" -- cgit v1.2.3