X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav.spec;h=c75ab8a062138d6deff099e0e5e355a99e77f181;hb=c7b9cb1fc009087b1a6f1ed3f69cd3ee1523ef9d;hp=573e1e9c9e8ccf799d52023fa056200df60eda40;hpb=4ffd87a3212aa90211e703e3ef568b8233e0a3b3;p=packages%2Fclamav.git diff --git a/clamav.spec b/clamav.spec index 573e1e9..c75ab8a 100644 --- a/clamav.spec +++ b/clamav.spec @@ -1,22 +1,24 @@ # TODO: # - Make freshclam package (script and daemon) +# - restart amavis in triggers if group membership was modified? # # Conditional build: %bcond_without milter # build without milter subpackage -%bcond_with curl # enable curl support -# -%define _rc rc2 -%define _rel 3 +%if "%{pld_release}" == "ac" +%bcond_with llvm # build without llvm support +%else +%bcond_without llvm # build without llvm support +%endif + Summary: An anti-virus utility for Unix -Summary(pl): Narzêdzie antywirusowe dla Uniksów +Summary(pl.UTF-8): Narzędzie antywirusowe dla Uniksów Name: clamav -Version: 0.90 -Release: 0.%{_rc}.%{_rel} -Epoch: 0 -License: GPL -Group: Applications -Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}%{_rc}.tar.gz -# Source0-md5: 91da47456ed28a7cfbfe17b033e15121 +Version: 0.97.6 +Release: 4 +License: GPL v2+ +Group: Daemons +Source0: http://downloads.sourceforge.net/clamav/%{name}-%{version}.tar.gz +# Source0-md5: 1dbdd803b37c0d9d222e4316049f46a2 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}-milter.init @@ -24,20 +26,25 @@ Source4: %{name}-cron-updatedb Source5: %{name}.logrotate Source8: %{name}-post-updatedb Source9: %{name}-milter.sysconfig +Source10: %{name}.tmpfiles Patch0: %{name}-pld_config.patch -Patch1: %{name}-no_auto_libwrap.patch -Patch2: %{name}-nolibs.patch -Patch3: %{name}-find_milter.patch +Patch1: %{name}-nolibs.patch +Patch2: am-nosilentrules.patch +Patch3: ac2.68.patch URL: http://www.clamav.net/ BuildRequires: autoconf BuildRequires: automake BuildRequires: bzip2-devel -%{?with_curl:BuildRequires: curl-devel} BuildRequires: gmp-devel +BuildRequires: libltdl-devel +%{?with_milter:BuildRequires: libmilter-devel} +BuildRequires: libstdc++-devel BuildRequires: libtool %{?with_milter:BuildRequires: libwrap-devel} -BuildRequires: rpmbuild(macros) >= 1.268 -%{?with_milter:BuildRequires: sendmail-devel >= 8.11} +%{?with_llvm:BuildRequires: llvm-devel} +BuildRequires: ncurses-devel +BuildRequires: rpm >= 4.4.9-56 +BuildRequires: rpmbuild(macros) >= 1.514 BuildRequires: zlib-devel Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel @@ -50,54 +57,76 @@ Requires(pre): /usr/sbin/useradd Requires(triggerpostun): sed >= 4.0 Requires: %{name}-libs = %{epoch}:%{version}-%{release} Requires: /usr/sbin/usermod -Requires: bc -Requires: rc-scripts +Requires: rc-scripts >= 0.4.1.23 +Suggests: clamav-database Provides: group(clamav) Provides: user(clamav) +Conflicts: logrotate < 3.7-4 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description -Clam Antivirus is a powerful anti-virus scanner for Unix. It supports -AMaViS, compressed files, on-access scanning and includes a program -for auto-updating with support for digital signatures. The virus -database has over 85387 viruses, worms and trojans signatures. The -scanner is multithreaded, written in C, and POSIX compliant. - -%description -l pl -Clam Antivirus jest potê¿nym skanerem antywirusowym dla systemów +Clam AntiVirus is an open source anti-virus toolkit for UNIX, designed +especially for e-mail scanning on mail gateways. It provides a number +of utilities including a flexible and scalable multi-threaded daemon, +a command line scanner and advanced tool for automatic database +updates. The core of the package is an anti-virus engine available in +a form of shared library. + +Here is a list of the main features: +- command-line scanner +- fast, multi-threaded daemon with support for on-access scanning +- milter interface for sendmail +- advanced database updater with support for scripted updates and + digital signatures +- virus scanner C library +- on-access scanning (Linux® and FreeBSD®) +- virus database updated multiple times per day (see home page for + total number of signatures) +- built-in support for various archive formats, including Zip, RAR, + Tar, Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS and others +- built-in support for almost all mail file formats +- built-in support for ELF executables and Portable Executable files + compressed with UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack and + obfuscated with SUE, Y0da Cryptor and others +- built-in support for popular document formats including MS Office + and MacOffice files, HTML, RTF and PDF + +%description -l pl.UTF-8 +Clam Antivirus jest potężnym skanerem antywirusowym dla systemów uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie "on-access" i posiada system bezpiecznej, automatycznej aktualizacji. -Baza wirusów zawiera ponad 85387 sygnatur. Skaner jest wielow±tkowy, +Baza wirusów zawiera ponad 90000 sygnatur. Skaner jest wielowątkowy, napisany w C i zgodny z POSIXem. %package libs Summary: Shared libraries for clamav -Summary(pl): Biblioteki dzielone clamav +Summary(pl.UTF-8): Biblioteki dzielone clamav Group: Libraries %description libs Shared libraries for clamav. -%description libs -l pl +%description libs -l pl.UTF-8 Biblioteki dzielone clamav. %package milter Summary: ClamAV filter using milter interface -Summary(pl): Filtr ClamAV korzystaj±cy z interfejsu milter +Summary(pl.UTF-8): Filtr ClamAV korzystający z interfejsu milter Group: Daemons Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: sendmail >= 8.11 +Requires: postfix +#Requires: sendmail >= 8.11 Requires: tcp_wrappers %description milter ClamAV sendmail filter using MILTER interface. -%description milter -l pl -Filtr ClamAV dla sendmaila korzystaj±cy z interfejsu MILTER. +%description milter -l pl.UTF-8 +Filtr ClamAV dla sendmaila korzystający z interfejsu MILTER. %package devel Summary: clamav - Development header files and libraries -Summary(pl): clamav - Pliki nag³ówkowe i biblioteki dla programistów +Summary(pl.UTF-8): clamav - Pliki nagłówkowe i biblioteki dla programistów Group: Development/Libraries Requires: %{name}-libs = %{epoch}:%{version}-%{release} Requires: bzip2-devel @@ -108,53 +137,56 @@ Requires: zlib-devel This package contains the development header files and libraries necessary to develop clamav client applications. -%description devel -l pl -Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji +%description devel -l pl.UTF-8 +Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji klienckich clamav. %package static Summary: clamav static libraries -Summary(pl): Biblioteki statyczne clamav +Summary(pl.UTF-8): Biblioteki statyczne clamav Group: Development/Libraries Requires: %{name}-devel = %{epoch}:%{version}-%{release} %description static clamav static libraries. -%description static -l pl +%description static -l pl.UTF-8 Biblioteki statyczne clamav. %prep -%setup -q %{?_rc:-n %{name}-%{version}%{_rc}} +%setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p0 - -# kill old libtool.m4 copy -head -n 489 acinclude.m4 > acinclude.m4.tmp -tail -n +4089 acinclude.m4 >> acinclude.m4.tmp -mv -f acinclude.m4.tmp acinclude.m4 +%patch3 -p1 %build +# automake 1.12+ needs configure.ac not .in +mv configure.{in,ac} %{__libtoolize} -%{__aclocal} +%{__aclocal} -I m4 %{__autoconf} %{__autoheader} %{__automake} %configure \ --disable-clamav \ - %{!?with_curl:--without-libcurl} \ %{?with_milter:--enable-milter} \ - --with-dbdir=/var/lib/%{name} -%{__make} + --with-dbdir=/var/lib/%{name} \ + --with-no-cache \ + --with-ltdl-include=%{_includedir} \ + --with-ltdl-lib=%{_libdir} + +%{__make} \ + LIBTOOL=%{_bindir}/libtool %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig} \ - $RPM_BUILD_ROOT%{_var}/{log,spool/clamav} + $RPM_BUILD_ROOT%{_var}/{log,spool/clamav,lib/clamav} \ + $RPM_BUILD_ROOT%{systemdtmpfilesdir} %{__make} install \ + LIBTOOL=%{_bindir}/libtool \ DESTDIR=$RPM_BUILD_ROOT %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*} @@ -162,17 +194,22 @@ cat <<'EOF' >$RPM_BUILD_ROOT/etc/cron.d/%{name} 5 * * * * root %{_sbindir}/clamav-cron-updatedb EOF -install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd +install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd %if %{with milter} -install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter -install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter +install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter +cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter %endif -install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd -install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb -install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir} -install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd +install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb +cp -p etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir} +cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} + +install -p %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir} -install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir} +install %{SOURCE10} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf + +# Not packaged/installed anymore, but we want it ghosted +touch $RPM_BUILD_ROOT/var/lib/clamav/{daily,main}.cvd # NOTE: clamd uses sane rights to it's clamd.pid file # So better keep it dir @@ -185,40 +222,18 @@ install -d $RPM_BUILD_ROOT/var/run/%{name} rm -rf $RPM_BUILD_ROOT %triggerin -- amavis-ng -AMAVIS=$(/usr/bin/getgid amavis) -RESULT=$? -if [ $RESULT -eq 0 ]; then - echo "Adding clamav to amavis group GID=$AMAVIS" - /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null -fi +%addusertogroup -q clamav amavis %triggerin -- amavisd-new -AMAVIS=$(/usr/bin/getgid amavis) -RESULT=$? -if [ $RESULT -eq 0 ]; then - echo "Adding clamav to amavis group GID=$AMAVIS" - /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null -fi +%addusertogroup -q clamav amavis %triggerin -- amavisd -AMAVIS=$(/usr/bin/getgid amavis) -RESULT=$? -if [ $RESULT -eq 0 ]; then - echo "Adding clamav to amavis group GID=$AMAVIS" - /usr/sbin/usermod -G amavis clamav 1>&2 -fi +%addusertogroup -q clamav amavis %pre %groupadd -g 43 clamav %useradd -u 43 -d /tmp -s /bin/false -c "Clam Anti Virus Checker" -g clamav clamav -# FIXME: check this. is it proper after useradd macro? -# TODO: use addusertogroup macro? -if [ -n "`/usr/bin/getgid amavis`" ]; then - echo "Adding clamav to amavis group" - /usr/sbin/usermod -G amavis clamav 1>&2 -fi - %post /sbin/chkconfig --add clamd %service clamd restart "Clam Antivirus daemon" @@ -238,7 +253,7 @@ if [ "$1" = "0" ]; then %groupremove clamav fi -%triggerpostun -- %{name} <= 0.75.1 +%triggerpostun -- %{name} < 0.80 if [ -f /etc/clamav.conf.rpmsave ]; then echo "Renaming config to new name /etc/clamd.conf" mv -f /etc/clamd.conf /etc/clamd.conf.rpmnew @@ -256,6 +271,8 @@ fi s,^ClamukoScanOnOpen$,& yes, s,^ClamukoScanOnClose$,& yes, s,^ClamukoScanOnExec$,& yes, + s,^LogTime$,& yes, + s,^ScanPE$,& yes, ' /etc/clamd.conf %banner -e %{name}-0.90 <