From 4714cec7e8367a7618b168d0db4bc085dbfaac8a Mon Sep 17 00:00:00 2001 From: root Date: Mon, 11 Jun 2012 00:02:18 +0000 Subject: Mon Jun 11 00:02:18 UTC 2012 --- staging/clamav/PKGBUILD | 70 ++++++++++++++++++++++++++++++++++++++++++++ staging/clamav/conf.d | 8 +++++ staging/clamav/config.patch | 30 +++++++++++++++++++ staging/clamav/gcc47.patch | 51 ++++++++++++++++++++++++++++++++ staging/clamav/install | 14 +++++++++ staging/clamav/logrotate | 8 +++++ staging/clamav/rc.d | 66 +++++++++++++++++++++++++++++++++++++++++ staging/clamav/service | 10 +++++++ staging/clamav/service.fresh | 10 +++++++ staging/clamav/tmpfiles.d | 1 + 10 files changed, 268 insertions(+) create mode 100644 staging/clamav/PKGBUILD create mode 100644 staging/clamav/conf.d create mode 100644 staging/clamav/config.patch create mode 100644 staging/clamav/gcc47.patch create mode 100644 staging/clamav/install create mode 100644 staging/clamav/logrotate create mode 100644 staging/clamav/rc.d create mode 100644 staging/clamav/service create mode 100644 staging/clamav/service.fresh create mode 100644 staging/clamav/tmpfiles.d (limited to 'staging/clamav') diff --git a/staging/clamav/PKGBUILD b/staging/clamav/PKGBUILD new file mode 100644 index 000000000..a1585a011 --- /dev/null +++ b/staging/clamav/PKGBUILD @@ -0,0 +1,70 @@ +# $Id: PKGBUILD 161310 2012-06-09 06:06:31Z bisson $ +# Contributor: Dale Blount +# Contributor: Gregor Ibic +# Maintainer: Gaetan Bisson + +pkgname=clamav +pkgver=0.97.4 +pkgrel=3 +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' + 'gcc47.patch' + 'config.patch') +sha1sums=('56f90cf8a73acba8f97beca86b42c65c3923935d' + 'c9d508c1e5972f0f849d8694c1872455fa9e74de' + 'cb116cdab49a810381a515cbcfb6a6c148547f07' + 'df522b0488f3901e491f148c9300f6bae348c605' + 'cda9a087e5593992150cb456e34c5f6f589aca82' + '7cace58743a36dae3e63e5e0c6cc73ea5ef9a6ee' + 'a224ea9b4d0f4f196827347d54bed51e11c197ea' + 'db6e090d540fe96fda71bd421aa9b699f0cc497b' + '1c8ef193919b041135115170acd6313f008de808') + +install=install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 -i ../config.patch + patch -p1 -i ../gcc47.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 + + # Un-distribute databases to require freshclam. + rm "${pkgdir}"/var/lib/clamav/*.cvd +} diff --git a/staging/clamav/conf.d b/staging/clamav/conf.d new file mode 100644 index 000000000..9cd44d9f8 --- /dev/null +++ b/staging/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/staging/clamav/config.patch b/staging/clamav/config.patch new file mode 100644 index 000000000..0640df2c3 --- /dev/null +++ b/staging/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/staging/clamav/gcc47.patch b/staging/clamav/gcc47.patch new file mode 100644 index 000000000..17fc924d9 --- /dev/null +++ b/staging/clamav/gcc47.patch @@ -0,0 +1,51 @@ +From 8b6757e866d1480c997d5ae497e0512000d82b35 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?T=C3=B6r=C3=B6k=20Edvin?= +Date: Mon, 14 May 2012 20:13:21 +0300 +Subject: [PATCH 1/2] Fix build with gcc-4.7 + +--- + .../c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp b/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp +index 274f816..a4e7eee 100644 +--- a/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp ++++ b/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp +@@ -19,6 +19,7 @@ + #include "llvm/Support/ErrorHandling.h" + #include "llvm/System/DynamicLibrary.h" + #include "llvm/Config/config.h" ++#include + using namespace llvm; + + // AtExitHandlers - List of functions to call when the program exits, +-- +1.7.2.3 + + +From c609c8ea0409b2882aa3e6ef4dc48c210cf2d292 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?T=C3=B6r=C3=B6k=20Edvin?= +Date: Tue, 15 May 2012 23:36:29 +0300 +Subject: [PATCH 2/2] wrap unistd in ifdef + +--- + .../c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp b/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp +index a4e7eee..c1cd5e8 100644 +--- a/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp ++++ b/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp +@@ -19,7 +19,9 @@ + #include "llvm/Support/ErrorHandling.h" + #include "llvm/System/DynamicLibrary.h" + #include "llvm/Config/config.h" ++#ifdef HAVE_UNISTD_H + #include ++#endif + using namespace llvm; + + // AtExitHandlers - List of functions to call when the program exits, +-- +1.7.2.3 + diff --git a/staging/clamav/install b/staging/clamav/install new file mode 100644 index 000000000..a2092e815 --- /dev/null +++ b/staging/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/staging/clamav/logrotate b/staging/clamav/logrotate new file mode 100644 index 000000000..6a9051bed --- /dev/null +++ b/staging/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/staging/clamav/rc.d b/staging/clamav/rc.d new file mode 100644 index 000000000..127c86c0f --- /dev/null +++ b/staging/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/staging/clamav/service b/staging/clamav/service new file mode 100644 index 000000000..5bf9eb14e --- /dev/null +++ b/staging/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/staging/clamav/service.fresh b/staging/clamav/service.fresh new file mode 100644 index 000000000..a0a72c2e6 --- /dev/null +++ b/staging/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/staging/clamav/tmpfiles.d b/staging/clamav/tmpfiles.d new file mode 100644 index 000000000..22d29941e --- /dev/null +++ b/staging/clamav/tmpfiles.d @@ -0,0 +1 @@ +d /run/clamav 0755 clamav clamav -- cgit v1.2.3-54-g00ecf