%global debug_package %{nil} URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-control-2.8.1.tar.xz Source1: core-audit-tools-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.2.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-core-meta Version: 1.0.7 Release: 19.1.fc46 License: MIT Summary: Console package selection for the Senemos Uke build candidate Requires: (senemos-uke-linux-kernel-mainline >= 7.3.0-33 or senemos-uke-linux-kernel-mainline-singleboot >= 7.3.0-33) Requires: uke-control >= 2.3.1 uke-kernel-update uke-installation-profile Requires: bluez libinput libwacom >= 2.20.0 uke-libssc uke-iio-sensor-proxy Requires: uke-pipewire uke-pipewire-alsa wireplumber alsa-utils Requires: uke-displayport-audio >= 0.1.0-8 uke-speaker-orientation >= 0.1.0-5 uke-speaker-firmware >= 3.0.304.0-2 Requires: (uke-speaker-controls >= 0.1.0-4 if plasma-workspace) Requires: uke-touchscreen Requires: uke-boot-integration(factory-bluetooth-v1) >= 1 Requires: uke-boot-integration(factory-wlan-v1) >= 1 Requires: uke-adaptive-display uke-battery-observer Requires: power-profiles-daemon Requires: (uke-kernel(platform-profile-qos-v1) >= 1 or uke-power-profile-backend) Requires: uke-ssc-fileservice uke-upower Requires: bash coreutils util-linux-core kmod Requires: NetworkManager openssh-server sudo Requires: audit audit-rules strace Requires: libstdc++(aarch-64) >= 16.2.1 Recommends: uke-plymonth >= 1.0.2-3 Provides: uke-core = 2.3.1-1.fc46 Obsoletes: uke-core <= 2.3.1-1.fc46 Provides: uke-hw = 1.8.5-1.fc46 Obsoletes: uke-hw <= 1.8.5-1.fc46 Provides: uke-power = 1.6.0-1.fc46 Obsoletes: uke-power <= 1.6.0-1.fc46 Provides: uke-sensors = 1.0.9-5.fc46 Obsoletes: uke-sensors <= 1.0.9-5.fc46 Provides: uke-extras = 1.0.4-2.fc46 Obsoletes: uke-extras <= 1.0.4-2.fc46 Provides: uke-additional = 1.0.0-16.fc46 Obsoletes: uke-additional <= 1.0.0-16.fc46 Provides: uke-metas = 1.4.0-4.fc46 Obsoletes: uke-metas <= 1.4.0-4.fc46 Provides: uke-camera = 1.0.0-3.fc46 Obsoletes: uke-camera <= 1.0.0-3.fc46 Provides: uke-sound = 1.0.5-1.fc46 Obsoletes: uke-sound <= 1.0.5-1.fc46 Requires: uke-control(fedora-returns-v1) >= 1 Provides: uke-core-meta(fedora-returns-v1) = 1 Provides: uke-core-meta(fedora-cxx-runtime-v1) = 1 Requires: uke-boot-integration >= 1.8.18-2.fc46 uke-battery-observer >= 1.4.1-3.fc46 Conflicts: uke-charge-control < 1.4.1-3.fc46 Conflicts: uke-offline-charge < 1.4.1-3.fc46 Conflicts: uke-atk <= 2.62.1-17.fc46 Conflicts: uke-atk-devel <= 2.62.1-17.fc46 Conflicts: uke-at-spi2-atk <= 2.62.1-17.fc46 Conflicts: uke-at-spi2-atk-devel <= 2.62.1-17.fc46 Conflicts: uke-at-spi2-core <= 2.62.1-17.fc46 Conflicts: uke-at-spi2-core-devel <= 2.62.1-17.fc46 Conflicts: uke-gstreamer1 <= 1.28.8-17.fc46 Conflicts: uke-gstreamer1-devel <= 1.28.8-17.fc46 Conflicts: uke-libwacom <= 2.20.0-18.fc46 Conflicts: uke-libwacom-data <= 2.20.0-18.fc46 Conflicts: uke-libwacom-devel <= 2.20.0-18.fc46 Conflicts: uke-libwacom-utils <= 2.20.0-18.fc46 Conflicts: uke-libstdcxx <= 16.2.1-19.fc46 %description -n uke-core-meta A minimal console package selection and explicit Uke readiness record. No unqualified firmware, Nabu hardware services or boot selection is installed. Package installation does not establish a working Uke console or tablet boot. %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/desktops/profile.json %{buildroot}/usr/share/senemos/uke/desktops/cutefish.json %{buildroot}/usr/share/senemos/uke/desktops/plasma.json rmdir %{buildroot}/usr/share/senemos/uke/desktops rm -f %{buildroot}/usr/lib/firewalld/policies/uke-kdeconnect.xml rmdir %{buildroot}/usr/lib/firewalld/policies %{buildroot}/usr/lib/firewalld rm -rf %{buildroot}/usr/share/plasma/plasmoids/org.senemos.uke.controls rmdir %{buildroot}/usr/share/plasma/plasmoids %{buildroot}/usr/share/plasma %files -n uke-core-meta %license 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/LICENSE %doc 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/README.md /usr/share/senemos/uke/core/profile.json %changelog * Mon Nov 02 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 2.8.1-5.2.fc46 - Select original Fedora audit collection and bounded native tracing tools. * Thu Oct 29 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 2.8.1-3.fc46 - Build this component independently from its reviewed source recipe.