diff options
author | Andrej Kacian <ticho@gentoo.org> | 2007-03-08 16:59:35 +0000 |
---|---|---|
committer | Andrej Kacian <ticho@gentoo.org> | 2007-03-08 16:59:35 +0000 |
commit | 2931de8522583e5f95d23f3b12e21c535ce3b30c (patch) | |
tree | 16415ba8748e55a5c9645e003ef0f9d105f2390a /app-antivirus | |
parent | dont reset /bin/sh ... let users change it if they want (diff) | |
download | gentoo-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)
Diffstat (limited to 'app-antivirus')
-rw-r--r-- | app-antivirus/clamav/ChangeLog | 11 | ||||
-rw-r--r-- | app-antivirus/clamav/clamav-0.90.1-r1.ebuild | 143 | ||||
-rw-r--r-- | app-antivirus/clamav/files/clamav-0.90-nls.patch | 55 | ||||
-rw-r--r-- | app-antivirus/clamav/files/clamd.rc | 21 | ||||
-rw-r--r-- | app-antivirus/clamav/files/digest-clamav-0.90.1-r1 | 3 |
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 |