cleanup: handle some edge cases

This commit is contained in:
Bo Anderson 2024-04-01 14:36:39 +01:00
parent df2c914b42
commit bc7c274e17
No known key found for this signature in database

View File

@ -140,6 +140,15 @@ module Homebrew
rescue FormulaUnavailableError, TapFormulaAmbiguityError rescue FormulaUnavailableError, TapFormulaAmbiguityError
nil nil
end end
return false if formula.blank?
# We can't determine an installed rebuild and parsing manifest version cannot be reliably done.
return false unless formula.latest_version_installed?
return true if (bottle = formula.bottle).blank?
return version != GitHubPackages.version_rebuild(bottle.resource.version, bottle.rebuild)
end end
return false if formula.blank? return false if formula.blank?
@ -151,7 +160,8 @@ module Homebrew
return true unless patch_hashes&.include?(Checksum.new(version.to_s)) return true unless patch_hashes&.include?(Checksum.new(version.to_s))
elsif resource_name && (resource_version = formula.stable&.resources&.dig(resource_name)&.version) elsif resource_name && (resource_version = formula.stable&.resources&.dig(resource_name)&.version)
return true if resource_version != version return true if resource_version != version
elsif (formula.latest_version_installed? && formula.version != version) || formula.version > version elsif (formula.latest_version_installed? && formula.pkg_version.to_s != version) ||
formula.pkg_version.to_s > version
return true return true
end end