From 2b513387cd63f82afc8fb6a076674b323e964b7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Dec 2016 23:00:08 +0100 Subject: [PATCH] offload: Test each machine only once. * guix/scripts/offload.scm (check-machine-availability)[build-machine=?]: New procedure. Add call to 'delete-duplicates'. --- guix/scripts/offload.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index f25cc5e7bb..f56220ff69 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -710,7 +710,14 @@ allowed on MACHINE. Return +∞ if MACHINE is unreachable." (define (check-machine-availability machine-file) "Check that each machine in MACHINE-FILE is usable as a build machine." - (let ((machines (build-machines machine-file))) + (define (build-machine=? m1 m2) + (and (string=? (build-machine-name m1) (build-machine-name m2)) + (= (build-machine-port m1) (build-machine-port m2)))) + + ;; A given build machine may appear several times (e.g., once for + ;; "x86_64-linux" and a second time for "i686-linux"); test them only once. + (let ((machines (delete-duplicates (build-machines machine-file) + build-machine=?))) (info (_ "testing ~a build machines defined in '~a'...~%") (length machines) machine-file) (let* ((names (map build-machine-name machines))