Package init
This commit is contained in:
commit
3276ac576a
29
bugfix-cpu-cache-size-detection.patch
Normal file
29
bugfix-cpu-cache-size-detection.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From f2193587e8e51aa42b192c17ad39467931e2d4c2 Mon Sep 17 00:00:00 2001
|
||||
From: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Date: Wed, 19 Sep 2018 09:51:43 +0200
|
||||
Subject: [PATCH] Fix segfault on arm machines
|
||||
|
||||
Some ARM cpus does not report the cache size or say it is -1 in sysfs.
|
||||
It has been observed on xgene and thunderx machines.
|
||||
|
||||
Fall back to the generic cache size when that happens so we don't
|
||||
segfault.
|
||||
|
||||
Should fix https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866306
|
||||
---
|
||||
src/havegetune.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/havegetune.c b/src/havegetune.c
|
||||
index f1a99f2..de39c53 100644
|
||||
--- a/src/havegetune.c
|
||||
+++ b/src/havegetune.c
|
||||
@@ -795,6 +795,8 @@ static int vfs_configInfoCache(
|
||||
ctype = vfs_configFile(pAnchor, path, vfs_configType);
|
||||
strcpy(path+plen, "size");
|
||||
size = vfs_configFile(pAnchor, path, vfs_configInt);
|
||||
+ if (size == -1)
|
||||
+ size = ctype == 'I' ? GENERIC_ICACHE : GENERIC_DCACHE;
|
||||
cfg_cacheAdd(pAnchor, SRC_VFS_INDEX, pArgs[1], level, ctype, size);
|
||||
}
|
||||
}
|
||||
32
fix-the-core-file-problem.patch
Normal file
32
fix-the-core-file-problem.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 9ab2ff6874db0182714d8c09dceda9ee22e177f8 Mon Sep 17 00:00:00 2001
|
||||
From: zhangtianxing <zhangtianxing3@huawei.com>
|
||||
Date: Fri, 6 Sep 2019 19:09:13 +0800
|
||||
Subject: [PATCH] huawei fix the core file problem
|
||||
|
||||
Signed-off-by: zhangtianxing <zhangtianxing3@huawei.com>
|
||||
---
|
||||
src/haveged.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/haveged.c b/src/haveged.c
|
||||
index d629e17..7496f56 100644
|
||||
--- a/src/haveged.c
|
||||
+++ b/src/haveged.c
|
||||
@@ -351,6 +351,7 @@ int main(int argc, char **argv)
|
||||
else run_daemon(handle);
|
||||
#endif
|
||||
havege_destroy(handle);
|
||||
+ handle = NULL;
|
||||
exit(0);
|
||||
}
|
||||
#ifndef NO_DAEMON
|
||||
@@ -513,6 +514,7 @@ static void error_exit( /* RETURN: nothing */
|
||||
}
|
||||
}
|
||||
havege_destroy(handle);
|
||||
+ handle = NULL;
|
||||
exit(params->exit_code);
|
||||
}
|
||||
/**
|
||||
--
|
||||
1.8.3.1
|
||||
BIN
haveged-1.9.1.tar.gz
Normal file
BIN
haveged-1.9.1.tar.gz
Normal file
Binary file not shown.
13
haveged.service
Normal file
13
haveged.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Entropy Daemon based on the HAVEGE algorithm
|
||||
Documentation=man:haveged(8) http://www.issihosts.com/haveged/
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/sbin/haveged -w 1024 -v 1 --Foreground
|
||||
SuccessExitStatus=143
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
117
haveged.spec
Normal file
117
haveged.spec
Normal file
@ -0,0 +1,117 @@
|
||||
# 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.1
|
||||
Release: 3
|
||||
License: GPLv3+
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
URL: http://www.irisa.fr/caps/projects/hipsor/
|
||||
Source0: http://www.issihosts.com/haveged/%{name}-%{version}.tar.gz
|
||||
Source1: haveged.service
|
||||
|
||||
Patch6000: bugfix-cpu-cache-size-detection.patch
|
||||
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
|
||||
Summary: Help information for user.
|
||||
|
||||
%description help
|
||||
Help information for user.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%configure --enable-olt=no
|
||||
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
|
||||
|
||||
rm -rf %{buildroot}%{_libdir}/libhavege.*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
|
||||
* 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
|
||||
Loading…
x
Reference in New Issue
Block a user