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 <mike@mikemcquaid.com>
This commit is contained in:
parent
514910e812
commit
3933b84dea
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user