app-antivirus/clamav-unofficial-sigs: new revision with systemd timer.
authorMichael Orlitzky <mjo@gentoo.org>
Wed, 6 Nov 2019 15:49:43 +0000 (10:49 -0500)
committerMichael Orlitzky <mjo@gentoo.org>
Wed, 6 Nov 2019 15:56:57 +0000 (10:56 -0500)
For the same reason we introduced an /etc/cron.d job in the previous
revision, it makes sense to include a systemd timer. The optimal
settings for the update script are a bit tricky to get right, and
since we run as the "clamav" user, they're both non-default and not
entirely under our control.

I haven't tested this (no systemd), but what could possibly go wrong?

Bug: https://bugs.gentoo.org/694120
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-6.0.1-r2.ebuild [moved from app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-6.0.1-r1.ebuild with 89% similarity]
app-antivirus/clamav-unofficial-sigs/files/clamav-unofficial-sigs.service [new file with mode: 0644]
app-antivirus/clamav-unofficial-sigs/files/clamav-unofficial-sigs.timer [new file with mode: 0644]

similarity index 89%
rename from app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-6.0.1-r1.ebuild
rename to app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-6.0.1-r2.ebuild
index 34c988c3a2f193c5214afd3c8a914431e11f46fb..eb1fdfbcc046e904eab400290a9972c958258147 100644 (file)
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-inherit user
+inherit user systemd
 
 DESCRIPTION="Download and install third-party clamav signatures"
 HOMEPAGE="https://github.com/extremeshok/${PN}"
@@ -52,6 +52,11 @@ src_install() {
        else
                dodoc "${FILESDIR}/${PN}.crond"
        fi
+
+       # Install the systemd service and timer unconditionally, because
+       # the timer is disabled by default (and won't annoy people until
+       # after they've configured the script).
+       systemd_dounit "${FILESDIR}/${PN}".{service,timer}
 }
 
 pkg_preinst() {
diff --git a/app-antivirus/clamav-unofficial-sigs/files/clamav-unofficial-sigs.service b/app-antivirus/clamav-unofficial-sigs/files/clamav-unofficial-sigs.service
new file mode 100644 (file)
index 0000000..ed9fa7e
--- /dev/null
@@ -0,0 +1,15 @@
+#
+# Service file corresponding to clamav-unofficial-sigs.timer.
+# Upstream provides a similar file, but with the wrong path
+# and running as root, so it's just less of a headache to
+# include our own.
+#
+
+[Unit]
+Description=ClamAV unofficial signature update service
+Documentation=man:clamav-unofficial-sigs(8)
+
+[Service]
+ExecStart=bash /usr/sbin/clamav-unofficial-sigs.sh
+User=clamav
+WorkingDirectory=/var/lib/clamav-unofficial-sigs
diff --git a/app-antivirus/clamav-unofficial-sigs/files/clamav-unofficial-sigs.timer b/app-antivirus/clamav-unofficial-sigs/files/clamav-unofficial-sigs.timer
new file mode 100644 (file)
index 0000000..299ffd8
--- /dev/null
@@ -0,0 +1,12 @@
+#
+# Run clamav-unofficial-sigs.service every hour, at 45 minutes past the hour.
+# We do not include an [Install] section because this package does not
+# technically depend on clamav to function.
+#
+
+[Unit]
+Description=ClamAV unofficial signature update timer
+Documentation=man:clamav-unofficial-sigs(8)
+
+[Timer]
+OnCalendar=*-*-* *:45:00