From e8c241f56c10c37d3791b55f4106e5cddd206551 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Mon, 11 Nov 2019 10:08:08 +0000 Subject: [PATCH] upgrade: fix handling broken dependents. Ensure that we use the keg for checking linkage but that the dependents returned are still formulae. Fixes #6715. --- Library/Homebrew/cmd/upgrade.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index 90bab1867c..01670b03ef 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -267,12 +267,13 @@ module Homebrew oh1 "Checking for dependents' broken linkage from upgraded formulae..." broken_dependents = CacheStoreDatabase.use(:linkage) do |db| formulae_to_install.flat_map(&:runtime_installed_formula_dependents) - .map(&:opt_or_installed_prefix_keg) - .compact - .select do |keg| + .select do |f| + keg = f.opt_or_installed_prefix_keg + next unless keg + LinkageChecker.new(keg, cache_db: db) .broken_library_linkage? - end + end.compact end if broken_dependents.blank? ohai "No broken dependents found!"