formula: rename opt_or_installed_prefix_keg to any_installed_keg
				
					
				
			This commit is contained in:
		
							parent
							
								
									1f6bb52d3d
								
							
						
					
					
						commit
						5def0701ba
					
				@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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|
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user