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
opoo msg if msg
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"
if !old_formula.linked? && !old_formula.keg_only?
msg = <<~EOS

View File

@ -32,6 +32,12 @@ class Formula
# odeprecated "Formula#installed_version"
Keg.new(latest_installed_prefix).version
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
prepend Compat

View File

@ -32,7 +32,7 @@ module Homebrew
CacheStoreDatabase.use(:linkage) do |db|
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
args.named.to_kegs
end

View File

@ -73,7 +73,7 @@ module Homebrew
else
if gnupg.any_version_installed?
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
end
end

View File

@ -60,7 +60,7 @@ module Homebrew
else
if gnupg.any_version_installed?
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
end
end

View File

@ -1610,12 +1610,18 @@ class Formula
# Returns a Keg for the opt_prefix or installed_prefix if they exist.
# If not, return nil.
# @private
def opt_or_installed_prefix_keg
Formula.cache[:opt_or_installed_prefix_keg] ||= {}
Formula.cache[:opt_or_installed_prefix_keg][full_name] ||= if optlinked? && opt_prefix.exist?
Keg.new(opt_prefix)
def any_installed_keg
Formula.cache[:any_installed_keg] ||= {}
Formula.cache[:any_installed_keg][full_name] ||= if (installed_prefix = any_installed_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)
Keg.new(latest_installed_prefix)
latest_installed_prefix
end
end
@ -1623,7 +1629,7 @@ class Formula
# @private
def runtime_dependencies(read_from_tab: true, undeclared: true)
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|
full_name = d["full_name"]
next unless full_name
@ -1658,12 +1664,12 @@ class Formula
end
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
# read from a `Tab`.
Formula.cache[:runtime_installed_formula_dependents] = {}
Formula.cache[:runtime_installed_formula_dependents][full_name] ||= Formula.installed
.select(&:opt_or_installed_prefix_keg)
.select(&:any_installed_keg)
.select(&:runtime_dependencies)
.select do |f|
f.runtime_formula_dependencies.any? do |dep|
@ -1903,7 +1909,7 @@ class Formula
# but the formula links to.
# @private
def undeclared_runtime_dependencies
keg = opt_or_installed_prefix_keg
keg = any_installed_keg
return [] unless keg
CacheStoreDatabase.use(:linkage) do |db|

View File

@ -14,7 +14,7 @@ module Language
next false unless f.any_version_installed?
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 && !can_be_newer
end

View File

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

View File

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

View File

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