aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/doctor.rb10
-rwxr-xr-xLibrary/brew.rb16
2 files changed, 17 insertions, 9 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb
index e1dbf1678..62d266c08 100644
--- a/Library/Homebrew/cmd/doctor.rb
+++ b/Library/Homebrew/cmd/doctor.rb
@@ -437,15 +437,7 @@ def check_xcode_prefix_exists
end
def check_xcode_select_path
- # with the advent of CLT-only support, we don't need xcode-select
-
- if MacOS::Xcode.bad_xcode_select_path?
- <<-EOS.undent
- Your xcode-select path is set to /
- You must unset it or builds will hang:
- sudo rm /usr/share/xcode-select/xcode_dir_*
- EOS
- elsif not MacOS::CLT.installed? and not File.file? "#{MacOS::Xcode.folder}/usr/bin/xcodebuild"
+ if not MacOS::CLT.installed? and not File.file? "#{MacOS::Xcode.folder}/usr/bin/xcodebuild"
path = MacOS.app_with_bundle_id(MacOS::Xcode::V4_BUNDLE_ID) || MacOS.app_with_bundle_id(MacOS::Xcode::V3_BUNDLE_ID)
path = '/Developer' if path.nil? or not path.directory?
<<-EOS.undent
diff --git a/Library/brew.rb b/Library/brew.rb
index 4fa22b4ee..6a2369b46 100755
--- a/Library/brew.rb
+++ b/Library/brew.rb
@@ -16,6 +16,22 @@ $:.unshift(HOMEBREW_LIBRARY_PATH + '/vendor')
$:.unshift(HOMEBREW_LIBRARY_PATH)
require 'global'
+# Check for bad xcode-select before anything else, because `doctor` and
+# many other things will hang
+# Note that this bug was fixed in 10.9
+if `xcode-select -print-path 2>/dev/null`.chomp == '/' && MacOS.version < :mavericks
+ ofail <<-EOS.undent
+ Your xcode-select path is currently set to '/'.
+ This causes the `xcrun` tool to hang, and can render Homebrew unusable.
+ If you are using Xcode, you should:
+ sudo xcode-select -switch /Applications/Xcode.app
+ Otherwise, you should:
+ sudo rm -rf /usr/share/xcode-select
+ EOS
+
+ exit -1
+end
+
case ARGV.first when '-h', '--help', '--usage', '-?', 'help', nil
require 'cmd/help'
puts Homebrew.help_s