From 0838a7ed482f29ddf71cf05e7ec6cf7c2728ce34 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 18 Jun 2012 00:01:40 +0000 Subject: Mon Jun 18 00:01:40 UTC 2012 --- testing/clamav/PKGBUILD | 64 ++++++++++++++++++++++++++++++++++++++++++ testing/clamav/conf.d | 8 ++++++ testing/clamav/config.patch | 30 ++++++++++++++++++++ testing/clamav/install | 14 ++++++++++ testing/clamav/logrotate | 8 ++++++ testing/clamav/rc.d | 66 ++++++++++++++++++++++++++++++++++++++++++++ testing/clamav/service | 10 +++++++ testing/clamav/service.fresh | 10 +++++++ testing/clamav/tmpfiles.d | 1 + 9 files changed, 211 insertions(+) create mode 100644 testing/clamav/PKGBUILD create mode 100644 testing/clamav/conf.d create mode 100644 testing/clamav/config.patch create mode 100644 testing/clamav/install create mode 100644 testing/clamav/logrotate create mode 100644 testing/clamav/rc.d create mode 100644 testing/clamav/service create mode 100644 testing/clamav/service.fresh create mode 100644 testing/clamav/tmpfiles.d (limited to 'testing/clamav') diff --git a/testing/clamav/PKGBUILD b/testing/clamav/PKGBUILD new file mode 100644 index 000000000..78b068e9f --- /dev/null +++ b/testing/clamav/PKGBUILD @@ -0,0 +1,64 @@ +# $Id: PKGBUILD 161925 2012-06-16 17:13:04Z dreisner $ +# Contributor: Dale Blount +# Contributor: Gregor Ibic +# Maintainer: Gaetan Bisson + +pkgname=clamav +pkgver=0.97.5 +pkgrel=1 +pkgdesc='Anti-virus toolkit for Unix' +url='http://www.clamav.net/' +license=('GPL') +options=('!libtool') +arch=('i686' 'x86_64') +depends=('bzip2' 'libltdl') +backup=('etc/clamav/clamd.conf' 'etc/clamav/freshclam.conf' 'etc/conf.d/clamav') +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz" + 'rc.d' + 'conf.d' + 'service' + 'service.fresh' + 'logrotate' + 'tmpfiles.d' + 'config.patch') +sha1sums=('1bb317ead4a1a677a9a11a063fc35a63f22309e9' + 'c9d508c1e5972f0f849d8694c1872455fa9e74de' + 'cb116cdab49a810381a515cbcfb6a6c148547f07' + 'df522b0488f3901e491f148c9300f6bae348c605' + 'cda9a087e5593992150cb456e34c5f6f589aca82' + '7cace58743a36dae3e63e5e0c6cc73ea5ef9a6ee' + 'a224ea9b4d0f4f196827347d54bed51e11c197ea' + '1c8ef193919b041135115170acd6313f008de808') + +install=install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 -i ../config.patch + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/clamav \ + --with-dbdir=/var/lib/clamav \ + --disable-clamav \ + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # Make sure conf files get installed, because make install + # doesn't do that if clamav is already installed upon building. + install -Dm644 etc/clamd.conf "${pkgdir}"/etc/clamav/clamd.conf + install -Dm644 etc/freshclam.conf "${pkgdir}"/etc/clamav/freshclam.conf + + install -Dm644 ../service.fresh "${pkgdir}"/usr/lib/systemd/system/freshclamd.service + install -Dm644 ../service "${pkgdir}"/usr/lib/systemd/system/clamd.service + install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/clamav.conf + install -Dm644 ../logrotate "${pkgdir}"/etc/logrotate.d/clamav + install -Dm644 ../conf.d "${pkgdir}"/etc/conf.d/clamav + install -Dm755 ../rc.d "${pkgdir}"/etc/rc.d/clamav +} diff --git a/testing/clamav/conf.d b/testing/clamav/conf.d new file mode 100644 index 000000000..9cd44d9f8 --- /dev/null +++ b/testing/clamav/conf.d @@ -0,0 +1,8 @@ +# clamav startup script config options + +# change these to "yes" to start +START_FRESHCLAM="no" +START_CLAMD="no" + +# Options to pass to freshclam (man freshclam for more info). +FRESHCLAM_OPTS="-c 12" diff --git a/testing/clamav/config.patch b/testing/clamav/config.patch new file mode 100644 index 000000000..0640df2c3 --- /dev/null +++ b/testing/clamav/config.patch @@ -0,0 +1,30 @@ +diff -arU 0 old/etc/clamd.conf new/etc/clamd.conf +--- old/etc/clamd.conf 2010-12-02 19:31:21.773357389 +0100 ++++ new/etc/clamd.conf 2010-12-02 19:31:45.873357389 +0100 +@@ -14 +14 @@ +-#LogFile /tmp/clamd.log ++LogFile /var/log/clamav/clamd.log +@@ -34 +34 @@ +-#LogTime yes ++LogTime yes +@@ -61 +61 @@ +-#PidFile /var/run/clamd.pid ++PidFile /run/clamav/clamd.pid +@@ -65 +65 @@ +-#TemporaryDirectory /var/tmp ++TemporaryDirectory /tmp +@@ -80 +80 @@ +-#LocalSocket /tmp/clamd.socket ++LocalSocket /var/lib/clamav/clamd.sock +@@ -190 +190 @@ +-#User clamav ++User clamav +diff -arU 0 old/etc/freshclam.conf new/etc/freshclam.conf +--- old/etc/freshclam.conf 2010-12-02 19:31:21.773357389 +0100 ++++ new/etc/freshclam.conf 2010-12-02 19:31:51.190024057 +0100 +@@ -17 +17 @@ +-#UpdateLogFile /var/log/freshclam.log ++UpdateLogFile /var/log/clamav/freshclam.log +@@ -121 +121 @@ +-#NotifyClamd /path/to/clamd.conf ++NotifyClamd /etc/clamav/clamd.conf diff --git a/testing/clamav/install b/testing/clamav/install new file mode 100644 index 000000000..a2092e815 --- /dev/null +++ b/testing/clamav/install @@ -0,0 +1,14 @@ +post_install() { + getent group clamav &>/dev/null || groupadd -r -g 64 clamav >/dev/null + getent passwd clamav &>/dev/null || useradd -r -u 64 -g clamav -d /dev/null -s /bin/false -c "Clam AntiVirus" clamav >/dev/null + + chown -R clamav:clamav /var/lib/clamav + install -o clamav -g clamav -d /run/clamav + install -o clamav -g clamav -d /var/log/clamav +} + +post_remove() { + getent passwd clamav &>/dev/null && userdel clamav >/dev/null + getent group clamav &>/dev/null && groupdel clamav >/dev/null + return 0 +} diff --git a/testing/clamav/logrotate b/testing/clamav/logrotate new file mode 100644 index 000000000..6a9051bed --- /dev/null +++ b/testing/clamav/logrotate @@ -0,0 +1,8 @@ +/var/log/clamav/clamd.log /var/log/clamav/freshclam.log { + create 644 clamav clamav + sharedscripts + postrotate + /bin/kill -HUP `cat /run/clamav/clamd.pid 2>/dev/null` 2> /dev/null || true + /bin/kill -HUP `cat /run/clamav/freshclam.pid 2>/dev/null` 2> /dev/null || true + endscript +} diff --git a/testing/clamav/rc.d b/testing/clamav/rc.d new file mode 100644 index 000000000..127c86c0f --- /dev/null +++ b/testing/clamav/rc.d @@ -0,0 +1,66 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +[[ -f /etc/conf.d/clamav ]] && source /etc/conf.d/clamav + +PID_FC=$(pidof -o %PPID /usr/bin/freshclam) +PID_CD=$(pidof -o %PPID /usr/sbin/clamd) + +case "$1" in + start) + if [[ $START_CLAMD = yes ]]; then + stat_busy "Starting ClamD" + [[ -z $PID_CD ]] && /usr/sbin/clamd + if [[ $? -gt 0 ]]; then + stat_fail + else + add_daemon clamav + stat_done + fi + fi + sleep 1 + if [[ $START_FRESHCLAM = yes ]]; then + stat_busy "Starting FreshClam" + [[ -z $PID_FC ]] && /usr/bin/freshclam -p /run/clamav/freshclam.pid -d $FRESHCLAM_OPTS + if [[ $? -gt 0 ]]; then + stat_fail + else + add_daemon clamav + stat_done + fi + fi + ;; + stop) + if [[ $START_CLAMD = yes ]]; then + stat_busy "Stopping ClamD" + [[ -n $PID_CD ]] && kill $PID_CD &> /dev/null + if [[ $? -gt 0 ]]; then + stat_fail + else + rm_daemon clamav + stat_done + fi + fi + + if [[ $START_FRESHCLAM = yes ]]; then + stat_busy "Stopping FreshClam" + [[ -n $PID_FC ]] && kill $PID_FC &> /dev/null + if [[ $? -gt 0 ]]; then + stat_fail + else + rm_daemon clamav + stat_done + fi + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/clamav/service b/testing/clamav/service new file mode 100644 index 000000000..5bf9eb14e --- /dev/null +++ b/testing/clamav/service @@ -0,0 +1,10 @@ +[Unit] +Description=clamav daemon + +[Service] +Type=forking +PIDFile=/run/clamav/clamd.pid +ExecStart=/usr/sbin/clamd + +[Install] +WantedBy=multi-user.target diff --git a/testing/clamav/service.fresh b/testing/clamav/service.fresh new file mode 100644 index 000000000..a0a72c2e6 --- /dev/null +++ b/testing/clamav/service.fresh @@ -0,0 +1,10 @@ +[Unit] +Description=clamav updater + +[Service] +Type=forking +PIDFile=/run/clamav/freshclam.pid +ExecStart=/usr/bin/freshclam -d -p /run/clamav/freshclam.pid + +[Install] +WantedBy=multi-user.target diff --git a/testing/clamav/tmpfiles.d b/testing/clamav/tmpfiles.d new file mode 100644 index 000000000..22d29941e --- /dev/null +++ b/testing/clamav/tmpfiles.d @@ -0,0 +1 @@ +d /run/clamav 0755 clamav clamav -- cgit v1.2.3-54-g00ecf