diagnostic: report unreadable, installed formulae.

We previously did this somewhat unintentionally. `brew readall` does
this for all formulae but takes way longer.
This commit is contained in:
Mike McQuaid 2019-04-02 14:38:59 +01:00
parent e767ce642c
commit baecc4fdee
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70

View File

@ -713,6 +713,25 @@ module Homebrew
EOS EOS
end end
def check_for_unreadable_installed_formula
formula_unavailable_exceptions = []
Formula.racks.each do |rack|
begin
Formulary.from_rack(rack)
rescue FormulaUnavailableError => e
formula_unavailable_exceptions << e
rescue TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
nil
end
end
return if formula_unavailable_exceptions.empty?
<<~EOS
Some installed formulae are not readable:
#{formula_unavailable_exceptions.join("\n\n ")}
EOS
end
def check_for_unlinked_but_not_keg_only def check_for_unlinked_but_not_keg_only
unlinked = Formula.racks.reject do |rack| unlinked = Formula.racks.reject do |rack|
if !(HOMEBREW_LINKED_KEGS/rack.basename).directory? if !(HOMEBREW_LINKED_KEGS/rack.basename).directory?