diff options
| author | Alyssa Ross | 2016-12-30 16:16:53 +0000 |
|---|---|---|
| committer | Alyssa Ross | 2016-12-30 16:16:53 +0000 |
| commit | e5db7927c940e260fe10d4c88754b7b01384e427 (patch) | |
| tree | f32e3fbbda58cab77438391616a178124b118efc /Library/Homebrew/keg.rb | |
| parent | bdbc19c614dd9f787c92ce3e0f62180d2238f177 (diff) | |
| download | brew-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.rb | 8 |
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. |
