summaryrefslogtreecommitdiff
path: root/packages/clamav
diff options
context:
space:
mode:
Diffstat (limited to 'packages/clamav')
-rw-r--r--packages/clamav/clamav-0.88.7/.mtn2git_empty0
-rw-r--r--packages/clamav/clamav-0.88.7/clamd.conf (renamed from packages/clamav/files/clamd.conf)0
-rw-r--r--packages/clamav/clamav-0.88.7/cross-compile-fix.patch (renamed from packages/clamav/files/cross-compile-fix.patch)0
-rw-r--r--packages/clamav/clamav-0.88.7/freshclam.conf (renamed from packages/clamav/files/freshclam.conf)0
-rw-r--r--packages/clamav/clamav-0.88.7/libtool-fix.patch (renamed from packages/clamav/files/libtool-fix.patch)0
-rw-r--r--packages/clamav/clamav-0.90.2/.mtn2git_empty0
-rw-r--r--packages/clamav/clamav-0.90.2/clamd.conf27
-rw-r--r--packages/clamav/clamav-0.90.2/cross-compile-fix.patch68
-rw-r--r--packages/clamav/clamav-0.90.2/freshclam.conf21
-rw-r--r--packages/clamav/clamav.inc39
-rw-r--r--packages/clamav/clamav_0.88.6.bb3
-rw-r--r--packages/clamav/clamav_0.88.7.bb4
-rw-r--r--packages/clamav/clamav_0.90.2.bb16
-rw-r--r--packages/clamav/files/clamav-daemon.default1
-rw-r--r--packages/clamav/files/clamav-daemon.init14
-rw-r--r--packages/clamav/files/clamav-freshclam.init58
-rw-r--r--packages/clamav/files/volatiles.02_clamav-data4
-rw-r--r--packages/clamav/files/volatiles.03_clamav-data4
18 files changed, 177 insertions, 82 deletions
diff --git a/packages/clamav/clamav-0.88.7/.mtn2git_empty b/packages/clamav/clamav-0.88.7/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/clamav/clamav-0.88.7/.mtn2git_empty
diff --git a/packages/clamav/files/clamd.conf b/packages/clamav/clamav-0.88.7/clamd.conf
index 485c80d420..485c80d420 100644
--- a/packages/clamav/files/clamd.conf
+++ b/packages/clamav/clamav-0.88.7/clamd.conf
diff --git a/packages/clamav/files/cross-compile-fix.patch b/packages/clamav/clamav-0.88.7/cross-compile-fix.patch
index 690d680c66..690d680c66 100644
--- a/packages/clamav/files/cross-compile-fix.patch
+++ b/packages/clamav/clamav-0.88.7/cross-compile-fix.patch
diff --git a/packages/clamav/files/freshclam.conf b/packages/clamav/clamav-0.88.7/freshclam.conf
index 770490b3ab..770490b3ab 100644
--- a/packages/clamav/files/freshclam.conf
+++ b/packages/clamav/clamav-0.88.7/freshclam.conf
diff --git a/packages/clamav/files/libtool-fix.patch b/packages/clamav/clamav-0.88.7/libtool-fix.patch
index 05a4876dd0..05a4876dd0 100644
--- a/packages/clamav/files/libtool-fix.patch
+++ b/packages/clamav/clamav-0.88.7/libtool-fix.patch
diff --git a/packages/clamav/clamav-0.90.2/.mtn2git_empty b/packages/clamav/clamav-0.90.2/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/clamav/clamav-0.90.2/.mtn2git_empty
diff --git a/packages/clamav/clamav-0.90.2/clamd.conf b/packages/clamav/clamav-0.90.2/clamd.conf
new file mode 100644
index 0000000000..74ebcf5c3f
--- /dev/null
+++ b/packages/clamav/clamav-0.90.2/clamd.conf
@@ -0,0 +1,27 @@
+## Please read the clamd.conf(5) manual before editing this file.
+LogFile /var/log/clamav/clamav.log
+LogFileMaxSize 0
+LogTime yes
+PidFile /var/run/clamav/clamd.pid
+DatabaseDirectory /var/lib/clamav
+LocalSocket /var/run/clamav/clamd.ctl
+FixStaleSocket yes
+MaxConnectionQueueLength 15
+MaxThreads 10
+ReadTimeout 180
+SelfCheck 1800
+User clamav
+AllowSupplementaryGroups yes
+ScanPE yes
+ScanELF yes
+DetectBrokenExecutables yes
+ScanOLE2 yes
+ScanMail yes
+PhishingSignatures yes
+ScanHTML yes
+ScanArchive yes
+ArchiveMaxRecursion 8
+ArchiveMaxFiles 1000
+ArchiveMaxFileSize 10M
+ArchiveMaxCompressionRatio 250
+ArchiveBlockMax yes
diff --git a/packages/clamav/clamav-0.90.2/cross-compile-fix.patch b/packages/clamav/clamav-0.90.2/cross-compile-fix.patch
new file mode 100644
index 0000000000..2f346b2f0f
--- /dev/null
+++ b/packages/clamav/clamav-0.90.2/cross-compile-fix.patch
@@ -0,0 +1,68 @@
+Add some caching of values which can't be determined when
+cross-compiling. This lets us define the values via the site files.
+
+Index: clamav-0.90.2/configure.in
+===================================================================
+--- clamav-0.90.2.orig/configure.in 2007-04-13 09:10:37.000000000 +1000
++++ clamav-0.90.2/configure.in 2007-05-16 09:33:48.000000000 +1000
+@@ -60,19 +60,21 @@
+
+ dnl Check for broken snprintf (code by Phil Oleson <oz*nixil.net>)
+ if test "x$ac_cv_func_snprintf" = "xyes" ; then
+- AC_MSG_CHECKING([whether snprintf correctly terminates long strings])
++ AC_CACHE_CHECK([whether snprintf correctly terminates long strings],
++ [ac_cv_have_broken_snprintf], [
+ AC_TRY_RUN(
+ [
+ #include <stdio.h>
+ int main(void){char b[5];snprintf(b,5,"123456789");return(b[4]!='\0');}
+ ],
+- [AC_MSG_RESULT(yes)],
+- [
+- AC_MSG_RESULT(no)
+- AC_DEFINE(BROKEN_SNPRINTF,1,[Define if your snprintf is busted])
+- AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor])
+- ]
+- )
++ [ ac_cv_have_broken_snprintf="no" ],
++ [ ac_cv_have_broken_snprintf="yes" ]
++ )
++ ])
++ if test "$ac_cv_have_broken_snprintf" = "yes"; then
++ AC_DEFINE(BROKEN_SNPRINTF,1,[Define if your snprintf is busted])
++ AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor])
++ fi
+ fi
+
+ have_pthreads=no
+@@ -370,18 +372,28 @@
+ AC_DEFINE_UNQUOTED(CONFDIR,"$cfg_dir",[where to look for the config file])
+
+ dnl check for in_port_t definition
++AC_CACHE_CHECK([for in_port_t], [clamav_av_have_in_port_t], [
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <netinet/in.h>
+ int main(int argc, char **argv) { in_port_t pt; pt = 0; return pt; }
+-], AC_DEFINE(HAVE_IN_PORT_T,1,[in_port_t is defined]), AC_MSG_RESULT(in_port_t is not defined))
++], [ clamav_av_have_in_port_t="yes" ], [ clamav_av_have_in_port_t="no" ])
++])
++if test "$clamav_av_have_in_port_t" = "yes"; then
++ AC_DEFINE(HAVE_IN_PORT_T,1,[in_port_t is defined])
++fi
+
+ dnl check for in_addr_t definition
++AC_CACHE_CHECK([for in_addr_t], [clamav_av_have_in_addr_t], [
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <netinet/in.h>
+ int main(int argc, char **argv) { in_addr_t pt; pt = 0; return pt; }
+-], AC_DEFINE(HAVE_IN_ADDR_T,1,[in_addr_t is defined]), AC_MSG_RESULT(in_addr_t is not defined))
++], [ clamav_av_have_in_addr_t="yes" ], [ clamav_av_have_in_addr_t="no" ])
++])
++if test "$clamav_av_have_in_addr_t" = "yes"; then
++ AC_DEFINE(HAVE_IN_ADDR_T,1,[in_addr_t is defined])
++fi
+
+ case "$target_os" in
+ linux*)
diff --git a/packages/clamav/clamav-0.90.2/freshclam.conf b/packages/clamav/clamav-0.90.2/freshclam.conf
new file mode 100644
index 0000000000..fd45b0dd85
--- /dev/null
+++ b/packages/clamav/clamav-0.90.2/freshclam.conf
@@ -0,0 +1,21 @@
+## Please read the freshclam.conf(5) manual before editing this file.
+
+# Comment or remove the line below.
+Example
+
+# Uncomment the following line and replace XY with your country
+# code. See http://www.iana.org/cctld/cctld-whois.htm for the full list.
+# Default: There is no default, which results in an error when running freshclam
+#DatabaseMirror db.XY.clamav.net
+
+DatabaseMirror database.clamav.net
+
+DatabaseDirectory /var/lib/clamav/
+UpdateLogFile /var/log/clamav/freshclam.log
+PidFile /var/run/clamav/freshclam.pid
+DatabaseOwner clamav
+AllowSupplementaryGroups yes
+DNSDatabaseInfo current.cvd.clamav.net
+MaxAttempts 5
+Checks 24
+NotifyClamd /etc/clamd.conf
diff --git a/packages/clamav/clamav.inc b/packages/clamav/clamav.inc
index b18cd06c24..c00da1d6d7 100644
--- a/packages/clamav/clamav.inc
+++ b/packages/clamav/clamav.inc
@@ -12,19 +12,19 @@ SECTION = "network"
LICENSE = "GPL"
DEPENDS = "zlib bzip2 gmp"
RDEPENDS_${PN} = "${PN}-data"
-RDEPENDS_${PN}-daemon = "${PN}-data"
+RDEPENDS_${PN}-daemon = "${PN}-data ${PN}-conf"
+RDEPENDS_${PN}-freshclam = "${PN}-conf"
RRECOMMENDS_${PN} = "${PN}-freshclam"
RRECOMMENDS_${PN}-daemon = "${PN}-freshclam"
+RPROVIDES_${PN}-freshclam = "${PN}-data"
SRC_URI = "${SOURCEFORGE_MIRROR}/clamav/clamav-${PV}.tar.gz \
file://cross-compile-fix.patch;patch=1 \
- file://libtool-fix.patch;patch=1 \
file://clamav-daemon.init \
file://clamav-freshclam.init \
- file://clamav-daemon.default \
file://clamd.conf \
file://freshclam.conf \
- file://volatiles.02_clamav-data \
+ file://volatiles.03_clamav-data \
file://volatiles.03_clamav-daemon \
file://volatiles.03_clamav-freshclam"
@@ -48,20 +48,13 @@ do_install_append() {
# Install our config files and init scripts
install -m 0755 ${WORKDIR}/freshclam.conf ${D}${sysconfdir}/freshclam.conf
- install -m 0755 ${WORKDIR}/clamav-daemon.default ${D}${sysconfdir}/default/clamav-daemon
install -m 0755 ${WORKDIR}/clamav-daemon.init ${D}${sysconfdir}/init.d/clamav-daemon
install -m 0755 ${WORKDIR}/clamav-freshclam.init ${D}${sysconfdir}/init.d/clamav-freshclam
# We need some /var directories
- for i in 02_clamav-data 03_clamav-daemon 03_clamav-freshclam; do
+ for i in 03_clamav-daemon 03_clamav-freshclam 03_clamav-data; do
install -m 0644 ${WORKDIR}/volatiles.$i ${D}${sysconfdir}/default/volatiles/$i
done
-
- # Move the clamav data to a non-volatile location, we'll symlink back
- # If freshclam is running it'll break the link to this static data
- # once it has succesfully downloaded an update
- install -m 0755 -d ${D}${libdir}
- mv ${D}${localstatedir}/lib/clamav ${D}${libdir}
}
do_stage () {
oe_libinstall -a -so libclamav ${STAGING_LIBDIR}
@@ -69,22 +62,23 @@ do_stage () {
install -m 0644 libclamav/clamav.h ${STAGING_INCDIR}
}
-PACKAGES += "${PN}-freshclam ${PN}-daemon ${PN}-data ${PN}-lib"
+PACKAGES += "${PN}-freshclam ${PN}-daemon ${PN}-conf ${PN}-data ${PN}-lib"
-FILES_${PN} = "${bindir}/clamscan ${bindir}/sigtool ${bindir}/clamdscan"
+FILES_${PN} = "${bindir}/clamscan \
+ ${bindir}/sigtool \
+ ${bindir}/clamdscan"
FILES_${PN}-lib = "${libdir}/libclamav.so.*"
+FILES_${PN}-conf = "${sysconfdir}/clamd.conf"
FILES_${PN}-freshclam = "${bindir}/freshclam \
${sysconfdir}/freshclam.conf \
${sysconfdir}/init.d/clamav-freshclam \
${sysconfdir}/default/volatiles/03_clamav-freshclam"
-FILES_${PN}-daemon = "${sysconfdir}/clamd.conf \
- ${sbindir}/clamd \
+FILES_${PN}-daemon = "${sbindir}/clamd \
${sysconfdir}/init.d/clamav-daemon \
- ${sysconfdir}/default/clamav-daemon \
${sysconfdir}/default/volatiles/03_clamav-daemon"
-FILES_${PN}-data = "${libdir}/clamav/main.cvd \
- ${libdir}/clamav/daily.cvd \
- ${sysconfdir}/default/volatiles/02_clamav-data"
+FILES_${PN}-data = "${localstatedir}/lib/clamav/main.cvd \
+ ${localstatedir}/lib/clamav/daily.cvd \
+ ${sysconfdir}/default/volatiles/03_clamav-data"
FILES_${PN}-dev += "${bindir}/clamav-config"
# Add clamav's user and groups
@@ -111,9 +105,10 @@ pkg_postinst_${PN}-data () {
}
# Indicate that the default files are configuration files
-CONFFILES_${PN}-daemon = "${sysconfdir}/clamd.conf \
- ${sysconfdir}/default/clamav-daemon"
+CONFFILES_${PN}-conf = "${sysconfdir}/clamd.conf"
CONFFILES_${PN}-freshclam = "${sysconfdir}/freshclam.conf"
+CONFFILES_${PN}-data = "${localstatedir}/lib/clamav/main.cvd \
+ ${localstatedir}/lib/clamav/daily.cvd"
INITSCRIPT_PACKAGES = "${PN}-daemon ${PN}-freshclam"
INITSCRIPT_NAME_${PN}-daemon = "clamav-daemon"
diff --git a/packages/clamav/clamav_0.88.6.bb b/packages/clamav/clamav_0.88.6.bb
deleted file mode 100644
index e721558efe..0000000000
--- a/packages/clamav/clamav_0.88.6.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require clamav.inc
-
-PR = "r1"
diff --git a/packages/clamav/clamav_0.88.7.bb b/packages/clamav/clamav_0.88.7.bb
index fec4ae59d8..2728c31590 100644
--- a/packages/clamav/clamav_0.88.7.bb
+++ b/packages/clamav/clamav_0.88.7.bb
@@ -1,3 +1,5 @@
require clamav.inc
-PR = "r0"
+PR = "r1"
+
+SRC_URI_append += " file://libtool-fix.patch;patch=1"
diff --git a/packages/clamav/clamav_0.90.2.bb b/packages/clamav/clamav_0.90.2.bb
new file mode 100644
index 0000000000..ab60a66c0a
--- /dev/null
+++ b/packages/clamav/clamav_0.90.2.bb
@@ -0,0 +1,16 @@
+require clamav.inc
+PR = "r0"
+
+# 0.9x requires curl for incremental database updates
+DEPENDS += "curl"
+
+# Don't check for clamav uid/gid - they don't exist on the host
+# Put virus definitions in /var/lib not /usr/lib
+EXTRA_OECONF = "--disable-clamav \
+ --with-zlib=${STAGING_DIR}/${HOST_SYS} \
+ --with-libcurl \
+ --with-dbdir=${localstatedir}/lib/clamav"
+
+# Package up configuration utility - new for 0.9x
+PACKAGES += "${PN}-clamconf"
+FILES_${PN}-clamconf = "${bindir}/clamconf"
diff --git a/packages/clamav/files/clamav-daemon.default b/packages/clamav/files/clamav-daemon.default
deleted file mode 100644
index bc19984183..0000000000
--- a/packages/clamav/files/clamav-daemon.default
+++ /dev/null
@@ -1 +0,0 @@
-# Options for clamav-daemon (clamd process)
diff --git a/packages/clamav/files/clamav-daemon.init b/packages/clamav/files/clamav-daemon.init
index bab7a184d7..6fd07146ea 100644
--- a/packages/clamav/files/clamav-daemon.init
+++ b/packages/clamav/files/clamav-daemon.init
@@ -3,18 +3,20 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/clamd
NAME="clamd"
DESC="ClamAV daemon"
-CLAMAVCONF=/etc/clamd.conf
+CLAMAV_CONF=/etc/clamd.conf
+PID=/var/run/clamav/clamd.pid
set -e
-test -r /etc/default/clamav-daemon && . /etc/default/clamav-daemon
test -x "$DAEMON" || exit 0
-test ! -r "$CLAMAVCONF" && exit 0
-if [ `grep -q "^Example" $CLAMAVCONF` ]; then
+if [ ! -r "$CLAMAV_CONF" ]; then
+ echo "ClamAV configuration file $CLAMAV_CONF not found. Exiting"
+ exit 0
+fi
+if [ `grep -q "^Example" $CLAMAV_CONF` ]; then
echo "$DESC is not configured."
exit 0
fi
-pidfile="`grep ^PidFile $CLAMAVCONF | awk '{print $2}'`"
case "$1" in
start)
@@ -25,7 +27,7 @@ case "$1" in
stop)
echo -n "Stopping $DESC: "
- start-stop-daemon -K -p $pidfile
+ start-stop-daemon -K -p $PID
;;
restart|force-reload)
diff --git a/packages/clamav/files/clamav-freshclam.init b/packages/clamav/files/clamav-freshclam.init
index 490a41e31f..21f02008f5 100644
--- a/packages/clamav/files/clamav-freshclam.init
+++ b/packages/clamav/files/clamav-freshclam.init
@@ -3,70 +3,38 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/freshclam
NAME=freshclam
DESC="ClamAV virus database updater"
-CLAMAV_CONF_FILE=/etc/clamd.conf
-FRESHCLAM_CONF_FILE=/etc/freshclam.conf
-pidfile=/var/run/clamav/freshclam.pid
+FRESHCLAM_CONF=/etc/freshclam.conf
+CLAMAV_CONF=/etc/clamd.conf
+PID=/var/run/clamav/freshclam.pid
set -e
-test -r /etc/default/clamav-freshclam && . /etc/default/clamav-freshclam
test -x "$DAEMON" || exit 0
-test ! -r "$CLAMAV_CONF_FILE" && exit 0
-
-slurp_config()
-{
- CLAMAVCONF="$1"
-
- if [ -e "$CLAMAVCONF" ]; then
- for variable in `egrep -v '^[[:space:]]*(#|$)' "$CLAMAVCONF" | awk '{print $1}'`; do
- if [ "$variable" = 'DatabaseMirror' ]; then
- if [ -z "$DatabaseMirror" ]; then
- for i in `grep ^$variable $CLAMAVCONF | awk '{print $2}'`; do
- value="$i $value"
- done
- else
- continue
- fi
- elif [ "$variable" = 'VirusEvent' -o "$variable" = 'OnUpdateExecute' -o "$variable" = 'OnErrorExecute' ]; then
- value=`grep ^$variable $CLAMAVCONF | head -n1 | sed -e s/$variable\ //`
- else
- value=`grep ^$variable $CLAMAVCONF | head -n1 | awk '{print $2}'`
- fi
- if ! [ "$value" = "$variable" -o "$value" = "" ]; then
- export "$variable"="$value"
- else
- export "$variable"="true"
- fi
- unset value
- done
- fi
-}
-
-slurp_config "$FRESHCLAM_CONF_FILE"
-
-[ -z "$UpdateLogFile" ] && UpdateLogFile=/var/log/clamav/freshclam.log
-
-if [ -z "$DatabaseDirectory" ]; then
- [ -r "$CLAMAV_CONF_FILE" ] && DatabaseDirectory=$(grep 'DataDirectory' "$CLAMAV_CONF_FILE" | awk '{print $2}')
- [ -z "$DatabaseDirectory" ] && DatabaseDirectory=/var/lib/clamav/
+if [ ! -r "$CLAMAV_CONF" ]; then
+ echo "ClamAV configuration file $CLAMAV_CONF not found. Exiting"
+ exit 0
+fi
+if [ ! -r "$FRESHCLAM_CONF" ]; then
+ echo "Freshclam configuration file $FRESHCLAM_CONF not found. Exiting"
+ exit 0
fi
case "$1" in
no-daemon)
echo "It takes freshclam ~3min to timeout and try the next mirror in the list"
- freshclam -l "$UpdateLogFile" --datadir "$DatabaseDirectory"
+ freshclam
;;
start)
echo -n "Starting $DESC: "
- start-stop-daemon -S -x $DAEMON -- -d --quiet -p $pidfile
+ start-stop-daemon -S -x $DAEMON -- -d --quiet -p $PID
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
- start-stop-daemon -K -p $pidfile
+ start-stop-daemon -K -p $PID
;;
restart|force-reload)
diff --git a/packages/clamav/files/volatiles.02_clamav-data b/packages/clamav/files/volatiles.02_clamav-data
deleted file mode 100644
index 99dc98b323..0000000000
--- a/packages/clamav/files/volatiles.02_clamav-data
+++ /dev/null
@@ -1,4 +0,0 @@
-# <type> <owner> <group> <mode> <path> <linksource>
-d clamav clamav 0755 /var/lib/clamav none
-l clamav clamav 0644 /var/lib/clamav/main.cvd /usr/lib/clamav/main.cvd
-l clamav clamav 0644 /var/lib/clamav/daily.cvd /usr/lib/clamav/daily.cvd
diff --git a/packages/clamav/files/volatiles.03_clamav-data b/packages/clamav/files/volatiles.03_clamav-data
new file mode 100644
index 0000000000..8fdb0a742a
--- /dev/null
+++ b/packages/clamav/files/volatiles.03_clamav-data
@@ -0,0 +1,4 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d clamav clamav 0755 /var/lib/clamav none
+f clamav clamav 0644 /var/lib/clamav/main.cvd none
+f clamav clamav 0644 /var/lib/clamav/daily.cvd none