From 3933b84deaf5673a322a2beed3ed9fe8a486054a Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 17 Mar 2015 09:03:13 +0000 Subject: software_spec: check if bottles are compatible. The `bottled?` method makes more sense when it also checks for compatibility. This is particularly useful for the case in `brew info` so it prints out `(bottled)` correctly depending on the `Cellar`. Closes Homebrew/homebrew#37636. Signed-off-by: Mike McQuaid --- Library/Homebrew/software_spec.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'Library/Homebrew/software_spec.rb') diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index b6ec3b485..569ea7988 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -62,7 +62,8 @@ class SoftwareSpec end def bottled? - bottle_specification.tag?(bottle_tag) + bottle_specification.tag?(bottle_tag) && \ + bottle_specification.compatible_cellar? end def bottle &block @@ -220,6 +221,7 @@ class Bottle @name = formula.name @resource = Resource.new @resource.owner = formula + @spec = spec checksum, tag = spec.checksum_for(bottle_tag) @@ -234,7 +236,7 @@ class Bottle end def compatible_cellar? - cellar == :any || cellar == HOMEBREW_CELLAR.to_s + @spec.compatible_cellar? end def stage @@ -265,6 +267,10 @@ class BottleSpecification @collector = BottleCollector.new end + def compatible_cellar? + cellar == :any || cellar == HOMEBREW_CELLAR.to_s + end + def tag?(tag) !!checksum_for(tag) end -- cgit v1.2.3