summaryrefslogtreecommitdiff
path: root/user/horizon
diff options
context:
space:
mode:
Diffstat (limited to 'user/horizon')
-rw-r--r--user/horizon/APKBUILD9
-rw-r--r--user/horizon/apm-disklabel.patch75
2 files changed, 81 insertions, 3 deletions
diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD
index 9ed5b75c5..4ae0f4640 100644
--- a/user/horizon/APKBUILD
+++ b/user/horizon/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=horizon
pkgver=0.9.8.1
-pkgrel=0
+pkgrel=1
pkgdesc="Installation tools for Adélie Linux"
url="https://horizon.adelielinux.org/"
arch="all"
@@ -17,7 +17,9 @@ makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev
libcap libcap-dev libx11-dev libxkbfile-dev qt5-qtbase-dev"
subpackages="$pkgname-image $pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-qt5
$pkgname-tools $pkgname-wizard $pkgname-boot"
-source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz"
+source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz
+ apm-disklabel.patch
+ "
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -160,4 +162,5 @@ GLOBALS
"$subpkgdir"/usr/share/xsessions/horizon.desktop
}
-sha512sums="3a34019d50cd711f868855b120a362ce67308e9eb9b32fab0a8936d393541f93beca76efe161c7d635f215445989176a7089d2df0d6fcb071428b4c1cf1ae252 horizon-0.9.8.1.tar.xz"
+sha512sums="3a34019d50cd711f868855b120a362ce67308e9eb9b32fab0a8936d393541f93beca76efe161c7d635f215445989176a7089d2df0d6fcb071428b4c1cf1ae252 horizon-0.9.8.1.tar.xz
+1d92232b3118444973a0917777a1787e3e20b6d5a8da22f0031e37d94f6c1d9df0f05aa9228d3b24c414185f6a2c9c9401534f381b4195830cd5b1469cf23f46 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" <AWilcox@Wilcox-Tech.com>
+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
+