X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav.spec;h=452b83f59ecc21fa5b96e4083148084f3bb9848a;hb=c3cae60de1455227f0e4b983b0e048f251b314d1;hp=019fa5805d44e2cd2c48ca51f1e2abf784c85d05;hpb=109cd95d1b4af48502dbcbafc80b118cf453158a;p=packages%2Fclamav.git diff --git a/clamav.spec b/clamav.spec index 019fa58..452b83f 100644 --- a/clamav.spec +++ b/clamav.spec @@ -1,109 +1,126 @@ # TODO: -# Make freshclam (script and daemon) +# - 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_without database # build without databases subpackage -%bcond_with curl # enable curl support # 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.87 -Release: 2 +Version: 0.96.1 +Release: 1 Epoch: 0 -License: GPL -Group: Applications -Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz -# Source0-md5: dd0a12deb4f48f760fa1fcd378ae7c24 +License: GPL v2+ +Group: Daemons +Source0: http://downloads.sourceforge.net/clamav/0.96rc1/%{name}-%{version}.tar.gz +# Source0-md5: 38e7870db6e9ad0e569518499a6f3651 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}-milter.init Source4: %{name}-cron-updatedb Source5: %{name}.logrotate -%if %{with database} -# Remember to update date after databases upgrade -%define database_version 20050916 -Source6: http://db.local.clamav.net/daily.cvd -# Source6-md5: b76ba65cebc388f102335594524a89f7 -Source7: http://db.local.clamav.net/main.cvd -# Source7-md5: e9a5fcea0ad22ca0cbb3beb1ebcdf893 Source8: %{name}-post-updatedb -%endif # database Source9: %{name}-milter.sysconfig Patch0: %{name}-pld_config.patch -Patch1: %{name}-no_auto_libwrap.patch -Patch2: %{name}-nolibs.patch +Patch1: %{name}-nolibs.patch +Patch2: am-nosilentrules.patch URL: http://www.clamav.net/ BuildRequires: autoconf BuildRequires: automake BuildRequires: bzip2-devel -%{?with_curl:BuildRequires: curl-devel} BuildRequires: gmp-devel -%{?with_milter:BuildRequires: libwrap-devel} +BuildRequires: libltdl-devel +%{?with_milter:BuildRequires: libmilter-devel} +BuildRequires: libstdc++-devel BuildRequires: libtool -BuildRequires: rpmbuild(macros) >= 1.202 -%{?with_milter:BuildRequires: sendmail-devel >= 8.11} +%{?with_milter:BuildRequires: libwrap-devel} +BuildRequires: ncurses-devel +BuildRequires: rpmbuild(macros) >= 1.514 BuildRequires: zlib-devel +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(postun,pre): /usr/sbin/usermod 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(triggerpostun): sed >= 4.0 -Requires: /usr/sbin/usermod Requires: %{name}-libs = %{epoch}:%{version}-%{release} -Requires: bc -Requires: rc-scripts +Requires: /usr/sbin/usermod +Requires: rc-scripts >= 0.4.1.23 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 34000 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 34000 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} +%if "%{pld_release}" == "ti" +Requires: postfix +%else Requires: sendmail >= 8.11 +%endif 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 @@ -114,58 +131,44 @@ 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 libraris -Summary(pl): Biblioteki statyczne clamav +Summary: clamav static libraries +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. -%package database -Summary: Virus database for clamav -Summary(pl): Bazy wirusów dla clamav -Group: Applications -Version: %{version}.%{database_version} -PreReq: %{name} - -%description database -Virus database for clamav (updated %{database_version}). - -%description database -l pl -Bazy wirusów dla clamav (aktualizowana %{database_version}). - %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 -# 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 - %build %{__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=/usr/include \ + --with-ltdl-lib=%{_libdir} + +%{__make} \ + LIBTOOL=/usr/bin/libtool %install rm -rf $RPM_BUILD_ROOT @@ -173,10 +176,11 @@ install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig} \ $RPM_BUILD_ROOT%{_var}/{log,spool/clamav} %{__make} install \ + LIBTOOL=/usr/bin/libtool \ DESTDIR=$RPM_BUILD_ROOT %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*} -cat <$RPM_BUILD_ROOT/etc/cron.d/%{name} +cat <<'EOF' >$RPM_BUILD_ROOT/etc/cron.d/%{name} 5 * * * * root %{_sbindir}/clamav-cron-updatedb EOF @@ -190,75 +194,41 @@ 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} -%if %{with database} -install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name} -install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name} install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir} -%else -rm -f $RPM_BUILD_ROOT/var/lib/%{name}/{main,daily}.cvd -%endif # 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} +install -d $RPM_BUILD_ROOT/var/run/%{name} -:> $RPM_BUILD_ROOT%{_var}/log/freshclam.log +:> $RPM_BUILD_ROOT/var/log/freshclam.log %clean 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 -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 +%service clamd restart "Clam Antivirus daemon" +touch /var/log/freshclam.log +chown clamav:root /var/log/freshclam.log +chmod 640 /var/log/freshclam.log %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/clamd ]; then - /etc/rc.d/init.d/clamd stop - fi + %service clamd stop /sbin/chkconfig --del clamd fi @@ -268,51 +238,69 @@ 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 mv -f /etc/clamav.conf.rpmsave /etc/clamd.conf echo "Changing config location in freshclam config" - sed -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf + %{__sed} -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf fi -%if %{with milter} +%triggerpostun -- %{name} < 0.90-0.rc2.0.10 +%{__cp} -f /etc/clamd.conf{,.rpmsave} +%{__sed} -i -e ' + s,^LogSyslog$,& yes, + s,^FixStaleSocket$,& yes, + s,^AllowSupplementaryGroups$,& yes, + s,^ClamukoScanOnOpen$,& yes, + s,^ClamukoScanOnClose$,& yes, + s,^ClamukoScanOnExec$,& yes, + s,^LogTime$,& yes, + s,^ScanPE$,& yes, +' /etc/clamd.conf +%banner -e %{name}-0.90 <&2 -else - echo "Run \"/etc/rc.d/init.d/clamav-milter start\" to start Clam Antivirus daemon." >&2 -fi +%service clamav-milter restart "Clam Antivirus daemon" %preun milter if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/clamav-milter ]; then - /etc/rc.d/init.d/clamav-milter stop - fi + %service clamav-milter stop /sbin/chkconfig --del clamav-milter fi -%endif + %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig -%{?with_database:%post database -p %{_sbindir}/%{name}-post-updatedb} - %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog FAQ NEWS README TODO docs/*.pdf +%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 +%attr(755,root,root) %{_bindir}/clamconf %attr(755,root,root) %{_sbindir}/clamd %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb +%attr(755,root,root) %{_sbindir}/clamav-post-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(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} -%attr(640,root,root) %{_sysconfdir}/cron.d/%{name} +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/clamd.conf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/freshclam.conf @@ -326,6 +314,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) /etc/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 @@ -338,6 +327,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) @@ -350,10 +342,3 @@ fi %files static %defattr(644,root,root,755) %{_libdir}/*.a - -%if %{with database} -%files database -%defattr(644,root,root,755) -%attr(755,root,root) %{_sbindir}/clamav-post-updatedb -%attr(644,clamav,root) %verify(not md5 mtime size) /var/lib/%{name}/*.cvd -%endif # database