upgrade: check for already broken dependents
After upgrading a formula, it currently checks for broken dependents after upgrading any outdated dependents. If there are no outdated dependents, it exits early and doesn't check for broken dependents. This adds an earlier check for already broken dependents so they can be fixed even if there are no outdated dependents.
This commit is contained in:
parent
9396ccf974
commit
bdfaaf7940
@ -124,10 +124,22 @@ module Homebrew
|
||||
installed_formulae = FormulaInstaller.installed.to_a
|
||||
return if installed_formulae.empty?
|
||||
|
||||
already_broken_dependents = CacheStoreDatabase.use(:linkage) do |db|
|
||||
installed_formulae.flat_map(&:runtime_installed_formula_dependents)
|
||||
.uniq
|
||||
.select do |f|
|
||||
keg = f.opt_or_installed_prefix_keg
|
||||
next unless keg
|
||||
|
||||
LinkageChecker.new(keg, cache_db: db)
|
||||
.broken_library_linkage?
|
||||
end.compact
|
||||
end
|
||||
|
||||
outdated_dependents =
|
||||
installed_formulae.flat_map(&:runtime_installed_formula_dependents)
|
||||
.select(&:outdated?)
|
||||
return if outdated_dependents.blank?
|
||||
return if outdated_dependents.blank? && already_broken_dependents.blank?
|
||||
|
||||
outdated_dependents -= installed_formulae if args.dry_run?
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user