summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrej Kacian <ticho@gentoo.org>2007-03-08 16:59:35 +0000
committerAndrej Kacian <ticho@gentoo.org>2007-03-08 16:59:35 +0000
commit2931de8522583e5f95d23f3b12e21c535ce3b30c (patch)
tree16415ba8748e55a5c9645e003ef0f9d105f2390a
parentdont reset /bin/sh ... let users change it if they want (diff)
downloadgentoo-2-2931de8522583e5f95d23f3b12e21c535ce3b30c.tar.gz
gentoo-2-2931de8522583e5f95d23f3b12e21c535ce3b30c.tar.bz2
gentoo-2-2931de8522583e5f95d23f3b12e21c535ce3b30c.zip
Wait for clamd socket if clamav-milter is started with --external argument. Patch provided by Dean C Bullock <dean at bullock.net>, bug #169561. Apply patch to allow building without NLS. Patch by Ned Ludd <solar at gentoo.org>, bug #167829.
(Portage version: 2.1.2.1)
-rw-r--r--app-antivirus/clamav/ChangeLog11
-rw-r--r--app-antivirus/clamav/clamav-0.90.1-r1.ebuild143
-rw-r--r--app-antivirus/clamav/files/clamav-0.90-nls.patch55
-rw-r--r--app-antivirus/clamav/files/clamd.rc21
-rw-r--r--app-antivirus/clamav/files/digest-clamav-0.90.1-r13
5 files changed, 231 insertions, 2 deletions
diff --git a/app-antivirus/clamav/ChangeLog b/app-antivirus/clamav/ChangeLog
index 4d78460b2c6f..b907d2312d26 100644
--- a/app-antivirus/clamav/ChangeLog
+++ b/app-antivirus/clamav/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for app-antivirus/clamav
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/ChangeLog,v 1.208 2007/03/03 11:49:36 ticho Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/ChangeLog,v 1.209 2007/03/08 16:59:35 ticho Exp $
+
+*clamav-0.90.1-r1 (08 Mar 2007)
+
+ 08 Mar 2007; Andrej Kacian <ticho@gentoo.org>
+ +files/clamav-0.90-nls.patch, files/clamd.rc, +clamav-0.90.1-r1.ebuild:
+ Wait for clamd socket if clamav-milter is started with --external argument.
+ Patch provided by Dean C Bullock <dean at bullock.net>, bug #169561. Apply
+ patch to allow building without NLS. Patch by Ned Ludd <solar at
+ gentoo.org>, bug #167829.
03 Mar 2007; Andrej Kacian <ticho@gentoo.org> clamav-0.90.ebuild,
clamav-0.90.1.ebuild:
diff --git a/app-antivirus/clamav/clamav-0.90.1-r1.ebuild b/app-antivirus/clamav/clamav-0.90.1-r1.ebuild
new file mode 100644
index 000000000000..e26627eecf73
--- /dev/null
+++ b/app-antivirus/clamav/clamav-0.90.1-r1.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/clamav-0.90.1-r1.ebuild,v 1.1 2007/03/08 16:59:35 ticho Exp $
+
+inherit eutils flag-o-matic fixheadtails
+
+DESCRIPTION="Clam Anti-Virus Scanner"
+HOMEPAGE="http://www.clamav.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="bzip2 crypt curl logrotate mailwrapper milter nls selinux"
+
+DEPEND="virtual/libc
+ bzip2? ( app-arch/bzip2 )
+ crypt? ( >=dev-libs/gmp-4.1.2 )
+ curl? ( >=net-misc/curl-7.10.0 )
+ milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
+ nls? ( sys-devel/gettext )
+ dev-libs/gmp
+ >=sys-libs/zlib-1.2.1-r3
+ >=sys-apps/sed-4"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-clamav )
+ logrotate? ( app-admin/logrotate )
+ sys-apps/grep"
+PROVIDE="virtual/antivirus"
+
+pkg_setup() {
+ if use milter; then
+ if [ ! -e /usr/lib/libmilter.a ] ; then
+ ewarn "In order to enable milter support, clamav needs sendmail with enabled milter"
+ ewarn "USE flag. Either recompile sendmail with milter USE flag enabled, or disable"
+ ewarn "this flag for clamav as well to disable milter support."
+ die "need milter-enabled sendmail"
+ fi
+ fi
+ enewgroup clamav
+ enewuser clamav -1 -1 /dev/null clamav
+}
+
+src_unpack() {
+ unpack "${A}"
+ cd "${S}"
+ epatch "${FILESDIR}"/${P%.*}-compat.patch
+ epatch "${FILESDIR}"/${P%.*}-nls.patch
+}
+
+src_compile() {
+ has_version =sys-libs/glibc-2.2* && filter-lfs-flags
+
+ local myconf
+
+ # we depend on fixed zlib, so we can disable this check to prevent redundant
+ # warning (bug #61749)
+ myconf="${myconf} --disable-zlib-vcheck"
+ # use id utility instead of /etc/passwd parsing (bug #72540)
+ myconf="${myconf} --enable-id-check"
+ use milter && {
+ myconf="${myconf} --enable-milter"
+ use mailwrapper && \
+ myconf="${myconf} --with-sendmail=/usr/sbin/sendmail.sendmail"
+ }
+
+ ht_fix_file configure
+ econf ${myconf} \
+ $(use_enable bzip2) \
+ $(use_with curl libcurl) \
+ $(use_enable nls) \
+ --disable-experimental \
+ --with-dbdir=/var/lib/clamav || die
+ emake || die
+}
+
+src_install() {
+ make DESTDIR=${D} install || die
+ dodoc AUTHORS BUGS NEWS README ChangeLog FAQ INSTALL
+ newconfd ${FILESDIR}/clamd.conf clamd
+ newinitd ${FILESDIR}/clamd.rc clamd
+ dodoc ${FILESDIR}/clamav-milter.README.gentoo
+
+ dodir /var/run/clamav
+ keepdir /var/run/clamav
+ fowners clamav:clamav /var/run/clamav
+ dodir /var/log/clamav
+ keepdir /var/log/clamav
+ fowners clamav:clamav /var/log/clamav
+
+ # Change /etc/clamd.conf to be usable out of the box
+ sed -i -e "s:^\(Example\):\# \1:" \
+ -e "s:.*\(PidFile\) .*:\1 /var/run/clamav/clamd.pid:" \
+ -e "s:.*\(LocalSocket\) .*:\1 /var/run/clamav/clamd.sock:" \
+ -e "s:.*\(User\) .*:\1 clamav:" \
+ -e "s:^\#\(LogFile\) .*:\1 /var/log/clamav/clamd.log:" \
+ -e "s:^\#\(LogTime\).*:\1 yes:" \
+ ${D}/etc/clamd.conf
+
+ # Do the same for /etc/freshclam.conf
+ sed -i -e "s:^\(Example\):\# \1:" \
+ -e "s:.*\(PidFile\) .*:\1 /var/run/clamav/freshclam.pid:" \
+ -e "s:.*\(DatabaseOwner\) .*:\1 clamav:" \
+ -e "s:^\#\(UpdateLogFile\) .*:\1 /var/log/clamav/freshclam.log:" \
+ -e "s:^\#\(NotifyClamd\).*:\1 /etc/clamd.conf:" \
+ ${D}/etc/freshclam.conf
+
+ if use milter ; then
+ echo "START_MILTER=no" \
+ >> ${D}/etc/conf.d/clamd
+ echo "MILTER_SOCKET=\"/var/run/clamav/clmilter.sock\"" \
+ >>${D}/etc/conf.d/clamd
+ echo "MILTER_OPTS=\"-m 10 --timeout=0\"" \
+ >>${D}/etc/conf.d/clamd
+ fi
+
+ if use logrotate ; then
+ diropts ""
+ dodir /etc/logrotate.d
+ insopts -m0644
+ insinto /etc/logrotate.d
+ newins ${FILESDIR}/${PN}.logrotate ${PN}
+ fi
+}
+
+pkg_postinst() {
+ echo
+ if use milter ; then
+ elog "For simple instructions how to setup the clamav-milter"
+ elog "read /usr/share/doc/${PF}/clamav-milter.README.gentoo.gz"
+ echo
+ fi
+ ewarn "Warning: clamd and/or freshclam have not been restarted."
+ ewarn "You should restart them to start using new version: /etc/init.d/clamd restart"
+ echo
+ ewarn "The soname for libclamav has changed after clamav-0.90."
+ ewarn "If you have upgraded from that or earlier version, it is recommended to run:"
+ ewarn
+ ewarn "revdep-rebuild --library libclamav.so.1"
+ ewarn
+ ewarn "This will fix linking errors caused by this change."
+ echo
+}
diff --git a/app-antivirus/clamav/files/clamav-0.90-nls.patch b/app-antivirus/clamav/files/clamav-0.90-nls.patch
new file mode 100644
index 000000000000..a2535c241178
--- /dev/null
+++ b/app-antivirus/clamav/files/clamav-0.90-nls.patch
@@ -0,0 +1,55 @@
+diff -bur clamav-0.90.1-orig/clamav-milter/clamav-milter.c clamav-0.90.1/clamav-milter/clamav-milter.c
+--- clamav-0.90.1-orig/clamav-milter/clamav-milter.c 2007-03-07 17:56:53.000000000 +0100
++++ clamav-0.90.1/clamav-milter/clamav-milter.c 2007-03-07 18:00:05.000000000 +0100
+@@ -108,7 +108,7 @@
+ #endif
+ #endif
+
+-#ifdef C_LINUX
++#if defined(C_LINUX) && defined(ENABLE_NLS)
+ #include <sys/sendfile.h> /* FIXME: use sendfile on BSD not Linux */
+ #include <libintl.h>
+ #include <locale.h>
+diff -bur clamav-0.90.1-orig/configure.in clamav-0.90.1/configure.in
+--- clamav-0.90.1-orig/configure.in 2007-03-07 17:56:53.000000000 +0100
++++ clamav-0.90.1/configure.in 2007-03-07 17:57:30.000000000 +0100
+@@ -160,6 +160,15 @@
+ AC_CHECK_HEADER(dlfcn.h,[LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -ldl" ; AC_DEFINE(HAVE_NCORE,1,Support for NodalCore acceleration)], AC_MSG_WARN([****** NodalCore support disabled (no support for dlopen)]))
+ fi
+
++AC_ARG_ENABLE(nls,
++ AC_HELP_STRING([--disable-nls], [disable nls support]),
++ [want_nls=$enableval], [want_nls=yes]
++)
++
++if test $want_nls = yes; then
++ CPPFLAGS="$CPPFLAGS -DENABLE_NLS"
++fi
++
+ AC_ARG_ENABLE(dns,
+ AC_HELP_STRING([--disable-dns], [disable support for database verification through DNS]),
+ [want_dns=$enableval], [want_dns=yes]
+diff -bur clamav-0.90.1-orig/shared/getopt.c clamav-0.90.1/shared/getopt.c
+--- clamav-0.90.1-orig/shared/getopt.c 2007-03-07 17:56:53.000000000 +0100
++++ clamav-0.90.1/shared/getopt.c 2007-03-07 18:00:25.000000000 +0100
+@@ -82,7 +82,7 @@
+
+ #ifndef _
+ /* This is for other GNU distributions with internationalized messages. */
+-# if defined HAVE_LIBINTL_H || defined _LIBC
++# if (defined(HAVE_LIBINTL_H) || defined(_LIBC)) && defined(ENABLE_NLS)
+ # include <libintl.h>
+ # ifndef _
+ # define _(msgid) gettext (msgid)
+diff -bur clamav-0.90.1-orig/shared/output.c clamav-0.90.1/shared/output.c
+--- clamav-0.90.1-orig/shared/output.c 2007-03-07 17:56:53.000000000 +0100
++++ clamav-0.90.1/shared/output.c 2007-03-07 17:57:30.000000000 +0100
+@@ -61,7 +61,7 @@
+ pthread_mutex_t logg_mutex = PTHREAD_MUTEX_INITIALIZER;
+ #endif
+
+-#ifdef C_LINUX
++#if defined(C_LINUX) && defined(ENABLE_NLS)
+ #include <libintl.h>
+ #include <locale.h>
+
diff --git a/app-antivirus/clamav/files/clamd.rc b/app-antivirus/clamav/files/clamd.rc
index f6a3fc0f0db2..098f92f4474b 100644
--- a/app-antivirus/clamav/files/clamd.rc
+++ b/app-antivirus/clamav/files/clamd.rc
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/files/clamd.rc,v 1.8 2005/11/09 16:40:05 ticho Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/files/clamd.rc,v 1.9 2007/03/08 16:59:35 ticho Exp $
depend() {
use net
@@ -45,6 +45,25 @@ start() {
chown ${clamav_user} ${logfile}
fi
+ if [[ ${MILTER_OPTS} == *--external* ]]; then
+ local clamd_socket_wait_count=0
+ local clamd_socket_wait_max=10
+ local clamd_socket_wait_result=-1
+ ebegin "Waiting for clamd to create ${clamd_socket}"
+ while [[ clamd_socket_wait < clamd_socket_wait_max ]]; do
+ if [ -S "${clamd_socket:-/tmp/clamd}" ]; then
+ clamd_socket_wait_result=0
+ break
+ else
+ echo -n " ."
+ let clamd_socket_wait++
+ sleep 1
+ fi
+ done
+ echo
+ eend $clamd_socket_wait_result "Timeout waiting for ${clamd_socket}"
+ fi
+
ebegin "Starting clamav-milter"
start-stop-daemon --start --quiet \
--exec /usr/sbin/clamav-milter -- ${MILTER_OPTS} ${MILTER_SOCKET}
diff --git a/app-antivirus/clamav/files/digest-clamav-0.90.1-r1 b/app-antivirus/clamav/files/digest-clamav-0.90.1-r1
new file mode 100644
index 000000000000..fe2fc17efcc2
--- /dev/null
+++ b/app-antivirus/clamav/files/digest-clamav-0.90.1-r1
@@ -0,0 +1,3 @@
+MD5 cd11c05b5476262eaea4fa3bd7dc25bf clamav-0.90.1.tar.gz 11643310
+RMD160 1fd343d6510fea337a676e32bb1e4e404da4bd6d clamav-0.90.1.tar.gz 11643310
+SHA256 08a0255b4f6bdc4312eea6c118e79ecf684aed10640b45037d9dc5890c7687be clamav-0.90.1.tar.gz 11643310