X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav.spec;h=c75ab8a062138d6deff099e0e5e355a99e77f181;hb=c7b9cb1fc009087b1a6f1ed3f69cd3ee1523ef9d;hp=c358b5c428e230bb23dbffe4578af83d096e90ac;hpb=c5a8ecb5ae5c181bcbd98eb63ff585eaa2c8c2e5;p=packages%2Fclamav.git diff --git a/clamav.spec b/clamav.spec index c358b5c..c75ab8a 100644 --- a/clamav.spec +++ b/clamav.spec @@ -1,20 +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 -# +%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.UTF-8): Narzędzie antywirusowe dla Uniksów Name: clamav -Version: 0.90.1 -Release: 1 -Epoch: 0 -License: GPL -Group: Applications -Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz -# Source0-md5: cd11c05b5476262eaea4fa3bd7dc25bf +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 @@ -22,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_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 @@ -48,18 +57,39 @@ 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 90000 viruses, worms and trojans signatures. The -scanner is multithreaded, written in C, and POSIX compliant. +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 @@ -84,7 +114,8 @@ Summary: ClamAV filter using milter interface 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 @@ -123,31 +154,39 @@ clamav static libraries. Biblioteki statyczne clamav. %prep -%setup -q %{?_rc:-n %{name}-%{version}%{_rc}} +%setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %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*} @@ -155,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 @@ -178,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" @@ -231,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 @@ -278,7 +300,9 @@ fi %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog FAQ NEWS README docs/*.pdf +%attr(755,root,root) %{_bindir}/clambc %attr(755,root,root) %{_bindir}/clamdscan +%attr(755,root,root) %{_bindir}/clamdtop %attr(755,root,root) %{_bindir}/clamscan %attr(755,root,root) %{_bindir}/freshclam %attr(755,root,root) %{_bindir}/sigtool @@ -286,8 +310,9 @@ fi %attr(755,root,root) %{_sbindir}/clamd %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb %attr(755,root,root) %{_sbindir}/clamav-post-updatedb +%{systemdtmpfilesdir}/%{name}.conf %attr(755,clamav,root) %dir /var/lib/%{name} -%ghost %attr(644,clamav,root) %verify(not md5 mtime size) /var/lib/clamav/*.cvd +%attr(644,clamav,root) %ghost %verify(not md5 mtime size) /var/lib/clamav/*.cvd %attr(640,clamav,root) %ghost /var/log/freshclam.log %attr(750,clamav,clamav) %dir /var/run/%{name} @@ -305,6 +330,7 @@ fi %files milter %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamav-milter +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/clamav-milter.conf %attr(754,root,root) /etc/rc.d/init.d/clamav-milter #%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter #%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter @@ -317,6 +343,9 @@ fi %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/lib*.so.*.* +%attr(755,root,root) %ghost %{_libdir}/libclamav.so.6 +%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.6 +%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.6 %files devel %defattr(644,root,root,755)