aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2017-06-02 18:44:39 +0100
committerMike McQuaid2017-06-02 18:44:39 +0100
commit12e0a5ee7dc730c163655def44ae9e6dc316a44a (patch)
tree35aef2fc348a5a5eb20b58446591c012bb1eebec /Library
parentce80485aa4c1c0e6e2ee99414801937fa6c291d0 (diff)
downloadbrew-12e0a5ee7dc730c163655def44ae9e6dc316a44a.tar.bz2
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.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/brew.rb9
1 files changed, 8 insertions, 1 deletions
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}"