Subject: Re: bug#43879: Problem with graphical installer

From: Miguel Ángel Arruga Vivas <[email-masked]>
Date: Sat, 31 Oct 2020 13:04:31 +0100

Hi,

I CC the list, as we are currently on freeze, but this might require a
fix or at least a big explanation somewhere, my bad for not answering
soon enough. :-(

Marinus Savoritias <[email-masked]> writes:
> Hi,
>
> The steps that I followed were:
>
> 1. Use guided installation using full disk with graphical installer
>
> 2. I selected use entire disk and not a separate /home
>
> 3. It gave me the warning that its going to format the disk.

Testing this I think this warning may be the confusion source.  "All
data will be lost" doesn't include in this case the old ESP partition
(the one in /boot/efi) as that one is not removed when it exists.

> [...] I curiously found that the files from the previous installation
> of Gentoo were there. Even though the installer said that it formatted
> the disk.

To clarify this I propose the attached patch.

> I was using the default that the guided installation uses. I didn't
> change anything there.

Probably it's too late to add new options to that list, or a new
selection step when the partitioning is guided asking if esp should be
kept, as the tests have to be updated too.

> At that point as I said I formatted the disk separately to make sure
> it was properly formatted this time but the same thing happened.
>
> The only way I could work around the bug was by selecting the manual
> partitioning instead of guided in the graphical installer.

I'm throwing a guess here: did you format the root partition but not
/boot/efi the second time?

Happy hacking!
Miguel

From 2c7f127fbf51de89500a6310d6d1ed130587d111 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
 <[email-masked]>
Date: Sat, 31 Oct 2020 12:15:35 +0100
Subject: [PATCH] installer: Report to the user the formatted partitions.

* gnu/installer/newt/partitions.scm (define-module): Use (ice-9 format).
(draw-formatting-page): Add parameter partitions and provide the list of
formatted partitions to the user.
(run-partitioning-page): Provide user-partitions to draw-formatting-page.
---
 gnu/installer/newt/partition.scm | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index 3b891d693a..bb452a4925 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -25,6 +25,7 @@
   #:use-module (gnu installer newt page)
   #:use-module (gnu installer newt utils)
   #:use-module (guix i18n)
+  #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
@@ -56,11 +57,17 @@
                   #:button-callback-procedure button-exit-action)))
     (car result)))
 
-(define (draw-formatting-page)
+(define (draw-formatting-page partitions)
   "Draw a page asking for confirmation, and then indicating that partitions
 are being formatted."
-  (run-confirmation-page (G_ "We are about to format your hard disk.  All \
-its data will be lost.  Do you wish to continue?")
+  ;; TRANSLATORS: The ~{ and ~} format specifiers are used to iterate the list
+  ;; of device names of the user partitions that will be formatted.
+  (run-confirmation-page (format #f (G_ "We are about to write the configured \
+partition table to the disk and format the partitions listed below.  All its \
+data will be lost.  Do you wish to continue?~%~{ - ~a~%~}")
+                                 (map user-partition-file-name
+                                      (filter user-partition-need-formatting?
+                                              partitions)))
                          (G_ "Format disk?")
                          #:exit-button-procedure button-exit-action)
   (draw-info-page
@@ -773,7 +780,7 @@ by pressing the Exit button.~%~%")))
          (user-partitions (run-page non-install-devices))
          (user-partitions-with-pass (prompt-luks-passwords
                                      user-partitions))
-         (form (draw-formatting-page)))
+         (form (draw-formatting-page user-partitions)))
     ;; Make sure the disks are not in use before proceeding to formatting.
     (free-parted non-install-devices)
     (format-user-partitions user-partitions-with-pass)
-- 
2.28.0