From 4b8279d1f4d2b0e09a7a9531a7a7d8c7dc7d8753 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 16 Nov 2020 19:35:24 +0000 Subject: Avoid agent crashes when substitute urls aren't provided --- guix-build-coordinator/agent.scm | 22 +++++++++++++++------- guix-build-coordinator/utils.scm | 12 ++++++++---- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm index 96611fc..582b607 100644 --- a/guix-build-coordinator/agent.scm +++ b/guix-build-coordinator/agent.scm @@ -143,13 +143,20 @@ output-paths)) (path-substitutes (begin - (set-build-options store #:substitute-urls - non-derivation-substitute-urls) + (when non-derivation-substitute-urls + (set-build-options store #:substitute-urls + non-derivation-substitute-urls)) + + (unless non-derivation-substitute-urls + (simple-format + #t + "warning: unable to query substitute servers without caching\n")) (map (lambda (file) (and - (has-substiutes-no-cache? non-derivation-substitute-urls - file) + (and (list? non-derivation-substitute-urls) + (has-substiutes-no-cache? non-derivation-substitute-urls + file)) (if (has-substitutes? store file) #t (begin @@ -177,9 +184,10 @@ (make-exception-with-message "timeout fetching inputs")) (begin ;; Download the substitutes - (set-build-options store - #:substitute-urls - non-derivation-substitute-urls) + (when non-derivation-substitute-urls + (set-build-options store + #:substitute-urls + non-derivation-substitute-urls)) (build-things store missing-paths)))) #:times 6 diff --git a/guix-build-coordinator/utils.scm b/guix-build-coordinator/utils.scm index 0dd1473..a0f13ad 100644 --- a/guix-build-coordinator/utils.scm +++ b/guix-build-coordinator/utils.scm @@ -324,10 +324,14 @@ upcoming chunk." (catch #t (lambda () (with-store store - (set-build-options store - #:print-extended-build-trace? #t - #:multiplexed-build-output? #t - #:substitute-urls substitute-urls) + (apply set-build-options + store + `(#:print-extended-build-trace? #t + #:multiplexed-build-output? #t + ,@(if substitute-urls + `(#:substitute-urls ,substitute-urls) + '()))) + (with-status-report (lambda (event status new) (print-build-event event status new) -- cgit v1.2.3