diff mbox series

[bug#41350,2/3] system: vm: Do not register-closures when cross-building.

Message ID 20200517100343.26361-2-janneke@gnu.org
State New
Headers show
Series Use native qemu to build vm-image. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Jan Nieuwenhuizen May 17, 2020, 10:03 a.m. UTC
This supports cross-building building a vm-image, running a native qemu.

* gnu/system/vm.scm (qemu-image)[register-closures?]: Default to #f when
cross-compiling.  Only create sql-schema when actually registering closures.
---
 gnu/build/vm.scm  | 2 +-
 gnu/system/vm.scm | 8 +++++---
 2 files changed, 6 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index c751e6b0e2..2b36dd29ce 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -27,7 +27,7 @@ 
   #:use-module (guix build store-copy)
   #:use-module (guix build syscalls)
   #:use-module ((guix utils) #:select (reset-timestamps))
-  #:use-module (guix store database)
+  #:autoload (guix store database) (%epoch register-items sql-schema)
   #:use-module (gnu build bootloader)
   #:use-module (gnu build linux-boot)
   #:use-module (gnu build install)
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 3e483fd86c..97b0bf461b 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -286,7 +286,8 @@  substitutable."
                      os
                      bootcfg-drv
                      bootloader
-                     (register-closures? (has-guix-service-type? os))
+                     (register-closures? (and (has-guix-service-type? os)
+                                              (not target)))
                      (inputs '())
                      copy-inputs?
                      (substitutable? #t))
@@ -333,12 +334,13 @@  system that is passed to 'populate-root-file-system'."
                         ((gnu build linux-boot)
                          #:select (make-essential-device-nodes
                                    make-hurd-device-nodes))
-                        (guix store database)
                         (guix build utils)
                         (srfi srfi-26)
                         (ice-9 binary-ports))
 
-           (sql-schema #$schema)
+           (when #$register-closures?
+             (use-modules (guix store database))
+             (sql-schema #$schema))
 
            ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
            (setenv "GUIX_LOCPATH"