Name: uke-image-tools Version: 1.0.0 Release: 15%{?dist} Summary: Native tools for isolated Uke image assembly and verification License: MIT URL: https://github.com/MCC45TR/uke-fedora-builder Source0: %{name}-%{version}.tar.xz Source1: source-identity.json Source2: guest-fedora-inputs.tar.xz ExclusiveArch: aarch64 BuildRequires: gcc-c++ e2fsprogs-devel libselinux-devel openssl-devel libzstd-devel BuildRequires: bash jq coreutils findutils diffutils grep sed gawk tar xz cpio BuildRequires: rpm-build ripgrep dtc git-core make f2fs-tools e2fsprogs xfsprogs btrfs-progs zstd BuildRequires: util-linux-core util-linux shadow-utils BuildRequires: libguestfs-tools-c kernel-core kernel-modules qemu-kvm-core BuildRequires: bsdtar gnupg2 createrepo_c BuildRequires: android-tools BuildRequires: libarchive-devel %description Image codecs, payload validation, language auditing and offline EXT4 labels. These host tools operate on supplied image files. They do not activate kernels, flash partitions or qualify tablet hardware. Build and native tests run in COPR. %prep %autosetup %build %set_build_flags mkdir -p build-tools g++ $CXXFLAGS -std=c++20 -Wall -Wextra -Werror src/boot/boot-image.cpp -o build-tools/boot-image $LDFLAGS g++ $CXXFLAGS -std=c++20 -Wall -Wextra -Werror src/boot-pair/android-sparse.cpp -o build-tools/android-sparse $LDFLAGS g++ $CXXFLAGS -std=c++20 -Wall -Wextra -Werror src/image/ext4-labels.cpp -o build-tools/ext4-labels $LDFLAGS -lext2fs -lcom_err -lselinux g++ $CXXFLAGS -std=c++20 -Wall -Wextra -Werror src/image/check-userdata-payload.cpp -o build-tools/check-userdata-payload $LDFLAGS -lcrypto -lzstd g++ $CXXFLAGS -std=c++20 -Wall -Wextra -Werror src/image/audit-languages.cpp -o build-tools/audit-languages $LDFLAGS g++ $CXXFLAGS -std=c++20 -Wall -Wextra -Werror src/image/compare-root-metadata.cpp -o build-tools/compare-root-metadata $LDFLAGS mkdir -p build-fixtures g++ $CXXFLAGS -std=c++20 -Wall -Wextra -Werror src/build/cpio-sdk-tar.cpp -o build-fixtures/cpio-sdk-tar $LDFLAGS -larchive %install install -d %{buildroot}%{_libexecdir}/%{name} install -pm755 build-tools/* %{buildroot}%{_libexecdir}/%{name}/ install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/%{name}/source-identity.json %check echo "$(jq -er .guest_inputs_sha256 %{SOURCE1}) %{SOURCE2}" | sha256sum -c - mkdir guest-inputs tar -xJf %{SOURCE2} -C guest-inputs jq -es 'length==12 and all(.[];.goal_resolved and .metadata_only and (.installed==false) and (.rpm_downloaded==false) and (.full_os_composition==false) and (.hardware_tested==false))' guest-inputs/closures/full-root/*/report.json UKE_COPR_WORKER_AUDIT=1 bash src/public/copr-guest-root.sh "$PWD" "$PWD/guest-inputs" UKE_COPR_WORKER_AUDIT=1 bash tests/copr-image-worker.sh UKE_COPR_WORKER_AUDIT=1 bash tests/copr-image-appliance.sh bash tests/public-build-contract.sh bash tests/public-channel-contract.sh bash tests/public-root-transaction.sh bash tests/image-contract.sh bash tests/boot-contract.sh bash tests/boot-pair-contract.sh bash tests/boot-pair-serial-contract.sh bash tests/initramfs-module-tuple.sh bash tests/kernel-config-contract.sh bash tests/kernel-export-contract.sh bash tests/original-kde-payload.sh bash tests/kernel-dt-admission.sh bash tests/ext4-labels-contract.sh build-tools/ext4-labels bash tests/boot-image-contract.sh build-tools/boot-image bash tests/userdata-payload-contract.sh build-tools/check-userdata-payload build-tools/boot-image bash tests/userdata-filesystem-payload.sh build-tools/check-userdata-payload build-tools/boot-image bash tests/android-sparse-contract.sh build-tools/android-sparse "$PWD/build-tools/sparse-fixtures" %files %license LICENSE %doc docs/PUBLIC-BUILD.md %{_libexecdir}/%{name}/ %{_datadir}/%{name}/source-identity.json %changelog * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-15 - Share the SDK transport with the complete offline production root entry. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-14 - Select the standalone Uke PipeWire providers required by unstable Core. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-13 - Resolve complete production desktop goals before accepting guest image inputs. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-12 - Preserve exact source mtimes and retain failed readback diagnostics. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-11 - Preserve CPIO data-last hard links while bootstrapping the disposable SDK. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-10 - Place the transaction-store option on its install command. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-9 - Prefetch complete SDK and target transactions with conditional dependencies. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-8 - Populate EXT4 from the owned guest root and check labels, metadata and sparse readback. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-7 - Use Fedora's shipped tmpfiles rule to validate ghost state directory ownership. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-6 - Prepare virtual filesystems inside the appliance before native RPM scriptlets. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-5 - Declare the official Rawhide repository in the isolated source worker. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-4 - Check the shared root transaction with signed offline Fedora inputs in a TCG guest. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-3 - Probe an unprivileged TCG appliance with numeric owners, labels and separate readback. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-2 - Record bounded COPR namespace and numeric-owner prerequisites without changing worker policy. * Fri Oct 30 2026 Uke Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.0.0-1 - Build image helpers and native file fixtures in COPR for signed assembly inputs.