aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/keg.rb
diff options
context:
space:
mode:
authorAlyssa Ross2016-12-30 16:16:53 +0000
committerAlyssa Ross2016-12-30 16:16:53 +0000
commite5db7927c940e260fe10d4c88754b7b01384e427 (patch)
treef32e3fbbda58cab77438391616a178124b118efc /Library/Homebrew/keg.rb
parentbdbc19c614dd9f787c92ce3e0f62180d2238f177 (diff)
downloadbrew-e5db7927c940e260fe10d4c88754b7b01384e427.tar.bz2
keg: fall back for dependencies of buggy tabs
Fixes #1554.
Diffstat (limited to 'Library/Homebrew/keg.rb')
-rw-r--r--Library/Homebrew/keg.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index 756b27288..65ae3478c 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -104,8 +104,10 @@ class Keg
# so need them to be calculated now.
#
# This happens after the initial dependency check because it's sloooow.
- remaining_formulae = Formula.installed.select do |f|
- f.installed_kegs.any? { |k| Tab.for_keg(k).runtime_dependencies.nil? }
+ remaining_formulae = Formula.installed.reject do |f|
+ f.installed_kegs.all? do |k|
+ Tab.for_keg(k).reliable_runtime_dependencies?
+ end
end
keg_names = kegs.map(&:name)
@@ -360,7 +362,7 @@ class Keg
tap = Tab.for_keg(self).source["tap"]
Keg.all.select do |keg|
tab = Tab.for_keg(keg)
- next if tab.runtime_dependencies.nil? # no dependency information saved.
+ next unless tab.reliable_runtime_dependencies?
tab.runtime_dependencies.any? do |dep|
# Resolve formula rather than directly comparing names
# in case of conflicts between formulae from different taps.