summaryrefslogtreecommitdiff
path: root/ui/qt5
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2024-04-25 23:27:30 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2024-04-25 23:27:30 -0500
commit5df1abdb743ac71986cabe8c76dcd9a0f75e44da (patch)
tree3aaa931a60b67df85f5062fe1c689675a73dffa0 /ui/qt5
parent4f6ebb22bad530c08bc27c13e8171bdd19dab8fd (diff)
downloadhorizon-5df1abdb743ac71986cabe8c76dcd9a0f75e44da.tar.gz
horizon-5df1abdb743ac71986cabe8c76dcd9a0f75e44da.tar.bz2
horizon-5df1abdb743ac71986cabe8c76dcd9a0f75e44da.tar.xz
horizon-5df1abdb743ac71986cabe8c76dcd9a0f75e44da.zip
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
Diffstat (limited to 'ui/qt5')
-rw-r--r--ui/qt5/horizonwizard.cc6
1 files changed, 4 insertions, 2 deletions
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);