summaryrefslogtreecommitdiff
path: root/user/horizon
diff options
context:
space:
mode:
Diffstat (limited to 'user/horizon')
-rw-r--r--user/horizon/APKBUILD31
-rw-r--r--user/horizon/apm-disklabel.patch75
2 files changed, 94 insertions, 12 deletions
diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD
index 92ec869e5..260ddc9b6 100644
--- a/user/horizon/APKBUILD
+++ b/user/horizon/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=horizon
-pkgver=0.9.7
-pkgrel=0
+pkgver=0.9.8.1
+pkgrel=1
pkgdesc="Installation tools for Adélie Linux"
url="https://horizon.adelielinux.org/"
arch="all"
-options="!archcheck !check" # Unpackaged dependency ruby-aruba.
+options="!archcheck !check suid" # Unpackaged dependency ruby-aruba.
license="AGPL-3.0+"
depends=""
checkdepends="ruby-aruba ruby-rspec valgrind"
@@ -14,10 +14,12 @@ checkdepends="ruby-aruba ruby-rspec valgrind"
makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev
linux-headers parted-dev skalibs-dev util-linux-dev
- libcap-dev libx11-dev libxkbfile-dev qt5-qtbase-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/horizon-$pkgver.tar.xz"
+source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz
+ apm-disklabel.patch
+ "
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -28,7 +30,7 @@ build() {
-DBUILD_SHARED_LIBS=True \
-DBUILD_TOOLS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation" \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation -Wno-type-limits" \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DUNSUPPORTED_NONFREE_FIRMWARE=ON \
-DINSTALL=ON \
@@ -61,7 +63,7 @@ package() {
image() {
pkgdesc="Tools for generating images using HorizonScript"
- depends="dracut mtools"
+ depends="dracut mtools squashfs-tools xorriso"
mkdir -p "$subpkgdir"/usr/bin
mkdir -p "$subpkgdir"/usr/lib
mkdir -p "$subpkgdir"/usr/share/horizon
@@ -81,6 +83,10 @@ qt5() {
for _bin in horizon-ppc64-detect horizon-qt5 horizon-run-qt5; do
mv "$pkgdir"/usr/bin/$_bin "$subpkgdir"/usr/bin/
done
+
+ chmod 4755 "$subpkgdir"/usr/bin/horizon-run-qt5
+ chmod 1777 "$subpkgdir"/etc/horizon
+ /usr/sbin/setcap cap_sys_time+ep "$subpkgdir"/usr/bin/horizon-qt5
}
tools() {
@@ -103,12 +109,12 @@ wizard() {
boot() {
pkgdesc="Boot to Horizon"
- depends="horizon-qt5 horizon kwin qt5ct sddm
+ depends="horizon-qt5 horizon kwin papirus-icons qt5ct sddm
netsurf partitionmanager xterm"
mkdir -p "$subpkgdir"/etc/init.d
mkdir -p "$subpkgdir"/etc/profile.d
- mkdir -p "$subpkgdir"/etc/runlevels/default
+ mkdir -p "$subpkgdir"/etc/runlevels/graphical
mkdir -p "$subpkgdir"/etc/sddm.conf.d
mkdir -p "$subpkgdir"/etc/xdg/qt5ct
mkdir -p "$subpkgdir"/usr/bin
@@ -124,7 +130,7 @@ PROFILE
cat >"$subpkgdir"/etc/xdg/kdeglobals <<GLOBALS
[General]
ColorScheme=Steel
-
+
[Icons]
Theme=Papirus
@@ -139,7 +145,7 @@ GLOBALS
"$subpkgdir"/etc/init.d/gfxdetect
ln -s ../../init.d/gfxdetect \
- "$subpkgdir"/etc/runlevels/default/gfxdetect
+ "$subpkgdir"/etc/runlevels/graphical/gfxdetect
install -D -m755 "$builddir"/boot/start-horizon-qt5 \
"$subpkgdir"/usr/bin/start-horizon-qt5
@@ -156,4 +162,5 @@ GLOBALS
"$subpkgdir"/usr/share/xsessions/horizon.desktop
}
-sha512sums="e25238cb6a9610088840277d1497841ac7e2dc68912784ee12e9321ba7f5f27d9621d4cc26af910ba048d8a9a0460910dbb36fd21c35db64833f525a25a3fa56 horizon-0.9.7.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
+