%global debug_package %{nil} %global _build_id_links none Name: uke-kernel-migration-check Version: 7.3.3 Release: 101%{?dist} Summary: Original Fedora FastRPC session integration qualification License: MIT AND BSD-3-Clause URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-fastrpc-notify-check-1.tar.xz Source1: uke-fastrpc-files-1.tar.xz Source2: uke-fastrpc-session-1.tar.xz ExclusiveArch: aarch64 BuildRequires: gcc-c++ coreutils diffutils binutils jq BuildRequires: pkgconfig(libsystemd) glibc-devel BuildRequires: fastrpc = 1.0.8-1.fc46 BuildRequires: fastrpc-devel = 1.0.8-1.fc46 %description Retain a native qualification receipt for existing Control session integration. The unmodified Fedora listener/stubs run with synthetic remote RPC operations. No device code, production configuration or new runtime provider is installed. %prep %setup -q -n uke-fastrpc-notify-check-1 sha256sum -c --strict --quiet SHA256SUMS mkdir files tar -xJf %{SOURCE1} -C files --strip-components=1 (cd files;sha256sum -c --strict --quiet SHA256SUMS) mkdir session tar -xJf %{SOURCE2} -C session --strip-components=1 (cd session;sha256sum -c --strict --quiet SHA256SUMS) %build %set_build_flags g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror -fPIC -shared \ -fno-exceptions -fno-rtti -fvisibility=hidden fastrpc-notify.cpp \ $(pkg-config --cflags --libs libsystemd) -ldl -o libuke-fastrpc-notify.so g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror \ -Wl,--export-dynamic fastrpc-notify-test.cpp -ldl -o fixture g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror \ -Ifiles/upstream -I/usr/include/fastrpc files/fastrpc-files.cpp -ldl -o files-fixture g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror \ session/fastrpc-session.cpp -ldl -o session-worker g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror -fPIC -shared \ session/fastrpc-session-mocks.cpp -o session-mocks.so g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror \ session/fastrpc-session-test.cpp -o session-fixture g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror \ -Isession/reference session/fastrpc-session-abi.cpp -o session-abi %check test ! -e /etc/senemos/kernel-update.conf test "$(rpm -q --qf '%%{VERSION}-%%{RELEASE}' fastrpc)" = 1.0.8-1.fc46 test "$(rpm -q --qf '%%{SHA256HEADER}' fastrpc)" = "$(jq -er .fedora.rpm_header_sha256 fastrpc-notify.json)" printf '%%s %%s\n' "$(jq -er .fedora.listener_elf_sha256 fastrpc-notify.json)" /usr/lib64/libadsp_default_listener.so.1.0.0 | sha256sum -c --strict --quiet - rpm -V fastrpc fastrpc-devel readelf -h libuke-fastrpc-notify.so | grep -q AArch64 readelf -d /usr/lib64/libadsp_default_listener.so.1.0.0 > original.dynamic ! grep -q SYMBOLIC original.dynamic objdump -d /usr/lib64/libadsp_default_listener.so.1.0.0 > original.disassembly grep -Eq 'bl[[:space:]]+[0-9a-f]+ ' original.disassembly grep -Eq 'bl[[:space:]]+[0-9a-f]+ ' original.disassembly bash fastrpc-notify-test.sh "$PWD/fixture" "$PWD/libuke-fastrpc-notify.so" printf '%%s %%s\n' "$(jq -er .fedora.library_elf_sha256 files/fastrpc-files.json)" /usr/lib64/libadsprpc.so.1.0.0 | sha256sum -c --strict --quiet - mkdir files-fixture-root timeout 15 ./files-fixture "$PWD/files-fixture-root" test ! -e files-fixture-root ./session-abi bash session/fastrpc-session-test.sh "$PWD/session-fixture" "$PWD/session-worker" "$PWD/libuke-fastrpc-notify.so" "$PWD/session-mocks.so" rpm -V fastrpc fastrpc-devel printf 'Original Fedora package/header/ELF and both PLT calls retained;RTLD_LOCAL native readiness qualification passed.\n' > %{buildroot}%{_datadir}/uke-kernel-migration-check/fastrpc-notify.txt printf 'Original Fedora file APIs passed with all ioctl syscalls denied.\n' >> %{buildroot}%{_datadir}/uke-kernel-migration-check/fastrpc-notify.txt printf 'Original Fedora single-session lifecycle and source ABI checks passed.\n' >> %{buildroot}%{_datadir}/uke-kernel-migration-check/fastrpc-notify.txt %install install -d -m755 %{buildroot}%{_datadir}/uke-kernel-migration-check printf 'Native fixture qualification pending.\n' > %{buildroot}%{_datadir}/uke-kernel-migration-check/fastrpc-notify.txt %files %doc session/FASTRPC-SESSION.md session/session-source-receipt.json %license files/LICENSE.fastrpc %doc files/FASTRPC-FILES.md files/files-source-receipt.json %license LICENSE %doc FASTRPC-NOTIFY.md source-receipt.json %{_datadir}/uke-kernel-migration-check/fastrpc-notify.txt %changelog * Thu Nov 12 2026 Uke contributors - 7.3.3-101 - Qualify Control session policy with original Fedora FastRPC and kernel ABI. - Retain all prior readiness and file API checks with exact parent sources. * Thu Nov 12 2026 Uke contributors - 7.3.3-100 - Qualify original Fedora file APIs with device ioctl syscalls refused. - Retain all prior listener registration checks and exact source inputs. * Thu Nov 12 2026 Uke contributors - 7.3.3-99 - Qualify registered-listener notification with original Fedora FastRPC. - Retain real listener/stubs and synthetic RPC-only execution in COPR.