From 15f3e9ea771c80dd4af2af8840a3609adc873fd3 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 9 Mar 2012 11:36:34 +0000 Subject: Doctor check for unlinked not-keg-only brews Since these cause trouble. --- Library/Homebrew/cmd/doctor.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'Library') diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index d71592032..9d4d0abe1 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -842,6 +842,25 @@ def check_for_outdated_homebrew end end +def check_for_unlinked_but_not_keg_only + unlinked = HOMEBREW_CELLAR.children.reject do |rack| + if not (HOMEBREW_REPOSITORY/"Library/LinkedKegs"/rack.basename).directory? + Formula.factory(rack.basename).keg_only? rescue nil + else + true + end + end.map{ |pn| pn.basename } + + if not unlinked.empty? then <<-EOS.undent + You have unlinked kegs in your Cellar + Leaving kegs unlinked can lead to build-trouble and cause brews that depend on + those kegs to fail to run properly once built. + + #{unlinked * "\n "} + EOS + end +end + end # end class Checks module Homebrew extend self -- cgit v1.2.3