From 3c381af76a144a4dc3d0f9269f43ee2ec501b538 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Aug 2022 08:50:51 +0200 Subject: 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: . * gnu/installer/parted.scm (mkpart): Call partition-set-system before partition-set-flag. --- gnu/installer/parted.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gnu/installer') diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index 6c823e77eb..ba0a38fff8 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -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)))))) ;; -- cgit v1.2.3