Prepare bottle tooling for formula revisions

This commit is contained in:
Jack Nagel 2014-03-05 20:12:51 -06:00
parent 17032a600c
commit 44dc21ca5d
3 changed files with 10 additions and 5 deletions

View File

@ -6,7 +6,7 @@ require 'bottle_version'
def bottle_filename f, options={}
options = { :tag => bottle_tag }.merge(options)
name = f.name.downcase
version = f.stable.version
version = PkgVersion.new(f.stable.version, f.revision)
options[:revision] ||= f.bottle.revision.to_i if f.bottle
"#{name}-#{version}#{bottle_native_suffix(options)}"
end

View File

@ -115,7 +115,7 @@ module Homebrew extend self
if ARGV.include? '--no-revision'
bottle_revision = 0
else
max = f.bottle_version_map('origin/master')[f.version].max
max = f.bottle_version_map('origin/master')[f.pkg_version].max
bottle_revision = max ? max + 1 : 0
end
@ -143,7 +143,7 @@ module Homebrew extend self
HOMEBREW_CELLAR.cd do
# Use gzip, faster to compress than bzip2, faster to uncompress than bzip2
# or an uncompressed tarball (and more bandwidth friendly).
safe_system 'tar', 'czf', bottle_path, "#{f.name}/#{f.version}"
safe_system 'tar', 'czf', bottle_path, "#{f.name}/#{f.pkg_version}"
end
if File.size?(bottle_path) > 1*1024*1024

View File

@ -49,14 +49,19 @@ class Formula
unless bottle.checksum.nil? || bottle.checksum.empty?
@bottle = bottle
bottle.url ||= bottle_url(self, bottle.current_tag)
bottle.version = stable.version
bottle.version = PkgVersion.new(stable.version, revision)
end
end
@active_spec = determine_active_spec
validate_attributes :url, :name, :version
@build = determine_build_options
@pkg_version = PkgVersion.new(version, revision)
# TODO: @pkg_version is already set for bottles, since constructing it
# requires passing in the active_spec version. This should be fixed by
# making the bottle an attribute of SoftwareSpec rather than a separate
# spec itself.
@pkg_version = PkgVersion.new(version, revision) unless active_spec == bottle
@pin = FormulaPin.new(self)