diff --git a/Library/Homebrew/cmd/leaves.rb b/Library/Homebrew/cmd/leaves.rb index 8bf66f3f46..9ac093f6d4 100644 --- a/Library/Homebrew/cmd/leaves.rb +++ b/Library/Homebrew/cmd/leaves.rb @@ -41,12 +41,12 @@ module Homebrew sig { params(formula: Formula).returns(T::Boolean) } def installed_on_request?(formula) - formula.any_installed_keg&.tab&.installed_on_request + formula.any_installed_keg&.tab&.installed_on_request == true end sig { params(formula: Formula).returns(T::Boolean) } def installed_as_dependency?(formula) - formula.any_installed_keg&.tab&.installed_as_dependency + formula.any_installed_keg&.tab&.installed_as_dependency == true end end end diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 57c9233382..e3579d20ba 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -800,12 +800,18 @@ on_request: installed_on_request?, options:) options |= inherited_options options &= df.options + installed_on_request = if df.any_version_installed? && tab.present? && tab.installed_on_request + true + else + false + end + fi = FormulaInstaller.new( df, options:, link_keg: keg_had_linked_keg && keg_was_linked, installed_as_dependency: true, - installed_on_request: df.any_version_installed? && tab.present? && tab.installed_on_request, + installed_on_request:, force_bottle: false, include_test_formulae: @include_test_formulae, build_from_source_formulae: @build_from_source_formulae, diff --git a/Library/Homebrew/reinstall.rb b/Library/Homebrew/reinstall.rb index 25e27bcc14..e3f8769eb5 100644 --- a/Library/Homebrew/reinstall.rb +++ b/Library/Homebrew/reinstall.rb @@ -25,8 +25,8 @@ module Homebrew keg = Keg.new(formula.opt_prefix.resolved_path) tab = keg.tab link_keg = keg.linked? - installed_as_dependency = tab.installed_as_dependency - installed_on_request = tab.installed_on_request + installed_as_dependency = tab.installed_as_dependency == true + installed_on_request = tab.installed_on_request == true build_bottle = tab.built_bottle? backup keg else diff --git a/Library/Homebrew/tab.rb b/Library/Homebrew/tab.rb index ac04c6880a..af5f7ecf0d 100644 --- a/Library/Homebrew/tab.rb +++ b/Library/Homebrew/tab.rb @@ -16,11 +16,13 @@ class AbstractTab # Check whether the formula or cask was installed as a dependency. # # @api internal + sig { returns(T.nilable(T::Boolean)) } # TODO: change this to always return a boolean attr_accessor :installed_as_dependency # Check whether the formula or cask was installed on request. # # @api internal + sig { returns(T.nilable(T::Boolean)) } # TODO: change this to always return a boolean attr_accessor :installed_on_request attr_accessor :homebrew_version, :tabfile, :loaded_from_api, :time, :arch, :source, :built_on diff --git a/Library/Homebrew/upgrade.rb b/Library/Homebrew/upgrade.rb index 8a25927fcd..112893aac1 100644 --- a/Library/Homebrew/upgrade.rb +++ b/Library/Homebrew/upgrade.rb @@ -132,8 +132,8 @@ module Homebrew if keg tab = keg.tab link_keg = keg.linked? - installed_as_dependency = tab.installed_as_dependency - installed_on_request = tab.installed_on_request + installed_as_dependency = tab.installed_as_dependency == true + installed_on_request = tab.installed_on_request == true build_bottle = tab.built_bottle? else link_keg = nil