%global debug_package %{nil} %global __strip /bin/true %global nabu_release 1.4.0.9-alpha.3 %global uname_r 6.17.0-nabu-senemos-v%{nabu_release} Name: senemos-nabu-kernel-alpha Epoch: 1 Version: 1.17.0 Release: 0.3.alpha.v1.4.0.9%{?dist} Summary: SENEMOS Linux 6.17 alpha kernel channel for Xiaomi Pad 5 License: GPL-2.0-only AND MIT URL: https://copr.fedorainfracloud.org/coprs/mcc45tr/senemos-nabu-kernel-alpha/ BuildArch: noarch 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-alpha-core = %{epoch}:%{version}-%{release} Requires: senemos-nabu-kernel-alpha-modules = %{epoch}:%{version}-%{release} Requires: dnf5 Requires: systemd Conflicts: senemos-nabu-kernel %description This package selects the explicitly experimental SENEMOS Linux 6.17 channel for Xiaomi Pad 5 (nabu). It is intentionally separate from the stable senemos-nabu-kernel package and must not be promoted or renamed as stable until physical display, automatic rotation, ambient-light, DSP sensor, suspend, charging, Wi-Fi and rollback tests have passed. The v1.4.0.9 alpha line carries reviewed FastRPC and Qualcomm SMMU reliability fixes on top of the v1.4.0.8 source. Alpha.2 defers the DSI unblank notification until the host is streaming. Alpha.3 adds the complete Xiaomi pogo keyboard power, detect and HID path with explicit computer-mode policy. A connected keyboard remains in tablet mode unless computer mode is deliberately enabled. The SLPI sensor mount matrix, panel, touchscreen and IIO descriptions remain unchanged. %package -n senemos-nabu-kernel-alpha-core Summary: Nabu %{nabu_release} alpha kernel image and device tree Requires(posttrans): kmod Requires(posttrans): nabu-uki-config >= 1.2.0 Provides: installonlypkg(kernel) Provides: kernel-uname-r Provides: kernel-nabu-alpha-core-uname-r %description -n senemos-nabu-kernel-alpha-core Kernel image, configuration, symbol map and Xiaomi Pad 5 device tree for the SENEMOS 6.17 alpha channel. The normal UKI integration keeps recovery artifacts outside the versioned RPM payload; hardware qualification remains mandatory. %package -n senemos-nabu-kernel-alpha-modules Summary: Nabu %{nabu_release} alpha loadable modules Requires: senemos-nabu-kernel-alpha-core = %{epoch}:%{version}-%{release} Provides: installonlypkg(kernel) Provides: kernel-modules-uname-r %description -n senemos-nabu-kernel-alpha-modules Loadable modules for the SENEMOS Nabu %{nabu_release} alpha 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 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}%{_prefix}/lib/modules/%{uname_r}/dtb/qcom/sm8150-xiaomi-nabu.dtb test -d %{buildroot}%{_prefix}/lib/modules/%{uname_r}/kernel grep -Fxq 'CONFIG_LOCALVERSION="-nabu-senemos-v%{nabu_release}"' \ %{buildroot}/boot/config-%{uname_r} %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-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 alpha UKI generation failed for %%s; the alpha update timer will retry.\n' '%{uname_r}' >&2 fi %postun -n senemos-nabu-kernel-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-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-alpha-modules %{_prefix}/lib/modules/%{uname_r}/kernel/ %changelog * Wed Aug 26 2026 SENEMOS Project - 1:1.17.0-0.3.alpha.v1.4.0.9 - Add the Xiaomi pogo keyboard-cover DT binding, GPIO power/reset controller, debounced presence and wake handling, and the 3206:3ffc HID quirk. - Keep SW_TABLET_MODE asserted when the cover is merely attached; expose an explicit computer_mode sysfs policy and reset it on cover removal. - Preserve the panel, touchscreen, SLPI/IIO rotation and ambient-light nodes; require physical keyboard, rotation, ALS and suspend/resume acceptance. * Wed Aug 26 2026 SENEMOS Project - 1:1.17.0-0.2.alpha.v1.4.0.9 - Move the Nabu DSI unblank notification from pre-enable to bridge enable so NT36523 resumes only after the display host has started streaming. - Dispatch the blocking notifier through the system workqueue to avoid the switch-root/atomic-commit deadlock of the former synchronous wakeup variant. - Keep the Nabu DTB, panel, touchscreen, IIO and SLPI sensor descriptions byte-identical to alpha.1; require physical DPMS, touch and sensor testing. * Wed Aug 26 2026 SENEMOS Project - 1:1.17.0-0.1.alpha.v1.4.0.9 - Establish senemos-nabu-kernel-alpha as the isolated Linux 6.17 hardware-test channel; stable senemos-nabu-kernel publication requires physical acceptance. - Backport upstream FastRPC lifetime, DMA-address, RPMsg initialization, Audio PD pool, mmap locking, concurrent unmap and reference-leak corrections. - Correct the Qualcomm SMMU ACTLR compatible match for FastRPC compute context banks. - Preserve the v1.4.0.8 Nabu DTB, SLPI mount matrix, panel, touchscreen and IIO configuration to protect working rotation and ambient-light behavior.