File rng-tools.spec of Package rng-tools

#
# spec file for package rng-tools
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%{!?_udevrulesdir: %global _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d }
Name:           rng-tools
Version:        6.17
Release:        0
Summary:        Support daemon for hardware random device
License:        GPL-3.0-or-later
Group:          System/Kernel
URL:            https://github.com/nhorman/rng-tools
Source:         https://github.com/nhorman/rng-tools/archive/v%{version}.tar.gz
Source2:        %{name}.service
Source3:        90-hwrng.rules
Patch1:         rng-tools-missing-includes.patch
BuildRequires:  automake
BuildRequires:  libp11-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(libcap)
BuildRequires:  pkgconfig(systemd)
BuildRequires:  pkgconfig(udev)
Requires:       opensc
Supplements:    modalias(pci:v00001022d00007443sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00001022d0000746Bsv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002410sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002420sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002440sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000244Csv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002450sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002480sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000248Csv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d000024C0sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d000024CCsv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d000024D0sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d000025A1sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002640sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002641sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002670sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002671sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002672sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002673sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002674sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002675sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002676sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002677sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002678sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d00002679sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000267Asv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000267Bsv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000267Csv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000267Dsv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000267Esv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d0000267Fsv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d000027B8sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d000027B9sv*sd*bc*sc*i*)
Supplements:    modalias(pci:v00008086d000027BDsv*sd*bc*sc*i*)
Supplements:    modalias(virtio:d00000004v*)
ExclusiveArch:  aarch64 %{ix86} ia64 x86_64 %{arm} ppc64 ppc64le riscv64
%{?systemd_requires}

%description
This  daemon  feeds data from a random number generator to the kernel's
random  number  entropy  pool,  after	first checking the data to
ensure that it is properly random.

%prep
%autosetup -p1

%build
./autogen.sh
# NIST Beacon fetches a randomness token over internet in clear text
# Try without this functionality
%configure --without-rtlsdr --without-nistbeacon --without-qrypt
%make_build

%install
%make_install
install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
install -D -m 0644 %{SOURCE3} %{buildroot}%{_udevrulesdir}/90-hwrng.rules
ln -sf /sbin/service %{buildroot}%{_sbindir}/rc%{name}

%pre
%service_add_pre %{name}.service

%post
%{?udev_rules_update:%udev_rules_update}
%service_add_post %{name}.service

%preun
%service_del_preun %{name}.service

%postun
%service_del_postun %{name}.service

%files
%doc NEWS README
%license COPYING
%{_bindir}/rngtest
%{_bindir}/randstat
%{_sbindir}/rngd
%{_mandir}/man?/*.*.gz
%{_unitdir}/%{name}.service
%{_sbindir}/rc%{name}
%{_udevrulesdir}/90-hwrng.rules

%changelog
openSUSE Build Service is sponsored by