Date: Wednesday, November 2, 2022 @ 03:07:58
  Author: felixonmars
Revision: 1340946

archrelease: copy trunk to community-staging-x86_64

Added:
  rng-tools/repos/community-staging-x86_64/
  rng-tools/repos/community-staging-x86_64/PKGBUILD
    (from rev 1340945, rng-tools/trunk/PKGBUILD)
  rng-tools/repos/community-staging-x86_64/rngd-test-signal-in-loop.patch
    (from rev 1340945, rng-tools/trunk/rngd-test-signal-in-loop.patch)
  rng-tools/repos/community-staging-x86_64/rngd.conf
    (from rev 1340945, rng-tools/trunk/rngd.conf)
  rng-tools/repos/community-staging-x86_64/rngd.service
    (from rev 1340945, rng-tools/trunk/rngd.service)

--------------------------------+
 PKGBUILD                       |   48 +++++++++++++++++++++++++++++++++++++++
 rngd-test-signal-in-loop.patch |   36 +++++++++++++++++++++++++++++
 rngd.conf                      |    1 
 rngd.service                   |   18 ++++++++++++++
 4 files changed, 103 insertions(+)

Copied: rng-tools/repos/community-staging-x86_64/PKGBUILD (from rev 1340945, 
rng-tools/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD                           (rev 0)
+++ community-staging-x86_64/PKGBUILD   2022-11-02 03:07:58 UTC (rev 1340946)
@@ -0,0 +1,48 @@
+# Maintainer: Massimiliano Torromeo <[email protected]>
+# Contributor: Alasdair Haswell <ali at arhaswell dot co dot uk>
+
+pkgname=rng-tools
+pkgver=6.15
+pkgrel=2
+pkgdesc="Random number generator related utilities"
+arch=('x86_64')
+url="https://github.com/nhorman/rng-tools";
+license=('GPL')
+depends=('curl' 'libxml2' 'sysfsutils' 'jitterentropy' 'libp11' 'jansson' 
'rtl-sdr')
+optdepends=('opensc: PKCS11 entropy engine to gather entropy from smart card 
readers')
+backup=(etc/conf.d/rngd)
+options=('debug')
+source=(https://github.com/nhorman/rng-tools/archive/v$pkgver/$pkgname-$pkgver.tar.gz
+        rngd.conf
+        rngd.service)
+sha256sums=('bff0c58dff90ec10bd61f672e48618e045155eabd60b32d63a9c4ffbdad05f3a'
+            'f4fd197dd682cdab07ddeabe8d3b73b1bc2e1cf322237be238a26b49a7dcb047'
+            '733733457a2470da0d09a5a4e6d98fb0a773d3acf0722d16258caa2997a3fd4b')
+
+prepare() {
+       cd "$srcdir"/$pkgname-$pkgver
+       mv README{.md,}
+
+       libtoolize --force
+       aclocal
+       autoheader
+       automake --force-missing --add-missing
+       autoconf
+}
+
+build() {
+       cd "$srcdir"/$pkgname-$pkgver
+
+       # https://github.com/nhorman/rng-tools/issues/164
+       CPPFLAGS+=' -DJENT_CONF_ENABLE_INTERNAL_TIMER'
+
+       ./configure --prefix=/usr --sbindir=/usr/bin
+       make
+}
+
+package() {
+       cd "$srcdir"/$pkgname-$pkgver
+       make DESTDIR="$pkgdir" install
+       install -Dm0644 "$srcdir"/rngd.service 
"$pkgdir"/usr/lib/systemd/system/rngd.service
+       install -Dm0644 "$srcdir"/rngd.conf "$pkgdir"/etc/conf.d/rngd
+}

Copied: rng-tools/repos/community-staging-x86_64/rngd-test-signal-in-loop.patch 
(from rev 1340945, rng-tools/trunk/rngd-test-signal-in-loop.patch)
===================================================================
--- community-staging-x86_64/rngd-test-signal-in-loop.patch                     
        (rev 0)
+++ community-staging-x86_64/rngd-test-signal-in-loop.patch     2022-11-02 
03:07:58 UTC (rev 1340946)
@@ -0,0 +1,36 @@
+From: Leonardo Chiquitto <[email protected]>
+Subject: Check for signals in update_kernel_random()
+
+When running as a daemon, a signal handler is installed to catch
+SIGINT/SIGTERM. This handler sets a flag that's tested in the main
+loop. However, rngd loops in update_kernel_random() as well, where
+the flag was not tested.
+
+This patch adds the check to update_kernel_random() so that the
+daemon exits properly after receiving a SIGINT/SIGTERM signal.
+
+Index: rng-tools-5/rngd.c
+===================================================================
+--- rng-tools-5.orig/rngd.c
++++ rng-tools-5/rngd.c
+@@ -218,6 +218,8 @@ static int update_kernel_random(int rand
+ 
+       for (p = buf; p + random_step <= &buf[FIPS_RNG_BUFFER_SIZE];
+                p += random_step) {
++              if (!server_running)
++                      return 0;
+               random_add_entropy(p, random_step);
+               random_sleep();
+       }
+@@ -239,10 +241,10 @@ static void do_loop(int random_step)
+               {
+                       int rc;
+ 
++              retry_same:
+                       if (!server_running)
+                               return;
+ 
+-              retry_same:
+                       if (iter->disabled)
+                               continue;       /* failed, no work */
+ 

Copied: rng-tools/repos/community-staging-x86_64/rngd.conf (from rev 1340945, 
rng-tools/trunk/rngd.conf)
===================================================================
--- community-staging-x86_64/rngd.conf                          (rev 0)
+++ community-staging-x86_64/rngd.conf  2022-11-02 03:07:58 UTC (rev 1340946)
@@ -0,0 +1 @@
+RNGD_OPTS=""

Copied: rng-tools/repos/community-staging-x86_64/rngd.service (from rev 
1340945, rng-tools/trunk/rngd.service)
===================================================================
--- community-staging-x86_64/rngd.service                               (rev 0)
+++ community-staging-x86_64/rngd.service       2022-11-02 03:07:58 UTC (rev 
1340946)
@@ -0,0 +1,18 @@
+[Unit]
+Description=Hardware RNG Entropy Gatherer Daemon
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=sysinit.target shutdown.target
+ConditionVirtualization=!container
+
+[Service]
+EnvironmentFile=/etc/conf.d/rngd
+ExecStart=/usr/bin/rngd -f $RNGD_OPTS
+NoNewPrivileges=on
+PrivateNetwork=on
+PrivateTmp=on
+ProtectSystem=full
+ProtectHome=on
+
+[Install]
+WantedBy=sysinit.target

Reply via email to