Merge pull request #15944 from MikeMcQuaid/more_liberal_formula_upgrade
upgrade: more liberal formula upgrade changes.
This commit is contained in:
commit
fbc1e84bdc
@ -31,6 +31,7 @@ class FormulaInstaller
|
|||||||
extend Predicable
|
extend Predicable
|
||||||
|
|
||||||
attr_reader :formula
|
attr_reader :formula
|
||||||
|
attr_reader :bottle_tab_runtime_dependencies
|
||||||
|
|
||||||
attr_accessor :options, :link_keg
|
attr_accessor :options, :link_keg
|
||||||
|
|
||||||
@ -96,7 +97,7 @@ class FormulaInstaller
|
|||||||
@requirement_messages = []
|
@requirement_messages = []
|
||||||
@poured_bottle = false
|
@poured_bottle = false
|
||||||
@start_time = nil
|
@start_time = nil
|
||||||
@bottle_tab_runtime_dependencies = {}
|
@bottle_tab_runtime_dependencies = {}.freeze
|
||||||
|
|
||||||
# Take the original formula instance, which might have been swapped from an API instance to a source instance
|
# Take the original formula instance, which might have been swapped from an API instance to a source instance
|
||||||
@formula = previously_fetched_formula if previously_fetched_formula
|
@formula = previously_fetched_formula if previously_fetched_formula
|
||||||
|
|||||||
@ -22,6 +22,7 @@ module Homebrew
|
|||||||
installed_on_request: false,
|
installed_on_request: false,
|
||||||
force_bottle: false,
|
force_bottle: false,
|
||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
|
dependents: false,
|
||||||
interactive: false,
|
interactive: false,
|
||||||
keep_tmp: false,
|
keep_tmp: false,
|
||||||
debug_symbols: false,
|
debug_symbols: false,
|
||||||
@ -70,6 +71,20 @@ module Homebrew
|
|||||||
)
|
)
|
||||||
unless dry_run
|
unless dry_run
|
||||||
fi.prelude
|
fi.prelude
|
||||||
|
|
||||||
|
# Don't need to install this bottle if all the runtime dependencies
|
||||||
|
# are already satisfied.
|
||||||
|
next if dependents && fi.bottle_tab_runtime_dependencies.presence&.none? do |dependency, hash|
|
||||||
|
installed_version = begin
|
||||||
|
Formula[dependency].any_installed_version
|
||||||
|
rescue FormulaUnavailableError
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
next true unless installed_version
|
||||||
|
|
||||||
|
Version.new(hash["version"]) > installed_version.version
|
||||||
|
end
|
||||||
|
|
||||||
fi.fetch
|
fi.fetch
|
||||||
end
|
end
|
||||||
fi
|
fi
|
||||||
@ -336,6 +351,7 @@ module Homebrew
|
|||||||
installed_on_request: installed_on_request,
|
installed_on_request: installed_on_request,
|
||||||
force_bottle: force_bottle,
|
force_bottle: force_bottle,
|
||||||
build_from_source_formulae: build_from_source_formulae,
|
build_from_source_formulae: build_from_source_formulae,
|
||||||
|
dependents: true,
|
||||||
interactive: interactive,
|
interactive: interactive,
|
||||||
keep_tmp: keep_tmp,
|
keep_tmp: keep_tmp,
|
||||||
debug_symbols: debug_symbols,
|
debug_symbols: debug_symbols,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user