From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- extra/clamav/PKGBUILD | 51 ++++++++++++++++++++++++++++++ extra/clamav/clamav | 72 +++++++++++++++++++++++++++++++++++++++++++ extra/clamav/clamav.confd | 8 +++++ extra/clamav/clamav.install | 14 +++++++++ extra/clamav/clamav.logrotate | 8 +++++ extra/clamav/config.patch | 30 ++++++++++++++++++ 6 files changed, 183 insertions(+) create mode 100644 extra/clamav/PKGBUILD create mode 100644 extra/clamav/clamav create mode 100644 extra/clamav/clamav.confd create mode 100644 extra/clamav/clamav.install create mode 100644 extra/clamav/clamav.logrotate create mode 100644 extra/clamav/config.patch (limited to 'extra/clamav') diff --git a/extra/clamav/PKGBUILD b/extra/clamav/PKGBUILD new file mode 100644 index 000000000..983458e51 --- /dev/null +++ b/extra/clamav/PKGBUILD @@ -0,0 +1,51 @@ +# $Id: PKGBUILD 109346 2011-02-08 18:56:38Z bisson $ +# Maintainer: Dale Blount +# Contributor: Gregor Ibic + +pkgname=clamav +pkgver=0.97 +pkgrel=1 +pkgdesc='Anti-virus toolkit for Unix' +arch=('i686' 'x86_64') +depends=('bzip2' 'zlib' 'libtool') +options=('!libtool') +install="$pkgname.install" +license=('GPL') +backup=('etc/clamav/clamd.conf' 'etc/clamav/freshclam.conf' 'etc/conf.d/clamav') +url='http://www.clamav.net/' +source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz" + 'clamav' + 'clamav.confd' + 'clamav.logrotate' + 'config.patch') + +sha1sums=('68f5a6736b3f67d608c4064ef839777877f09115' + '7f15f0b13a1c11235bc99ef0add01efd8a442f07' + 'cb116cdab49a810381a515cbcfb6a6c148547f07' + 'be3310d2b41a68ce06e33c84ab68ffe59fdce104' + '701a61571788d10ff7af01597785835c6bfea918') + +build() { + cd "$srcdir/$pkgname-$pkgver" + patch -p1 < ../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, cause make install + # doesn't do that if clamav is already installed upon building. + install -D -m644 etc/clamd.conf "$pkgdir/etc/clamav/clamd.conf" + install -D -m644 etc/freshclam.conf "$pkgdir/etc/clamav/freshclam.conf" + + install -D -m644 ../clamav.logrotate "$pkgdir/etc/logrotate.d/clamav" + install -D -m644 ../clamav.confd "$pkgdir/etc/conf.d/clamav" + install -D -m755 ../clamav "$pkgdir/etc/rc.d/clamav" + + # un-distribute databases to require freshclam + rm "$pkgdir"/var/lib/clamav/*.cvd +} diff --git a/extra/clamav/clamav b/extra/clamav/clamav new file mode 100644 index 000000000..8e9c6afa9 --- /dev/null +++ b/extra/clamav/clamav @@ -0,0 +1,72 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +# source application-specific settings +[ -f /etc/conf.d/clamav ] && . /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 clamd isn't started first, notifyclamd fails at times + 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 + + # give clamd enough time to start + sleep 1 + + if [ "$START_FRESHCLAM" == "yes" ]; then + stat_busy "Starting FreshClam" + [ -z "$PID_FC" ] && /usr/bin/freshclam -p /var/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 + # will not start if not fully stopped, so sleep + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/extra/clamav/clamav.confd b/extra/clamav/clamav.confd new file mode 100644 index 000000000..9cd44d9f8 --- /dev/null +++ b/extra/clamav/clamav.confd @@ -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/extra/clamav/clamav.install b/extra/clamav/clamav.install new file mode 100644 index 000000000..9116dc394 --- /dev/null +++ b/extra/clamav/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 + + install -d /var/{log,run}/clamav + chown clamav:root /var/{log,run}/clamav + chown -R clamav:clamav /var/lib/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/extra/clamav/clamav.logrotate b/extra/clamav/clamav.logrotate new file mode 100644 index 000000000..d1dc94dce --- /dev/null +++ b/extra/clamav/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 /var/run/clamav/clamd.pid 2>/dev/null` 2> /dev/null || true + /bin/kill -HUP `cat /var/run/clamav/freshclam.pid 2>/dev/null` 2> /dev/null || true + endscript +} diff --git a/extra/clamav/config.patch b/extra/clamav/config.patch new file mode 100644 index 000000000..a0105bd48 --- /dev/null +++ b/extra/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 /var/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 -- cgit v1.2.3-54-g00ecf