From 72acf0362a72c5166e7633cb1a14e7958e8dee7a Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 26 Apr 2024 00:50:02 -0500 Subject: user/horizon: Fix for horizon#376 --- user/horizon/apm-disklabel.patch | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 user/horizon/apm-disklabel.patch (limited to 'user/horizon/apm-disklabel.patch') diff --git a/user/horizon/apm-disklabel.patch b/user/horizon/apm-disklabel.patch new file mode 100644 index 000000000..368aa8b05 --- /dev/null +++ b/user/horizon/apm-disklabel.patch @@ -0,0 +1,75 @@ +From 5df1abdb743ac71986cabe8c76dcd9a0f75e44da Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" +Date: Thu, 25 Apr 2024 23:27:30 -0500 +Subject: [PATCH] Qt UI: Fix partition count for APM disklabel + +The APM disklabel includes a meta partition for the partition map +itself. This is always counted by parted as a partition, and is *not* +considered to be a metadata partition. We therefore need to start our +partitioning at #2 on APM, not #1. + +Closes: #376 +--- + CHANGELOG.rst | 14 +++++++++++++- + ui/qt5/horizonwizard.cc | 6 ++++-- + 2 files changed, 17 insertions(+), 3 deletions(-) + +diff --git a/CHANGELOG.rst b/CHANGELOG.rst +index 7afcb34..b944410 100644 +--- a/CHANGELOG.rst ++++ b/CHANGELOG.rst +@@ -5,7 +5,19 @@ + * **A. Wilcox**, documentation writer + * **Contributors**, code + :Copyright: +- © 2019-2023 Adélie Linux and contributors. ++ © 2019-2024 Adélie Linux and contributors. ++ ++ ++ ++0.9.9 (2024-??-??) ++================== ++ ++Qt UI ++----- ++ ++* The Qt UI now counts APM partition map partitions when creating APM ++ disklabels, fixing a long-standing bug when installing to an empty disk ++ on PowerPC Macintosh systems. + + + +diff --git a/ui/qt5/horizonwizard.cc b/ui/qt5/horizonwizard.cc +index 298cd15..2872eb6 100644 +--- a/ui/qt5/horizonwizard.cc ++++ b/ui/qt5/horizonwizard.cc +@@ -400,7 +400,8 @@ QString nameForPartitionOnDisk(const std::string &dev, int part) { + /*! Determine the correct disk label based on the target platform. */ + QStringList eraseDiskForArch(const std::string &raw_disk, + HorizonWizard::Arch arch, +- HorizonWizard::Subarch subarch) { ++ HorizonWizard::Subarch subarch, ++ int *start) { + const auto disk = QString::fromStdString(raw_disk); + + switch(arch) { +@@ -412,6 +413,7 @@ QStringList eraseDiskForArch(const std::string &raw_disk, + case HorizonWizard::ppc64: /* Complicated */ + switch(subarch) { + case HorizonWizard::ppc64_PowerMac: ++ (*start)++; + return {QString{"disklabel %1 apm"}.arg(disk)}; + case HorizonWizard::ppc64_PowerNV: + return {QString{"disklabel %1 gpt"}.arg(disk)}; +@@ -620,7 +622,7 @@ QString HorizonWizard::toHScript() { + int start = 1; + + if(erase) { +- lines << eraseDiskForArch(chosen_disk, arch, subarch); ++ lines << eraseDiskForArch(chosen_disk, arch, subarch, &start); + } else { + /* This branch will be taken when "use available space" is back. */ + Q_ASSERT(false); +-- +2.40.0 + -- cgit v1.2.3-70-g09d2