%global debug_package %{nil} Name: uke-extras Version: 1.0.4 Release: 2%{?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.4.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 (GPL-2.0-or-later AND LGPL-2.0-or-later) AND (MIT) Suggests: uke-plymonth = 1.0.2-5%{?dist} Suggests: uke-orangefox-recovery Suggests: uke-material-decoration BuildRequires: cmake BuildRequires: extra-cmake-modules BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: jq BuildRequires: kdecoration-devel >= 6.6 BuildRequires: kf6-kcmutils-devel BuildRequires: kf6-kconfig-devel BuildRequires: kf6-kconfigwidgets-devel BuildRequires: kf6-kcoreaddons-devel BuildRequires: kf6-kguiaddons-devel BuildRequires: kf6-ki18n-devel BuildRequires: kf6-kiconthemes-devel BuildRequires: kf6-kservice-devel BuildRequires: kf6-kwindowsystem-devel BuildRequires: kwin-devel >= 6.6 BuildRequires: libdrm-devel BuildRequires: libepoxy-devel BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtdeclarative-devel BuildRequires: qt6-qttools-devel BuildRequires: vulkan-loader-devel BuildRequires: bash tar gzip coreutils jq BuildRequires: gcc-c++ plymouth-plugin-script plymouth-plugin-label abattis-cantarell-fonts BuildRequires: systemd-rpm-macros 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-material-decoration Version: 20261006.094154 Release: 7.fc46 License: GPL-2.0-or-later AND LGPL-2.0-or-later Summary: Material window decoration and configuration for KWin 6 Requires: kwin(aarch-64) >= 6.6 Provides: material-decoration = 20261006.094154-7.fc46 Provides: material-decoration%{?_isa} = 20261006.094154-7.fc46 Obsoletes: material-decoration < 20261006.094154-7.fc46 Conflicts: material-decoration %description -n uke-material-decoration An optional Qt 6/C++ window decoration for KWin with an integrated application menu and search. Installing the package does not select or activate the decoration, and it does not replace Fedora KDE packages. %package -n uke-orangefox-recovery Version: 12.0~preview3.20261010 Release: 6.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: 5.fc46 License: MIT BuildArch: noarch Summary: Senemos Uke boot and shutdown Plymouth theme Requires: plymouth plymouth-plugin-script plymouth-plugin-label Requires: abattis-cantarell-fonts Requires(post): plymouth-scripts Requires(preun): plymouth-scripts Provides: plymouth-uke = 1.0.2-1 Obsoletes: plymouth-uke < 1.0.2-1 Conflicts: plymouth-uke %description -n uke-plymonth Xiaomi and Fedora artwork with boot/update progress and a pulsing shutdown bar. The original Fedora Plymouth services show the theme after mounting the root filesystem and during shutdown/reboot. Installation selects the theme when a distribution default is in use; local custom themes remain selected. No initramfs, boot image, partition or boot-slot selection is changed. %prep %setup -q ( mkdir -p "%{_builddir}/uke-extras-1.0.4/work/uke-plymonth" cd '%{_builddir}/uke-extras-1.0.4/work/uke-plymonth' rm -rf 'uke-plymonth-1.0.2' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-extras-1.0.4/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.4/work/uke-orangefox-recovery" cd '%{_builddir}/uke-extras-1.0.4/work/uke-orangefox-recovery' rm -rf 'uke-orangefox-recovery-12.0~preview3.20261010' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-extras-1.0.4/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 ) ( mkdir -p "%{_builddir}/uke-extras-1.0.4/work/material-decoration" test "$(sha256sum %{_builddir}/uke-extras-1.0.4/inputs/material-decoration/material-decoration-0b778253ad6c8eb7fc227bd9d486515c00cdf377.tar.gz | cut -d ' ' -f1)" = "$(jq -er .sha256 %{_builddir}/uke-extras-1.0.4/inputs/material-decoration/material-decoration-source-lock.json)" cd '%{_builddir}/uke-extras-1.0.4/work/material-decoration' rm -rf 'material-decoration-0b778253ad6c8eb7fc227bd9d486515c00cdf377' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-extras-1.0.4/inputs/material-decoration/material-decoration-0b778253ad6c8eb7fc227bd9d486515c00cdf377.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'material-decoration-0b778253ad6c8eb7fc227bd9d486515c00cdf377' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . /usr/lib/rpm/rpmuncompress %{_builddir}/uke-extras-1.0.4/inputs/material-decoration/0001-declare-Qt-Qml-imports.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f # KPlugin derives the decoration ID from materialdecoration.so. Upstream's # embedded, differently named ID floods System Settings with warnings. # Keep this conditional on the metadata shape and safe when upstream fixes it. jq 'del(.KPlugin.Id)' src/material.json > src/material.json.new mv src/material.json.new src/material.json ) %build ( cd "%{_builddir}/uke-extras-1.0.4/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. ) ( cd "%{_builddir}/uke-extras-1.0.4/work/material-decoration/material-decoration-0b778253ad6c8eb7fc227bd9d486515c00cdf377" CFLAGS="${CFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer }" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer }" ; export CXXFLAGS ; FFLAGS="${FFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules }" ; export FFLAGS ; FCFLAGS="${FCFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules }" ; export FCFLAGS ; VALAFLAGS="${VALAFLAGS:--g}" ; export VALAFLAGS ; RUSTFLAGS="${RUSTFLAGS:--Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn}" ; export RUSTFLAGS ; LDFLAGS="${LDFLAGS:--Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes }" ; export LDFLAGS ; LT_SYS_LIBRARY_PATH="${LT_SYS_LIBRARY_PATH:-/usr/lib64:}" ; export LT_SYS_LIBRARY_PATH ; CC="${CC:-gcc}" ; export CC ; CXX="${CXX:-g++}" ; export CXX /usr/bin/cmake \ -S "." \ -B "redhat-linux-build" \ -G Ninja \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_INSTALL_FULL_SBINDIR:PATH=/usr/bin \ -DCMAKE_INSTALL_SBINDIR:PATH=bin \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ -DLIB_SUFFIX=64 \ -DBUILD_SHARED_LIBS:BOOL=ON -DFORCE_X11=OFF /usr/bin/cmake --build "redhat-linux-build" -j${RPM_BUILD_NCPUS} --verbose ) %install ( cd "%{_builddir}/uke-extras-1.0.4/work/uke-plymonth/uke-plymonth-1.0.2" install -d %{buildroot}/usr/share/plymouth/themes/senemos-uke install -m644 src/plymouth-uke/*.png src/plymouth-uke/*.script src/plymouth-uke/*.plymouth %{buildroot}/usr/share/plymouth/themes/senemos-uke/ for item in start:boot poweroff:shutdown reboot:reboot halt:shutdown; do unit=${item%%:*} mode=${item#*:} directory=%{buildroot}/usr/lib/systemd/system/plymouth-$unit.service.d install -d "$directory" cat >"$directory/50-uke-theme.conf" < - 1.0.4-2 - Build reviewed child recipes under one source family without binary repackaging.