From 577f99baace5318c529a64c821fc200bc7ed56e7 Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Tue, 23 Jul 2024 15:27:37 +0100 Subject: [PATCH] download_strategy: fix handling of Apache projects moved to Attic --- Library/Homebrew/download_strategy.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index b74815b2e6..2175015d43 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -646,15 +646,22 @@ class CurlApacheMirrorDownloadStrategy < CurlDownloadStrategy def combined_mirrors return @combined_mirrors if defined?(@combined_mirrors) - backup_mirrors = apache_mirrors.fetch("backup", []) - .map { |mirror| "#{mirror}#{apache_mirrors["path_info"]}" } + backup_mirrors = unless apache_mirrors["in_attic"] + apache_mirrors.fetch("backup", []) + .map { |mirror| "#{mirror}#{apache_mirrors["path_info"]}" } + end @combined_mirrors = [*@mirrors, *backup_mirrors] end def resolve_url_basename_time_file_size(url, timeout: nil) 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 super end