[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#55951: Lowering an <operating-system> is sensitive to (%current-syst
From: |
Ludovic Courtès |
Subject: |
bug#55951: Lowering an <operating-system> is sensitive to (%current-system) |
Date: |
Mon, 13 Jun 2022 23:23:14 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Consider this file:
--8<---------------cut here---------------start------------->8---
(use-modules (guix))
(lambda ()
(lower-object (load "overdrive1.scm") "aarch64-linux"))
--8<---------------cut here---------------end--------------->8---
When ran on x86_64-linux, these two commands return different
derivations, contrary to what one might expect:
guix build -f that-file.scm -d --no-grafts -s aarch64-linux
guix build -f that-file.scm -d --no-grafts
That demonstrates that the result depends on (%current-system), even
though it shouldn’t because we’re explicitly specifying the system.
This has implications on ‘guix deploy’: if you try to deploy
aarch64-linux boxes from x86_64-linux (say), some of the derivations are
going to be for x86_64-linux instead of aarch64-linux, which can lead to
unbootable systems, as Ricardo reported a while back.
In particular, /gnu/store/…-activate.scm.drv (a direct dependency
/gnu/store/…-system.drv) is one of those derivations sensitive to
(%current-system).
Ludo’.
- bug#55951: Lowering an <operating-system> is sensitive to (%current-system),
Ludovic Courtès <=