From 4938b0eead9b1f34883c166a16c769a5db03edd9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 9 Oct 2014 13:38:16 +0200 Subject: substitute-binary: Ignore $GUIX_BINARY_SUBSTITUTE_URL. * guix/scripts/substitute-binary.scm (%cache-url): Ignore the 'GUIX_BINARY_SUBSTITUTE_URL' environment variable. * test-env.in: Invoke 'guix-daemon' with '--substitute-urls'. * tests/substitute-binary.scm: Set '%cache-url' to the value of 'GUIX_BINARY_SUBSTITUTE_URL'. --- guix/scripts/substitute-binary.scm | 27 +++++++++++++-------------- test-env.in | 3 ++- tests/substitute-binary.scm | 3 +++ 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index 7a286426a1..a2d0cab727 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -625,20 +625,19 @@ found." (assoc-ref (daemon-options) option)) (define %cache-url - (or (getenv "GUIX_BINARY_SUBSTITUTE_URL") - (match (and=> (find-daemon-option "substitute-urls") - string-tokenize) - ((url) - url) - ((head tail ..1) - ;; Currently we don't handle multiple substitute URLs. - (warning (_ "these substitute URLs will not be used:~{ ~a~}~%") - tail) - head) - (#f - ;; This can only happen when this script is not invoked by the - ;; daemon. - "http://hydra.gnu.org")))) + (match (and=> (find-daemon-option "substitute-urls") + string-tokenize) + ((url) + url) + ((head tail ..1) + ;; Currently we don't handle multiple substitute URLs. + (warning (_ "these substitute URLs will not be used:~{ ~a~}~%") + tail) + head) + (#f + ;; This can only happen when this script is not invoked by the + ;; daemon. + "http://hydra.gnu.org"))) (define (guix-substitute-binary . args) "Implement the build daemon's substituter protocol." diff --git a/test-env.in b/test-env.in index 302118bb6f..792830c29b 100644 --- a/test-env.in +++ b/test-env.in @@ -81,7 +81,8 @@ then # Launch the daemon without chroot support because is may be # unavailable, for instance if we're not running as root. "@abs_top_builddir@/pre-inst-env" \ - "@abs_top_builddir@/guix-daemon" --disable-chroot & + "@abs_top_builddir@/guix-daemon" --disable-chroot \ + --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" & daemon_pid=$! trap "kill $daemon_pid ; rm -rf $NIX_STATE_DIR" EXIT diff --git a/tests/substitute-binary.scm b/tests/substitute-binary.scm index 8bde7f6aaf..163cd74593 100644 --- a/tests/substitute-binary.scm +++ b/tests/substitute-binary.scm @@ -166,6 +166,9 @@ a file for NARINFO." (define-syntax-rule (with-narinfo narinfo body ...) (call-with-narinfo narinfo (lambda () body ...))) +;; Transmit these options to 'guix substitute-binary'. +(set! (@@ (guix scripts substitute-binary) %cache-url) + (getenv "GUIX_BINARY_SUBSTITUTE_URL")) (test-equal "query narinfo without signature" "" ; not substitutable -- cgit v1.2.3