audit: add more checks for conflics_with audit

This commit is contained in:
Alexander Bayandin 2021-06-14 14:14:36 +01:00
parent 736278c020
commit 4c14675021
No known key found for this signature in database
GPG Key ID: 444BD9CA93262701

View File

@ -315,7 +315,14 @@ module Homebrew
def audit_conflicts
formula.conflicts.each do |c|
Formulary.factory(c.name)
conflicting_formula = Formulary.factory(c.name)
problem "Formula should not conflict with itself" if formula == conflicting_formula
# Use Formula instead of FormulaConflict to be able correctly handle renamed formulae and aliases
reverse_conflicts = conflicting_formula.conflicts.map { |rc| Formulary.factory(rc.name) }
if reverse_conflicts.exclude? formula
problem "Formula #{conflicting_formula.name} should also have a conflict declared with #{formula.name}"
end
rescue TapFormulaUnavailableError
# Don't complain about missing cross-tap conflicts.
next