X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav.spec;h=e95c530b104e67e75af1c220115fafdde8490e28;hb=32b1d1ee3a842ed5b2fc0b1b75cbfd1693b20899;hp=d58709ebfa001ca35d17d823fd13a99056988c85;hpb=70c0c5a51a749c2f87869ed01c098dacc9fdd9c8;p=packages%2Fclamav.git diff --git a/clamav.spec b/clamav.spec index d58709e..e95c530 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 -# +%bcond_without milter # milter interface subpackage +%if "%{pld_release}" == "ac" +%bcond_with llvm # LLVM support +%else +%bcond_without llvm # LLVM support +%endif + Summary: An anti-virus utility for Unix Summary(pl.UTF-8): Narzędzie antywirusowe dla Uniksów Name: clamav -Version: 0.93 +Version: 0.98.1 Release: 2 -Epoch: 0 License: GPL v2+ -Group: Applications -Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz -# Source0-md5: 72ed6f4706858e72f24dda8a591df0da +Group: Daemons +Source0: http://downloads.sourceforge.net/clamav/%{name}-%{version}.tar.gz +# Source0-md5: b1ec7b19dea8385954515ef1d63576d8 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}-milter.init @@ -22,21 +26,28 @@ Source4: %{name}-cron-updatedb Source5: %{name}.logrotate Source8: %{name}-post-updatedb Source9: %{name}-milter.sysconfig +Source10: %{name}.tmpfiles +Source11: clamd.service Patch0: %{name}-pld_config.patch -Patch1: %{name}-no_auto_libwrap.patch -Patch2: %{name}-nolibs.patch -Patch3: %{name}-find_milter.patch -Patch4: %{name}-valid_pp_exp.patch +Patch1: %{name}-nolibs.patch +Patch2: am-nosilentrules.patch +Patch3: ac2.68.patch +Patch4: %{name}-notify-error.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 +BuildRequires: llvm-devel %{?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.647 BuildRequires: zlib-devel Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel @@ -46,11 +57,13 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd +Requires(post,preun,postun): systemd-units >= 38 +Requires: systemd-units >= 38 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 @@ -106,7 +119,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 @@ -159,18 +173,27 @@ Biblioteki statyczne clamav. %{__autoheader} %{__automake} %configure \ + --disable-silent-rules \ --disable-clamav \ - %{!?with_curl:--without-libcurl} \ + --enable-clamdtop \ %{?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} \ + $RPM_BUILD_ROOT%{systemdunitdir} %{__make} install \ + LIBTOOL=%{_bindir}/libtool \ DESTDIR=$RPM_BUILD_ROOT %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*} @@ -178,17 +201,23 @@ 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 +for i in $RPM_BUILD_ROOT%{_sysconfdir}/*.conf.sample; do + mv $i ${i%%.sample} +done +cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} + +install -p %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir} + +install %{SOURCE10} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf -install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir} +install %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir} # NOTE: clamd uses sane rights to it's clamd.pid file # So better keep it dir @@ -201,58 +230,39 @@ 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" touch /var/log/freshclam.log chown clamav:root /var/log/freshclam.log chmod 640 /var/log/freshclam.log +%systemd_post clamd.service %preun if [ "$1" = "0" ]; then %service clamd stop /sbin/chkconfig --del clamd fi +%systemd_preun clamd.service %postun if [ "$1" = "0" ]; then %userremove clamav %groupremove clamav fi +%systemd_reload %triggerpostun -- %{name} < 0.80 if [ -f /etc/clamav.conf.rpmsave ]; then @@ -285,6 +295,9 @@ EOF touch /var/lock/subsys/clamd %service -q clamd restart +%triggerpostun -- %{name} < 0.97.7-4 +%systemd_trigger clamd.service + %post milter /sbin/chkconfig --add clamav-milter %service clamav-milter restart "Clam Antivirus daemon" @@ -301,7 +314,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 @@ -309,8 +324,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 +%{systemdunitdir}/clamd.service %attr(755,clamav,root) %dir /var/lib/%{name} -%ghost %attr(644,clamav,root) %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} @@ -328,6 +344,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 @@ -339,19 +356,27 @@ fi %files libs %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/lib*.so.*.* -%attr(755,root,root) %ghost %{_libdir}/libclamav.so.4 -%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.4 -%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.4 +%attr(755,root,root) %{_libdir}/libclamav.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libclamav.so.6 +%attr(755,root,root) %{_libdir}/libclamunrar.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.6 +%attr(755,root,root) %{_libdir}/libclamunrar_iface.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.6 %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 +%attr(755,root,root) %{_libdir}/libclamav.so +%attr(755,root,root) %{_libdir}/libclamunrar.so +%attr(755,root,root) %{_libdir}/libclamunrar_iface.so +%{_libdir}/libclamav.la +%{_libdir}/libclamunrar.la +%{_libdir}/libclamunrar_iface.la +%{_includedir}/clamav.h +%{_pkgconfigdir}/libclamav.pc %files static %defattr(644,root,root,755) -%{_libdir}/*.a +%{_libdir}/libclamav.a +%{_libdir}/libclamunrar.a +%{_libdir}/libclamunrar_iface.a