%global debug_package %{nil} Name: uke-meta-integration Version: 1.0.0 Release: 7%{?dist} Summary: Uke meta-integration package selection and source family License: MIT URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-meta-integration-1.0.0.tar.xz ExclusiveArch: aarch64 SourceLicense: MIT AND (GPL-3.0-or-later) AND (MIT) 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 %description Reviewed component sources with independent binary package identities. The source package adds no runtime selection RPM or service. %package -n uke-core-meta Version: 1.0.7 Release: 15.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: 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. %package -n uke-desktop-metas Version: 1.0.0 Release: 31.fc46 License: MIT Summary: Explicit desktop package selections for the Uke development platform Requires: uke-core-meta >= 1.0.0-3 %description -n uke-desktop-metas Desktop selection metadata for Uke. The base installs no graphical session. Display, touch, GPU and tablet boot remain independently unqualified. %package -n uke-kde-plasma-meta Version: 1.0.0 Release: 31.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: 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. %package -n uke-cutefish-meta Version: 1.0.0 Release: 31.fc46 License: MIT Summary: Optional upstream Cutefish Wayland session selection Requires: cutefish-desktop >= 1.0^20261027 %description -n uke-cutefish-meta Select the separately packaged upstream Cutefish desktop. This removable metadata package enables no display manager and creates no account. Graphical login, first-account setup and tablet integration remain unqualified. %package -n uke-plasma-controls Version: 1.0.0 Release: 31.fc46 License: GPL-3.0-or-later Summary: Removable Plasma system tray controls using uke-control BuildArch: noarch Requires: uke-control >= 2.0.0 Requires: plasma-workspace plasma5support polkit %description -n uke-plasma-controls Uke Tablet Controls for the original Fedora Plasma system tray. Every device request goes through uke-control. Unsupported controls remain unavailable. This independent RPM is recommended by the KDE selection and can be removed without removing the KDE meta package. No GNOME integration is included. %prep %setup -q ( mkdir -p "%{_builddir}/uke-meta-integration-1.0.0/work/uke-core-meta" cd '%{_builddir}/uke-meta-integration-1.0.0/work/uke-core-meta' rm -rf 'uke-core-meta-1.0.7' /usr/bin/rpmuncompress -x '%{_builddir}/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-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7/work/uke-core-meta" cd '%{_builddir}/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-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-meta-integration-1.0.0/work/uke-desktop-metas" cd '%{_builddir}/uke-meta-integration-1.0.0/work/uke-desktop-metas' rm -rf 'uke-desktop-metas-1.0.0' /usr/bin/rpmuncompress -x '%{_builddir}/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-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas" cd '%{_builddir}/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-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-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7" ) ( cd "%{_builddir}/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" ) %install ( cd "%{_builddir}/uke-meta-integration-1.0.0/work/uke-core-meta/uke-core-meta-1.0.7" ( cd "%{_builddir}/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-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" ( cd "%{_builddir}/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-meta-integration-1.0.0/core-profile.json" "%{buildroot}%{_datadir}/senemos/uke/core/profile.json" install -Dm644 "%{_builddir}/uke-meta-integration-1.0.0/desktops-profile.json" "%{buildroot}%{_datadir}/senemos/uke/desktops/profile.json" %check ( cd "%{_builddir}/uke-meta-integration-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0" ( cd "%{_builddir}/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-meta-integration-1.0.0/core-profile.json" "%{buildroot}%{_datadir}/senemos/uke/core/profile.json" cmp "%{_builddir}/uke-meta-integration-1.0.0/desktops-profile.json" "%{buildroot}%{_datadir}/senemos/uke/desktops/profile.json" %files -n uke-core-meta %license work/uke-core-meta/uke-core-meta-1.0.7/work/uke-core-meta/uke-core-meta-1.0.7/LICENSE %doc 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 %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-desktop-metas %license work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/LICENSE %doc 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/profile.json %files -n uke-kde-plasma-meta %license work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/LICENSE %doc 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 %files -n uke-cutefish-meta %license work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/LICENSE /usr/share/senemos/uke/desktops/cutefish.json %files -n uke-plasma-controls %license work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/src/plasma-applet/LICENSE %doc work/uke-desktop-metas/uke-desktop-metas-1.0.0/work/uke-desktop-metas/uke-desktop-metas-1.0.0/src/plasma-applet/SOURCE.md /usr/share/plasma/plasmoids/org.senemos.uke.controls/ %changelog * Tue Oct 20 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-7 - Build reviewed child recipes under one source family without binary repackaging.