audit: allow python symlinks based on keg-only status
This commit is contained in:
		
							parent
							
								
									dccece702c
								
							
						
					
					
						commit
						6e82f77108
					
				@ -265,18 +265,16 @@ module FormulaCellarChecks
 | 
			
		||||
    EOS
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  PYTHON_SYMLINK_ALLOWED_FORMULA = "python@3.8"
 | 
			
		||||
 | 
			
		||||
  def check_python_symlinks(name)
 | 
			
		||||
  def check_python_symlinks(name, keg_only)
 | 
			
		||||
    return unless keg_only
 | 
			
		||||
    return unless name.start_with? "python"
 | 
			
		||||
    return if name == PYTHON_SYMLINK_ALLOWED_FORMULA
 | 
			
		||||
 | 
			
		||||
    return if %w[pip3 wheel3].none? do |l|
 | 
			
		||||
      link = HOMEBREW_PREFIX/"bin"/l
 | 
			
		||||
      link.exist? && File.realpath(link).start_with?(HOMEBREW_CELLAR/name)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    "Only `#{PYTHON_SYMLINK_ALLOWED_FORMULA}` should create symlinks for `pip3` and `wheel3`"
 | 
			
		||||
    "Python formulae that are keg-only should not create `pip3` and `wheel3` symlinks"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def audit_installed
 | 
			
		||||
@ -296,7 +294,7 @@ module FormulaCellarChecks
 | 
			
		||||
    problem_if_output(check_python_packages(formula.lib, formula.deps))
 | 
			
		||||
    problem_if_output(check_shim_references(formula.prefix))
 | 
			
		||||
    problem_if_output(check_plist(formula.prefix, formula.plist))
 | 
			
		||||
    problem_if_output(check_python_symlinks(formula.name))
 | 
			
		||||
    problem_if_output(check_python_symlinks(formula.name, formula.keg_only?))
 | 
			
		||||
  end
 | 
			
		||||
  alias generic_audit_installed audit_installed
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user