X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav.spec;h=abed590331ba7fcfeb4c3f2c5b219b30a8f738ec;hb=a38093656dd86d0dd80c15f620be82ff7779511d;hp=1a7d8f27de9df21decc9da591e893e3e0165185a;hpb=ef21d0fa4517af9fb25e66d6c6a5933fa12c22f4;p=packages%2Fclamav.git diff --git a/clamav.spec b/clamav.spec index 1a7d8f2..abed590 100644 --- a/clamav.spec +++ b/clamav.spec @@ -1,50 +1,78 @@ # TODO: # Make freshclam (script and daemon) - +# +# Conditional build: +%bcond_with milter # without milter subpackage +%bcond_with curl # without curl +# Summary: An anti-virus utility for Unix Summary(pl): Antywirusowe narzêdzie dla Uniksów Name: clamav -Version: 0.70 +Version: 0.80rc4 Release: 1 License: GPL Group: Applications Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz -# Source0-md5: 2599a2e6b06d1f8ca09fdef8bc17625c +# Source0-md5: 5c02d52c361f04098a9956478f8654a0 +# Source0-size: 2668125 Source1: %{name}.init Source2: %{name}.sysconfig +Source3: %{name}-milter.init Source4: %{name}-cron-updatedb Source5: %{name}.logrotate -# Remember to update date on each rebuild!! -%define database_version 20040420 -Source6: http://www.clamav.net/database/daily.cvd -# Source6-md5: 91fae748a9702545492d1a045db4c630 -Source7: http://www.clamav.net/database/main.cvd -# Source7-md5: e85d9a1c57005458c3208bf94a888706 +# Remember to update date after databases upgrade +%define database_version 20041016 +Source6: http://db.local.clamav.net/daily.cvd +# Source6-md5: 0407cabd808a894c5fdc6b4e79dff265 +# Source6-size: 100250 +Source7: http://db.local.clamav.net/main.cvd +# Source7-md5: f006a1f55722c2ff9d50e61cfb938bc7 +# Source7-size: 1284637 Source8: %{name}-post-updatedb +Source9: %{name}-milter.sysconfig Patch0: %{name}-pld_config.patch Patch1: %{name}-no_auto_libwrap.patch +Patch2: %{name}-nolibs.patch URL: http://www.clamav.net/ BuildRequires: autoconf BuildRequires: automake -BuildRequires: zlib-devel +%{?with_curl:BuildRequires: curl-devel} BuildRequires: gmp-devel +%{?with_curl:BuildRequires: libidn-devel} +%{?with_milter:BuildRequires: libwrap-devel} +BuildRequires: libtool +BuildRequires: rpmbuild(macros) >= 1.159 +%{?with_milter:BuildRequires: sendmail-devel >= 8.11} +BuildRequires: zlib-devel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(postun,pre): /usr/sbin/usermod Requires(post,preun): /sbin/chkconfig +Requires: /usr/sbin/usermod Requires: %{name}-libs = %{version}-%{release} Requires: bc +%{?with_curl:Requires: curl} +Provides: group(clamav) +Provides: user(clamav) 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 25000 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 25000 sygnatur. Skaner jest wielow±tkowy, +napisany w C i zgodny z POSIXem. %package libs Summary: Shared libraries for clamav @@ -57,11 +85,28 @@ Shared libraries for clamav. %description libs -l pl Biblioteki dzielone clamav. +%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. + %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}-%{release} +Requires: bzip2-devel +Requires: gmp-devel +Requires: zlib-devel %description devel This package contains the development header files and libraries @@ -100,36 +145,50 @@ Bazy wirus %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 + +# kill old libtool.m4 copy +head -n 489 acinclude.m4 > acinclude.m4.tmp +tail -n +4064 acinclude.m4 >> acinclude.m4.tmp +mv -f acinclude.m4.tmp acinclude.m4 %build +%{__libtoolize} %{__aclocal} %{__autoconf} +%{__autoheader} %{__automake} %configure \ --disable-clamav \ + %{?!with_curl:--without-libcurl} \ + %{?with_milter:--enable-milter} \ --with-dbdir=/var/lib/%{name} %{__make} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,logrotate.d} \ - $RPM_BUILD_ROOT{%{_sysconfdir}/cron.d,%{_var}/log} + $RPM_BUILD_ROOT{%{_sysconfdir}/cron.d,%{_var}/{log,spool/clamav}} %{__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 - 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 %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb -install etc/*.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 %{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 @@ -162,29 +221,33 @@ fi AMAVIS=$(/usr/bin/getgid amavis) RESULT=$? if [ $RESULT -eq 0 ]; then - /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null echo "adding clamav to amavis group GID=$AMAVIS" + /usr/sbin/usermod -G amavis clamav 1>&2 fi - -%pre -if [ -n "`getgid clamav`" ]; then - if [ "`getgid clamav`" != "43" ]; then +%pre +if [ -n "`/usr/bin/getgid clamav`" ]; then + if [ "`/usr/bin/getgid clamav`" != 43 ]; then echo "Warning: group clamav doesn't have gid=43. Correct this before installing clamav" 1>&2 exit 1 fi else echo "Adding group clamav GID=43" - /usr/sbin/groupadd -g 43 -r -f clamav + /usr/sbin/groupadd -g 43 clamav fi -if [ -n "`id -u clamav 2>/dev/null`" ]; then - if [ "`id -u clamav`" != "43" ]; then +if [ -n "`/bin/id -u clamav 2>/dev/null`" ]; then + if [ "`/bin/id -u clamav`" != 43 ]; then echo "Warning: user clamav doesn't have uid=43. Correct this before installing clamav" 1>&2 exit 1 fi else echo "Adding user clamav UID=43" - /usr/sbin/useradd -u 43 -r -d /tmp -s /bin/false -c "Clam Anti Virus Checker" -g clamav clamav 1>&2 + /usr/sbin/useradd -u 43 -d /tmp -s /bin/false \ + -c "Clam Anti Virus Checker" -g clamav clamav 1>&2 + if [ -n "`/usr/bin/getgid amavis`" ]; then + echo "adding clamav to amavis group" + /usr/sbin/usermod -G amavis clamav 1>&2 + fi fi %post @@ -208,12 +271,27 @@ fi %postun if [ "$1" = "0" ]; then - echo "Removing user clamav" - /usr/sbin/userdel clamav - echo "Removing group clamav" - /usr/sbin/groupdel clamav + %userremove clamav + %groupremove 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 @@ -222,20 +300,38 @@ fi %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,root,root) %{_bindir}/clamdscan +%attr(755,root,root) %{_bindir}/clamscan +%attr(755,root,root) %{_bindir}/freshclam +%attr(755,root,root) %{_bindir}/sigtool +%attr(755,root,root) %{_sbindir}/clamd +%attr(755,root,root) %{_sbindir}/clamav-cron-updatedb %attr(755,clamav,root) %dir /var/lib/%{name} %attr(640,clamav,root) %ghost %{_var}/log/freshclam.log %attr(750,clamav,clamav) %dir %{_var}/run/%{name} %attr(640,root,root) %{_sysconfdir}/cron.d/%{name} -%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/clamd.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 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/clamav -%{_mandir}/man?/* +%{_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) @@ -243,9 +339,11 @@ fi %files devel %defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/clamav-config %attr(755,root,root) %{_libdir}/lib*.so %{_libdir}/lib*.la %{_includedir}/*.h +%{_pkgconfigdir}/*.pc %files static %defattr(644,root,root,755) @@ -253,4 +351,5 @@ fi %files database %defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/clamav-post-updatedb %attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/*.cvd