diff --git a/Library/Homebrew/bottles.rb b/Library/Homebrew/bottles.rb index 3fe921d7b9..2c20b2585c 100644 --- a/Library/Homebrew/bottles.rb +++ b/Library/Homebrew/bottles.rb @@ -58,7 +58,7 @@ def bottle_resolve_formula_names bottle_file end def bottle_resolve_version bottle_file - Version.new bottle_receipt_path(bottle_file).split("/")[1] + PkgVersion.parse bottle_receipt_path(bottle_file).split("/")[1] end class Bintray diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb index 9b80ba6db6..45761be88e 100644 --- a/Library/Homebrew/cmd/cleanup.rb +++ b/Library/Homebrew/cmd/cleanup.rb @@ -83,7 +83,13 @@ module Homebrew next end - if f.version > version || ARGV.switch?('s') && !f.installed? || bottle_file_outdated?(f, file) + file_is_stale = if PkgVersion === version + f.pkg_version > version + else + f.version > version + end + + if file_is_stale || ARGV.switch?('s') && !f.installed? || bottle_file_outdated?(f, file) cleanup_path(file) { file.unlink } end end