%global debug_package %{nil} Name: uke-hw Version: 1.1.2 Release: 1%{?dist} Summary: Uke hw package selection and source family License: MIT URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-hw-1.1.2.tar.xz ExclusiveArch: aarch64 SourceLicense: MIT AND (GPL-3.0-or-later AND Apache-2.0) AND (GPL-3.0-or-later AND MIT) AND (LicenseRef-Proprietary) AND (MIT) %global _build_id_links none %global _binaries_in_noarch_packages_terminate_build 0 Requires: uke-boot-integration = 1.1.2-1%{?dist} Requires: uke-installation-profile = 1.1.2-1%{?dist} Requires: uke-kernel-update = 1.1.2-1%{?dist} Requires: uke-fastfetch-config >= 1.0.1-3%{?dist} Suggests: uke-bluetooth Suggests: uke-touchscreen Suggests: uke-wifi-factory BuildRequires: gcc-c++ bluez-libs-devel systemd-rpm-macros BuildRequires: gcc-c++ make systemd-rpm-macros BuildRequires: gcc-c++ openssl-devel systemd-devel systemd-rpm-macros BuildRequires: jq BuildRequires: openssl-devel BuildRequires: pkgconfig(fdisk) pkgconfig(zlib) util-linux BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libsystemd) pkgconfig(wayland-client) pkgconfig(wayland-server) %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-bluetooth Version: 1.0.6 Release: 5.fc46 License: GPL-3.0-or-later AND MIT Summary: Native factory-address integration for the Uke Bluetooth controller Requires: bluez systemd-udev Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %description -n uke-bluetooth Read the six-byte device-local factory address from read-only persist and use the standard BlueZ management interface when the exact Uke controller requests it. Device and management events determine readiness. No calibration, unique address or proprietary firmware is included or modified. %package -n uke-boot-integration Version: 1.1.2 Release: 1.fc46 License: MIT Summary: Uke image configuration and native boot integration Requires: senemos-native-runtime(libstdc++) Requires: kmod bash systemd NetworkManager openssh-server chrony Requires: util-linux-core coreutils grep Provides: uke-usb-gadget-ownership-api = 2 Provides: uke-usb-manual-cdc-api = 2 %description -n uke-boot-integration Reviewed Uke partition-role, command-line and dracut input templates, with a native read-only prerequisite inspection command. Templates require explicit host-composer application; installation does not regenerate initramfs, select a default boot entry, alter EFI variables or write Android partitions. No UEFI firmware or proprietary firmware blob is included. Package success does not establish RAM/UFS/firmware handoff or physical tablet boot. %package -n uke-esp32-cdc Version: 1.1.2 Release: 1.fc46 License: MIT Summary: Native ESP32-S3 CDC journal forwarding for the Uke Core debug profile Requires: uke-boot-integration = 1.1.2-1.fc46 Requires: systemd senemos-native-runtime(libstdc++) %description -n uke-esp32-cdc Native raw-TTY configuration and real-root journal forwarding to an explicitly configured ttyACM USB-host port. Core composition may apply the separate original systemd debug-shell override for HID-driven VT2 commands and journal output. Installation activates no service, gadget, boot entry or partition write. %package -n uke-boot-recovery Version: 1.1.2 Release: 1.fc46 License: MIT Summary: Native Uke reboot commands and a three-minute startup recovery guard Requires: uke-boot-integration = 1.1.2-1.fc46 Requires: systemd systemd-udev %description -n uke-boot-recovery C++ recovery/bootloader commands and a native readiness observer. Installing this optional development package enables the guard on subsequent boots and provides local reboot aliases without replacing Fedora-owned executables. The host composer must include its dracut module to cover initramfs stalls. No Android, boot, EFI or partition data is written by package installation. %package -n uke-cdc-debug Version: 1.1.2 Release: 1.fc46 License: MIT Summary: Explicit local USB serial development console for Uke Requires: uke-boot-integration = 1.1.2-1.fc46 Requires: bash systemd %description -n uke-cdc-debug Original Bash development console over the standard CDC ACM gadget. It requires the explicit senemos.debug=cdc-acm kernel argument and manual service enablement. The console grants local root access over USB. USB networking stays optional. %package -n uke-wifi-factory Version: 1.1.2 Release: 1.fc46 License: MIT Summary: Read-only Uke factory WLAN identity for NetworkManager Requires: systemd NetworkManager senemos-native-runtime(libstdc++) %description -n uke-wifi-factory Reads and validates each installation's factory WLAN address from its physical read-only persist partition. Publishes a private runtime NetworkManager default before network startup. No device address or factory record is redistributed. The image must provide the protected persist mount and enable the service. %package -n uke-kernel-update Version: 1.1.2 Release: 1.fc46 License: MIT Summary: Native checked installation of matched Uke stock-ABL kernel bundles Requires: senemos-native-runtime(libstdc++) openssl-libs systemd rpm Requires: uke-installation-profile = 1.1.2-1.fc46 Provides: uke-kernel-update(userdata-ab) = 1 Provides: uke-kernel-update(guarded-automatic) = 1 %description -n uke-kernel-update Validates matched installed boot-v4 payloads and module inventories. The Linux root profile retains its opt-in boot_b writer. The userdata profile writes an inactive boot slot and selects the QTI slot only after full readback, coherent GPT/boot-LUN checks and durable backups. Boot health accepts a matching trial. Automatic staging requires both the global and userdata policies to be enabled; the global default is disabled. Reboot remains manual. Physical power-loss recovery requires device validation. %package -n uke-installation-profile Version: 1.1.2 Release: 1.fc46 License: MIT Summary: Native classification of the Uke Linux root partition Requires: senemos-native-runtime(libstdc++) systemd %description -n uke-installation-profile Verifies the physical UFS root and exact Linux or userdata selector. Repairs only the legacy unknown record after fresh inspection. State is private and durable; classification does not write block devices or select a boot slot. %package -n uke-firmware Version: 3.0.304.0 Release: 4.fc46 License: LicenseRef-Proprietary BuildArch: noarch Summary: Consolidated Xiaomi Pad 7 and POCO Pad X1 firmware AutoReqProv: no Provides: /usr/lib/firmware/qcom/uke/sensors/sns_tppe.so Provides: /usr/share/uke-sensors/odm/json.lst Provides: /usr/share/uke-sensors/sns_reg.conf Provides: xiaomi-uke-firmware = 3.0.304.0-1.local.fc46 Provides: uke-local-gpu-firmware = 3.0.304.0-1.local.fc46 Provides: uke-local-sensor-data = 3.0.304.0-2.local.fc46 Provides: uke-local-bluetooth-firmware = 3.0.304.0-2.local.fc46 Provides: uke-owner-adsp-firmware = 3.0.304.0-1.owner Provides: uke-owner-adsp-firmware = 3.0.304.0-1.owner.fc46 Provides: uke-owner-wpss-firmware = 3.0.304.0-1.owner Provides: uke-owner-wpss-firmware = 3.0.304.0-1.owner.fc46 Provides: uke-owner-wlan-board = 3.0.304.0-1.owner Provides: uke-owner-wlan-board = 3.0.304.0-1.owner.fc46 Provides: uke-owner-wlan-regdb = 3.0.304.0-1.owner Provides: uke-owner-wlan-regdb = 3.0.304.0-1.owner.fc46 Obsoletes: xiaomi-uke-firmware <= 3.0.304.0-1.local.fc46 Obsoletes: uke-local-gpu-firmware <= 3.0.304.0-1.local.fc46 Obsoletes: uke-local-sensor-data <= 3.0.304.0-2.local.fc46 Obsoletes: uke-local-bluetooth-firmware <= 3.0.304.0-2.local.fc46 Obsoletes: uke-owner-adsp-firmware <= 3.0.304.0-1.owner.fc46 Obsoletes: uke-owner-wpss-firmware <= 3.0.304.0-1.owner.fc46 Obsoletes: uke-owner-wlan-board <= 3.0.304.0-1.owner.fc46 Obsoletes: uke-owner-wlan-regdb <= 3.0.304.0-1.owner.fc46 %description -n uke-firmware One data package for pinned Uke SSC defaults, DSP helper, Bluetooth candidates, ADSP, WPSS, WLAN board/regulatory data, GPU firmware and OEM touch assets. No application, service, factory address, persist or private calibration is included. Existing touch runtime and its qualified device-local reference remain separate. File-level redistribution review remains incomplete. %package -n uke-touchscreen Version: 1.0.13 Release: 5.fc46 License: GPL-3.0-or-later AND Apache-2.0 Summary: Native Novatek NT36532 touchscreen input for Xiaomi Uke Requires: senemos-uke-linux-kernel-mainline-modules >= 7.2.9-1.53.native53 Requires: senemos-native-runtime(libstdc++) kmod systemd systemd-udev %description -n uke-touchscreen Native C++ THP processing with standard Linux multitouch input. The foreground service resolves the GPIO controller from DT and validates the exact Uke SPI, panel-ID, controller, private firmware and geometry before publishing input. Private per-device inputs are provisioned separately and never redistributed. No panel voltage, GPIO output, factory calibration or Android partition write. %package -n uke-fastfetch-config Version: 1.0.1 Release: 3.fc46 Summary: Standard Fedora Fastfetch configuration for Uke License: MIT BuildArch: noarch Requires: fastfetch >= 2.68.0 %description -n uke-fastfetch-config A data-only profile for the original Fedora application. CPU vendor and name are read by upstream Fastfetch. Platform and advertised panel text are profile metadata, not measured capabilities. Local configuration is preserved. %prep %setup -q ( mkdir -p "%{_builddir}/uke-hw-1.1.2/work/uke-boot-integration" cd '%{_builddir}/uke-hw-1.1.2/work/uke-boot-integration' rm -rf 'uke-boot-integration-1.1.2' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-hw-1.1.2/inputs/uke-boot-integration/uke-boot-integration-1.1.2.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-boot-integration-1.1.2' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) ( mkdir -p "%{_builddir}/uke-hw-1.1.2/work/uke-bluetooth" cd '%{_builddir}/uke-hw-1.1.2/work/uke-bluetooth' rm -rf 'uke-bluetooth-0.1.0' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-hw-1.1.2/inputs/uke-bluetooth/uke-bluetooth-0.1.0.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-bluetooth-0.1.0' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) ( mkdir -p "%{_builddir}/uke-hw-1.1.2/work/uke-touchscreen" cd '%{_builddir}/uke-hw-1.1.2/work/uke-touchscreen' rm -rf 'uke-touchscreen-0.1.0' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-hw-1.1.2/inputs/uke-touchscreen/uke-touchscreen-0.1.0.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'uke-touchscreen-0.1.0' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) ( mkdir -p "%{_builddir}/uke-hw-1.1.2/work/uke-firmware" cd '%{_builddir}/uke-hw-1.1.2/work/uke-firmware' rm -rf 'uke-firmware-3.0.304.0' /usr/bin/mkdir -p 'uke-firmware-3.0.304.0' cd 'uke-firmware-3.0.304.0' /usr/lib/rpm/rpmuncompress -x '%{_builddir}/uke-hw-1.1.2/inputs/uke-firmware/uke-firmware-3.0.304.0.tar.xz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . ) %build ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-boot-integration/uke-boot-integration-1.1.2" g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++17 -ffile-prefix-map=$PWD=. src/boot-status.cpp -o uke-boot-status -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 g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++17 -Wall -Wextra -Werror -ffile-prefix-map=$PWD=. src/usb-port.cpp -o uke-usb-port $(pkg-config --cflags --libs libsystemd libdrm) -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 g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++17 -ffile-prefix-map=$PWD=. src/esp32-cdc.cpp -o uke-esp32-cdc -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 g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++17 -Wall -Wextra -Werror -ffile-prefix-map=$PWD=. src/wifi-factory.cpp -o uke-wifi-factory -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 g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++17 -Wall -Wextra -Werror -ffile-prefix-map=$PWD=. src/boot-guard.cpp -o uke-boot-guard $(pkg-config --cflags --libs libsystemd wayland-client) -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 g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++17 -Wall -Wextra -Werror -ffile-prefix-map=$PWD=. src/reboot.cpp -o uke-reboot $(pkg-config --cflags --libs libsystemd) -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 g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++20 -Wall -Wextra -Werror -ffile-prefix-map=$PWD=. src/kernel-update.cpp -o uke-kernel-update $(pkg-config --cflags --libs fdisk zlib openssl libsystemd) -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 g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -std=c++20 -Wall -Wextra -Werror -ffile-prefix-map=$PWD=. src/install-profile.cpp -o uke-install-profile -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 ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-bluetooth/uke-bluetooth-0.1.0" 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 g++ $CXXFLAGS $LDFLAGS -std=c++20 -Wall -Wextra -Werror src/bluetooth-address.cpp -o uke-bluetooth-address ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-touchscreen/uke-touchscreen-0.1.0" g++ -std=c++20 -O2 -Wall -Wextra -Werror -Wno-unused-function \ src/touch-thp.cpp src/upstream/nt36532-thp/nvt_touch_core.cpp -lcrypto -lsystemd -o uke-touch-thp ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-firmware/uke-firmware-3.0.304.0" ) %install ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-boot-integration/uke-boot-integration-1.1.2" install -Dm644 src/units/70-uke-chronyd-clock.conf %{buildroot}/usr/lib/systemd/system/chronyd.service.d/70-uke-clock.conf install -Dm755 uke-boot-status %{buildroot}/usr/bin/uke-boot-status install -Dm755 uke-usb-port %{buildroot}/usr/bin/uke-usb-port install -Dm644 src/units/uke-usb-observer.service %{buildroot}/usr/lib/systemd/system/uke-usb-observer.service install -Dm644 src/profiles/org.senemos.Uke.USB1.conf %{buildroot}/usr/share/dbus-1/system.d/org.senemos.Uke.USB1.conf install -Dm755 uke-wifi-factory %{buildroot}/usr/libexec/senemos-uke/uke-wifi-factory install -Dm644 src/units/uke-wifi-factory.service %{buildroot}/usr/lib/systemd/system/uke-wifi-factory.service install -d %{buildroot}/usr/share/senemos/boot/uke install -m644 src/profiles/* %{buildroot}/usr/share/senemos/boot/uke/ install -Dm644 src/units/uke-cdc-acm.service %{buildroot}/usr/lib/systemd/system/uke-cdc-acm.service install -Dm644 src/units/uke-cdc-shell.service %{buildroot}/usr/lib/systemd/system/uke-cdc-shell.service install -Dm755 src/uke-usb-network.sh %{buildroot}/usr/libexec/senemos-uke/uke-usb-network install -Dm644 src/profiles/usb-sharing %{buildroot}/etc/senemos/usb-sharing install -Dm644 src/profiles/80-uke-usb.preset %{buildroot}/usr/lib/systemd/system-preset/80-uke-usb.preset install -Dm644 src/units/uke-usb-network.service %{buildroot}/usr/lib/systemd/system/uke-usb-network.service install -Dm644 src/units/uke-usb-network-shell.service %{buildroot}/usr/lib/systemd/system/uke-usb-network-shell.service install -Dm644 src/profiles/uke-coresight-bringup.conf %{buildroot}/usr/lib/modprobe.d/uke-coresight-bringup.conf install -Dm755 uke-esp32-cdc %{buildroot}/usr/libexec/senemos-uke/uke-esp32-cdc install -Dm644 src/units/uke-esp32-cdc-log.service %{buildroot}/usr/lib/systemd/system/uke-esp32-cdc-log.service install -Dm755 uke-reboot %{buildroot}/usr/bin/uke-reboot install -Dm755 uke-kernel-update %{buildroot}/usr/bin/uke-kernel-update install -Dm644 src/profiles/kernel-update.conf %{buildroot}/etc/senemos/kernel-update.conf install -Dm644 src/profiles/userdata-update.conf %{buildroot}/etc/senemos/userdata-update.conf install -Dm644 src/profiles/80-uke-boot.preset %{buildroot}/usr/lib/systemd/system-preset/80-uke-boot.preset install -Dm644 src/units/uke-userdata-accept.service %{buildroot}/usr/lib/systemd/system/uke-userdata-accept.service install -Dm755 uke-install-profile %{buildroot}/usr/libexec/senemos-uke/uke-install-profile install -Dm644 src/units/uke-install-profile.service %{buildroot}/usr/lib/systemd/system/uke-install-profile.service install -Dm755 uke-boot-guard %{buildroot}/usr/libexec/senemos-uke/uke-boot-guard install -Dm644 src/units/uke-boot-guard.service %{buildroot}/usr/lib/systemd/system/uke-boot-guard.service install -Dm644 src/profiles/uke-reboot.conf %{buildroot}/usr/lib/modules-load.d/uke-reboot.conf install -Dm755 src/dracut/93uke-boot-guard/module-setup.sh %{buildroot}/usr/lib/dracut/modules.d/93uke-boot-guard/module-setup.sh install -d %{buildroot}/usr/lib/systemd/system/sysinit.target.wants %{buildroot}/usr/local/{bin,sbin} ln -s ../uke-boot-guard.service %{buildroot}/usr/lib/systemd/system/sysinit.target.wants/uke-boot-guard.service ln -s ../../../usr/bin/uke-reboot %{buildroot}/usr/local/bin/reboot ln -s ../../../usr/bin/uke-reboot %{buildroot}/usr/local/sbin/reboot ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-bluetooth/uke-bluetooth-0.1.0" install -Dm755 uke-bluetooth-address %{buildroot}/usr/libexec/uke-bluetooth-address install -Dm644 packaging/uke-bluetooth-address.service %{buildroot}/usr/lib/systemd/system/uke-bluetooth-address.service install -Dm644 packaging/70-uke-bluetooth.rules %{buildroot}/usr/lib/udev/rules.d/70-uke-bluetooth.rules ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-touchscreen/uke-touchscreen-0.1.0" install -Dm755 uke-touch-thp %{buildroot}/usr/libexec/senemos-uke/uke-touch-thp install -Dm644 src/units/uke-touchscreen.service %{buildroot}/usr/lib/systemd/system/uke-touchscreen.service install -Dm644 src/units/80-uke-touchscreen.preset %{buildroot}/usr/lib/systemd/system-preset/80-uke-touchscreen.preset install -Dm644 src/modules-load.d/uke-touchscreen.conf %{buildroot}/usr/lib/modules-load.d/uke-touchscreen.conf install -Dm644 src/modprobe.d/uke-touchscreen.conf %{buildroot}/usr/lib/modprobe.d/uke-touchscreen.conf install -Dm644 src/udev/70-uke-touchscreen.rules %{buildroot}/usr/lib/udev/rules.d/70-uke-touchscreen.rules install -Dm644 src/upstream/nt36532-thp/LICENSE %{buildroot}/usr/share/licenses/uke-touchscreen/THP-LICENSE install -Dm644 LICENSE.GPL-3.0 %{buildroot}/usr/share/licenses/uke-touchscreen/GPL-3.0 ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-firmware/uke-firmware-3.0.304.0" install -d %{buildroot}/usr cp -a usr/. %{buildroot}/usr/ install -d %{buildroot}/usr/lib/firmware/qcom/uke/touch cp -a touch-inputs/. %{buildroot}/usr/lib/firmware/qcom/uke/touch/ find %{buildroot}/usr/lib/firmware/qcom/uke/touch -type d -exec chmod 755 {} + find %{buildroot}/usr/lib/firmware/qcom/uke/touch -type f -exec chmod 644 {} + ) install -Dm644 "%{_builddir}/uke-hw-1.1.2/fastfetch.jsonc" "%{buildroot}/etc/fastfetch/config.jsonc" mv "%{buildroot}/usr/lib/firmware" "%{_builddir}/uke-hw-1.1.2/firmware-unprocessed" %check mv "%{_builddir}/uke-hw-1.1.2/firmware-unprocessed" "%{buildroot}/usr/lib/firmware" ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-boot-integration/uke-boot-integration-1.1.2" bash tests/installation-policy.sh bash tests/slot-control.sh bash tests/userdata-update.sh g++ -std=c++17 -O2 -Wall -Wextra -Werror tests/usb-port.cpp -o usb-port-contract ./usb-port-contract bash tests/usb-inventory.sh bash tests/usb-auto.sh bash tests/usb-ownership.sh g++ -std=c++17 -Wall -Wextra -Werror -O2 tests/wifi-factory.cpp -o wifi-factory-contract ./wifi-factory-contract bash tests/startup-contract.sh bash tests/startup-native.sh g++ -std=c++20 -O2 -Wall -Wextra -Werror tests/kernel-update.cpp -o kernel-update-contract $(pkg-config --cflags --libs fdisk zlib openssl libsystemd) ./kernel-update-contract ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-bluetooth/uke-bluetooth-0.1.0" g++ -std=c++20 -O2 -Wall -Wextra -Werror -Wno-unused-function tests/bluetooth-address.cpp -o contract ./contract ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-touchscreen/uke-touchscreen-0.1.0" g++ -std=c++20 -O2 -Wall -Wextra -Werror tests/touch-assignment.cpp \ -o touch-assignment-contract timeout 15 bash -c 'ulimit -v 262144; exec ./touch-assignment-contract' g++ -std=c++20 -O2 -Wall -Wextra -Werror tests/touch-input.cpp \ src/upstream/nt36532-thp/nvt_touch_core.cpp -lcrypto -lsystemd -o touch-input-contract ./touch-input-contract g++ -std=c++20 -O2 -Wall -Wextra -Werror tests/touch-normal-probe.cpp \ -lcrypto -o touch-command-contract ./touch-command-contract ) ( cd "%{_builddir}/uke-hw-1.1.2/work/uke-firmware/uke-firmware-3.0.304.0" sha256sum -c --strict MANIFEST.sha256 find usr -type f -print0 | while IFS= read -r -d '' file; do cmp -- "$file" "%{buildroot}/$file" || exit; done diff -r touch-inputs %{buildroot}/usr/lib/firmware/qcom/uke/touch test "$(find %{buildroot}/usr/lib/firmware %{buildroot}/usr/share/uke-sensors -type f | wc -l)" = 217 test ! -e %{buildroot}/var/lib/uke-touch ) %files %license LICENSE %doc README %post -n uke-kernel-update if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Initial installation /usr/lib/systemd/systemd-update-helper install-system-units uke-userdata-accept.service || : fi %preun -n uke-kernel-update if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package removal, not upgrade /usr/lib/systemd/systemd-update-helper remove-system-units uke-userdata-accept.service || : fi %postun -n uke-kernel-update %posttrans -n uke-installation-profile if [ -d /run/systemd/system ] && [ -r /sys/firmware/devicetree/base/compatible ]; then /usr/libexec/senemos-uke/uke-install-profile reconcile || : fi %transfiletriggerin -n uke-kernel-update -- /usr/lib/senemos/kernel-updates if [ -d /run/systemd/system ] && [ -r /sys/firmware/devicetree/base/compatible ]; then if ! /usr/bin/uke-kernel-update auto; then echo 'Uke automatic boot update refused; inspect the reported cause before rebooting.' >&2 fi fi %files -n uke-boot-integration %license work/uke-boot-integration/uke-boot-integration-1.1.2/LICENSE %doc work/uke-boot-integration/uke-boot-integration-1.1.2/README.md %doc work/uke-boot-integration/uke-boot-integration-1.1.2/docs/USB-TYPEC.md /usr/bin/uke-boot-status /usr/bin/uke-usb-port /usr/lib/systemd/system/uke-usb-observer.service /usr/share/dbus-1/system.d/org.senemos.Uke.USB1.conf /usr/lib/systemd/system/chronyd.service.d/70-uke-clock.conf /usr/lib/systemd/system-preset/80-uke-boot.preset /usr/share/senemos/boot/uke /usr/lib/systemd/system/uke-cdc-acm.service /usr/libexec/senemos-uke/uke-usb-network %config(noreplace) /etc/senemos/usb-sharing /usr/lib/systemd/system-preset/80-uke-usb.preset /usr/lib/systemd/system/uke-usb-network.service /usr/lib/systemd/system/uke-usb-network-shell.service /usr/lib/modprobe.d/uke-coresight-bringup.conf %files -n uke-esp32-cdc %license work/uke-boot-integration/uke-boot-integration-1.1.2/LICENSE /usr/libexec/senemos-uke/uke-esp32-cdc /usr/lib/systemd/system/uke-esp32-cdc-log.service %files -n uke-cdc-debug /usr/lib/systemd/system/uke-cdc-shell.service %files -n uke-wifi-factory %license work/uke-boot-integration/uke-boot-integration-1.1.2/LICENSE /usr/libexec/senemos-uke/uke-wifi-factory /usr/lib/systemd/system/uke-wifi-factory.service %files -n uke-kernel-update %license work/uke-boot-integration/uke-boot-integration-1.1.2/LICENSE %doc work/uke-boot-integration/uke-boot-integration-1.1.2/docs/KERNEL-UPDATES.md %doc work/uke-boot-integration/uke-boot-integration-1.1.2/docs/USERDATA-AB.md /usr/bin/uke-kernel-update %dir /etc/senemos %config(noreplace) /etc/senemos/kernel-update.conf %config(noreplace) /etc/senemos/userdata-update.conf /usr/lib/systemd/system/uke-userdata-accept.service %files -n uke-installation-profile %license work/uke-boot-integration/uke-boot-integration-1.1.2/LICENSE %doc work/uke-boot-integration/uke-boot-integration-1.1.2/docs/USERDATA-AB.md /usr/libexec/senemos-uke/uke-install-profile /usr/lib/systemd/system/uke-install-profile.service %files -n uke-boot-recovery %license work/uke-boot-integration/uke-boot-integration-1.1.2/LICENSE /usr/bin/uke-reboot /usr/local/bin/reboot /usr/local/sbin/reboot /usr/libexec/senemos-uke/uke-boot-guard /usr/lib/systemd/system/uke-boot-guard.service /usr/lib/systemd/system/sysinit.target.wants/uke-boot-guard.service /usr/lib/modules-load.d/uke-reboot.conf /usr/lib/dracut/modules.d/93uke-boot-guard %post -n uke-bluetooth if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Initial installation /usr/lib/systemd/systemd-update-helper install-system-units uke-bluetooth-address.service || : fi %preun -n uke-bluetooth if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package removal, not upgrade /usr/lib/systemd/systemd-update-helper remove-system-units uke-bluetooth-address.service || : fi %postun -n uke-bluetooth %files -n uke-bluetooth %license work/uke-bluetooth/uke-bluetooth-0.1.0/LICENSE work/uke-bluetooth/uke-bluetooth-0.1.0/LICENSE.GPL-3.0 %doc work/uke-bluetooth/uke-bluetooth-0.1.0/docs/BLUETOOTH.md /usr/libexec/uke-bluetooth-address /usr/lib/systemd/system/uke-bluetooth-address.service /usr/lib/udev/rules.d/70-uke-bluetooth.rules %post -n uke-touchscreen if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Initial installation /usr/lib/systemd/systemd-update-helper install-system-units uke-touchscreen.service || : fi %preun -n uke-touchscreen if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package removal, not upgrade /usr/lib/systemd/systemd-update-helper remove-system-units uke-touchscreen.service || : fi %postun -n uke-touchscreen if [ $1 -ge 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package upgrade, not uninstall /usr/lib/systemd/systemd-update-helper mark-restart-system-units uke-touchscreen.service || : fi %files -n uke-touchscreen /usr/libexec/senemos-uke/uke-touch-thp /usr/lib/systemd/system/uke-touchscreen.service /usr/lib/systemd/system-preset/80-uke-touchscreen.preset /usr/lib/modules-load.d/uke-touchscreen.conf /usr/lib/modprobe.d/uke-touchscreen.conf /usr/lib/udev/rules.d/70-uke-touchscreen.rules %license /usr/share/licenses/uke-touchscreen/THP-LICENSE %license /usr/share/licenses/uke-touchscreen/GPL-3.0 %files -n uke-firmware %license work/uke-firmware/uke-firmware-3.0.304.0/vendor-NOTICE.xml.gz work/uke-firmware/uke-firmware-3.0.304.0/odm-NOTICE.xml.gz %doc work/uke-firmware/uke-firmware-3.0.304.0/PUBLICATION.txt work/uke-firmware/uke-firmware-3.0.304.0/local-firmware-candidates.json work/uke-firmware/uke-firmware-3.0.304.0/oem-runtime-source.json /usr/share/uke-sensors /usr/lib/firmware/adsp.* /usr/lib/firmware/adsp_dtb.* /usr/lib/firmware/ath11k/WCN6750/hw1.0/board.bin /usr/lib/firmware/ath11k/WCN6750/hw1.0/regdb.bin /usr/lib/firmware/qca6750/wpss.* /usr/lib/firmware/qcom/gen71100_* /usr/lib/firmware/qcom/uke/sensors /usr/lib/firmware/qcom/uke/touch /usr/lib/firmware/qca %files -n uke-fastfetch-config %config(noreplace) /etc/fastfetch/config.jsonc %changelog * Tue Oct 20 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 1.1.2-1 - Build reviewed child recipes under one source family without binary repackaging.