diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-05-19 11:58:36 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-05-19 11:58:36 +0200 |
commit | d68de958b60426798ed62797ff7c96c327a672ac (patch) | |
tree | abb7723d188e1333e15fc84b0814c85c1ac96ef5 | |
parent | baab87ac49e3f0f873e17eb16db9781189b1f2d1 (diff) | |
download | patches-d68de958b60426798ed62797ff7c96c327a672ac.tar patches-d68de958b60426798ed62797ff7c96c327a672ac.tar.gz |
installer: Fix Guile-Parted crash on i686.
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>
-rw-r--r-- | gnu/installer/newt/partition.scm | 6 | ||||
-rw-r--r-- | gnu/installer/parted.scm | 16 |
2 files changed, 12 insertions, 10 deletions
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index abc8bdcc03..cd9d46316a 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -751,12 +751,8 @@ by pressing the Exit button.~%~%"))) (disk (mklabel device label))) (disk-commit disk) disk))) - (initial-partitions (disk-partitions disk)) (scheme (symbol-append method '- (run-scheme-page))) - (user-partitions (append - (auto-partition! disk #:scheme scheme) - (create-special-user-partitions - initial-partitions)))) + (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..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)))))) ;; |