File raspberrypi-utils.spec of Package raspberrypi-utils
%global date 20260428
%global commit ab0de6af57fbbbc47aed976425d0ed7b9d85e47a
%global shortcommit ab0de6af
%global github_author raspberrypi
%global github_project utils
Name: %{github_author}-%{github_project}
Version: 0~git%{date}.%{shortcommit}
Release: 1%{?dist}
Summary: Collection of Raspberry Pi utilities
License: BSD-3-Clause
URL: https://github.com/%{github_author}/%{github_project}
Source0: %{url}/archive/%{commit}/%{github_project}-%{commit}.tar.gz
Source1: 92-local-vchiq-permissions.rules
# Makes sense only in Raspberry PI
ExclusiveArch: %{arm} aarch64
BuildRequires: cmake >= 3.1
BuildRequires: gcc
BuildRequires: libfdt-devel
BuildRequires: gnutls-devel
BuildRequires: systemd-rpm-macros
Requires: %{name}-libs%{?isa}
Obsoletes: %{github_author}-userland
Conflicts: %{github_author}-userland
%description
Collection of Raspberry Pi utilities
%package libs
Summary: Shared libraries for %{name}
Obsoletes: %{github_author}-userland
Conflicts: %{github_author}-userland
Requires: systemd-udev
%description libs
Development files for %{name}
%package devel
Summary: Shared libraries for %{name}
Requires: %{name}-libs%{?isa}
%description devel
Development files for %{name}
%prep
%autosetup -n %{github_project}-%{commit} -p1
# Fix typo in license file name
mv LICENCE LICENSE
# Install overlaycheck exceptions file to /usr/share instead of /usr/bin
sed -i '/^my \$exclusions_file/s;\$0 . ";"%{_datadir}/overlaycheck;' \
overlaycheck/overlaycheck
sed -i '/^install(FILES overlaycheck_exclusions\.txt/s/\${CMAKE_INSTALL_BINDIR}/\${SHARE_INSTALL_PREFIX}/' \
overlaycheck/CMakeLists.txt
%build
%cmake
%cmake_build
%install
%cmake_install
install -p -D -m 644 -t %{buildroot}%{_udevrulesdir} %{SOURCE1}
%post libs
%{_sbindir}/udevadm trigger /dev/vchiq
%files
%license LICENSE
%doc README.md
%{_bindir}/apitest
%{_bindir}/dpi_csync
%{_bindir}/dtmerge
%{_bindir}/dtoverlay
%{_bindir}/dtparam
%{_bindir}/eepdump
%{_bindir}/eepflash.sh
%{_bindir}/eepmake
%{_bindir}/kdtc
%{_bindir}/otamaker
%{_bindir}/otpset
%{_bindir}/overlaycheck
%{_bindir}/ovmerge
%{_bindir}/pinctrl
%{_bindir}/piopwm
%{_bindir}/pioseq
%{_bindir}/piotest
%{_bindir}/piows2812
%{_bindir}/quadenc
%{_bindir}/raspinfo
%{_bindir}/rp1sm
%{_bindir}/rpi-eeprom-ab
%{_bindir}/rpi-fw-crypto
%{_bindir}/rpi-gpu-usage
%{_bindir}/vcgencmd
%{_bindir}/vclog
%{_bindir}/vcmailbox
%{_mandir}/man1/*.1*
%{_mandir}/man7/*.7*
%{bash_completions_dir}/*
%{_datadir}/overlaycheck_exclusions.txt
%files libs
%license LICENSE
%{_libdir}/libdtovl.so.*
%{_libdir}/libgpiolib.so.*
%{_libdir}/libpio.so.*
%{_libdir}/librpieepromab.so.*
%{_libdir}/librpifwcrypto.so.*
%{_udevrulesdir}/92-local-vchiq-permissions.rules
%files devel
%{_libdir}/libdtovl.so
%{_libdir}/libgpiolib.so
%{_libdir}/libpio.so
%{_libdir}/librpieepromab.so
%{_libdir}/librpifwcrypto.so
%{_includedir}/*