formula: rename opt_or_installed_prefix_keg to any_installed_keg

This commit is contained in:
Seeker 2020-08-31 10:58:36 -07:00
parent 1f6bb52d3d
commit 5def0701ba
10 changed files with 30 additions and 18 deletions

View File

@ -219,7 +219,7 @@ module Homebrew
end end
opoo msg if msg opoo msg if msg
elsif !f.any_version_installed? && old_formula = f.old_installed_formulae.first elsif !f.any_version_installed? && old_formula = f.old_installed_formulae.first
installed_version = old_formula.opt_or_installed_prefix_keg.version installed_version = old_formula.any_installed_keg.version
msg = "#{old_formula.full_name} #{installed_version} already installed" msg = "#{old_formula.full_name} #{installed_version} already installed"
if !old_formula.linked? && !old_formula.keg_only? if !old_formula.linked? && !old_formula.keg_only?
msg = <<~EOS msg = <<~EOS

View File

@ -32,6 +32,12 @@ class Formula
# odeprecated "Formula#installed_version" # odeprecated "Formula#installed_version"
Keg.new(latest_installed_prefix).version Keg.new(latest_installed_prefix).version
end end
def opt_or_installed_prefix_keg
# TODO: deprecate for Homebrew 2.5
# odeprecated "Formula#opt_or_installed_prefix_keg", "Formula#any_installed_keg"
any_installed_keg
end
end end
prepend Compat prepend Compat

View File

@ -32,7 +32,7 @@ module Homebrew
CacheStoreDatabase.use(:linkage) do |db| CacheStoreDatabase.use(:linkage) do |db|
kegs = if args.named.to_kegs.empty? kegs = if args.named.to_kegs.empty?
Formula.installed.map(&:opt_or_installed_prefix_keg).reject(&:nil?) Formula.installed.map(&:any_installed_keg).reject(&:nil?)
else else
args.named.to_kegs args.named.to_kegs
end end

View File

@ -73,7 +73,7 @@ module Homebrew
else else
if gnupg.any_version_installed? if gnupg.any_version_installed?
path = PATH.new(ENV.fetch("PATH")) path = PATH.new(ENV.fetch("PATH"))
path.prepend(gnupg.opt_or_installed_prefix_keg/"bin") path.prepend(gnupg.any_installed_prefix/"bin")
ENV["PATH"] = path ENV["PATH"] = path
end end
end end

View File

@ -60,7 +60,7 @@ module Homebrew
else else
if gnupg.any_version_installed? if gnupg.any_version_installed?
path = PATH.new(ENV.fetch("PATH")) path = PATH.new(ENV.fetch("PATH"))
path.prepend(gnupg.opt_or_installed_prefix_keg/"bin") path.prepend(gnupg.any_installed_prefix/"bin")
ENV["PATH"] = path ENV["PATH"] = path
end end
end end

View File

@ -1610,12 +1610,18 @@ class Formula
# Returns a Keg for the opt_prefix or installed_prefix if they exist. # Returns a Keg for the opt_prefix or installed_prefix if they exist.
# If not, return nil. # If not, return nil.
# @private # @private
def opt_or_installed_prefix_keg def any_installed_keg
Formula.cache[:opt_or_installed_prefix_keg] ||= {} Formula.cache[:any_installed_keg] ||= {}
Formula.cache[:opt_or_installed_prefix_keg][full_name] ||= if optlinked? && opt_prefix.exist? Formula.cache[:any_installed_keg][full_name] ||= if (installed_prefix = any_installed_prefix)
Keg.new(opt_prefix) Keg.new(installed_prefix)
end
end
def any_installed_prefix
if optlinked? && opt_prefix.exist?
opt_prefix
elsif (latest_installed_prefix = installed_prefixes.last) elsif (latest_installed_prefix = installed_prefixes.last)
Keg.new(latest_installed_prefix) latest_installed_prefix
end end
end end
@ -1623,7 +1629,7 @@ class Formula
# @private # @private
def runtime_dependencies(read_from_tab: true, undeclared: true) def runtime_dependencies(read_from_tab: true, undeclared: true)
deps = if read_from_tab && undeclared && deps = if read_from_tab && undeclared &&
(tab_deps = opt_or_installed_prefix_keg&.runtime_dependencies) (tab_deps = any_installed_keg&.runtime_dependencies)
tab_deps.map do |d| tab_deps.map do |d|
full_name = d["full_name"] full_name = d["full_name"]
next unless full_name next unless full_name
@ -1658,12 +1664,12 @@ class Formula
end end
def runtime_installed_formula_dependents def runtime_installed_formula_dependents
# `opt_or_installed_prefix_keg` and `runtime_dependencies` `select`s ensure # `any_installed_keg` and `runtime_dependencies` `select`s ensure
# that we don't end up with something `Formula#runtime_dependencies` can't # that we don't end up with something `Formula#runtime_dependencies` can't
# read from a `Tab`. # read from a `Tab`.
Formula.cache[:runtime_installed_formula_dependents] = {} Formula.cache[:runtime_installed_formula_dependents] = {}
Formula.cache[:runtime_installed_formula_dependents][full_name] ||= Formula.installed Formula.cache[:runtime_installed_formula_dependents][full_name] ||= Formula.installed
.select(&:opt_or_installed_prefix_keg) .select(&:any_installed_keg)
.select(&:runtime_dependencies) .select(&:runtime_dependencies)
.select do |f| .select do |f|
f.runtime_formula_dependencies.any? do |dep| f.runtime_formula_dependencies.any? do |dep|
@ -1903,7 +1909,7 @@ class Formula
# but the formula links to. # but the formula links to.
# @private # @private
def undeclared_runtime_dependencies def undeclared_runtime_dependencies
keg = opt_or_installed_prefix_keg keg = any_installed_keg
return [] unless keg return [] unless keg
CacheStoreDatabase.use(:linkage) do |db| CacheStoreDatabase.use(:linkage) do |db|

View File

@ -14,7 +14,7 @@ module Language
next false unless f.any_version_installed? next false unless f.any_version_installed?
unless version.zero? unless version.zero?
major = f.opt_or_installed_prefix_keg.version.major major = f.any_installed_keg.version.major
next false if major < version next false if major < version
next false if major > version && !can_be_newer next false if major > version && !can_be_newer
end end

View File

@ -81,7 +81,7 @@ module Homebrew
formula.head.downloader.shutup! if formula.head? formula.head.downloader.shutup! if formula.head?
current = if formula.head? current = if formula.head?
formula.opt_or_installed_prefix_keg.version.version.commit formula.any_installed_keg.version.version.commit
else else
formula.version formula.version
end end

View File

@ -9,7 +9,7 @@ end
describe "brew link", :integration_test do describe "brew link", :integration_test do
it "links a given Formula" do it "links a given Formula" do
install_test_formula "testball" install_test_formula "testball"
Formula["testball"].opt_or_installed_prefix_keg.unlink Formula["testball"].any_installed_keg.unlink
expect { brew "link", "testball" } expect { brew "link", "testball" }
.to output(/Linking/).to_stdout .to output(/Linking/).to_stdout

View File

@ -125,7 +125,7 @@ module Homebrew
installed_formulae.flat_map(&:runtime_installed_formula_dependents) installed_formulae.flat_map(&:runtime_installed_formula_dependents)
.uniq .uniq
.select do |f| .select do |f|
keg = f.opt_or_installed_prefix_keg keg = f.any_installed_keg
next unless keg next unless keg
LinkageChecker.new(keg, cache_db: db) LinkageChecker.new(keg, cache_db: db)
@ -245,7 +245,7 @@ module Homebrew
end end
def depends_on(a, b) def depends_on(a, b)
if a.opt_or_installed_prefix_keg if a.any_installed_keg
&.runtime_dependencies &.runtime_dependencies
&.any? { |d| d["full_name"] == b.full_name } &.any? { |d| d["full_name"] == b.full_name }
1 1