%global debug_package %{nil} %global _uke_out %{_topdir}/native-kernel-out %global senemos_build_release 22 %global krel %{version}-%{senemos_build_release}-unstable Name: uke-kernel-migration-check Version: 7.3.3 Release: 95%{?dist} Summary: Native Uke versioned protection observation qualification License: GPL-2.0-only AND MIT AND BSD-3-Clause URL: https://github.com/MCC45TR/senemos-uke-kernel-mainline Source0: linux-%{version}.tar.xz Source1: senemos-uke-adaptation-%{version}.tar.xz Source2: linux-%{version}.tar.sign Source3: linux-stable.asc Source4: senemos-native-profile-%{version}.tar.xz Source5: senemos-uke-boot-recipe.tar.xz Source6: boot-payload.json Source7: SINGLEBOOT.md Source8: singleboot-LICENSE ExclusiveArch: aarch64 BuildRequires: dt-schema = 2026.09-1.fc46 BuildRequires: bash bc bison flex clang llvm lld make gcc gcc-c++ perl BuildRequires: compiler-rt BuildRequires: libasan libubsan BuildRequires: elfutils-libelf-devel openssl-devel openssl ncurses-devel BuildRequires: pkgconfig(libsystemd) BuildRequires: alsa-topology-utils BuildRequires: alsa-lib-devel alsa-utils dt-schema BuildRequires: rsync tar xz zstd kmod git-core jq gnupg2 dtc BuildRequires: clang = 23.1.5-1.fc46 BuildRequires: llvm = 23.1.5-1.fc46 BuildRequires: lld = 23.1.5-1.fc46 BuildRequires: libfdt-devel nodejs ripgrep gzip cpio %description Text-only passive legacy and active versioned protection qualification. No runtime controller, full kernel or physical cutoff is supplied. %prep uke_prep_start=$SECONDS expected=$(tar -xOJf %{SOURCE1} senemos-adaptation/source-lock.json | jq -er .source_sha256) test "$(sha256sum %{SOURCE0} | cut -d ' ' -f1)" = "$expected" signer=$(tar -xOJf %{SOURCE1} senemos-adaptation/source-lock.json | jq -er .signer) # GnuPG agent sockets cannot use arbitrarily long RPM build paths. keyring=$(mktemp -d) trap 'gpgconf --homedir "$keyring" --kill gpg-agent; rm -rf "$keyring"' EXIT gpg --homedir "$keyring" --batch --import %{SOURCE3} xz -cd %{SOURCE0} | gpg --homedir "$keyring" --batch --status-fd=1 \ --verify %{SOURCE2} - > %{_topdir}/source-verification.txt grep -F "[GNUPG:] VALIDSIG $signer " %{_topdir}/source-verification.txt %setup -q -n linux-%{version} tar -xJf %{SOURCE1} jq -r '.patches[].path | split("/") | last' senemos-adaptation/source-lock.json > senemos-expected-patches.txt cmp senemos-expected-patches.txt senemos-adaptation/patches/series while IFS="$(printf '\t')" read -r path expected; do case "$path" in patches/*) staged="senemos-adaptation/patches/${path##*/}" ;; configs/*) staged="senemos-adaptation/configs/${path##*/}" ;; *) exit 1 ;; esac test "$(sha256sum "$staged" | cut -d ' ' -f1)" = "$expected" || exit 1 done < senemos-applied-patches.txt while IFS= read -r patch_name; do test -n "$patch_name" || continue git apply --check "senemos-adaptation/patches/$patch_name" || exit 1 git apply "senemos-adaptation/patches/$patch_name" || exit 1 printf '%s\n' "$patch_name" >> senemos-applied-patches.txt done < senemos-adaptation/patches/series cmp senemos-expected-patches.txt senemos-applied-patches.txt tar -xJf %{SOURCE4} (cd native-profile;sha256sum -c --strict --quiet SHA256SUMS) bash native-profile/tests/ssc-heading-math.sh bash native-profile/packaging/native/preflight-ssc-heading733.sh "$PWD" bash native-profile/prepare.sh "$PWD" mkdir -p native-generated/camera-sensors-before731 cp drivers/media/i2c/ov08d10.c drivers/media/i2c/ov13b10.c native-generated/camera-sensors-before731/ for sensor_patch in native-profile/src/camera/sensors/000[123]-*.patch; do git apply --check "$sensor_patch"; git apply "$sensor_patch"; done test "$(find native-profile/src/camera/sensors -name '000[123]-*.patch' | wc -l)" = 3 mkdir -p native-generated/camcc-baseline/drivers/clk/qcom cp drivers/clk/qcom/gdsc.c drivers/clk/qcom/gdsc.h native-generated/camcc-baseline/drivers/clk/qcom/ for patch in native-profile/src/camera/provider/000[123]-clk-qcom-gdsc-*.patch; do git apply --check "$patch"; git apply "$patch"; done test "$(find native-profile/src/camera/provider -name '000[123]-clk-qcom-gdsc-*.patch' | wc -l)" = 3 git apply --check native-profile/src/camera/provider/0004-clk-qcom-gdsc-permanent-storage.patch git apply native-profile/src/camera/provider/0004-clk-qcom-gdsc-permanent-storage.patch git apply --check native-profile/src/camera/sensors/0004-ov08d10-exposure-read-errors.patch git apply native-profile/src/camera/sensors/0004-ov08d10-exposure-read-errors.patch if grep -l GDSC_CONTROLLER_PM drivers/clk/qcom/*-*.c; then exit 1; fi cmp native-profile/src/input/nt36532-uke-spi.c drivers/input/touchscreen/nt36532-uke/nt36532-uke-spi.c tar -xJf %{SOURCE5} cmp boot-recipe/lock.json %{SOURCE6} (cd boot-recipe; jq -r '.source_assets[] | .sha256 + " " + .path' lock.json | sha256sum -c -) printf 'UKE_BUILD_STAGE source_prepare elapsed_s=%d\n' "$((SECONDS-uke_prep_start))" camss_dir=drivers/media/platform/qcom/camss mkdir -p native-generated/camss-before731/$camss_dir cp $camss_dir/camss-csiphy.c $camss_dir/camss-csiphy-3ph-1-0.c native-generated/camss-before731/$camss_dir/ patch -p1 --fuzz=0 -i native-profile/src/camera/camss/0001-media-camss-return-phy-setup-errors.patch patch -p1 --fuzz=0 -i native-profile/src/camera/camss/0002-media-camss-sm7675-resources.patch for header in csiphy-sm7675.h camss-sm7675-phy-ops.h camss-sm7675-data.h; do cp native-profile/src/camera/camss/$header $camss_dir/$header; done bash native-profile/src/camera/prepare-controller731.sh "$PWD" mkdir -p native-generated/cci-before731/drivers/i2c/busses cp drivers/i2c/busses/i2c-qcom-cci.c native-generated/cci-before731/drivers/i2c/busses/ printf '45b2dc46ea637f411a39f9352156e91d85a191b4fd3d2bfb44d5b7fc81d57693 drivers/i2c/busses/i2c-qcom-cci.c\n' | sha256sum -c --strict patch -p1 --fuzz=0 -i native-profile/src/camera/cci/0001-i2c-qcom-cci-initialize-all-completions.patch mkdir -p native-generated/at24-before731/drivers/nvmem cp drivers/nvmem/at24.c native-generated/at24-before731/drivers/nvmem/ printf 'f37ed370a86b2b850625ecd7e5e4d810b5feeb65c10f719a9e505aa8db2795a0 drivers/nvmem/at24.c\n' | sha256sum -c --strict printf '98452b4e32c41de9f74608356d2126e0743f7f229391577f0bb451bc180f2e3e Documentation/devicetree/bindings/eeprom/at24.yaml\n' | sha256sum -c --strict patch -p1 --fuzz=0 -i native-profile/src/camera/eeprom/0001-at24-readonly-vcc.patch patch -p1 --fuzz=0 -i native-profile/src/camera/eeprom/0002-at24-readonly-vcc-binding.patch install -m644 native-profile/src/camera/eeprom/at24-vcc-readonly.h drivers/nvmem/at24-vcc-readonly.h rpm -q dt-schema dt-doc-validate Documentation/devicetree/bindings/eeprom/at24.yaml cp drivers/regulator/qcom-rpmh-regulator-uke.c native-generated/rpmh-before-front731.c patch -p1 --fuzz=0 -i native-profile/src/camera/eeprom/0003-rpmh-front-vio.patch CC=clang bash native-profile/tests/o82-avr-contract.sh "$PWD" CXX=clang++ bash native-profile/tests/dpu-video-timing-contract.sh "$PWD" CC=clang bash native-profile/tests/msm-retirement-proof-contract.sh "$PWD" CC=clang bash native-profile/tests/dpu-reservation-contract.sh "$PWD" "$PWD/native-generated/dpu-reservation-before56" CC=clang bash native-profile/tests/dpu-color-topology-contract.sh "$PWD/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c" bash native-profile/tests/o82-profile-loader-contract.sh native-profile bash native-profile/tests/o82-lutbus-contract.sh bash native-profile/tests/o82-regdma-transport-contract.sh native-profile "$PWD" bash native-profile/tests/o82-atomic-contract.sh native-profile "$PWD" bash native-profile/tests/cdsp-actlr-qualify.sh "$PWD" bash native-profile/src/camera/provider/apply-gcc-config731.sh "$PWD" bash native-profile/packaging/native/prepare-queued-kernel731.sh "$PWD" native-profile bash native-profile/src/audio/apply-config-smmu731.sh "$PWD" "$PWD/native-profile" bash native-profile/src/audio/apply-client-data731.sh "$PWD" "$PWD/native-profile" bash native-profile/src/audio/apply-client-byte-ready731.sh "$PWD" "$PWD/native-profile" bash native-profile/src/audio/apply-protected-stop731.sh "$PWD" "$PWD/native-profile" bash native-profile/src/audio/apply-idle-stop731.sh "$PWD" "$PWD/native-profile" bash native-profile/src/display/apply-vrr-api731.sh "$PWD" "$PWD/native-profile" bash native-profile/src/audio/apply-stop-deadline733.sh "$PWD" "$PWD/native-profile" bash native-profile/src/audio/apply-pcm-period733.sh "$PWD" "$PWD/native-profile" bash native-profile/src/audio/apply-enable-readback733.sh "$PWD" "$PWD/native-profile" bash native-profile/src/input/apply-hall-initial-gpio733.sh "$PWD" %build export ARCH=arm64 LLVM=1 LLVM_IAS=1 mkdir -p %{_uke_out} bash native-profile/packaging/native/check-dual-light-delivery733.sh "$PWD" %{_uke_out} prepared bash native-profile/tests/mainline-boot-status-contract.sh bash native-profile/src/sensors/apply-dual-light733.sh "$PWD" bash native-profile/src/audio/apply-speaker-display733.sh "$PWD" bash native-profile/src/display/apply-avr-transaction733.sh "$PWD" bash native-profile/packaging/native/check-avr-transaction733.sh "$PWD" %{_uke_out} source bash native-profile/src/health/apply-rproc-event733.sh "$PWD" bash native-profile/packaging/native/check-rproc-event733.sh "$PWD" %{_uke_out} source bash native-profile/src/audio/apply-speaker-quad733.sh "$PWD" bash native-profile/packaging/native/check-speaker-quad733.sh "$PWD" %{_uke_out} source # UKE_PROXIMITY_CRASH_HISTORY_DELIVERY bash native-profile/src/sensors/apply-proximity-input733.sh "$PWD" bash native-profile/src/health/apply-rproc-count733.sh "$PWD" # UKE_MST_POWER_DELIVERY bash native-profile/packaging/native/prepare-mst-power-delivery733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-surround-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-pcm-surround-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-gravity-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-quaternion-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-quaternion-buffer-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-heading-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-proximity-abi-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-charge-online-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-battery-event-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-charge-standard-full733.sh "$PWD" %{_uke_out} source bash native-profile/packaging/native/prepare-charge-demand-full733.sh "$PWD" %{_uke_out} source cmp native-profile/native.config boot-recipe/packaging/native/native.config cp native-profile/native.config %{_uke_out}/.config make O=%{_uke_out} ARCH=arm64 LLVM=1 LLVM_IAS=1 LOCALVERSION=-22-unstable olddefconfig make O=%{_uke_out} ARCH=arm64 LLVM=1 LLVM_IAS=1 LOCALVERSION=-22-unstable -j4 modules_prepare bash native-profile/packaging/native/check-charge-observe733.sh "$PWD" %{_uke_out} cmp native-profile/charge-observe-parent-source-composition.json native-profile/source-composition.json %install install -Dm644 native-profile/charge-observe-source-qualification.json %{buildroot}%{_docdir}/%{name}/charge-observe-source-qualification.json install -Dm644 native-profile/charge-observe-parent-source-composition.json %{buildroot}%{_docdir}/%{name}/charge-observe-parent-source-composition.json install -Dm644 native-generated/charge-observe733/applied.sha256 %{buildroot}%{_docdir}/%{name}/actual-source.sha256 install -Dm644 native-profile/SHA256SUMS %{buildroot}%{_docdir}/%{name}/source-assets.sha256 install -Dm644 COPYING %{buildroot}%{_licensedir}/%{name}/COPYING %files %{_docdir}/%{name} %{_licensedir}/%{name} %changelog * Wed Nov 11 2026 Uke contributors - 7.3.3-95 - Qualify passive legacy state and explicit versioned observation over full22. - Preserve old offline operation,source guards,protected audio and config.