X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav.spec;h=8ec51db43adfc5eea3625d5cdae9b307a25cec6b;hb=refs%2Ftags%2Fauto%2Fth%2Fclamav-0.101.0-4;hp=fefc61551582a2f9cdab661c2133820ec1322770;hpb=2f820fbc80055e48ff028c6b28f5ccdd85cece25;p=packages%2Fclamav.git diff --git a/clamav.spec b/clamav.spec index fefc615..8ec51db 100644 --- a/clamav.spec +++ b/clamav.spec @@ -3,22 +3,28 @@ # - restart amavis in triggers if group membership was modified? # # Conditional build: -%bcond_without milter # build without milter subpackage +%bcond_without milter # milter interface subpackage %if "%{pld_release}" == "ac" -%bcond_with llvm # build without llvm support +%bcond_with llvm # LLVM support %else -%bcond_without llvm # build without llvm support +%bcond_without llvm # LLVM support %endif +%bcond_without system_libmspack # system libmspack library +%bcond_with system_llvm # system LLVM (< 3.7) +%ifarch x32 +%undefine with_llvm +%endif Summary: An anti-virus utility for Unix Summary(pl.UTF-8): Narzędzie antywirusowe dla Uniksów Name: clamav -Version: 0.97.7 -Release: 1 +Version: 0.101.0 +Release: 4 License: GPL v2+ Group: Daemons -Source0: http://downloads.sourceforge.net/clamav/%{name}-%{version}.tar.gz -# Source0-md5: c6e6e333d8c9bd3785cbc6ec296c146f +#Source0Download: http://www.clamav.net/download +Source0: http://www.clamav.net/downloads/production/%{name}-%{version}.tar.gz +# Source0-md5: 47c36d13ac814b9e29ed6f5fc1691373 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}-milter.init @@ -27,25 +33,45 @@ Source5: %{name}.logrotate Source8: %{name}-post-updatedb Source9: %{name}-milter.sysconfig Source10: %{name}.tmpfiles +Source11: clamd.service +Source12: cronjob-clamav.timer +Source13: cronjob-clamav.service.in Patch0: %{name}-pld_config.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 +Patch7: %{name}-add-support-for-system-tomsfastmath.patch +Patch8: %{name}-headers.patch URL: http://www.clamav.net/ -BuildRequires: autoconf -BuildRequires: automake +BuildRequires: autoconf >= 2.59 +BuildRequires: automake >= 1:1.11 BuildRequires: bzip2-devel +BuildRequires: check-devel +BuildRequires: curl-devel BuildRequires: gmp-devel +BuildRequires: json-c-devel BuildRequires: libltdl-devel %{?with_milter:BuildRequires: libmilter-devel} -BuildRequires: libstdc++-devel +%{?with_system_libmspack:BuildRequires: libmspack-devel} +BuildRequires: libstdc++-devel >= 5:3.4 BuildRequires: libtool %{?with_milter:BuildRequires: libwrap-devel} -%{?with_llvm:BuildRequires: llvm-devel} +BuildRequires: libxml2-devel >= 2 +%{?with_llvm:%{?with_system_llvm:BuildRequires: llvm-devel < 3.7}} BuildRequires: ncurses-devel +BuildRequires: openssl-devel >= 0.9.8 +BuildRequires: pcre2-8-devel +BuildRequires: pkgconfig >= 1:0.16 BuildRequires: rpm >= 4.4.9-56 -BuildRequires: rpmbuild(macros) >= 1.514 -BuildRequires: zlib-devel +BuildRequires: rpmbuild(macros) >= 1.647 +BuildRequires: systemd-devel +BuildRequires: tomsfastmath-devel >= 0.13.1-2 +BuildRequires: zlib-devel >= 1.2.2 Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel @@ -54,11 +80,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: rc-scripts >= 0.4.1.23 Suggests: clamav-database +Suggests: cronjobs Provides: group(clamav) Provides: user(clamav) Conflicts: logrotate < 3.7-4 @@ -70,7 +99,7 @@ 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. +a form of shared library (available in clamav-libs). Here is a list of the main features: - command-line scanner @@ -79,7 +108,7 @@ Here is a list of the main features: - advanced database updater with support for scripted updates and digital signatures - virus scanner C library -- on-access scanning (Linux® and FreeBSD®) +- 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, @@ -92,16 +121,39 @@ Here is a list of the main features: 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 90000 sygnatur. Skaner jest wielowątkowy, -napisany w C i zgodny z POSIXem. +Clam AntiVirus to mające otwarte źródła narzędzie antywirusowe dla +systemów uniksowych, zaprojektowane szczególnie pod kątem skanowania +poczty elektronicznej na bramkach pocztowych. Udostępnia wiele +narzędzi, w tym elastycznego i skalowalnego, multiwątkowego demona, +skaner działający z linii poleceń oraz zaawansowane narzędzie do +automatycznej aktualizacji bazy danych. Główna część pakietu to +silnik antywirusowy dostępny w postaci biblioteki współdzielonej +(dostępnej w pakiecie clamav-libs). + +Lista podstawowych możliwości: +- skaner działający z linii poleceń +- szybki, wielowątkowy demon z obsługą skanowania przy odczycie +- interfejs milter dla sendmaila +- zaawansowane narzędzie do aktualizacji bazy danych z obsługą + aktualizacji oskryptowanych oraz podpisów cyfrowych +- biblioteka C skanera antywirusowego +- skanowanie przy odczycie (dla Linuksa i FreeBSD) +- baza danych wirusów aktualizowana wiele razy dziennie (liczba + sygnatur dostępna na stronie projektu) +- wbudowana obsługa różnych formatów archiwów, w tym Zip, RAR, Tar, + Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS i inne +- wbudowana obsługa prawie wszystkich formatów plików pocztowych +- wbudowana obsługa plików wykonywalnych ELF i PE skompresowanych + programami UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack oraz + zaciemnionych przy użyciu programów SUE, Y0da Cryptor i innych +- wbudowana obsługa popularnych formatów dokumentów, w tym plików MS + Office, MacOffice, HTML, RTF i PDF %package libs Summary: Shared libraries for clamav Summary(pl.UTF-8): Biblioteki dzielone clamav Group: Libraries +Requires: zlib >= 1.2.2 %description libs Shared libraries for clamav. @@ -130,8 +182,10 @@ 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: zlib-devel +Requires: openssl-devel >= 0.9.8 +Requires: zlib-devel >= 1.2.2 %description devel This package contains the development header files and libraries @@ -157,12 +211,21 @@ Biblioteki statyczne clamav. %setup -q %patch0 -p1 %patch1 -p1 +%if "%{pld_release}" == "ac" %patch2 -p1 +%endif +%if "%{pld_release}" != "ac" %patch3 -p1 +%endif +#%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 %build -# automake 1.12+ needs configure.ac not .in -mv configure.{in,ac} +export CFLAGS="%{rpmcflags} -Wall -W -Wmissing-prototypes -Wmissing-declarations -std=gnu99" +export CXXFLAGS="%{rpmcxxflags} -std=gnu++98" %{__libtoolize} %{__aclocal} -I m4 %{__autoconf} @@ -170,11 +233,16 @@ mv configure.{in,ac} %{__automake} %configure \ --disable-clamav \ + --enable-clamdtop \ + %{?with_llvm:--enable-llvm %{!?with_system_llvm:--with-system-llvm=no}} \ %{?with_milter:--enable-milter} \ + --disable-silent-rules \ + --disable-zlib-vcheck \ --with-dbdir=/var/lib/%{name} \ - --with-no-cache \ --with-ltdl-include=%{_includedir} \ - --with-ltdl-lib=%{_libdir} + --with-ltdl-lib=%{_libdir} \ + --with-no-cache \ + %{?with_system_libmspack:--with-system-libmspack} %{__make} \ LIBTOOL=%{_bindir}/libtool @@ -183,7 +251,8 @@ mv configure.{in,ac} 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,lib/clamav} \ - $RPM_BUILD_ROOT%{systemdtmpfilesdir} + $RPM_BUILD_ROOT%{systemdtmpfilesdir} \ + $RPM_BUILD_ROOT%{systemdunitdir} %{__make} install \ LIBTOOL=%{_bindir}/libtool \ @@ -201,15 +270,18 @@ cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter %endif cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb -cp -p etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir} +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 +cp -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf -# Not packaged/installed anymore, but we want it ghosted -touch $RPM_BUILD_ROOT/var/lib/clamav/{daily,main}.cvd +cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir} +cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/cronjob-%{name}.timer +sed -e's#@sbindir@#%{_sbindir}#' < %{SOURCE13} > $RPM_BUILD_ROOT%{systemdunitdir}/cronjob-%{name}.service # NOTE: clamd uses sane rights to it's clamd.pid file # So better keep it dir @@ -240,18 +312,21 @@ rm -rf $RPM_BUILD_ROOT touch /var/log/freshclam.log chown clamav:root /var/log/freshclam.log chmod 640 /var/log/freshclam.log +%systemd_post clamd.service cronjob-clamav.timer %preun if [ "$1" = "0" ]; then %service clamd stop /sbin/chkconfig --del clamd fi +%systemd_preun clamd.service cronjob-clamav.timer %postun if [ "$1" = "0" ]; then %userremove clamav %groupremove clamav fi +%systemd_reload %triggerpostun -- %{name} < 0.80 if [ -f /etc/clamav.conf.rpmsave ]; then @@ -284,6 +359,12 @@ EOF touch /var/lock/subsys/clamd %service -q clamd restart +%triggerpostun -- %{name} < 0.97.7-4 +%systemd_trigger clamd.service + +%triggerpostun -- %{name} < 0.99.2-2 +%systemd_service_enable cronjob-clamav.timer + %post milter /sbin/chkconfig --add clamav-milter %service clamav-milter restart "Clam Antivirus daemon" @@ -299,11 +380,12 @@ fi %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog FAQ NEWS README docs/*.pdf +%doc ChangeLog.md NEWS.md README.md %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 @@ -311,8 +393,13 @@ fi %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb %attr(755,root,root) %{_sbindir}/clamav-post-updatedb %{systemdtmpfilesdir}/%{name}.conf +%{systemdunitdir}/clamav-daemon.service +%{systemdunitdir}/clamav-daemon.socket +%{systemdunitdir}/clamav-freshclam.service +%{systemdunitdir}/clamd.service +%{systemdunitdir}/cronjob-clamav.service +%{systemdunitdir}/cronjob-clamav.timer %attr(755,clamav,root) %dir /var/lib/%{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} @@ -323,7 +410,9 @@ fi %attr(754,root,root) /etc/rc.d/init.d/clamd %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamd %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/clamav -%{_mandir}/man[15]/* +%{_mandir}/man1/* +%{_mandir}/man5/clamd* +%{_mandir}/man5/freshclam* %{_mandir}/man8/clamd* %if %{with milter} @@ -336,25 +425,51 @@ fi #%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}/man5/clamav-milter* %{_mandir}/man8/clamav-milter.8* %attr(700,clamav,clamav) /var/spool/clamav %endif %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 +%attr(755,root,root) %{_libdir}/libclamav.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libclamav.so.9 +%if %{without system_libmspack} +%attr(755,root,root) %{_libdir}/libclammspack.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libclammspack.so.0 +%endif +%attr(755,root,root) %{_libdir}/libclamunrar.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.9 +%attr(755,root,root) %{_libdir}/libclamunrar_iface.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.9 %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 +%if %{without system_libmspack} +%attr(755,root,root) %{_libdir}/libclammspack.so +%endif +%attr(755,root,root) %{_libdir}/libclamunrar.so +%attr(755,root,root) %{_libdir}/libclamunrar_iface.so +%{_libdir}/libclamav.la +%if %{without system_libmspack} +%{_libdir}/libclammspack.la +%endif +%{_libdir}/libclamunrar.la +%{_libdir}/libclamunrar_iface.la +%dir %{_includedir}/clamav +%{_includedir}/clamav/clamav.h +%{_includedir}/clamav/clamav-config.h +%{_includedir}/clamav/cltypes.h +%{_includedir}/clamav/platform.h +%{_pkgconfigdir}/libclamav.pc %files static %defattr(644,root,root,755) -%{_libdir}/*.a +%{_libdir}/libclamav.a +%if %{without system_libmspack} +%{_libdir}/libclammspack.a +%endif +%{_libdir}/libclamunrar.a +%{_libdir}/libclamunrar_iface.a