# HG changeset patch # User Michael Schloh von Bennewitz # Date 1257086557 -3600 # Node ID 91cd1b1cd15ba0ed3ead13322665c1cd84f4b123 # Parent a01e65d9774388cda5ac5df35037e6b7b6e42f78 Import package vendor original specs for necessary manipulations. diff -r a01e65d97743 -r 91cd1b1cd15b clamav/clamav.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clamav/clamav.patch Sun Nov 01 15:42:37 2009 +0100 @@ -0,0 +1,84 @@ +Index: clamav-milter/clamav-milter.c +--- clamav-milter/clamav-milter.c.orig 2009-04-01 13:48:54 +0200 ++++ clamav-milter/clamav-milter.c 2009-04-09 17:25:12 +0200 +@@ -32,7 +32,7 @@ + #include + #endif + #include +-#include ++#include "milter/mfapi.h" + + #include "clamav.h" + +Index: clamav-milter/clamfi.c +--- clamav-milter/clamfi.c.orig 2009-04-02 18:36:34 +0200 ++++ clamav-milter/clamfi.c 2009-04-09 17:25:12 +0200 +@@ -29,7 +29,7 @@ + #include + #include + +-#include ++#include "milter/mfapi.h" + + #include "shared/optparser.h" + #include "shared/output.h" +Index: clamav-milter/clamfi.h +--- clamav-milter/clamfi.h.orig 2009-03-16 19:37:26 +0100 ++++ clamav-milter/clamfi.h 2009-04-09 17:25:12 +0200 +@@ -22,7 +22,7 @@ + #define _CLAMFI_H + + #include "shared/optparser.h" +-#include ++#include "milter/mfapi.h" + + extern uint64_t maxfilesize; + extern int addxvirus; +Index: configure +--- configure.orig 2009-04-08 16:38:23 +0200 ++++ configure 2009-04-09 17:25:12 +0200 +@@ -20949,9 +20949,6 @@ + + save_LIBS="$LIBS" + CLAMAV_MILTER_LIBS="$CLAMAV_MILTER_LIBS -lpthread" +- if test -d /usr/lib/libmilter ; then +- CLAMAV_MILTER_LIBS="$CLAMAV_MILTER_LIBS -L/usr/lib/libmilter" +- fi + LIBS="$LIBS -lmilter $CLAMAV_MILTER_LIBS" + { $as_echo "$as_me:$LINENO: checking for mi_stop in -lmilter" >&5 + $as_echo_n "checking for mi_stop in -lmilter... " >&6; } +@@ -21191,7 +21188,7 @@ + + LIBS="$save_LIBS" + +-for ac_header in libmilter/mfapi.h ++for ac_header in milter/mfapi.h + do + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` + if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +Index: libclamav/others.c +--- libclamav/others.c.orig 2009-04-03 10:33:24 +0200 ++++ libclamav/others.c 2009-04-09 17:29:05 +0200 +@@ -176,8 +176,10 @@ + if(is_rar_initd) return; + is_rar_initd = 1; + ++#if 0 + rhandle = lt_dlfind("libclamunrar_iface", "unrar"); + if (!rhandle) ++#endif + return; + + if (!(cli_unrar_open = (int(*)(int, const char *, unrar_state_t *))lt_dlsym(rhandle, "libclamunrar_iface_LTX_unrar_open")) || +Index: shared/output.c +--- shared/output.c.orig 2009-03-16 19:37:26 +0100 ++++ shared/output.c 2009-04-09 17:25:12 +0200 +@@ -67,7 +67,7 @@ + pthread_mutex_t logg_mutex = PTHREAD_MUTEX_INITIALIZER; + #endif + +-#ifdef C_LINUX ++#if 0 + #include + #include + diff -r a01e65d97743 -r 91cd1b1cd15b clamav/clamav.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clamav/clamav.spec Sun Nov 01 15:42:37 2009 +0100 @@ -0,0 +1,190 @@ +## +## clamav.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2009 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: clamav +Summary: Clam Antivirus +URL: http://www.clamav.net/ +Vendor: Tomasz Kojm +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: AntiVirus +License: GPL +Version: 0.95.2 +Release: 20090702 + +# package options +%option with_milter no + +# list of sources +Source0: http://switch.dl.sourceforge.net/clamav/clamav-%{version}.tar.gz +Source1: rc.clamav +Patch0: clamav.patch + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20060823, gcc, bzip2, pkgconfig, bc +PreReq: OpenPKG, openpkg >= 20060823 +BuildPreReq: zlib, bzip2, curl, gmp, libiconv, openssl +PreReq: zlib, bzip2, curl, gmp, libiconv, openssl +%if "%{with_milter}" == "yes" +BuildPreReq: milter +PreReq: milter +%endif +AutoReq: no +AutoReqProv: no + +%description + Clam AntiVirus is an anti-virus toolkit for UNIX. The main + purpose of this software is the integration with mail servers + (attachment scanning). The package provides a flexible and scalable + multi-threaded daemon, a command line scanner, and a tool for + automatic updating via Internet. The programs are based on a shared + library distributed with the Clam AntiVirus package, which you can + use with your own software. The virus database is based on the virus + database from OpenAntiVirus, but contains additional signatures. + +%track + prog clamav = { + version = %{version} + url = http://sourceforge.net/projects/clamav/files/ + regex = clamav-(\d+\.\d+(\.\d+)*)\.tar\.gz + } + +%prep + %setup -q + %patch -p0 + +%build + # configure package + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + CPPFLAGS="%{l_cppflags}" \ + LDFLAGS="%{l_ldflags}" \ + GREP="grep" \ + ./configure \ + --prefix=%{l_prefix} \ + --mandir=%{l_prefix}/man \ + --sysconfdir=%{l_prefix}/etc/clamav \ + --with-zlib=%{l_prefix} \ + --with-libcurl \ + --with-user=%{l_rusr} \ + --with-group=%{l_rgrp} \ + --without-tcpwrappers \ + --disable-clamav \ + --disable-clamuko \ + --disable-urandom \ + --disable-cr \ +%if "%{with_milter}" == "yes" + --enable-milter \ + --with-sendmail=/dev/null \ +%else + --disable-milter \ +%endif + --disable-unrar \ + --disable-shared + + # build package + %{l_make} %{l_mflags -O} + +%install + rm -rf $RPM_BUILD_ROOT + + # perform standard package installation + %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + + # install default configuration + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/clamav + %{l_shtool} install -c -m 644 \ + -e 's;^\(Example\);#\1;' \ + -e 's;^#\(LogFile\) /.*;\1 %{l_prefix}/var/clamav/clamd.log;' \ + -e 's;^#\(LogTime.*\);\1;' \ + -e 's;^#\(PidFile\).*;\1 %{l_prefix}/var/clamav/clamd.pid;' \ + -e 's;^\(LocalSocket\).*;\1 %{l_prefix}/var/clamav/clamd.sock;' \ + -e 's;^#\(FixStaleSocket.*\);\1;' \ + -e 's;^#\(DatabaseDirectory\).*;\1 %{l_prefix}/share/clamav;' \ + -e 's;^#\(User\).*;\1 %{l_rusr};' \ + etc/clamd.conf \ + $RPM_BUILD_ROOT%{l_prefix}/etc/clamav/ + %{l_shtool} install -c -m 644 \ + -e 's;^\(Example\);#\1;' \ + -e 's;^#\(DatabaseDirectory\).*;\1 %{l_prefix}/share/clamav;' \ + -e 's;^#\(UpdateLogFile\).*;\1 %{l_prefix}/var/clamav/freshclam.log;' \ + -e 's;^#\(NotifyClamd\).*;\1 %{l_prefix}/etc/clamav/clamd.conf;' \ + etc/freshclam.conf \ + $RPM_BUILD_ROOT%{l_prefix}/etc/clamav/ + + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rc.clamav} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # strip-down installation hierarchy + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true +%if "%{with_milter}" == "no" + rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man8/clamav-milter.8 +%endif + + # create additional installation directory + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/var/clamav + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%config %{l_prefix}/etc/clamav/*.conf' \ + '%attr(755,%{l_rusr},%{l_mgrp}) %{l_prefix}/var/clamav' \ + '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/share/clamav' + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT + +%pre + # before upgrade, save status and stop service + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} clamav status 2>/dev/null | tee %{l_tmpfile}` + %{l_rc} clamav stop 2>/dev/null + exit 0 + +%post + if [ $1 -eq 2 ]; then + # after upgrade, restore status + eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile} + [ ".$clamav_active" = .yes ] && %{l_rc} clamav start + fi + exit 0 + +%preun + # before erase, stop service and remove log files + [ $1 -eq 0 ] || exit 0 + %{l_rc} clamav stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/clamav/*.log* >/dev/null 2>&1 || true + exit 0 +