diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index b2211fdc1571c42786e2c48e094bede64ed3c36f..a583f3bbf63b509cfaf9d371348e535e9d1bf8de 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -205,6 +205,11 @@ class FormulaAuditor end @@aliases ||= Formula.aliases + @@remote_official_taps ||= if (homebrew_tapd = HOMEBREW_LIBRARY/"Taps/homebrew").directory? + OFFICIAL_TAPS - homebrew_tapd.subdirs.map(&:basename).map { |tap| tap.to_s.sub(/^homebrew-/, "") } + else + OFFICIAL_TAPS + end def audit_formula_name return unless @strict @@ -224,14 +229,11 @@ class FormulaAuditor return end - same_name_tap_formulae = Formula.tap_names.select { |f| f =~ %r{^homebrew/[^/]+/#{name}$} } - homebrew_tapd = HOMEBREW_LIBRARY/"Taps/homebrew" - current_taps = if homebrew_tapd.directory? - homebrew_tapd.subdirs.map(&:basename).map { |tap| tap.to_s.sub(/^homebrew-/, "") } - else - [] + same_name_tap_formulae = Formula.tap_names.select do |tap_formula_name| + user_name, _, formula_name = tap_formula_name.split("/", 3) + user_name == "homebrew" && formula_name == name end - same_name_tap_formulae += (OFFICIAL_TAPS - current_taps).map do |tap| + same_name_tap_formulae += @@remote_official_taps.map do |tap| Thread.new { Homebrew.search_tap "homebrew", tap, name } end.map(&:value).flatten same_name_tap_formulae.delete(full_name)