Merge pull request #19546 from Homebrew/downloadable_warning

cask/download: avoid some checksum warnings.
This commit is contained in:
Mike McQuaid 2025-03-19 22:50:55 +00:00 committed by GitHub
commit 417421b99b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 2 deletions

View File

@ -82,8 +82,7 @@ module Cask
sig { override.params(filename: Pathname).void } sig { override.params(filename: Pathname).void }
def verify_download_integrity(filename) def verify_download_integrity(filename)
official_cask_tap = @cask.tap&.official? if no_checksum_defined? && !official_cask_tap?
if @cask.sha256 == :no_check && !official_cask_tap
opoo "No checksum defined for cask '#{@cask}', skipping verification." opoo "No checksum defined for cask '#{@cask}', skipping verification."
return return
end end
@ -114,6 +113,24 @@ module Cask
end end
end end
sig { returns(T::Boolean) }
def official_cask_tap?
tap = @cask.tap
return false if tap.blank?
tap.official?
end
sig { returns(T::Boolean) }
def no_checksum_defined?
@cask.sha256 == :no_check
end
sig { override.returns(T::Boolean) }
def silence_checksum_missing_error?
no_checksum_defined? && official_cask_tap?
end
sig { override.returns(T.nilable(::URL)) } sig { override.returns(T.nilable(::URL)) }
def determine_url def determine_url
url url

View File

@ -117,6 +117,8 @@ module Downloadable
filename.verify_checksum(checksum) filename.verify_checksum(checksum)
end end
rescue ChecksumMissingError rescue ChecksumMissingError
return if silence_checksum_missing_error?
opoo <<~EOS opoo <<~EOS
Cannot verify integrity of '#{filename.basename}'. Cannot verify integrity of '#{filename.basename}'.
No checksum was provided. No checksum was provided.
@ -132,6 +134,11 @@ module Downloadable
private private
sig { overridable.returns(T::Boolean) }
def silence_checksum_missing_error?
false
end
sig { overridable.returns(T.nilable(URL)) } sig { overridable.returns(T.nilable(URL)) }
def determine_url def determine_url
@url @url