cleanup: use installed_prefixes/installed_kegs
This commit is contained in:
		
							parent
							
								
									0686ebfcc0
								
							
						
					
					
						commit
						cc8859f86a
					
				@ -33,13 +33,13 @@ module Homebrew
 | 
			
		||||
 | 
			
		||||
  def cleanup_formula(f)
 | 
			
		||||
    if f.installed?
 | 
			
		||||
      eligible_kegs = f.rack.subdirs.map { |d| Keg.new(d) }.select { |k| f.pkg_version > k.version }
 | 
			
		||||
      eligible_kegs = f.installed_kegs.select { |k| f.pkg_version > k.version }
 | 
			
		||||
      if eligible_kegs.any? && eligible_for_cleanup?(f)
 | 
			
		||||
        eligible_kegs.each { |keg| cleanup_keg(keg) }
 | 
			
		||||
      else
 | 
			
		||||
        eligible_kegs.each { |keg| opoo "Skipping (old) keg-only: #{keg}" }
 | 
			
		||||
      end
 | 
			
		||||
    elsif f.rack.subdirs.length > 1
 | 
			
		||||
    elsif f.installed_prefixes.any?
 | 
			
		||||
      # If the cellar only has one version installed, don't complain
 | 
			
		||||
      # that we can't tell which one to keep.
 | 
			
		||||
      opoo "Skipping #{f.full_name}: most recent version #{f.pkg_version} not installed"
 | 
			
		||||
@ -172,7 +172,7 @@ module Homebrew
 | 
			
		||||
        f.deps.any? do |d|
 | 
			
		||||
          d.to_formula.full_name == formula.full_name rescue d.name == formula.name
 | 
			
		||||
        end
 | 
			
		||||
      end.all? { |f| f.rack.subdirs.all? { |keg| Tab.for_keg(keg).HEAD } }
 | 
			
		||||
      end.all? { |f| f.installed_prefixes.all? { |keg| Tab.for_keg(keg).HEAD } }
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user