mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
cask: audit for minimal OS version in sparkle feeds
This commit is contained in:
parent
31758eaa02
commit
012bd1f134
@ -545,6 +545,37 @@ module Cask
|
||||
false
|
||||
end
|
||||
|
||||
def check_livecheck_min_os
|
||||
return unless cask.livecheckable?
|
||||
return unless cask.livecheck.strategy == :sparkle
|
||||
|
||||
out, _, status = curl_output(cask.livecheck.url)
|
||||
return unless status.success?
|
||||
|
||||
require "rexml/document"
|
||||
|
||||
xml = begin
|
||||
REXML::Document.new(out)
|
||||
rescue
|
||||
nil
|
||||
end
|
||||
|
||||
return if xml.blank?
|
||||
|
||||
item = xml.get_elements("//rss//channel//item").first
|
||||
return if item.blank?
|
||||
|
||||
min_os = item.elements["sparkle:minimumSystemVersion"].text
|
||||
return if min_os.blank?
|
||||
|
||||
min_os_string = OS::Mac::Version.new(min_os).strip_patch
|
||||
cask_min_os = cask.depends_on.macos.version
|
||||
|
||||
return if cask_min_os == min_os_string
|
||||
|
||||
add_error "Upstream defined #{min_os_string} as minimal OS version and the cask defined #{cask_min_os}"
|
||||
end
|
||||
|
||||
sig { void }
|
||||
def check_appcast_contains_version
|
||||
return unless appcast?
|
||||
|
Loading…
x
Reference in New Issue
Block a user