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}/*