* [bug#37497] [PATCH] installer: Update to Guile-Parted 0.0.2 release.
@ 2019-09-24 12:26 Mathieu Othacehe
2019-09-24 12:28 ` [bug#37497] " Mathieu Othacehe
0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Othacehe @ 2019-09-24 12:26 UTC (permalink / raw)
To: 37497; +Cc: Mathieu Othacehe
* gnu/installer/parted.scm (data-partition?, metadata-partition?,
freespace-partition?, normal-partition?, extended-partition?,
logical-partition?): Remove, as now provided by Guile-Parted.
* gnu/installer/newt/partition.scm (run-disk-page): Remove disk-destroy calls,
replace disk-delete-all by disk-remove-all-partitions and
disk-delete-partition by disk-remove-partition*.
---
gnu/installer/newt/partition.scm | 9 ++----
gnu/installer/parted.scm | 48 +++-----------------------------
2 files changed, 7 insertions(+), 50 deletions(-)
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index 7a9f11a15e..74e9473171 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -587,7 +587,6 @@ edit it."
disks))
(new-user-partitions
(remove-user-partition-by-disk user-partitions item)))
- (disk-destroy item)
`((disks . ,(cons new-disk other-disks))
(user-partitions . ,new-user-partitions)))
`((disks . ,disks)
@@ -625,7 +624,7 @@ edit it."
info-text)))
(case result
((1)
- (disk-delete-all item)
+ (disk-remove-all-partitions item)
`((disks . ,disks)
(user-partitions
. ,(remove-user-partition-by-disk user-partitions item))))
@@ -649,7 +648,7 @@ edit it."
(let ((new-user-partitions
(remove-user-partition-by-partition user-partitions
item)))
- (disk-delete-partition disk item)
+ (disk-remove-partition* disk item)
`((disks . ,disks)
(user-partitions . ,new-user-partitions))))
(else
@@ -696,9 +695,7 @@ by pressing the Exit button.~%~%")))
#f))
(check-user-partitions user-partitions))))
(if user-partitions-ok?
- (begin
- (for-each (cut disk-destroy <>) disks)
- user-partitions)
+ user-partitions
(run-disk-page disks user-partitions
#:guided? guided?)))
(let* ((result-disks (assoc-ref result 'disks))
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 682e233d9f..3439f211e2 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -64,13 +64,7 @@
user-partition-parted-object
find-esp-partition
- data-partition?
- metadata-partition?
- freespace-partition?
small-freespace-partition?
- normal-partition?
- extended-partition?
- logical-partition?
esp-partition?
boot-partition?
default-esp-mount-point
@@ -172,24 +166,6 @@
"Find and return the ESP partition among PARTITIONS."
(find esp-partition? partitions))
-(define (data-partition? partition)
- "Return #t if PARTITION is a partition dedicated to data (by opposition to
-freespace, metadata and protected partition types), return #f otherwise."
- (let ((type (partition-type partition)))
- (not (any (lambda (flag)
- (member flag type))
- '(free-space metadata protected)))))
-
-(define (metadata-partition? partition)
- "Return #t if PARTITION is a metadata partition, #f otherwise."
- (let ((type (partition-type partition)))
- (member 'metadata type)))
-
-(define (freespace-partition? partition)
- "Return #t if PARTITION is a free-space partition, #f otherwise."
- (let ((type (partition-type partition)))
- (member 'free-space type)))
-
(define* (small-freespace-partition? device
partition
#:key (max-size MEBIBYTE-SIZE))
@@ -200,21 +176,6 @@ inferior to MAX-SIZE, #f otherwise."
(device-sector-size device))))
(< size max-sector-size)))
-(define (normal-partition? partition)
- "return #t if partition is a normal partition, #f otherwise."
- (let ((type (partition-type partition)))
- (member 'normal type)))
-
-(define (extended-partition? partition)
- "return #t if partition is an extended partition, #f otherwise."
- (let ((type (partition-type partition)))
- (member 'extended type)))
-
-(define (logical-partition? partition)
- "Return #t if PARTITION is a logical partition, #f otherwise."
- (let ((type (partition-type partition)))
- (member 'logical type)))
-
(define (partition-user-type partition)
"Return the type of PARTITION, to be stored in the TYPE field of
<user-partition> record. It can be 'normal, 'extended or 'logical."
@@ -813,7 +774,7 @@ cause them to cross."
(define (rmpart disk number)
"Remove the partition with the given NUMBER on DISK."
(let ((partition (disk-get-partition disk number)))
- (disk-remove-partition disk partition)))
+ (disk-remove-partition* disk partition)))
\f
;;
@@ -928,12 +889,12 @@ exists."
(if has-extended?
;; msdos - remove everything.
- (disk-delete-all disk)
+ (disk-remove-all-partitions disk)
;; gpt - remove everything but esp if it exists.
(for-each
(lambda (partition)
(and (data-partition? partition)
- (disk-remove-partition disk partition)))
+ (disk-remove-partition* disk partition)))
non-boot-partitions))
(let* ((start-partition
@@ -1348,7 +1309,7 @@ USER-PARTITIONS, or return nothing."
(define (init-parted)
"Initialize libparted support."
- (probe-all-devices)
+ (probe-all-devices!)
(exception-set-handler (lambda (exception)
EXCEPTION-OPTION-UNHANDLED)))
@@ -1364,7 +1325,6 @@ the devices not to be used before returning."
;; https://mail.gnome.org/archives/commits-list/2013-March/msg18423.html.
(let ((device-file-names (map device-path devices)))
(for-each force-device-sync devices)
- (free-all-devices)
(for-each (lambda (file-name)
(let ((in-use? (with-delay-device-in-use? file-name)))
(and in-use?
--
2.23.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#37497] installer: Update to Guile-Parted 0.0.2 release.
2019-09-24 12:26 [bug#37497] [PATCH] installer: Update to Guile-Parted 0.0.2 release Mathieu Othacehe
@ 2019-09-24 12:28 ` Mathieu Othacehe
2019-09-25 12:54 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Othacehe @ 2019-09-24 12:28 UTC (permalink / raw)
To: 37497
Hello,
Here's a patch to update the installer to the new Guile-Parted release. It
gets rid of the "delete" functions, that are now taken care of by pointer
finalizers.
I tested it on an x64 VM without seeing any regression, but sadly its hard to
cover all cases. I'll update the Guile-Parted when this gets pushed.
Thanks,
Mathieu
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#37497] installer: Update to Guile-Parted 0.0.2 release.
2019-09-24 12:28 ` [bug#37497] " Mathieu Othacehe
@ 2019-09-25 12:54 ` Ludovic Courtès
2019-09-25 14:04 ` Mathieu Othacehe
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2019-09-25 12:54 UTC (permalink / raw)
To: Mathieu Othacehe; +Cc: 37497
Hi Mathieu,
Mathieu Othacehe <m.othacehe@gmail.com> skribis:
> Here's a patch to update the installer to the new Guile-Parted release. It
> gets rid of the "delete" functions, that are now taken care of by pointer
> finalizers.
> gnu/installer/newt/partition.scm | 9 ++----
> gnu/installer/parted.scm | 48 +++-----------------------------
> 2 files changed, 7 insertions(+), 50 deletions(-)
Nice, LGTM!
> I tested it on an x64 VM without seeing any regression, but sadly its hard to
> cover all cases. I'll update the Guile-Parted when this gets pushed.
I guess you’ll have to push the ‘guile-parted’ package update right
before this patch, right?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-09-27 5:55 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-24 12:26 [bug#37497] [PATCH] installer: Update to Guile-Parted 0.0.2 release Mathieu Othacehe
2019-09-24 12:28 ` [bug#37497] " Mathieu Othacehe
2019-09-25 12:54 ` Ludovic Courtès
2019-09-25 14:04 ` Mathieu Othacehe
2019-09-27 5:54 ` bug#37497: " Ricardo Wurmus
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.