2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-09-06 08:29:14 +02:00
|
|
|
module Cask
|
2016-09-24 13:52:43 +02:00
|
|
|
module Verify
|
|
|
|
module_function
|
2016-08-18 22:11:42 +03:00
|
|
|
|
2016-09-24 13:52:43 +02:00
|
|
|
def all(cask, downloaded_path)
|
2018-09-05 01:39:30 +02:00
|
|
|
if cask.sha256 == :no_check
|
|
|
|
ohai "No SHA-256 checksum defined for Cask '#{cask}', skipping verification."
|
|
|
|
return
|
2016-09-24 13:52:43 +02:00
|
|
|
end
|
2016-08-18 22:11:42 +03:00
|
|
|
|
2018-09-05 01:39:30 +02:00
|
|
|
ohai "Verifying SHA-256 checksum for Cask '#{cask}'."
|
|
|
|
|
|
|
|
expected = cask.sha256
|
|
|
|
computed = downloaded_path.sha256
|
|
|
|
|
|
|
|
raise CaskSha256MissingError.new(cask.token, expected, computed) if expected.nil? || expected.empty?
|
|
|
|
|
|
|
|
return if expected == computed
|
|
|
|
|
|
|
|
ohai "Note: Running `brew update` may fix SHA-256 checksum errors."
|
|
|
|
raise CaskSha256MismatchError.new(cask.token, expected, computed, downloaded_path)
|
2016-08-18 22:11:42 +03:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|