diff options
| author | Jack Nagel | 2013-01-23 00:26:28 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-01-26 12:14:48 -0600 |
| commit | 85a77eb1d0426bed7b2f1ed72c422d846db300df (patch) | |
| tree | 213de69edc337cf59b9c741351431401802612be | |
| parent | 775184240d039973f3cd0751eb648d8840f70276 (diff) | |
| download | homebrew-85a77eb1d0426bed7b2f1ed72c422d846db300df.tar.bz2 | |
missing: ignore unused optional and recommended deps
| -rw-r--r-- | Library/Homebrew/cmd/doctor.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/missing.rb | 24 |
2 files changed, 13 insertions, 13 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index b6207112a..891ff70a5 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -872,7 +872,7 @@ end def check_missing_deps return unless HOMEBREW_CELLAR.exist? s = Set.new - Homebrew.missing_deps(Homebrew.installed_brews).each do |_, deps| + Homebrew.missing_deps(Formula.installed).each do |_, deps| s.merge deps end diff --git a/Library/Homebrew/cmd/missing.rb b/Library/Homebrew/cmd/missing.rb index 7f4417081..ea0df4a1d 100644 --- a/Library/Homebrew/cmd/missing.rb +++ b/Library/Homebrew/cmd/missing.rb @@ -1,21 +1,21 @@ require 'formula' +require 'tab' module Homebrew extend self - def installed_brews - formulae = [] - HOMEBREW_CELLAR.subdirs.each do |rack| - f = Formula.factory rack.basename.to_s rescue nil - formulae << f if f and f.rack.exist? and f.rack.subdirs.length > 0 - end - formulae - end - def missing_deps ff missing = {} ff.each do |f| - missing_deps = f.recursive_deps.uniq.reject do |dep| - dep.rack.exist? and dep.rack.subdirs.length > 0 + missing_deps = f.recursive_dependencies do |dependent, dep| + if dep.optional? || dep.recommended? + tab = Tab.for_formula(dependent) + Dependency.prune unless tab.with?(dep.name) + elsif dep.build? + Dependency.prune end + end + + missing_deps.map!(&:to_formula) + missing_deps.reject! { |d| d.rack.exist? && d.rack.subdirs.length > 0 } unless missing_deps.empty? yield f.name, missing_deps if block_given? @@ -29,7 +29,7 @@ module Homebrew extend self return unless HOMEBREW_CELLAR.exist? ff = if ARGV.named.empty? - installed_brews + Formula.installed else ARGV.formulae end |
