Move can_cleanup? off of the formula instance
This commit is contained in:
parent
338a08d8d6
commit
a5c9c586ff
@ -42,7 +42,7 @@ module Homebrew
|
|||||||
def cleanup_formula f
|
def cleanup_formula f
|
||||||
if f.installed?
|
if f.installed?
|
||||||
eligible_kegs = f.rack.subdirs.map { |d| Keg.new(d) }.select { |k| f.pkg_version > k.version }
|
eligible_kegs = f.rack.subdirs.map { |d| Keg.new(d) }.select { |k| f.pkg_version > k.version }
|
||||||
if eligible_kegs.any? && f.can_cleanup?
|
if eligible_kegs.any? && eligible_for_cleanup?(f)
|
||||||
eligible_kegs.each { |keg| cleanup_keg(keg) }
|
eligible_kegs.each { |keg| cleanup_keg(keg) }
|
||||||
else
|
else
|
||||||
eligible_kegs.each { |keg| opoo "Skipping (old) keg-only: #{keg}" }
|
eligible_kegs.each { |keg| opoo "Skipping (old) keg-only: #{keg}" }
|
||||||
@ -109,21 +109,18 @@ module Homebrew
|
|||||||
quiet_system "find", *args
|
quiet_system "find", *args
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
def eligible_for_cleanup?(formula)
|
||||||
|
|
||||||
class Formula
|
|
||||||
def can_cleanup?
|
|
||||||
# It used to be the case that keg-only kegs could not be cleaned up, because
|
# It used to be the case that keg-only kegs could not be cleaned up, because
|
||||||
# older brews were built against the full path to the keg-only keg. Then we
|
# older brews were built against the full path to the keg-only keg. Then we
|
||||||
# introduced the opt symlink, and built against that instead. So provided
|
# introduced the opt symlink, and built against that instead. So provided
|
||||||
# no brew exists that was built against an old-style keg-only keg, we can
|
# no brew exists that was built against an old-style keg-only keg, we can
|
||||||
# remove it.
|
# remove it.
|
||||||
if not keg_only? or ARGV.force?
|
if not formula.keg_only? or ARGV.force?
|
||||||
true
|
true
|
||||||
elsif opt_prefix.directory?
|
elsif formula.opt_prefix.directory?
|
||||||
# SHA records were added to INSTALL_RECEIPTS the same day as opt symlinks
|
# SHA records were added to INSTALL_RECEIPTS the same day as opt symlinks
|
||||||
Formula.installed.
|
Formula.installed.
|
||||||
select { |f| f.deps.any? { |d| d.name == name } }.
|
select { |f| f.deps.any? { |d| d.name == formula.name } }.
|
||||||
all? { |f| f.rack.subdirs.all? { |keg| Tab.for_keg(keg).HEAD } }
|
all? { |f| f.rack.subdirs.all? { |keg| Tab.for_keg(keg).HEAD } }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user