%global debug_package %{nil} URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-control-2.8.1.tar.xz Source1: kde-dictionary-overlay.json Source2: uke-control-published-spec.txt ExclusiveArch: aarch64 SourceLicense: MIT AND (GPL-3.0-or-later) AND (MIT) AND (MIT AND Apache-2.0) BuildRequires: libplasma plasma5support kf6-kirigami BuildRequires: make gcc-c++ pkgconf-pkg-config pkgconfig(Qt6Gui) pkgconfig(Qt6Qml) BuildRequires: tar xz BuildRequires: tar xz bash jq diffutils firewalld-filesystem firewalld libxml2 Name: uke-control Version: 2.8.1 Release: 5.1.fc46 License: MIT AND Apache-2.0 Summary: Native Uke settings backend and command-line client Requires: util-linux-core util-linux systemd procps-ng Requires: coreutils findutils rpm Requires: ethtool >= 7.1 Requires: systemd-udev Requires: dracut >= 111 Requires: f2fs-tools >= 1.16.0 Requires: policycoreutils Requires: polkit selinux-policy-targeted Requires: kmod Requires: dialog e2fsprogs device-mapper dosfstools Requires: libdnf5 >= 5.4.6.0 Requires: uke-kernel-update >= 1.8.7 Requires: uke-kernel-update(transaction-v1) >= 1 Requires: (wireplumber >= 0.5.16 if wireplumber) Recommends: uke-battery-observer Recommends: uke-control-tui(aarch-64) = 2.8.1-2.fc46 Provides: uke-control(channel-api) = 1 Provides: uke-control(fedora-returns-v1) = 1 Conflicts: uke-plasma-controls < 1.0.0-23 Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %description -n uke-control C++ backend and terminal client for Uke device settings. A systemd service records the partition layout and prefers an existing linux_swap partition; otherwise it creates a swap file using half RAM by default. Unattended policy never formats partitions. The explicit terminal boot-layout wizard is limited to proven original userdata, with two approvals for data loss. Charge and USB controls follow real driver capabilities. %package -n uke-kde-plasma-meta Version: 1.0.0 Release: 35.1.fc46 License: MIT Provides: kde-plasma-uke-meta = 1.0.0-23 Obsoletes: kde-plasma-uke-meta < 1.0.0-23 Conflicts: kde-plasma-uke-meta Summary: Original Fedora Plasma applications for the Uke development platform Requires: (senemos-uke-linux-kernel-mainline >= 7.2.11-16 or senemos-uke-linux-kernel-mainline-singleboot >= 7.2.11-16) Requires(posttrans): firewalld Requires(postun): firewalld Recommends: uke-plasma-controls >= 1.0.0 Requires: PackageKit Requires: ark Requires: bash Requires: bluedevil Requires: breeze-gtk-gtk3 Requires: breeze-gtk-gtk4 Recommends: chromium Requires: color-filesystem Requires: colord-kde Requires: coreutils Requires: curl Requires: dnf5-plugins Requires: dolphin Requires: dolphin-plugins Requires: fastfetch Requires: filesystem Requires: firewalld Requires: glibc-all-langpacks Requires: hunspell-tr Requires: gstreamer1-plugins-good-qt6 Requires: gwenview Requires: gzip Requires: kde-connect Requires: kde-gtk-config Requires: kdeplasma-addons Requires: kdialog Requires: kcm-plasmalogin Requires: kinfocenter Requires: kio-admin Requires: konsole Requires: kscreen Requires: kwalletmanager5 Requires: kwin Requires: kwrite Requires: lcms2 Requires: libcanberra-backend-pulse Requires: mesa-vulkan-drivers Requires: nano Requires: okular Requires: pipewire-utils Requires: plasma-camera Requires: plasma-desktop Requires: plasma-discover Requires: plasma-discover-notifier Requires: plasma-discover-offline-updates Requires: plasma-discover-packagekit Requires: plasma-keyboard Requires: plasma-login-manager Requires: plasma-milou Requires: plasma-nm Requires: plasma-pa Requires: plasma-systemmonitor Requires: plasma-systemsettings Requires: plasma-welcome Requires: plasma-workspace Requires: plasma5support Requires: powerdevil Requires: pulseaudio-utils Requires: spectacle Requires: system-config-printer Requires: systemd-pam Requires: tar Requires: udisks2 Requires: vulkan-tools Requires: wireplumber Requires: xsettingsd %description -n uke-kde-plasma-meta An optional application selection for Fedora Rawhide AArch64. All desktop applications remain the original Fedora packages, including their original distribution-provided helpers. The selection installs no Uke desktop fork, display configuration or hardware startup service. Original Fedora Plasma Login Manager and its settings module are selected without activation scriptlets. Hardware support is tested separately. KDE Connect uses Fedora's session autostart and a local-address-only firewalld policy. Pairing still requires confirmation in the original application. %prep %setup -q ( mkdir -p "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration" cd '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration' rm -rf 'uke-meta-integration-1.0.0' /usr/bin/rpmuncompress -x '%{_builddir}/uke-control-2.8.1/inputs/uke-meta-integration/uke-meta-integration-1.0.0.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-meta-integration-1.0.0' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ( mkdir -p "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta" cd '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta' rm -rf 'uke-core-meta-1.0.7' /usr/bin/rpmuncompress -x '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/inputs/uke-core-meta/uke-core-meta-1.0.7.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-core-meta-1.0.7' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ( mkdir -p "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7/work/uke-core-meta" cd '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7/work/uke-core-meta' rm -rf 'uke-core-meta-1.0.7' /usr/bin/rpmuncompress -x '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7/inputs/uke-core-meta/uke-core-meta-1.0.7.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-core-meta-1.0.7' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) ) ( mkdir -p "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas" cd '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas' rm -rf 'uke-desktop-metas-1.0.0' /usr/bin/rpmuncompress -x '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/inputs/uke-desktop-metas/uke-desktop-metas-1.0.0.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-desktop-metas-1.0.0' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ( mkdir -p "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas" cd '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas' rm -rf 'uke-desktop-metas-1.0.0' /usr/bin/rpmuncompress -x '%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/inputs/uke-desktop-metas/uke-desktop-metas-1.0.0.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-desktop-metas-1.0.0' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) ) ) %build ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0" ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7" ) ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" ) ) %install ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0" ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7" ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7/work/uke-core-meta/uke-core-meta-1.0.7" install -Dm644 src/profile.json %{buildroot}/usr/share/senemos/uke/core/profile.json ) ) ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" install -Dm644 src/profile.json %{buildroot}/usr/share/senemos/uke/desktops/profile.json install -Dm644 src/cutefish.json %{buildroot}/usr/share/senemos/uke/desktops/cutefish.json install -Dm644 src/plasma.json %{buildroot}/usr/share/senemos/uke/desktops/plasma.json install -Dm644 src/uke-kdeconnect.xml %{buildroot}/usr/lib/firewalld/policies/uke-kdeconnect.xml install -d %{buildroot}/usr/share/plasma/plasmoids/org.senemos.uke.controls cp -a src/plasma-applet/. %{buildroot}/usr/share/plasma/plasmoids/org.senemos.uke.controls/ ) ) install -Dm644 "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/core-profile.json" "%{buildroot}/usr/share/senemos/uke/core/profile.json" install -Dm644 "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/desktops-profile.json" "%{buildroot}/usr/share/senemos/uke/desktops/profile.json" ) %check ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0" ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" ( cd "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" xmllint --nonet --noout --schema /usr/lib/firewalld/xmlschema/policy.xsd src/uke-kdeconnect.xml bash tests/plasma-profile.sh bash tests/cutefish-profile.sh /usr/bin/make -O -j${RPM_BUILD_NCPUS} V=1 VERBOSE=1 test-applet-load ) ) cmp "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/core-profile.json" "%{buildroot}/usr/share/senemos/uke/core/profile.json" cmp "%{_builddir}/uke-control-2.8.1/work/uke-meta-integration/uke-meta-integration-1.0.0/desktops-profile.json" "%{buildroot}/usr/share/senemos/uke/desktops/profile.json" ) rm -f %{buildroot}/usr/share/senemos/uke/core/profile.json rmdir %{buildroot}/usr/share/senemos/uke/core rm -f %{buildroot}/usr/share/senemos/uke/desktops/profile.json %{buildroot}/usr/share/senemos/uke/desktops/cutefish.json rm -rf %{buildroot}/usr/share/plasma/plasmoids/org.senemos.uke.controls rmdir %{buildroot}/usr/share/plasma/plasmoids %{buildroot}/usr/share/plasma %posttrans -n uke-kde-plasma-meta test -x /usr/bin/firewall-cmd && firewall-cmd --reload --quiet || : %postun -n uke-kde-plasma-meta if [ "$1" -eq 0 ]; then test -x /usr/bin/firewall-cmd && firewall-cmd --reload --quiet || : fi %files -n uke-kde-plasma-meta %license work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/LICENSE %doc work/uke-meta-integration/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/README.md /usr/share/senemos/uke/desktops/plasma.json /usr/lib/firewalld/policies/uke-kdeconnect.xml