download_strategy: fix handling of Apache projects moved to Attic

This commit is contained in:
Bo Anderson 2024-07-23 15:27:37 +01:00
parent 61f5e2b698
commit 577f99baac
No known key found for this signature in database

View File

@ -646,15 +646,22 @@ class CurlApacheMirrorDownloadStrategy < CurlDownloadStrategy
def combined_mirrors def combined_mirrors
return @combined_mirrors if defined?(@combined_mirrors) return @combined_mirrors if defined?(@combined_mirrors)
backup_mirrors = apache_mirrors.fetch("backup", []) backup_mirrors = unless apache_mirrors["in_attic"]
apache_mirrors.fetch("backup", [])
.map { |mirror| "#{mirror}#{apache_mirrors["path_info"]}" } .map { |mirror| "#{mirror}#{apache_mirrors["path_info"]}" }
end
@combined_mirrors = [*@mirrors, *backup_mirrors] @combined_mirrors = [*@mirrors, *backup_mirrors]
end end
def resolve_url_basename_time_file_size(url, timeout: nil) def resolve_url_basename_time_file_size(url, timeout: nil)
if url == self.url if url == self.url
super("#{apache_mirrors["preferred"]}#{apache_mirrors["path_info"]}", timeout:) preferred = if apache_mirrors["in_attic"]
"https://archive.apache.org/dist/"
else
apache_mirrors["preferred"]
end
super("#{preferred}#{apache_mirrors["path_info"]}", timeout:)
else else
super super
end end