From 15dd3317f8a02430a8efc4816a6cc3d31b95f1a9 Mon Sep 17 00:00:00 2001 From: Michael Cho Date: Mon, 11 Mar 2024 19:43:22 -0400 Subject: [PATCH 1/2] diagnostic: use FromTapLoader to check 3rd-party formula Signed-off-by: Michael Cho --- Library/Homebrew/diagnostic.rb | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index aea24c3b95..78477f8803 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -835,25 +835,20 @@ module Homebrew deleted_formulae = kegs.filter_map do |keg| tap = Tab.for_keg(keg).tap + keg_name = tap ? "#{tap}/#{keg.name}" : keg.name loadable = [ Formulary::FromAPILoader, + Formulary::FromTapLoader, Formulary::FromNameLoader, ].any? do |loader_class| loader = begin - loader_class.try_new(keg.name, warn: false) + loader_class.try_new(keg_name, warn: false) rescue TapFormulaAmbiguityError => e e.loaders.first end - if loader - # If we know the tap, ignore all other taps. - next false if tap && loader.tap != tap - - next true - end - - false + loader.instance_of?(Formulary::FromTapLoader) ? loader.path.exist? : loader.present? end keg.name unless loadable From 495bdd0d7a06bc98cdb4b942ac7394eb28e4189f Mon Sep 17 00:00:00 2001 From: Michael Cho Date: Tue, 12 Mar 2024 10:41:06 -0400 Subject: [PATCH 2/2] diagnostic: rename variable to `tap_keg_name` Co-authored-by: Mike McQuaid --- Library/Homebrew/diagnostic.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index 78477f8803..746d0b7a50 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -835,7 +835,7 @@ module Homebrew deleted_formulae = kegs.filter_map do |keg| tap = Tab.for_keg(keg).tap - keg_name = tap ? "#{tap}/#{keg.name}" : keg.name + tap_keg_name = tap ? "#{tap}/#{keg.name}" : keg.name loadable = [ Formulary::FromAPILoader, @@ -843,7 +843,7 @@ module Homebrew Formulary::FromNameLoader, ].any? do |loader_class| loader = begin - loader_class.try_new(keg_name, warn: false) + loader_class.try_new(tap_keg_name, warn: false) rescue TapFormulaAmbiguityError => e e.loaders.first end