%global debug_package %{nil} %global __strip /bin/true %global uname_r 6.17.0-nabu-senemos-v1.4.0.3 Name: senemos-nabu-kernel Version: 1.4.0.3 Release: 3.test%{?dist} Summary: SENEMOS kernel and unattended update integration for Xiaomi Pad 5 License: GPL-2.0-only AND MIT URL: https://copr.fedorainfracloud.org/coprs/mcc45tr/nabu-linux/ BuildArch: noarch Source0: nabu-v1.4.0.3-rpm-payload.tar.gz Source1: nabu-kernel-update Source2: nabu-kernel-update.service Source3: nabu-kernel-update.timer Source4: 90-nabu-kernel-update.preset BuildRequires: systemd-rpm-macros Requires: senemos-nabu-kernel-core = %{version}-%{release} Requires: senemos-nabu-kernel-modules = %{version}-%{release} Requires: dnf5 Requires: systemd Obsoletes: senemos-nabu-kernel-v1.4.0.1 Obsoletes: senemos-nabu-kernel-v1.4.0.2 Provides: senemos-nabu-kernel-v1.4.0.2 %description The stable Nabu kernel package name is intentionally independent of the kernel release. DNF therefore treats future COPR builds as ordinary upgrades instead of unrelated packages. A narrow systemd timer updates only this package; its exact core and modules dependencies move in the same transaction. %package -n senemos-nabu-kernel-core Summary: Nabu v1.4.0.3 kernel image, device tree and UKI integration Requires(posttrans): kmod Requires(posttrans): nabu-uki-config >= 1.2.0 Obsoletes: senemos-nabu-kernel-core-v1.4.0.1 Obsoletes: senemos-nabu-kernel-core-v1.4.0.2 Provides: senemos-nabu-kernel-core-v1.4.0.2 Provides: kernel-uname-r Provides: kernel-nabu-core-uname-r %description -n senemos-nabu-kernel-core Kernel image, configuration, symbol map and Xiaomi Pad 5 device tree. After the RPM transaction it atomically regenerates the canonical SENEMOS UKI and boot entry while preserving the Android and fallback entries. %package -n senemos-nabu-kernel-modules Summary: Nabu v1.4.0.3 loadable modules Requires: senemos-nabu-kernel-core = %{version}-%{release} Obsoletes: senemos-nabu-kernel-modules-v1.4.0.1 Obsoletes: senemos-nabu-kernel-modules-v1.4.0.2 Provides: senemos-nabu-kernel-modules-v1.4.0.2 Provides: kernel-modules-uname-r %description -n senemos-nabu-kernel-modules Loadable modules for the SENEMOS Nabu v1.4.0.3 kernel. %prep %build %install mkdir -p %{buildroot} tar -xzf %{SOURCE0} -C %{buildroot} install -Dm0755 %{SOURCE1} %{buildroot}%{_libexecdir}/nabu-kernel-update install -Dm0644 %{SOURCE2} %{buildroot}%{_unitdir}/nabu-kernel-update.service install -Dm0644 %{SOURCE3} %{buildroot}%{_unitdir}/nabu-kernel-update.timer install -Dm0644 %{SOURCE4} %{buildroot}%{_presetdir}/90-nabu-kernel-update.preset %post %systemd_post nabu-kernel-update.timer %preun %systemd_preun nabu-kernel-update.timer %postun %systemd_postun nabu-kernel-update.timer %posttrans -n senemos-nabu-kernel-core if /usr/bin/nabu-regenerate-uki %{uname_r}; then install -d -m0755 /var/lib/nabu-kernel-update printf '%%s\n' '%{uname_r}' > /var/lib/nabu-kernel-update/installed-kernel else printf 'Warning: automatic Nabu UKI generation failed for %%s; the update timer will retry.\n' '%{uname_r}' >&2 fi %postun -n senemos-nabu-kernel-core if [ "$1" -eq 0 ]; then /usr/sbin/depmod -a || : fi %files %{_libexecdir}/nabu-kernel-update %{_unitdir}/nabu-kernel-update.service %{_unitdir}/nabu-kernel-update.timer %{_presetdir}/90-nabu-kernel-update.preset %files -n senemos-nabu-kernel-core /boot/vmlinuz-%{uname_r} /boot/System.map-%{uname_r} /boot/config-%{uname_r} %{_prefix}/lib/modules/%{uname_r}/dtb/qcom/sm8150-xiaomi-nabu.dtb %{_prefix}/lib/modules/%{uname_r}/modules.* %files -n senemos-nabu-kernel-modules %{_prefix}/lib/modules/%{uname_r}/kernel/ %changelog * Sat Aug 22 2026 SENEMOS Project - 1.4.0.3-3.test - Resolve the target uname from the installed stable core RPM instead of comparing human release labels such as v1.37 and v1.4.0.3. - Verify the canonical entry names that exact UKI, allow ten minutes for UKI generation, and remove only unowned stale module trees after reboot. * Sat Aug 22 2026 SENEMOS Project - 1.4.0.3-2.test - Allow the narrow updater to replace the currently running previous Nabu RPM; the immutable v1.37 EFI fallback remains available until the next reboot. * Sat Aug 22 2026 SENEMOS Project - 1.4.0.3-1.test - Use stable RPM names so future COPR builds are normal DNF upgrades. - Add a persistent narrow update timer and post-transaction UKI generation. - Replace the prior kernel payload and canonical UKI instead of accumulating version-named packages and boot entries. - Rebuild the Nabu DTB with the FastRPC accelerometer mount matrix used by GNOME automatic rotation.