summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-antivirus/clamav/clamav-0.103.0.ebuild5
-rw-r--r--app-antivirus/clamav/files/clamav-milter.logrotate25
-rw-r--r--app-antivirus/clamav/files/clamd.logrotate17
-rw-r--r--app-antivirus/clamav/files/freshclam.logrotate17
4 files changed, 63 insertions, 1 deletions
diff --git a/app-antivirus/clamav/clamav-0.103.0.ebuild b/app-antivirus/clamav/clamav-0.103.0.ebuild
index 9a1d28f89203..f5e3d508cf54 100644
--- a/app-antivirus/clamav/clamav-0.103.0.ebuild
+++ b/app-antivirus/clamav/clamav-0.103.0.ebuild
@@ -133,7 +133,10 @@ src_install() {
fi
insinto /etc/logrotate.d
- newins "${FILESDIR}"/clamav.logrotate clamav
+ newins "${FILESDIR}/clamd.logrotate" clamd
+ newins "${FILESDIR}/freshclam.logrotate" freshclam
+ use milter && \
+ newins "${FILESDIR}/clamav-milter.logrotate" clamav-milter
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
sed -i -e "s:^\(Example\):\# \1:" \
diff --git a/app-antivirus/clamav/files/clamav-milter.logrotate b/app-antivirus/clamav/files/clamav-milter.logrotate
new file mode 100644
index 000000000000..24782df604b6
--- /dev/null
+++ b/app-antivirus/clamav/files/clamav-milter.logrotate
@@ -0,0 +1,25 @@
+# This script is intended to rotate the logs for clamav-milter in its
+# default configuration on Gentoo, where clamav-milter writes to its
+# own log file but does not rotate that file itself. The clamav-milter
+# daemon is capable of rotating its own logs; if you have "LogRotate
+# yes" in clamav-milter.conf then you do not need this script (and
+# should disable it). Likewise, if you are logging to syslog
+# (LogSyslog yes), this is redundant.
+#
+# This is more complicated than the clamd/freshclam scripts because
+# the milter doesn't yet reopen its log files when it receives a
+# SIGHUP. See https://bugzilla.clamav.net/show_bug.cgi?id=12615
+# for that. Instead we have to attempt OpenRC/systemd service
+# restarts on (only) the machines that support them.
+/var/log/clamav/clamav-milter.log {
+ su clamav clamav
+ missingok
+ postrotate
+ if command -v rc-service 2>/dev/null; then
+ rc-service clamav-milter status 2>/dev/null 1>&2 && rc-service clamav-milter restart 1>/dev/null
+ fi
+ if command -v systemctl 2>/dev/null; then
+ systemctl try-restart clamav-milter
+ fi
+ endscript
+}
diff --git a/app-antivirus/clamav/files/clamd.logrotate b/app-antivirus/clamav/files/clamd.logrotate
new file mode 100644
index 000000000000..68ee9b361668
--- /dev/null
+++ b/app-antivirus/clamav/files/clamd.logrotate
@@ -0,0 +1,17 @@
+# This script is intended to rotate the logs for clamd in its default
+# configuration on Gentoo, where clamd writes to its own log file but
+# does not rotate that file itself. The clamd daemon is capable of
+# rotating its own logs; if you have "LogRotate yes" in clamd.conf
+# then you do not need this script (and should disable it). Likewise,
+# if you are logging to syslog (LogSyslog yes), this is redundant.
+/var/log/clamav/clamd.log {
+ su clamav clamav
+ missingok
+ postrotate
+ if test -f /run/clamd.pid; then
+ /bin/kill -HUP $(cat /run/clamd.pid)
+ else
+ true
+ fi
+ endscript
+}
diff --git a/app-antivirus/clamav/files/freshclam.logrotate b/app-antivirus/clamav/files/freshclam.logrotate
new file mode 100644
index 000000000000..ba6b5de3ba1c
--- /dev/null
+++ b/app-antivirus/clamav/files/freshclam.logrotate
@@ -0,0 +1,17 @@
+# This script is intended to rotate the logs for freshclam in its default
+# configuration on Gentoo, where freshclam writes to its own log file but
+# does not rotate that file itself. The freshclam daemon is capable of
+# rotating its own logs; if you have "LogRotate yes" in freshclam.conf
+# then you do not need this script (and should disable it). Likewise,
+# if you are logging to syslog (LogSyslog yes), this is redundant.
+/var/log/clamav/freshclam.log {
+ su clamav clamav
+ missingok
+ postrotate
+ if test -f /run/freshclam.pid; then
+ /bin/kill -HUP $(cat /run/freshclam.pid)
+ else
+ true
+ fi
+ endscript
+}