diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-07-06 16:04:14 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-07-06 16:17:24 +0200 |
commit | c3ab921eed2a471022e9863a94ea521508782e53 (patch) | |
tree | 1061ff2129632696029cd4c8b13fd583bc1a4c0e | |
parent | d9e6217f4e978777d1e6f7b82a1e096740cc419a (diff) | |
download | guix-c3ab921eed2a471022e9863a94ea521508782e53.tar.gz guix-c3ab921eed2a471022e9863a94ea521508782e53.zip |
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.scm | 6 |
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) |