Subject: bug#35783: Guile-Parted crashes the installer on i686-linux

From: Mathieu Othacehe <[email-masked]>
Date: Sat, 18 May 2019 12:25:38 +0200

With this almost indentical patch, disk partitioning seems fine with and
without existing esp partition on x64. I'll try to run more tests.

Mathieu
>From 1e0734c4829725cdee6cab3cb05332ffd2a36a57 Mon Sep 17 00:00:00 2001
From: Mathieu Othacehe <[email-masked]>
Date: Sat, 18 May 2019 11:25:09 +0200
Subject: [PATCH] draft: Fix esp user-partition creation.

---
 gnu/installer/newt/partition.scm |  5 +----
 gnu/installer/parted.scm         | 12 ++++++++----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index f8e318fa0d..cd9d46316a 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -752,10 +752,7 @@ by pressing the Exit button.~%~%")))
                             (disk-commit disk)
                             disk)))
                 (scheme (symbol-append method '- (run-scheme-page)))
-                (user-partitions (append
-                                  (auto-partition! disk #:scheme scheme)
-                                  (create-special-user-partitions
-                                   (disk-partitions disk)))))
+                (user-partitions (auto-partition! disk #:scheme scheme)))
            (run-disk-page (list disk) user-partitions
                           #:guided? #t)))
        ((eq? method 'manual)
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 4ccc0b1f51..196fa99cf4 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -1001,10 +1001,14 @@ 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))))))
 
 
 ;;
-- 
2.17.1