brew: use a shell wrapper script for brew

This reverts commit dfd4dd12a41e1697ee9d5feac12cc1ea7c3a590e.

Fixes the problems from Homebrew/homebrew#17683 and Homebrew/homebrew#17685.
This commit is contained in:
Mike McQuaid 2013-02-08 08:55:42 -08:00
parent 191e9ed88a
commit f9f05d1173
2 changed files with 26 additions and 1 deletions

View File

@ -3,7 +3,8 @@
std_trap = trap("INT") { exit! 130 } # no backtrace thanks
HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] = File.expand_path(__FILE__)
HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE']
HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] ||= File.expand_path(__FILE__)
if ARGV == %w{--prefix}
puts File.dirname(File.dirname(HOMEBREW_BREW_FILE))

24
bin/brew Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
BREW_FILE_DIRECTORY=$(dirname "$0")
BREW_FILE_DIRECTORY=$(cd "$BREW_FILE_DIRECTORY" && pwd -P)
BREW_FILENAME=$(basename "$0")
export HOMEBREW_BREW_FILE="$BREW_FILE_DIRECTORY/$BREW_FILENAME"
BREW_SYMLINK=$(readlink $0)
if [ -n "$BREW_SYMLINK" ]
then
BREW_SYMLINK_DIRECTORY=$(dirname "$BREW_SYMLINK")
BREW_FILE_DIRECTORY=$(cd "$BREW_FILE_DIRECTORY" &&
cd "$BREW_SYMLINK_DIRECTORY" && pwd -P)
fi
BREW_LIBRARY_DIRECTORY=$(cd "$BREW_FILE_DIRECTORY"/../Library && pwd -P)
BREW_SYSTEM=$(uname -s | tr "[:upper:]" "[:lower:]")
if [ "$BREW_SYSTEM" = "darwin" ]
then
exec "$BREW_LIBRARY_DIRECTORY/brew.rb" "$@"
else
exec ruby -W0 "$BREW_LIBRARY_DIRECTORY/brew.rb" "$@"
fi