]> git.pld-linux.org Git - packages/clamav.git/blobdiff - clamav.spec
- include *.pc file
[packages/clamav.git] / clamav.spec
index 07ff9f93eccb46128c264ce5d4af042aefe60877..4ddadd3125335fa5a5843c0fa1dfc71b5288c325 100644 (file)
@@ -1,24 +1,36 @@
-%define                database_version 20030207
+# TODO:
+#   Make freshclam (script and daemon)
+
 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.54
-Release:       4
+Version:       0.73
+Release:       2
 License:       GPL
 Group:         Applications
-Source0:       http://clamav.elektrapro.com/stable/%{name}-%{version}.tar.gz
-# Source0-md5: 1c2e2adffe9ed4d15fe2167dd7bad591
+Source0:       http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
+# Source0-md5: e96f007e9156b41b5f07707e3b004465
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
-# gziped from http://clamav.elektrapro.com/database/:
-Source3:       %{name}-database-%{database_version}.tar.gz
-# Source3-md5: 441127dddf4eb9e4bec578455b99e9b2
-URL:           http://clamav.elektrapro.com/
-Requires:      %{name}-database
+Source4:       %{name}-cron-updatedb
+Source5:       %{name}.logrotate
+# Remember to update date after databases upgrade
+%define                database_version        20040613
+Source6:       http://www.clamav.net/database/daily.cvd
+# Source6-md5: f8c58b7b570703aac71395a61a6a9f07
+Source7:       http://www.clamav.net/database/main.cvd
+# Source7-md5: 937f22844dd8dc7e75604a7c0939ad73
+Source8:       %{name}-post-updatedb
+Patch0:                %{name}-pld_config.patch
+Patch1:                %{name}-no_auto_libwrap.patch
+URL:           http://www.clamav.net/
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: zlib-devel
+BuildRequires: gmp-devel
 Requires(post,preun):  /sbin/chkconfig
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      bc
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -49,7 +61,7 @@ Biblioteki dzielone clamav.
 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
@@ -60,13 +72,13 @@ Pliki nag
 klienckich clamav.
 
 %package static
-Summary:       clamav staic libraris
+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.
@@ -76,19 +88,20 @@ Summary:    Virus database for clamav
 Summary(pl):   Bazy wirusów dla clamav
 Group:         Applications
 Version:       %{version}.%{database_version}
-Requires:      %{name}
+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
+%patch1 -p1
 
 %build
-rm -f missing
 %{__aclocal}
 %{__autoconf}
 %{__automake}
@@ -99,55 +112,91 @@ rm -f missing
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig}
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/cron.daily,%{_var}/log}
+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
 
-cat <<EOF >$RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/%{name}
-#!/bin/sh
-umask 022
-%{_bindir}/freshclam --quiet -l %{_var}/log/%{name}.log --daemon-notify
+cat <<EOF >$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
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
-install etc/clamav.conf $RPM_BUILD_ROOT%{_sysconfdir}/
+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}
+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}/log/freshclam.log
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%pre
+%triggerin -- amavis-ng
+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"
+fi
+
+%triggerin -- amavisd-new
+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"
+fi
+
+%triggerin -- amavisd
+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"
+fi
+
+
+%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
-                exit 1
-        fi
+       if [ "`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
+       echo "Adding group clamav GID=43"
+       /usr/sbin/groupadd -g 43 -r -f clamav
 fi
 if [ -n "`id -u clamav 2>/dev/null`" ]; then
-       if [ "`id -u clamav`" != "43" ]; then
-               echo "Warning: user clamav doesn't have uid=43. Correct this before installing clamav" 1>&2
-               exit 1
-       fi
+       if [ "`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
+       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
 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
@@ -159,14 +208,16 @@ fi
 
 %postun
 if [ "$1" = "0" ]; then
-       echo "Removing user clamav"
-       /usr/sbin/userdel clamav
-       echo "Removing group clamav"
-       /usr/sbin/groupdel clamav
+       echo "Removing user clamav"
+       /usr/sbin/userdel clamav
+       echo "Removing group clamav"
+       /usr/sbin/groupdel clamav
 fi
 
-%post   libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
+
+%post  database -p %{_sbindir}/%{name}-post-updatedb
 
 %files
 %defattr(644,root,root,755)
@@ -174,11 +225,16 @@ fi
 %attr(755,root,root) %{_bindir}/*
 %attr(755,root,root) %{_sbindir}/*
 %attr(755,clamav,root) %dir /var/lib/%{name}
-%attr(640,clamav,root) %ghost %{_var}/log/%{name}.log
-%attr(750,root,root) %{_sysconfdir}/cron.daily/%{name}
-%attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/*.conf
+%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/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?/*
 
 %files libs
@@ -190,6 +246,7 @@ fi
 %attr(755,root,root) %{_libdir}/lib*.so
 %{_libdir}/lib*.la
 %{_includedir}/*.h
+%{_pkgconfigdir}/*.pc
 
 %files static
 %defattr(644,root,root,755)
@@ -197,4 +254,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
This page took 0.17786 seconds and 4 git commands to generate.