[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#57232: [installer] ENTER in guided partitioner destroys partition ta
From: |
Mathieu Othacehe |
Subject: |
bug#57232: [installer] ENTER in guided partitioner destroys partition table |
Date: |
Tue, 16 Aug 2022 10:51:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hey Tobias,
> What that does is immediately and without confirmation wipe the on-disc
> partition table. And its back-up.
Oops, glad you were able to recover, I was also bitten in the past. The
attached patch adds an extra confirmation page before wiping everything,
WDYT?
Mathieu
>From 4a9c1fb1fe7f9a65b2b7d1f9e4419b1d28a8082e Mon Sep 17 00:00:00 2001
From: Mathieu Othacehe <othacehe@gnu.org>
Date: Tue, 16 Aug 2022 10:49:07 +0200
Subject: [PATCH 1/1] installer: partition: Add a confirmation page before
formatting.
Fixes: <https://issues.guix.gnu.org/57232>.
* gnu/installer/newt/partition.scm (run-label-confirmation-page): New
procedure.
(run-label-page): Call the above procedure before proceeding.
---
gnu/installer/newt/partition.scm | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index e7a97810ac..f11a644f92 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2018, 2019, 2022 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@@ -92,6 +92,15 @@ (define (device-items)
(device (car result)))
device))
+(define (run-label-confirmation-page callback)
+ (lambda (item)
+ (and (run-confirmation-page
+ (format #f (G_ "This will create a new ~a partition table, \
+all data on disk will be lost, are you sure you want to proceed?") item)
+ (G_ "Format disk?")
+ #:exit-button-procedure callback)
+ item)))
+
(define (run-label-page button-text button-callback)
"Run a page asking the user to select a partition table label."
;; Force the GPT label if UEFI is supported.
@@ -103,6 +112,8 @@ (define (run-label-page button-text button-callback)
#:title (G_ "Partition table")
#:listbox-items '("msdos" "gpt")
#:listbox-item->text identity
+ #:listbox-callback-procedure
+ (run-label-confirmation-page button-callback)
#:button-text button-text
#:button-callback-procedure button-callback)))
--
2.37.1