%global debug_package %{nil} Name: uke-extras Version: 1.0.2 Release: 1%{?dist} Summary: Uke extras package selection and source family License: MIT URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-extras-1.0.2.tar.xz ExclusiveArch: aarch64 SourceLicense: MIT AND (GPL-2.0-only AND GPL-3.0-or-later AND Apache-2.0 AND MIT AND BSD-2-Clause) AND (MIT) Suggests: uke-plymonth = 1.0.2-1%{?dist} Suggests: uke-orangefox-recovery BuildRequires: bash tar gzip coreutils jq BuildRequires: tar xz %description Logical installation selection. Child RPMs remain separately installable. This package adds no process and does not enable hardware or prove support. %package -n uke-orangefox-recovery Version: 12.0~preview3.20261010 Release: 2.fc46 License: GPL-2.0-only AND GPL-3.0-or-later AND Apache-2.0 AND MIT AND BSD-2-Clause Summary: OrangeFox recovery preview images for Xiaomi Pad 7 and POCO Pad X1 Provides: uke-recovery-image %description -n uke-orangefox-recovery DNF-managed, checksum-verified delivery of the existing OrangeFox v003 preview. Installs images and records as data without flashing, unlocking, running an installer or changing boot selection. The IMG requires the installed Android boot stack; it is not a temporary fastboot boot image. ZIP installation is unavailable. Firmware compatibility and physical rollback require separate tests. The source snapshots and exact upstream revisions are listed in SOURCE-OFFER. %package -n uke-plymonth Version: 1.0.2 Release: 1.fc46 License: MIT BuildArch: noarch Summary: Optional Senemos Uke Plymouth theme Requires: plymouth plymouth-plugin-script Provides: plymouth-uke = 1.0.2-1 Obsoletes: plymouth-uke < 1.0.2-1 Conflicts: plymouth-uke %description -n uke-plymonth A renderer-size-aware text theme for Uke development images. It installs optional theme data only; it does not set the default theme, regenerate an initramfs, select a boot entry or infer working Uke graphics. %prep %setup -q ( mkdir -p "%{_builddir}/uke-extras-1.0.2/work/uke-plymonth" cd '%{_builddir}/uke-extras-1.0.2/work/uke-plymonth' rm -rf 'uke-plymonth-1.0.2' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-extras-1.0.2/inputs/uke-plymonth/uke-plymonth-1.0.2.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-plymonth-1.0.2' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) ( mkdir -p "%{_builddir}/uke-extras-1.0.2/work/uke-orangefox-recovery" cd '%{_builddir}/uke-extras-1.0.2/work/uke-orangefox-recovery' rm -rf 'uke-orangefox-recovery-12.0~preview3.20261010' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-extras-1.0.2/inputs/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-orangefox-recovery-12.0~preview3.20261010' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . sha256sum -c PACKAGE-SHA256SUMS jq -e '.device == "uke" and .validation.no_python_payload == true and .validation.payload_privacy == true and .validation.physical_device == false' ARTIFACT-MANIFEST.json ) %build ( cd "%{_builddir}/uke-extras-1.0.2/work/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010" # Images were built at the exact published source checkpoint; this package # verifies and delivers that release. It does not claim a fresh recovery build. ) %install ( cd "%{_builddir}/uke-extras-1.0.2/work/uke-plymonth/uke-plymonth-1.0.2" install -d %{buildroot}/usr/share/plymouth/themes/senemos-uke install -m644 src/plymouth-uke/* %{buildroot}/usr/share/plymouth/themes/senemos-uke/ ) ( cd "%{_builddir}/uke-extras-1.0.2/work/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010" destination=%{buildroot}/usr/share/senemos/recovery/uke/12.0~preview3.20261010 mkdir -p "$destination" install -m644 *.img *.zip ARTIFACT-MANIFEST.json release-lock.json \ PACKAGE-SHA256SUMS ORANGEFOX-SOURCE-PINS.xml STOCK-KERNEL-SOURCE.json "$destination/" # Source/license records describe the complete artifact; no tablet script runs. install -m644 DELIVERY.md SOURCE-OFFER.md INSTALL.md LICENSE "$destination/" cp -r licenses "$destination/" ) %check ( cd "%{_builddir}/uke-extras-1.0.2/work/uke-plymonth/uke-plymonth-1.0.2" test -s %{buildroot}/usr/share/plymouth/themes/senemos-uke/plymouth-uke.script ! grep -Eq '(DeviceScale|/dev/|nabu|python)' %{buildroot}/usr/share/plymouth/themes/senemos-uke/* ) ( cd "%{_builddir}/uke-extras-1.0.2/work/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010" for image in *.img; do test "$(head -c8 "$image")" = 'ANDROID!'; done sha256sum -c PACKAGE-SHA256SUMS ) %files %license LICENSE %doc README %files -n uke-plymonth %license work/uke-plymonth/uke-plymonth-1.0.2/LICENSE %doc work/uke-plymonth/uke-plymonth-1.0.2/README.md /usr/share/plymouth/themes/senemos-uke/ %files -n uke-orangefox-recovery %license work/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010/LICENSE %license work/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010/licenses/*.txt %doc work/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010/DELIVERY.md work/uke-orangefox-recovery/uke-orangefox-recovery-12.0~preview3.20261010/SOURCE-OFFER.md /usr/share/senemos/recovery/uke/12.0~preview3.20261010/ %changelog * Tue Oct 20 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.2-1 - Build reviewed child recipes under one source family without binary repackaging.