From e0a8ddcd1ef379ea235e6f34b957573f763494bb Mon Sep 17 00:00:00 2001 From: Max Howell Date: Thu, 15 Mar 2012 16:37:46 +0000 Subject: [PATCH] Warn about broken symlinks in HOMEBREW_PREFIX Refs Homebrew/homebrew#10874. --- Library/Homebrew/cmd/doctor.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 04696da32a..4a981f7ca8 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -166,6 +166,21 @@ def check_for_other_package_managers end end +def check_for_broken_symlinks + broken_symlinks = [] + %w[lib include sbin bin etc share].each do |d| + d = HOMEBREW_PREFIX/d + d.find do |pn| + broken_symlinks << pn if pn.symlink? and pn.readlink.expand_path.to_s =~ /^#{HOMEBREW_PREFIX}/ and not pn.exist? + end + end + unless broken_symlinks.empty? then <<-EOS.undent + Broken symlinks were found. Remove them with `brew prune': + #{broken_symlinks * "\n "} + EOS + end +end + def check_gcc_42 if MacOS.gcc_42_build_version == nil # Don't show this warning on Xcode 4.2+