From d0ff64666ad34ad71d8765db8d42f819ae658cd7 Mon Sep 17 00:00:00 2001 From: Mike McQuaid <mike@mikemcquaid.com> Date: Wed, 24 Aug 2016 10:56:23 +0100 Subject: [PATCH] bin/brew: improve /usr/local/bin/brew handling. If `/usr/local` is the prefix but not the repository (so bottles can be used) then running `/usr/local/bin/brew` works great but `$HOMEBREW_REPOSITORY/bin/brew` assumes the prefix is `$HOMEBREW_REPOSITORY`. This is a pain when doing work on the Homebrew repository and having e.g. `bin` in your `$PATH`. Improve this behaviour so `bin/brew` knows how to handle this situation. --- bin/brew | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bin/brew b/bin/brew index 167a09756b..593043f9f2 100755 --- a/bin/brew +++ b/bin/brew @@ -31,6 +31,17 @@ then HOMEBREW_REPOSITORY="${BREW_FILE_DIRECTORY%/*}" fi +# Try to find a /usr/local HOMEBREW_PREFIX where possible (for bottles) +if [[ -L "/usr/local/bin/brew" ]] +then + USR_LOCAL_BREW_FILE_DIRECTORY="$(symlink_target_directory "/usr/local/bin/brew" "/usr/local/bin")" + USR_LOCAL_HOMEBREW_REPOSITORY="${USR_LOCAL_BREW_FILE_DIRECTORY%/*}" + if [[ "$HOMEBREW_REPOSITORY" = "$USR_LOCAL_HOMEBREW_REPOSITORY" ]] + then + HOMEBREW_PREFIX="/usr/local" + fi +fi + HOMEBREW_LIBRARY="$HOMEBREW_REPOSITORY/Library" source "$HOMEBREW_LIBRARY/Homebrew/brew.sh" -- GitLab