%global debug_package %{nil} %global __strip /bin/true %global nabu_release 7.2.0 %global uname_r 7.2.0-nabu-senemos-mainline-alpha Name: senemos-nabu-kernel-mainline-alpha Epoch: 1 Version: 7.2.0 Release: 0.4.alpha%{?dist} Summary: Alpha Linux 7.2 mainline SENEMOS kernel for Xiaomi Pad 5 License: GPL-2.0-only AND MIT URL: https://github.com/MCC45TR/nabu-linux-kernel/tree/7.2.0-test ExclusiveArch: aarch64 Source0: nabu-v%{nabu_release}-rpm-payload.tar.gz Source1: nabu-kernel-update Source2: nabu-kernel-update.service Source3: nabu-kernel-update.timer Source4: 90-nabu-kernel-update.preset Source5: 91-nabu-late-xhci.conf Source6: 90-nabu-late-xhci.conf BuildRequires: systemd-rpm-macros Requires: senemos-nabu-kernel-mainline-alpha-core = %{epoch}:%{version}-%{release} Requires: senemos-nabu-kernel-mainline-alpha-modules = %{epoch}:%{version}-%{release} Requires: senemos-nabu-pen-autopair Requires: dnf5 Requires: systemd Requires(pretrans): systemd Provides: senemos-nabu-kernel-mainline-alpha-v7.2.0 Provides: senemos-nabu-kernel = %{epoch}:%{version}-%{release} Obsoletes: senemos-nabu-kernel < %{epoch}:%{version}-%{release} %description Isolated alpha build of upstream Linux 7.2 with the reviewed Xiaomi Pad 5 (nabu) hardware enablement carried from the SENEMOS 6.17 line. The selector replaces the former 6.17 selector package during a managed Rawhide migration. Versioned 6.17 core and modules packages remain installed as bootable fallbacks while this kernel completes physical hardware acceptance testing. %package -n senemos-nabu-kernel-mainline-alpha-core Summary: Linux %{uname_r} image, device tree and UKI integration Requires(posttrans): kmod Requires(posttrans): nabu-uki-config >= 1.2.0 Provides: installonlypkg(kernel) Provides: kernel-uname-r Provides: kernel-nabu-core-uname-r %description -n senemos-nabu-kernel-mainline-alpha-core Kernel image, configuration, symbol map and Xiaomi Pad 5 device tree. The post-transaction hook regenerates only the canonical SENEMOS UKI and leaves Android and validated fallback entries untouched. %package -n senemos-nabu-kernel-mainline-alpha-modules Summary: Linux %{uname_r} loadable modules Requires: senemos-nabu-kernel-mainline-alpha-core = %{epoch}:%{version}-%{release} Provides: installonlypkg(kernel) Provides: kernel-modules-uname-r %description -n senemos-nabu-kernel-mainline-alpha-modules Loadable modules built against the exact Linux %{uname_r} ABI. %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 install -Dm0644 %{SOURCE5} %{buildroot}%{_prefix}/lib/dracut/dracut.conf.d/90-nabu-omit-early-xhci.conf install -Dm0644 %{SOURCE6} %{buildroot}%{_prefix}/lib/modules-load.d/90-nabu-late-xhci.conf %check if tar --numeric-owner -tvzf %{SOURCE0} | awk '$2 != "0/0" { print; bad=1; exit } END { exit bad }'; then : else echo 'Kernel payload contains a non-root owner.' >&2 exit 1 fi test -s %{buildroot}/boot/vmlinuz-%{uname_r} test -s %{buildroot}/boot/System.map-%{uname_r} test -s %{buildroot}/boot/config-%{uname_r} test -s %{buildroot}%{_prefix}/lib/modules/%{uname_r}/dtb/qcom/sm8150-xiaomi-nabu.dtb test -d %{buildroot}%{_prefix}/lib/modules/%{uname_r}/kernel test ! -e %{buildroot}%{_prefix}/lib/modules/%{uname_r}/build test ! -e %{buildroot}%{_prefix}/lib/modules/%{uname_r}/source %pretrans # Preserve an enabled updater across the differently named selector migration. # The old selector's final erase legitimately disables its unit after this # package's %%post has run, so restore only the state observed before the # transaction rather than overriding an intentional administrator choice. installed_evr="$(/usr/bin/rpm -q --qf '%%{EVR}' senemos-nabu-kernel-mainline-alpha 2>/dev/null || :)" if /usr/bin/systemctl is-enabled --quiet nabu-kernel-update.timer 2>/dev/null || \ [[ "$installed_evr" == 1:7.2.0-0.2.alpha.* ]]; then install -d -m0755 /run/senemos-nabu touch /run/senemos-nabu/restore-kernel-update-timer fi %post %systemd_post nabu-kernel-update.timer %preun %systemd_preun nabu-kernel-update.timer %postun %systemd_postun nabu-kernel-update.timer %posttrans if [[ -e /run/senemos-nabu/restore-kernel-update-timer ]]; then /usr/bin/systemctl enable --now nabu-kernel-update.timer >/dev/null 2>&1 || : rm -f /run/senemos-nabu/restore-kernel-update-timer fi %posttrans -n senemos-nabu-kernel-mainline-alpha-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-mainline-alpha-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 %{_prefix}/lib/dracut/dracut.conf.d/90-nabu-omit-early-xhci.conf %{_prefix}/lib/modules-load.d/90-nabu-late-xhci.conf %files -n senemos-nabu-kernel-mainline-alpha-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-mainline-alpha-modules %{_prefix}/lib/modules/%{uname_r}/kernel/ %changelog * Thu Aug 27 2026 SENEMOS Project - 1:7.2.0-0.4.alpha - Repair the disabled timer once when upgrading from the known-broken 0.2 renamed-selector transaction. - Preserve administrator-disabled state for every other installed version. * Thu Aug 27 2026 SENEMOS Project - 1:7.2.0-0.3.alpha - Preserve the enabled update timer across the renamed-selector transaction. - Do not override an administrator-disabled timer on later package upgrades. * Thu Aug 27 2026 SENEMOS Project - 1:7.2.0-0.2.alpha - Declare the mainline-alpha selector as the successor to senemos-nabu-kernel. - Move the updater timer and late-XHCI policy into the successor selector. - Preserve installed versioned 6.17 core and modules packages as fallbacks. * Wed Aug 26 2026 SENEMOS Project - 1:7.2.0-0.1.alpha - Isolate the Linux 7.2 mainline candidate from the validated 6.17 package. - Mark the kernel ABI and all RPM names as mainline alpha. - Keep the stable kernel, updater integration and Android fallback untouched. * Wed Aug 26 2026 SENEMOS Project - 1:7.2.0-1.senemos - Rebase the Xiaomi Pad 5 kernel from Linux 6.17 to verified upstream Linux 7.2. - Preserve the stable 60/120 Hz display path, DT2W, charging, audio, FastRPC, tablet-mode and late-XHCI fixes while quarantining experimental 90 Hz mode. - Restore the IDT P9418 stylus charging driver and complete the Nabu audio, fuel-gauge and touchscreen device-tree contracts. - Port the v1.4.0.7.1 pogo-keyboard, WCN3990 scan, post-enable touch wake and IDTP9418 event/MAC ABI with automatic BlueZ stylus pairing.