summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-07-01 10:26:17 +0200
committerLudovic Courtès <ludo@gnu.org>2022-07-01 12:10:28 +0200
commit9f530ef38a23caa1136f93cda45d396ce8fe1569 (patch)
treee22c999dbc8a1fa983c59c21fa444984ec6be7f1
parente871c3a857005c2c55fcbf4dbd48e22fe33b6451 (diff)
downloadguix-9f530ef38a23caa1136f93cda45d396ce8fe1569.tar.gz
image: Add default value for partition initializer.
Previously, the default value would lead to a wrong-type-to-apply crash.

* gnu/system/image.scm (system-disk-image)[image-builder]: When
'partition-initializer' returns #f, fall back to
INITIALIZE-ROOT-PARTITION.
* gnu/tests/base.scm (run-root-unmount-test)[test-image]: Remove
'initializer' field of partition.
* gnu/image.scm (<partition>)[initializer]: Add comment.
-rw-r--r--gnu/image.scm2
-rw-r--r--gnu/system/image.scm3
-rw-r--r--gnu/tests/base.scm1
3 files changed, 3 insertions, 3 deletions
diff --git a/gnu/image.scm b/gnu/image.scm
index e10a495d3d..e347089b34 100644
--- a/gnu/image.scm
+++ b/gnu/image.scm
@@ -70,7 +70,7 @@
   (label                partition-label (default #f))
   (uuid                 partition-uuid (default #f))
   (flags                partition-flags (default '()))
-  (initializer          partition-initializer (default #f)))
+  (initializer          partition-initializer (default #f))) ;gexp | #f
 
 
 ;;;
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index f1739a35c1..60ae38f6d8 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -374,7 +374,8 @@ used in the image."
              (type (partition-file-system partition))
              (image-builder
               (with-imported-modules*
-               (let ((initializer #$(partition-initializer partition))
+               (let ((initializer (or #$(partition-initializer partition)
+                                      initialize-root-partition))
                      (inputs '#+(list e2fsprogs fakeroot dosfstools mtools))
                      (image-root "tmp-root"))
                  (sql-schema #$schema)
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 8284446868..353d6d415a 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -637,7 +637,6 @@ in a loop.  See <http://bugs.gnu.org/26931>.")
                    (size 'guess)
                    (offset (* 512 2048))          ;leave room for GRUB
                    (flags '(boot))
-                   (initializer #~initialize-root-partition)
                    (label "root-under-test")))))) ;max 16 characters!
 
   (define observer-os