diff options
| author | Jack Nagel | 2015-06-12 20:37:20 -0400 |
|---|---|---|
| committer | Jack Nagel | 2015-06-12 20:37:20 -0400 |
| commit | c4dfacaf0ca015bf401d1ca454de9f18a5424ea8 (patch) | |
| tree | fdb5b5a713d0b9054f765e6a61b5e2d39d6a853e /Library/Homebrew | |
| parent | aad4ed7faad0abd7b2240b8a47a6ce3956bed19c (diff) | |
| download | brew-c4dfacaf0ca015bf401d1ca454de9f18a5424ea8.tar.bz2 | |
Fix linked keg-only check when only directories are linked
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/cmd/doctor.rb | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 0c9ce42ff..a60eb9d2a 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -913,38 +913,25 @@ def check_for_autoconf end def __check_linked_brew f - links_found = [] - prefix = f.prefix prefix.find do |src| next if src == prefix dst = HOMEBREW_PREFIX + src.relative_path_from(prefix) - - next if !dst.symlink? || !dst.exist? || src != dst.resolved_path - - if src.directory? - Find.prune - else - links_found << dst - end + return true if dst.symlink? && src == dst.resolved_path end - return links_found + false end def check_for_linked_keg_only_brews return unless HOMEBREW_CELLAR.exist? - warnings = Hash.new - - Formula.each do |f| - next unless f.keg_only? and f.installed? - links = __check_linked_brew f - warnings[f.full_name] = links unless links.empty? - end + linked = Formula.select { |f| + f.keg_only? && f.installed? && __check_linked_brew(f) + } - unless warnings.empty? + unless linked.empty? s = <<-EOS.undent Some keg-only formula are linked into the Cellar. Linking a keg-only formula, such as gettext, into the cellar with @@ -958,7 +945,7 @@ def check_for_linked_keg_only_brews You may wish to `brew unlink` these brews: EOS - warnings.each_key { |f| s << " #{f}\n" } + linked.each { |f| s << " #{f.full_name}\n" } s end end |
