X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav.spec;h=7d844c359a70f78dfde55b5f30092ff5b6cd9784;hb=83e2debcb972968e1a82c80544f475fd988f705f;hp=4922049a7d8d2be78b30e990d978756131aef0f6;hpb=f59066eddbf0bf0cc36d84f1687373eb121177bd;p=packages%2Fclamav.git diff --git a/clamav.spec b/clamav.spec index 4922049..7d844c3 100644 --- a/clamav.spec +++ b/clamav.spec @@ -1,53 +1,58 @@ # TODO: -# - Fix inconsistency: -# clamd uses syslog but log from (crond) db update goes to -# /var/log/clamd.log - +# Make freshclam (script and daemon) +# # Conditional build: -# _with_bigZIPOSDET - increases zip file size -# should be used with samba scanning, on smtp-server -# may lead to DoS (memory usage up tu 1GB) -# It's configurable in CVS version of clamav, anyway. - -%define database_version 20031115 +%bcond_with milter # without milter subpackage +# Summary: An anti-virus utility for Unix -Summary(pl): Antywirusowe narzêdzie dla Unixów +Summary(pl): Antywirusowe narzêdzie dla Uniksów Name: clamav -Version: 0.65 -Release: 5 +Version: 0.75.1 +Release: 2 License: GPL Group: Applications Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz -# Source0-md5: f2b8473190b6dc1fd9c64b9ebc49a5ad +# Source0-md5: 2c85b7957eba9fd9e9ff8c2537ae006f Source1: %{name}.init Source2: %{name}.sysconfig -# bziped from http://clamav.elektrapro.com/database/: -Source3: %{name}-database-%{database_version}.tar.bz2 -# Source3-md5: f1e7c6362a2c03439da41d237dc5d01c +Source3: %{name}-milter.init Source4: %{name}-cron-updatedb +Source5: %{name}.logrotate +# Remember to update date after databases upgrade +%define database_version 20040731 +Source6: http://www.clamav.net/database/daily.cvd +# Source6-md5: 8aa799fff39b3dd7c36a7dd796890b66 +Source7: http://www.clamav.net/database/main.cvd +# Source7-md5: fb569320447dff5b22acdbec2dbc5772 +Source8: %{name}-post-updatedb +Source9: %{name}-milter.sysconfig Patch0: %{name}-pld_config.patch -Patch1: %{name}-oversize_zip.patch +Patch1: %{name}-no_auto_libwrap.patch URL: http://www.clamav.net/ BuildRequires: autoconf BuildRequires: automake -BuildRequires: zlib-devel BuildRequires: gmp-devel +%{?with_milter:BuildRequires: libwrap-devel} +%{?with_milter:BuildRequires: sendmail-devel >= 8.11} +BuildRequires: zlib-devel Requires(post,preun): /sbin/chkconfig +Requires: %{name}-libs = %{version}-%{release} Requires: bc BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description Clam Antivirus is a powerful anti-virus scanner for Unix. It supports -AMaViS, compressed files, uses the virus database from -OpenAntivirus.org, and includes a program for auto-updating. The +AMaViS, compressed files, on-access scanning and includes a program +for auto-updating with support for digital signatures. The virus +database has over 20000 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 -uniksowych. Wspiera on AMaViSa, skompresowane pliki, u¿ywa bazy -wirusów z OpenAntivirus.org, i posiada system automatycznej -aktualizacji. Skaner jest wielow±tkowy, napisany w C i zgodny z -POSIXem. +uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie +"on-access" i posiada system bezpiecznej, automatycznej aktualizacji. +Baza wirusów zawiera ponad 20000 sygnatur. Skaner jest wielow±tkowy, +napisany w C i zgodny z POSIXem. %package libs Summary: Shared libraries for clamav @@ -60,11 +65,27 @@ Shared libraries for clamav. %description libs -l pl Biblioteki dzielone clamav. +%if %{with milter} +%package milter +Summary: ClamAV filter using milter interface +Summary(pl): Filtr ClamAV korzystaj±cy z interfejsu milter +Group: Daemons +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: sendmail >= 8.11 +Requires: tcp_wrappers + +%description milter +ClamAV sendmail filter using MILTER interface. + +%description -l pl milter +Filtr ClamAV dla sendmaila korzystaj±cy z interfejsu MILTER. +%endif + %package devel Summary: clamav - Development header files and libraries Summary(pl): clamav - Pliki nag³ówkowe i biblioteki dla programistów Group: Development/Libraries -Requires: %{name}-libs = %{version} +Requires: %{name}-libs = %{version}-%{release} %description devel This package contains the development header files and libraries @@ -78,10 +99,10 @@ klienckich clamav. Summary: clamav static libraris Summary(pl): Biblioteki statyczne clamav Group: Development/Libraries -Requires: %{name}-devel = %{version} +Requires: %{name}-devel = %{version}-%{release} %description static -clamav static libraris. +clamav static libraries. %description static -l pl Biblioteki statyczne clamav. @@ -94,54 +115,58 @@ Version: %{version}.%{database_version} PreReq: %{name} %description database -Virus database for clamav (updated %{database_version}) +Virus database for clamav (updated %{database_version}). %description database -l pl -Bazy wirusów dla clamav (aktualizowana %{database_version}) +Bazy wirusów dla clamav (aktualizowana %{database_version}). %prep -%setup -q -a 3 +%setup -q %patch0 -p1 -%{!?_with_bigZIPOSDET:%patch1 -p1} +%patch1 -p1 %build -rm -f missing %{__aclocal} %{__autoconf} %{__automake} %configure \ --disable-clamav \ + %{?with_milter:--enable-milter} \ --with-dbdir=/var/lib/%{name} %{__make} -mv database/mirrors.txt{,.old} -echo clamav.sourceforge.net >database/mirrors.txt -cat database/mirrors.txt.old >>database/mirrors.txt %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \ +install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,logrotate.d} \ $RPM_BUILD_ROOT{%{_sysconfdir}/cron.d,%{_var}/log} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT +%{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*} cat <$RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name} 5 * * * * root %{_sbindir}/clamav-cron-updatedb EOF -touch $RPM_BUILD_ROOT%{_var}/log/%{name}.log - install %{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 +%endif install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd -install database/viruses.db* $RPM_BUILD_ROOT/var/lib/%{name}/ install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb -install etc/clamav.conf $RPM_BUILD_ROOT%{_sysconfdir}/ +install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir} +install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} +install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name} +install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name} +install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir} # NOTE: clamd uses sane rights to it's clamd.pid file # So better keep it dir # If it is fixed use of dir will be unecesary install -d $RPM_BUILD_ROOT%{_var}/run/%{name} -# touch $RPM_BUILD_ROOT%{_var}/run/%{name}/clamd.pid + +touch $RPM_BUILD_ROOT%{_var}/log/freshclam.log %clean rm -rf $RPM_BUILD_ROOT @@ -170,8 +195,7 @@ if [ $RESULT -eq 0 ]; then echo "adding clamav to amavis group GID=$AMAVIS" fi - -%pre +%pre if [ -n "`getgid clamav`" ]; then if [ "`getgid clamav`" != "43" ]; then echo "Warning: group clamav doesn't have gid=43. Correct this before installing clamav" 1>&2 @@ -192,13 +216,15 @@ else fi %post -touch %{_var}/log/%{name}.log && chmod 640 %{_var}/log/%{name}.log && chown clamav %{_var}/log/%{name}.log /sbin/chkconfig --add clamd if [ -f /var/lock/subsys/clamd ]; then /etc/rc.d/init.d/clamd restart >&2 else echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2 fi +touch %{_var}/log/freshclam.log +chown clamav:root %{_var}/log/freshclam.log +chmod 640 %{_var}/log/freshclam.log %preun if [ "$1" = "0" ]; then @@ -216,25 +242,59 @@ if [ "$1" = "0" ]; then /usr/sbin/groupdel clamav fi +%if %{with milter} +%post milter +/sbin/chkconfig --add clamav-milter +if [ -f /var/lock/subsys/clamav-milter ]; then + /etc/rc.d/init.d/clamd restart >&2 +else + echo "Run \"/etc/rc.d/init.d/clamav-milter start\" to start Clam Antivirus daemon." >&2 +fi + +%preun milter +if [ "$1" = "0" ]; then + if [ -f /var/lock/subsys/clamav-milter ]; then + /etc/rc.d/init.d/clamav-milter stop + fi + /sbin/chkconfig --del clamav-milter +fi +%endif %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig +%post database -p %{_sbindir}/%{name}-post-updatedb + %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog FAQ NEWS README TODO docs/html/ %attr(755,root,root) %{_bindir}/* %attr(755,root,root) %{_sbindir}/* %attr(755,clamav,root) %dir /var/lib/%{name} -%attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/mirrors.txt -%attr(640,clamav,root) %ghost %{_var}/log/%{name}.log +%attr(640,clamav,root) %ghost %{_var}/log/freshclam.log %attr(750,clamav,clamav) %dir %{_var}/run/%{name} -# %%attr(666,clamav,clamav) %%ghost %{_var}/run/%{name}/clamd.pid %attr(640,root,root) %{_sysconfdir}/cron.d/%{name} -%attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/*.conf +%attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/clamav.conf +%attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/freshclam.conf + %attr(754,root,root) /etc/rc.d/init.d/clamd %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/clamd -%{_mandir}/man?/* +%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/clamav +%{_mandir}/man[15]/* +%{_mandir}/man8/clamd* + +%if %{with milter} +%files milter +%defattr(644,root,root,755) +%config(noreplace) %{_sysconfdir}/sysconfig/clamav-milter +%attr(755,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 +#%{_sysconfdir}/log.d/conf/services/clamav-milter.conf +%attr(755,root,root) %{_sbindir}/clamav-milter +%{_mandir}/man8/clamav-milter.8* +%attr(700,clamav,clamav) /var/spool/clamav/ +%endif %files libs %defattr(644,root,root,755) @@ -245,6 +305,7 @@ fi %attr(755,root,root) %{_libdir}/lib*.so %{_libdir}/lib*.la %{_includedir}/*.h +%{_pkgconfigdir}/*.pc %files static %defattr(644,root,root,755) @@ -252,4 +313,4 @@ fi %files database %defattr(644,root,root,755) -%attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/*.db* +%attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/*.cvd