]> git.pld-linux.org Git - packages/clamav.git/blobdiff - clamav.spec
C++ compiler too old (3.3.6)
[packages/clamav.git] / clamav.spec
index 9e56e308cf4ca23de10d1cd42d57596998e9db87..70ec0c65c357771c48c9a51d76f17a9da7bac0ed 100644 (file)
@@ -1,20 +1,30 @@
 # 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
+
+%ifarch x32
+%undefine with_llvm
+%endif
+
+%bcond_with    system_llvm
+
 Summary:       An anti-virus utility for Unix
 Summary(pl.UTF-8):     Narzędzie antywirusowe dla Uniksów
 Name:          clamav
-Version:       0.94
+Version:       0.99.1
 Release:       1
-Epoch:         0
 License:       GPL v2+
-Group:         Applications
-Source0:       http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
-# Source0-md5: d3f6d5fff2db81950491749166ab0ffa
+Group:         Daemons
+Source0:       http://downloads.sourceforge.net/clamav/%{name}-%{version}.tar.gz
+# Source0-md5: cf1f3cbe62a08c9165801f79239166ff
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
 Source3:       %{name}-milter.init
@@ -22,21 +32,33 @@ 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
+%if "%{pld_release}" == "ac"
+Patch2:                am-nosilentrules.patch
+%endif
+Patch3:                ac2.68.patch
+Patch4:                %{name}-openssl.patch
+Patch5:                %{name}-major.patch
+Patch6:                x32.patch
 URL:           http://www.clamav.net/
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: bzip2-devel
-%{?with_curl:BuildRequires:    curl-devel}
+BuildRequires: curl-devel
 BuildRequires: gmp-devel
+BuildRequires: libltdl-devel
 %{?with_milter:BuildRequires:  libmilter-devel}
+BuildRequires: libstdc++-devel >= 6:3.4
 BuildRequires: libtool
 %{?with_milter:BuildRequires:  libwrap-devel}
-BuildRequires: rpmbuild(macros) >= 1.268
+%{?with_llvm:%{?with_system_llvm:BuildRequires:        llvm-devel < 3.7}}
+BuildRequires: ncurses-devel
+BuildRequires: openssl-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 +68,14 @@ 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
+Suggests:      crondaemon
 Provides:      group(clamav)
 Provides:      user(clamav)
 Conflicts:     logrotate < 3.7-4
@@ -106,7 +131,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
@@ -121,7 +147,9 @@ 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
+Requires:      curl-devel
 Requires:      gmp-devel
+Requires:      openssl-devel
 Requires:      zlib-devel
 
 %description devel
@@ -148,9 +176,15 @@ Biblioteki statyczne clamav.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%if "%{pld_release}" == "ac"
 %patch2 -p1
+%endif
+%if "%{pld_release}" != "ac"
 %patch3 -p1
-%patch4 -p1
+%endif
+#%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
 %build
 %{__libtoolize}
@@ -159,18 +193,28 @@ Biblioteki statyczne clamav.
 %{__autoheader}
 %{__automake}
 %configure \
+       --disable-silent-rules \
        --disable-clamav \
-       %{!?with_curl:--without-libcurl} \
+       --enable-clamdtop \
+       %{?with_llvm:--enable-llvm %{?with_system_llvm:--with-system-llvm}} \
        %{?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 +222,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}
+
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
 
-install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
+cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}
 
 # NOTE: clamd uses sane rights to it's clamd.pid file
 # So better keep it dir
@@ -201,58 +251,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 +316,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,16 +335,20 @@ 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}/clamsubmit
 %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
+%{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 +366,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 +378,27 @@ fi
 
 %files libs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclamav.so.5
-%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.5
-%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.5
+%attr(755,root,root) %{_libdir}/libclamav.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclamav.so.7
+%attr(755,root,root) %{_libdir}/libclamunrar.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.7
+%attr(755,root,root) %{_libdir}/libclamunrar_iface.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.7
 
 %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
This page took 0.213958 seconds and 4 git commands to generate.