haveged/haveged.spec
2020-01-07 20:02:23 +08:00

118 lines
3.1 KiB
RPMSpec

# NOTICE: this spec file is reriverd from the HAVEGED project(see Source0 as below)attachment
# and made some modifications. The exactly file path is ./contrib/build/fedora.spec.
Summary: A Linux entropy source using the HAVEGE algorithm
Name: haveged
Version: 1.9.8
Release: 2
License: GPLv3+
URL: https://github.com/jirka-h/haveged
Source0: https://github.com/jirka-h/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: haveged.service
Patch9000: fix-the-core-file-problem.patch
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
BuildRequires: automake gdb coreutils glibc-common systemd
%description
A Linux entropy source using the HAVEGE algorithm
Haveged is a user space entropy daemon which is not dependent upon the
standard mechanisms for harvesting randomness for the system entropy
pool. This is important in systems with high entropy needs or limited
user interaction (e.g. headless servers).
Haveged uses HAVEGE (HArdware Volatile Entropy Gathering and Expansion)
to maintain a 1M pool of random bytes used to fill /dev/random
whenever the supply of random bits in /dev/random falls below the low
water mark of the device. The principle inputs to haveged are the
sizes of the processor instruction and data caches used to setup the
HAVEGE collector. The haveged default is a 4kb data cache and a 16kb
instruction cache. On machines with a cpuid instruction, haveged will
attempt to select appropriate values from internal tables.
%package devel
Summary: Headers and shared development libraries for HAVEGE algorithm
Requires: %{name} = %{version}-%{release}
%description devel
Headers and shared object symbolic links for the HAVEGE algorithm
%package_help
%prep
%setup -q
%build
%configure
make
%check
make check
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot} INSTALL="install -p"
chmod 0644 COPYING README ChangeLog AUTHORS
rm -rf %{buildroot}/etc/init.d
pushd $RPM_BUILD_ROOT
mkdir -p .%{_unitdir}
install -p -m644 %{SOURCE1} .%{_unitdir}/haveged.service
popd
%delete_la_and_a
%clean
rm -rf %{buildroot}
%post
/sbin/ldconfig
%systemd_post haveged.service
%preun
%systemd_preun haveged.service
%postun
/sbin/ldconfig
%systemd_postun_with_restart haveged.service
%files
%defattr(-, root, root, -)
%{_sbindir}/haveged
%{_unitdir}/haveged.service
%{_libdir}/*so.*
%doc COPYING README ChangeLog AUTHORS
%files devel
%defattr(-, root, root, -)
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/havege.h
%doc contrib/build/havege_sample.c
%{_libdir}/*.so
%files help
%defattr(-, root, root, -)
%{_mandir}/man8/haveged.8*
%{_mandir}/man3/libhavege.3*
%changelog
* Tue Jan 7 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.9.8-2
- update service
* Mon Oct 14 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.9.8-1
- update to 1.9.8-1
* Fri Sep 27 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.9.1-3
- fix the core file problem
* Fri Sep 27 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.9.1-2
- adjust requires
* Wed Sep 4 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.9.1-1
- rewrite spec file based upstream spec