summary refs log tree commit diff
path: root/gnu/installer/parted.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-05-19 11:58:36 +0200
committerLudovic Courtès <ludo@gnu.org>2019-05-19 11:58:36 +0200
commitd68de958b60426798ed62797ff7c96c327a672ac (patch)
treeabb7723d188e1333e15fc84b0814c85c1ac96ef5 /gnu/installer/parted.scm
parentbaab87ac49e3f0f873e17eb16db9781189b1f2d1 (diff)
downloadguix-d68de958b60426798ed62797ff7c96c327a672ac.tar.gz
installer: Fix Guile-Parted crash on i686. v1.0.1
Fixes <https://bugs.gnu.org/35783>.
This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598.

* gnu/installer/parted.scm (auto-partition!): Append ESP-PARTITION, when
it is true, to the result of 'create-adjacent-partitions!'.
* gnu/installer/newt/partition.scm (run-partioning-page): Remove
'initial-partitions' variable, and remove call to
'create-special-user-partitions'.

Co-authored-by: Mathieu Othacehe <m.othacehe@gmail.com>
Diffstat (limited to 'gnu/installer/parted.scm')
-rw-r--r--gnu/installer/parted.scm16
1 files changed, 11 insertions, 5 deletions
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 4ccc0b1f51..bd2640d1ad 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -895,7 +895,10 @@ partitions (except the ESP on a GPT disk, if present) are wiped. SCHEME is the
 desired partitioning scheme. It can be 'entire-root or
 'entire-root-home. 'entire-root will create a swap partition and a root
 partition occupying all the remaining space. 'entire-root-home will create a
-swap partition, a root partition and a home partition."
+swap partition, a root partition and a home partition.
+
+Return the complete list of partitions on DISK, including the ESP when it
+exists."
   (let* ((device (disk-device disk))
          (disk-type (disk-disk-type disk))
          (has-extended? (disk-type-check-feature
@@ -1001,10 +1004,13 @@ swap partition, a root partition and a home partition."
                     (mount-point "/home")))))))
            (new-partitions* (force-user-partitions-formatting
                              new-partitions)))
-      (create-adjacent-partitions! disk
-                                   new-partitions*
-                                   #:last-partition-end
-                                   (or end-esp-partition 0)))))
+      (append (if esp-partition
+                  (list (partition->user-partition esp-partition))
+                  '())
+              (create-adjacent-partitions! disk
+                                           new-partitions*
+                                           #:last-partition-end
+                                           (or end-esp-partition 0))))))
 
 
 ;;