Merge pull request #18768 from Homebrew/revamp_installed_on_request
Revamp installed_on_request handling
This commit is contained in:
commit
d8242dafd1
@ -138,7 +138,6 @@ module Homebrew
|
|||||||
Homebrew::Reinstall.reinstall_formula(
|
Homebrew::Reinstall.reinstall_formula(
|
||||||
formula,
|
formula,
|
||||||
flags: args.flags_only,
|
flags: args.flags_only,
|
||||||
installed_on_request: args.named.present?,
|
|
||||||
force_bottle: args.force_bottle?,
|
force_bottle: args.force_bottle?,
|
||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
@ -156,7 +155,6 @@ module Homebrew
|
|||||||
Upgrade.check_installed_dependents(
|
Upgrade.check_installed_dependents(
|
||||||
formulae,
|
formulae,
|
||||||
flags: args.flags_only,
|
flags: args.flags_only,
|
||||||
installed_on_request: args.named.present?,
|
|
||||||
force_bottle: args.force_bottle?,
|
force_bottle: args.force_bottle?,
|
||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
|
@ -220,7 +220,6 @@ module Homebrew
|
|||||||
formulae_to_install,
|
formulae_to_install,
|
||||||
flags: args.flags_only,
|
flags: args.flags_only,
|
||||||
dry_run: args.dry_run?,
|
dry_run: args.dry_run?,
|
||||||
installed_on_request: args.named.present?,
|
|
||||||
force_bottle: args.force_bottle?,
|
force_bottle: args.force_bottle?,
|
||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
@ -237,7 +236,6 @@ module Homebrew
|
|||||||
formulae_to_install,
|
formulae_to_install,
|
||||||
flags: args.flags_only,
|
flags: args.flags_only,
|
||||||
dry_run: args.dry_run?,
|
dry_run: args.dry_run?,
|
||||||
installed_on_request: args.named.present?,
|
|
||||||
force_bottle: args.force_bottle?,
|
force_bottle: args.force_bottle?,
|
||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
|
@ -84,7 +84,7 @@ class FormulaInstaller
|
|||||||
formula,
|
formula,
|
||||||
link_keg: false,
|
link_keg: false,
|
||||||
installed_as_dependency: false,
|
installed_as_dependency: false,
|
||||||
installed_on_request: true,
|
installed_on_request: false,
|
||||||
show_header: false,
|
show_header: false,
|
||||||
build_bottle: false,
|
build_bottle: false,
|
||||||
skip_post_install: false,
|
skip_post_install: false,
|
||||||
|
@ -259,6 +259,8 @@ module Homebrew
|
|||||||
formula_installer = FormulaInstaller.new(
|
formula_installer = FormulaInstaller.new(
|
||||||
formula,
|
formula,
|
||||||
options: build_options.used_options,
|
options: build_options.used_options,
|
||||||
|
installed_on_request: true,
|
||||||
|
installed_as_dependency: false,
|
||||||
build_bottle:,
|
build_bottle:,
|
||||||
force_bottle:,
|
force_bottle:,
|
||||||
bottle_arch:,
|
bottle_arch:,
|
||||||
|
@ -10,7 +10,6 @@ module Homebrew
|
|||||||
def self.reinstall_formula(
|
def self.reinstall_formula(
|
||||||
formula,
|
formula,
|
||||||
flags:,
|
flags:,
|
||||||
installed_on_request: false,
|
|
||||||
force_bottle: false,
|
force_bottle: false,
|
||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
interactive: false,
|
interactive: false,
|
||||||
@ -25,9 +24,16 @@ module Homebrew
|
|||||||
if formula.opt_prefix.directory?
|
if formula.opt_prefix.directory?
|
||||||
keg = Keg.new(formula.opt_prefix.resolved_path)
|
keg = Keg.new(formula.opt_prefix.resolved_path)
|
||||||
tab = keg.tab
|
tab = keg.tab
|
||||||
keg_had_linked_opt = true
|
link_keg = keg.linked?
|
||||||
keg_was_linked = keg.linked?
|
installed_as_dependency = tab.installed_as_dependency
|
||||||
|
installed_on_request = tab.installed_on_request
|
||||||
|
build_bottle = tab.built_bottle?
|
||||||
backup keg
|
backup keg
|
||||||
|
else
|
||||||
|
link_keg = nil
|
||||||
|
installed_as_dependency = false
|
||||||
|
installed_on_request = true
|
||||||
|
build_bottle = false
|
||||||
end
|
end
|
||||||
|
|
||||||
build_options = BuildOptions.new(Options.create(flags), formula.options)
|
build_options = BuildOptions.new(Options.create(flags), formula.options)
|
||||||
@ -39,10 +45,10 @@ module Homebrew
|
|||||||
formula,
|
formula,
|
||||||
**{
|
**{
|
||||||
options:,
|
options:,
|
||||||
link_keg: keg_had_linked_opt ? keg_was_linked : nil,
|
link_keg:,
|
||||||
installed_as_dependency: tab&.installed_as_dependency,
|
installed_as_dependency:,
|
||||||
installed_on_request: installed_on_request || tab&.installed_on_request,
|
installed_on_request:,
|
||||||
build_bottle: tab&.built_bottle?,
|
build_bottle:,
|
||||||
force_bottle:,
|
force_bottle:,
|
||||||
build_from_source_formulae:,
|
build_from_source_formulae:,
|
||||||
git:,
|
git:,
|
||||||
@ -65,7 +71,7 @@ module Homebrew
|
|||||||
rescue FormulaInstallationAlreadyAttemptedError
|
rescue FormulaInstallationAlreadyAttemptedError
|
||||||
nil
|
nil
|
||||||
rescue Exception # rubocop:disable Lint/RescueException
|
rescue Exception # rubocop:disable Lint/RescueException
|
||||||
ignore_interrupts { restore_backup(keg, keg_was_linked, verbose:) }
|
ignore_interrupts { restore_backup(keg, link_keg, verbose:) }
|
||||||
raise
|
raise
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
@ -202,7 +202,7 @@ RSpec.shared_context "integration test" do # rubocop:disable RSpec/ContextWordin
|
|||||||
|
|
||||||
def install_test_formula(name, content = nil, build_bottle: false)
|
def install_test_formula(name, content = nil, build_bottle: false)
|
||||||
setup_test_formula(name, content)
|
setup_test_formula(name, content)
|
||||||
fi = FormulaInstaller.new(Formula[name], build_bottle:)
|
fi = FormulaInstaller.new(Formula[name], build_bottle:, installed_on_request: true)
|
||||||
fi.prelude
|
fi.prelude
|
||||||
fi.fetch
|
fi.fetch
|
||||||
fi.install
|
fi.install
|
||||||
|
@ -15,7 +15,6 @@ module Homebrew
|
|||||||
formulae_to_install,
|
formulae_to_install,
|
||||||
flags:,
|
flags:,
|
||||||
dry_run: false,
|
dry_run: false,
|
||||||
installed_on_request: false,
|
|
||||||
force_bottle: false,
|
force_bottle: false,
|
||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
dependents: false,
|
dependents: false,
|
||||||
@ -55,7 +54,6 @@ module Homebrew
|
|||||||
fi = create_formula_installer(
|
fi = create_formula_installer(
|
||||||
formula,
|
formula,
|
||||||
flags:,
|
flags:,
|
||||||
installed_on_request:,
|
|
||||||
force_bottle:,
|
force_bottle:,
|
||||||
build_from_source_formulae:,
|
build_from_source_formulae:,
|
||||||
interactive:,
|
interactive:,
|
||||||
@ -114,7 +112,6 @@ module Homebrew
|
|||||||
private_class_method def self.create_formula_installer(
|
private_class_method def self.create_formula_installer(
|
||||||
formula,
|
formula,
|
||||||
flags:,
|
flags:,
|
||||||
installed_on_request: false,
|
|
||||||
force_bottle: false,
|
force_bottle: false,
|
||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
interactive: false,
|
interactive: false,
|
||||||
@ -126,15 +123,23 @@ module Homebrew
|
|||||||
quiet: false,
|
quiet: false,
|
||||||
verbose: false
|
verbose: false
|
||||||
)
|
)
|
||||||
if formula.opt_prefix.directory?
|
keg = if formula.optlinked?
|
||||||
keg = Keg.new(formula.opt_prefix.resolved_path)
|
Keg.new(formula.opt_prefix.resolved_path)
|
||||||
keg_had_linked_opt = true
|
else
|
||||||
keg_was_linked = keg.linked?
|
formula.installed_kegs.find(&:optlinked?)
|
||||||
end
|
end
|
||||||
|
|
||||||
if formula.opt_prefix.directory?
|
if keg
|
||||||
keg = Keg.new(formula.opt_prefix.resolved_path)
|
|
||||||
tab = keg.tab
|
tab = keg.tab
|
||||||
|
link_keg = keg.linked?
|
||||||
|
installed_as_dependency = tab.installed_as_dependency
|
||||||
|
installed_on_request = tab.installed_on_request
|
||||||
|
build_bottle = tab.built_bottle?
|
||||||
|
else
|
||||||
|
link_keg = nil
|
||||||
|
installed_as_dependency = false
|
||||||
|
installed_on_request = true
|
||||||
|
build_bottle = false
|
||||||
end
|
end
|
||||||
|
|
||||||
build_options = BuildOptions.new(Options.create(flags), formula.options)
|
build_options = BuildOptions.new(Options.create(flags), formula.options)
|
||||||
@ -146,10 +151,10 @@ module Homebrew
|
|||||||
formula,
|
formula,
|
||||||
**{
|
**{
|
||||||
options:,
|
options:,
|
||||||
link_keg: keg_had_linked_opt ? keg_was_linked : nil,
|
link_keg:,
|
||||||
installed_as_dependency: tab&.installed_as_dependency,
|
installed_as_dependency:,
|
||||||
installed_on_request: installed_on_request || tab&.installed_on_request,
|
installed_on_request:,
|
||||||
build_bottle: tab&.built_bottle?,
|
build_bottle:,
|
||||||
force_bottle:,
|
force_bottle:,
|
||||||
build_from_source_formulae:,
|
build_from_source_formulae:,
|
||||||
interactive:,
|
interactive:,
|
||||||
@ -338,7 +343,6 @@ module Homebrew
|
|||||||
upgrade_formulae(
|
upgrade_formulae(
|
||||||
upgradeable_dependents,
|
upgradeable_dependents,
|
||||||
flags:,
|
flags:,
|
||||||
installed_on_request:,
|
|
||||||
force_bottle:,
|
force_bottle:,
|
||||||
build_from_source_formulae:,
|
build_from_source_formulae:,
|
||||||
dependents: true,
|
dependents: true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user