Miscellaneous bottle code cleanup.

This commit is contained in:
Mike McQuaid 2012-08-25 13:08:24 -07:00
parent 82d1310800
commit 67f78074f9
4 changed files with 16 additions and 13 deletions

View File

@ -1,4 +1,5 @@
require 'tab'
require 'macos'
require 'extend/ARGV'
def bottle_filename f, bottle_version=nil
@ -11,7 +12,7 @@ end
def install_bottle? f
return true if ARGV.include? '--install-bottle'
not ARGV.build_from_source? \
and ARGV.bottles_supported? \
and MacOS.bottles_supported? \
and ARGV.used_options(f).empty? \
and bottle_current?(f)
end
@ -25,12 +26,15 @@ def built_as_bottle? f
end
def bottle_current? f
f.bottle and f.bottle.url && !f.bottle.checksum.empty? && f.bottle.version == f.stable.version
f.bottle and f.bottle.url \
and (not f.bottle.checksum.empty?) \
and (f.bottle.version == f.stable.version)
end
def bottle_file_outdated? f, file
filename = file.basename.to_s
return nil unless (filename.match(bottle_regex) or filename.match(old_bottle_regex)) and f.bottle and f.bottle.url
return nil unless f.bottle and f.bottle.url \
and (filename.match(bottle_regex) or filename.match(old_bottle_regex))
bottle_ext = filename.match(bottle_native_regex).captures.first rescue nil
bottle_ext ||= filename.match(old_bottle_regex).captures.first rescue nil

View File

@ -51,7 +51,7 @@ module Homebrew extend self
specs = []
stable = "stable #{f.stable.version}" if f.stable
stable += " (bottled)" if f.bottle and bottles_supported?
stable += " (bottled)" if f.bottle and MacOS.bottles_supported?
specs << stable if stable
specs << "devel #{f.devel.version}" if f.devel
specs << "HEAD" if f.head

View File

@ -124,16 +124,8 @@ module HomebrewArgvExtension
include? '--32-bit'
end
def bottles_supported?
# Snow Leopard was the only version of OS X that supported
# both 64-bit and 32-bit processors and kernels.
(Hardware.is_64_bit? or not MacOS.snow_leopard?) \
and HOMEBREW_PREFIX.to_s == '/usr/local' \
and HOMEBREW_CELLAR.to_s == '/usr/local/Cellar' \
end
def build_bottle?
include? '--build-bottle' and bottles_supported?
include? '--build-bottle' and MacOS.bottles_supported?
end
def build_from_source?

View File

@ -215,6 +215,13 @@ module MacOS extend self
def pkgutil_info id
`pkgutil --pkg-info #{id} 2>/dev/null`.strip
end
def bottles_supported?
# We support bottles on all versions of OS X except 32-bit Snow Leopard.
(Hardware.is_64_bit? or not MacOS.snow_leopard?) \
and HOMEBREW_PREFIX.to_s == '/usr/local' \
and HOMEBREW_CELLAR.to_s == '/usr/local/Cellar' \
end
end
require 'macos/xcode'