summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-07-06 16:04:14 +0200
committerLudovic Courtès <ludo@gnu.org>2019-07-06 16:17:24 +0200
commitc3ab921eed2a471022e9863a94ea521508782e53 (patch)
tree1061ff2129632696029cd4c8b13fd583bc1a4c0e
parentd9e6217f4e978777d1e6f7b82a1e096740cc419a (diff)
downloadguix-c3ab921eed2a471022e9863a94ea521508782e53.tar.gz
ci: 'channel-build-system' honors the target system.
Fixes a bug made evident e79281be105b16153c375af5506db31fd1e32698: the
x86_64-linux derivation of 'current-guix' would be cached and reused for
i686-linux, leading to test
failures.

Namely, /run/current-system/profile/bin/guix would have an x86_64
binary in its shebang, and thus it would end up being interpreted by
/bin/sh, which would fail like this:

  + guix --version
  /run/current-system/profile/bin/guix: line 2: !#: command not found
  /run/current-system/profile/bin/guix: line 3: syntax error near unexpected token `set!'
  /run/current-system/profile/bin/guix: line 3: `(begin (set! %load-path …

See <https://ci.guix.gnu.org/build/1431119/details>.

* gnu/ci.scm (channel-build-system)[build]: Pass #:system to
'run-with-store'.
-rw-r--r--gnu/ci.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm
index e108b4b15b..4885870e16 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -193,9 +193,11 @@ system.")
 (define channel-build-system
   ;; Build system used to "convert" a channel instance to a package.
   (let* ((build (lambda* (store name inputs
-                                #:key instance #:allow-other-keys)
+                                #:key instance system
+                                #:allow-other-keys)
                   (run-with-store store
-                    (channel-instances->derivation (list instance)))))
+                    (channel-instances->derivation (list instance))
+                    #:system system)))
          (lower (lambda* (name #:key system instance #:allow-other-keys)
                   (bag
                     (name name)