bottle: just check origin/HEAD for rebuild

This commit is contained in:
Chris Wegrzyn 2021-04-30 14:06:37 -04:00
parent 056c9bb37f
commit 9ab44b8b6a
2 changed files with 15 additions and 21 deletions

View File

@ -333,9 +333,21 @@ module Homebrew
f.bottle_specification.rebuild f.bottle_specification.rebuild
else else
ohai "Determining #{f.full_name} bottle rebuild..." ohai "Determining #{f.full_name} bottle rebuild..."
versions = FormulaVersions.new(f) FormulaVersions.new(f).formula_at_revision("origin/HEAD") do |prev_f|
rebuilds = versions.most_recent_rebuild_for_pkg_version("origin/master", f.pkg_version) if f.pkg_version == prev_f.pkg_version
rebuilds ? rebuilds.to_i + 1 : 0 prev_f.bottle_specification.rebuild + 1
else
if f.pkg_version < prev_f.pkg_version
opoo <<~EOS
Current package version for #{f.full_name} (`#{f.pkg_version}') is lower than version at
origin/HEAD (`#{prev_f.pkg_version}').
Defaulting to no rebuild number, but you may wish to verify this.
EOS
end
0
end
end
end end
filename = Bottle::Filename.create(f, bottle_tag.to_sym, rebuild) filename = Bottle::Filename.create(f, bottle_tag.to_sym, rebuild)

View File

@ -57,22 +57,4 @@ class FormulaVersions
ensure ensure
Homebrew.raise_deprecation_exceptions = false Homebrew.raise_deprecation_exceptions = false
end end
def most_recent_rebuild_for_pkg_version(branch, pkg_version)
rev_list(branch) do |rev|
formula_at_revision(rev) do |f|
odebug "Considering #{rev}. #{f.pkg_version} (rebuild: #{f.bottle_specification.rebuild}"
bottle = f.bottle_specification
# If the version is older than the one we want, we've gone too far
return if f.pkg_version < pkg_version
# If this revision has a rebuild number, we are done!
return bottle.rebuild if f.pkg_version == pkg_version && !bottle.checksums.empty?
end
rescue MacOSVersionError => e
odebug "#{e} in #{name} at revision #{rev}"
break
end
nil
end
end end