From f5fbb74aaf847c9589af82ceea2f388eae02e0f6 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Thu, 5 Jul 2018 20:29:19 +0100 Subject: [PATCH] linkage: fix output of optional dependencies. Check the runtime dependencies from the tab when outputting the `brew linkage` declared vs. undeclared dependencies. --- Library/Homebrew/formula.rb | 3 ++- Library/Homebrew/linkage_checker.rb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 3fe006a116..b0375cd051 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1518,7 +1518,7 @@ class Formula # Returns a list of Dependency objects that are required at runtime. # @private - def runtime_dependencies(read_from_tab: true) + def runtime_dependencies(read_from_tab: true, undeclared: true) if read_from_tab && (keg = opt_or_installed_prefix_keg) && (tab_deps = keg.runtime_dependencies) @@ -1529,6 +1529,7 @@ class Formula end.compact end + return declared_runtime_dependencies unless undeclared declared_runtime_dependencies | undeclared_runtime_dependencies end diff --git a/Library/Homebrew/linkage_checker.rb b/Library/Homebrew/linkage_checker.rb index c7ba0a1709..d297ac215f 100644 --- a/Library/Homebrew/linkage_checker.rb +++ b/Library/Homebrew/linkage_checker.rb @@ -149,7 +149,8 @@ class LinkageChecker declared_deps_names = declared_deps_full_names.map do |dep| dep.split("/").last end - recursive_deps = formula.declared_runtime_dependencies.map do |dep| + recursive_deps = formula.runtime_dependencies(undeclared: false) + .map do |dep| begin dep.to_formula.name rescue FormulaUnavailableError