summary refs log tree commit diff
path: root/gnu/system/image.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2020-06-22 16:14:01 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-06-22 17:07:22 +0200
commit1cb9effc3e875ec7bae31bb06069d16ac89f7e1d (patch)
tree9457633d793f5de50c3861860ea43eae40b5efb0 /gnu/system/image.scm
parent0919d6148faa40914a6cfe574688734dbda8728d (diff)
downloadguix-1cb9effc3e875ec7bae31bb06069d16ac89f7e1d.tar.gz
system: image: Remove "image-root" derivation when building ISO.
The "image-root" derivation output is used as a temporary directory that is
passed to GNU Xorriso later on. By merging the creation of this directory and
the production of an ISO image, we can get rid of the derivation.

* gnu/system/image.scm (system-iso9660-image): Merge "image-root" and
"iso9660-image" derivations so that we spare an extra derivation.
Diffstat (limited to 'gnu/system/image.scm')
-rw-r--r--gnu/system/image.scm34
1 files changed, 16 insertions, 18 deletions
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 26ffa028fe..9f210d9f0f 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -388,33 +388,31 @@ used in the image. "
          (graph (match inputs
                   (((names . _) ...)
                    names)))
-         (root-builder
-          (with-imported-modules*
-           (sql-schema #$schema)
-
-           ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
-           (setenv "GUIX_LOCPATH"
-                   #+(file-append glibc-utf8-locales "/lib/locale"))
-           (setlocale LC_ALL "en_US.utf8")
-
-           (initialize-root-partition #$output
-                                      #:references-graphs '#$graph
-                                      #:deduplicate? #f
-                                      #:system-directory #$os)))
-         (image-root
-          (computed-file "image-root" root-builder
-                         #:options `(#:references-graphs ,inputs)))
          (builder
           (with-imported-modules*
            (let* ((inputs '#$(list parted e2fsprogs dosfstools xorriso
-                                   sed grep coreutils findutils gawk)))
+                                   sed grep coreutils findutils gawk))
+                  (image-root "tmp-root"))
+             (sql-schema #$schema)
+
+             ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
+             (setenv "GUIX_LOCPATH"
+                     #+(file-append glibc-utf8-locales "/lib/locale"))
+
+             (setlocale LC_ALL "en_US.utf8")
+
              (set-path-environment-variable "PATH" '("bin" "sbin") inputs)
+
+             (initialize-root-partition image-root
+                                        #:references-graphs '#$graph
+                                        #:deduplicate? #f
+                                        #:system-directory #$os)
              (make-iso9660-image #$xorriso
                                  '#$grub-mkrescue-environment
                                  #$bootloader
                                  #$bootcfg
                                  #$os
-                                 #$image-root
+                                 image-root
                                  #$output
                                  #:references-graphs '#$graph
                                  #:register-closures? #$register-closures?