From d9276a46bf103b2d56770d6a69a900cc21219b96 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 10 Feb 2024 16:56:33 +0000 Subject: [PATCH] scripts: substitute: Remove side effect warning from network-error?. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead, display the warning from process-substitution and process-substitution/fallback in the relevant places. I'm looking at this because I want to make the substitute code less tied to the script and usable in the Guile guix-daemon. * guix/scripts/substitute.scm (network-error?): Move warning to… (process-substitution/fallback, process-substitution): here. Change-Id: I082b482c0e6ec7e02a8d437ba22dcefca5c40787 --- guix/scripts/substitute.scm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 1b2d735d68..9726a80753 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -615,13 +615,7 @@ STATUS-PORT." (and (kind-and-args? exception) (memq (exception-kind exception) '(gnutls-error getaddrinfo-error))) - (and (http-get-error? exception) - (begin - (warning (G_ "download from '~a' failed: ~a, ~s~%") - (uri->string (http-get-error-uri exception)) - (http-get-error-code exception) - (http-get-error-reason exception)) - #t)))))) + (http-get-error? exception))))) (define* (process-substitution/fallback port narinfo destination #:key cache-urls acl @@ -649,7 +643,13 @@ way to download the nar." (if (or (equivalent-narinfo? narinfo alternate) (valid-narinfo? alternate acl) (%allow-unauthenticated-substitutes?)) - (guard (c ((network-error? c) (loop rest))) + (guard (c ((network-error? c) + (when (http-get-error? c) + (warning (G_ "download from '~a' failed: ~a, ~s~%") + (uri->string (http-get-error-uri c)) + (http-get-error-code c) + (http-get-error-reason c))) + (loop rest))) (download-nar alternate destination #:status-port port #:deduplicate? deduplicate? @@ -677,6 +677,11 @@ PORT." store-item)) (guard (c ((network-error? c) + (when (http-get-error? c) + (warning (G_ "download from '~a' failed: ~a, ~s~%") + (uri->string (http-get-error-uri c)) + (http-get-error-code c) + (http-get-error-reason c))) (format (current-error-port) (G_ "retrying download of '~a' with other substitute URLs...~%") store-item)