From 6f06236bca93f354120f1d367d66cb7bbf4ddf82 Mon Sep 17 00:00:00 2001 From: apainintheneck Date: Tue, 31 May 2022 10:44:34 -0700 Subject: [PATCH] Fix :svn download errors with :latest casks --- Library/Homebrew/cask/cask.rb | 7 +++++++ Library/Homebrew/cask/installer.rb | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cask/cask.rb b/Library/Homebrew/cask/cask.rb index 277518ea55..4b048ac985 100644 --- a/Library/Homebrew/cask/cask.rb +++ b/Library/Homebrew/cask/cask.rb @@ -129,6 +129,10 @@ module Cask metadata_main_container_path/"config.json" end + def checksumable? + url.using.blank? || url.using == :post + end + def download_sha_path metadata_main_container_path/"LATEST_DOWNLOAD_SHA256" end @@ -136,12 +140,15 @@ module Cask def new_download_sha require "cask/installer" + # Call checksumable? before hashing @new_download_sha ||= Installer.new(self, verify_download_integrity: false) .download(quiet: true) .instance_eval { |x| Digest::SHA256.file(x).hexdigest } end def outdated_download_sha? + return true unless checksumable? + current_download_sha = download_sha_path.read if download_sha_path.exist? current_download_sha.blank? || current_download_sha != new_download_sha end diff --git a/Library/Homebrew/cask/installer.rb b/Library/Homebrew/cask/installer.rb index ac9de8fba0..b0182cb42c 100644 --- a/Library/Homebrew/cask/installer.rb +++ b/Library/Homebrew/cask/installer.rb @@ -397,7 +397,7 @@ module Cask end def save_download_sha - @cask.download_sha_path.atomic_write(@cask.new_download_sha) + @cask.download_sha_path.atomic_write(@cask.new_download_sha) if @cask.checksumable? end def uninstall