~ruther/guix-local

3c381af76a144a4dc3d0f9269f43ee2ec501b538 — Mathieu Othacehe 3 years ago eb0277e
installer: parted: Call set-system before set-flags.

Parted 3.5 introduces the following regression:

- partition-set-flag sets the BIOS_GRUB flag. The partition type is set to
PARTITION_BIOS_GRUB_GUID.

- partition-set-system resets the partition type to PARTITION_LINUX_DATA_GUID
undoing what's done by partition-set-flag.

To prevent it, reverse the call order.

Fixes: <https://issues.guix.gnu.org/55549>.

* gnu/installer/parted.scm (mkpart): Call partition-set-system before
partition-set-flag.
1 files changed, 7 insertions(+), 4 deletions(-)

M gnu/installer/parted.scm
M gnu/installer/parted.scm => gnu/installer/parted.scm +7 -4
@@ 845,15 845,18 @@ cause them to cross."
         (when (and partition-ok? has-name? name)
           (partition-set-name partition name))

         ;; Set flags is required.
         ;; Both partition-set-system and partition-set-flag calls can affect
         ;; the partition type.  Their order is important, see:
         ;; https://issues.guix.gnu.org/55549.
         (partition-set-system partition filesystem-type)

         ;; Set flags if required.
         (for-each (lambda (flag)
                     (and (partition-is-flag-available? partition flag)
                          (partition-set-flag partition flag 1)))
                   flags)

         (and partition-ok?
              (partition-set-system partition filesystem-type)
              partition))))))
         (and partition-ok? partition))))))


;;