]> git.pld-linux.org Git - packages/clamav.git/blame - clamav.spec
skip ac2.68 patch on ac
[packages/clamav.git] / clamav.spec
CommitLineData
c935072a 1# TODO:
c8321415 2# - Make freshclam package (script and daemon)
d06ef0ed 3# - restart amavis in triggers if group membership was modified?
eba74cc1 4#
5# Conditional build:
418bf14a 6%bcond_without milter # milter interface subpackage
9279da12 7%if "%{pld_release}" == "ac"
418bf14a 8%bcond_with llvm # LLVM support
9279da12 9%else
418bf14a 10%bcond_without llvm # LLVM support
9279da12 11%endif
df7c34e3 12
b014d766 13Summary: An anti-virus utility for Unix
8618c36b 14Summary(pl.UTF-8): Narzędzie antywirusowe dla Uniksów
e6c034d3 15Name: clamav
e335899e 16Version: 0.98.3
e1b3dbcb 17Release: 3
c81b4cf4 18License: GPL v2+
c3cae60d 19Group: Daemons
2d82c59b 20Source0: http://downloads.sourceforge.net/clamav/%{name}-%{version}.tar.gz
e335899e 21# Source0-md5: b649d35ee85d4d6075a98173dd255c17
4460ff0b
AM
22Source1: %{name}.init
23Source2: %{name}.sysconfig
eba74cc1 24Source3: %{name}-milter.init
719d471d 25Source4: %{name}-cron-updatedb
4a3f68d7 26Source5: %{name}.logrotate
3e84b306 27Source8: %{name}-post-updatedb
eba74cc1 28Source9: %{name}-milter.sysconfig
24adbaa3 29Source10: %{name}.tmpfiles
09a96373 30Source11: clamd.service
1475e7a3 31Patch0: %{name}-pld_config.patch
40002522 32Patch1: %{name}-nolibs.patch
e335899e 33%if "%{pld_release}" == "ac"
453ff8b1 34Patch2: am-nosilentrules.patch
e335899e 35%endif
1337bca5 36Patch3: ac2.68.patch
d03f44fa 37Patch4: %{name}-openssl.patch
e1b3dbcb 38Patch5: %{name}-major.patch
182b1736 39URL: http://www.clamav.net/
e6c034d3 40BuildRequires: autoconf
41BuildRequires: automake
bc21dbca 42BuildRequires: bzip2-devel
e335899e 43BuildRequires: curl-devel
73b401c8 44BuildRequires: gmp-devel
bda09b13 45BuildRequires: libltdl-devel
9d42dc39 46%{?with_milter:BuildRequires: libmilter-devel}
75268608 47BuildRequires: libstdc++-devel
2d1a6e1f 48BuildRequires: libtool
dd6d36d5 49%{?with_milter:BuildRequires: libwrap-devel}
9279da12 50%{?with_llvm:BuildRequires: llvm-devel}
75268608 51BuildRequires: ncurses-devel
e335899e 52BuildRequires: openssl-devel
9279da12 53BuildRequires: rpm >= 4.4.9-56
09a96373 54BuildRequires: rpmbuild(macros) >= 1.647
e278889f 55BuildRequires: zlib-devel
dd6d36d5
ER
56Requires(post,preun): /sbin/chkconfig
57Requires(postun): /usr/sbin/groupdel
58Requires(postun): /usr/sbin/userdel
59Requires(postun,pre): /usr/sbin/usermod
0e86f481 60Requires(pre): /bin/id
49797116 61Requires(pre): /usr/bin/getgid
62Requires(pre): /usr/sbin/groupadd
63Requires(pre): /usr/sbin/useradd
28e95a65
ŁK
64Requires(post,preun,postun): systemd-units >= 38
65Requires: systemd-units >= 38
d985d248 66Requires(triggerpostun): sed >= 4.0
d4117574 67Requires: %{name}-libs = %{epoch}:%{version}-%{release}
dd6d36d5 68Requires: /usr/sbin/usermod
f40f9e2f 69Requires: rc-scripts >= 0.4.1.23
6475233d 70Suggests: clamav-database
b1b5a5c9 71Suggests: crondaemon
49797116 72Provides: group(clamav)
73Provides: user(clamav)
d0ecd394 74Conflicts: logrotate < 3.7-4
e6c034d3 75BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76
e6c034d3 77%description
066e1c29
ER
78Clam AntiVirus is an open source anti-virus toolkit for UNIX, designed
79especially for e-mail scanning on mail gateways. It provides a number
80of utilities including a flexible and scalable multi-threaded daemon,
81a command line scanner and advanced tool for automatic database
82updates. The core of the package is an anti-virus engine available in
83a form of shared library.
84
85Here is a list of the main features:
86- command-line scanner
87- fast, multi-threaded daemon with support for on-access scanning
88- milter interface for sendmail
89- advanced database updater with support for scripted updates and
90 digital signatures
91- virus scanner C library
8618c36b 92- on-access scanning (Linux® and FreeBSD®)
066e1c29
ER
93- virus database updated multiple times per day (see home page for
94 total number of signatures)
95- built-in support for various archive formats, including Zip, RAR,
96 Tar, Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS and others
97- built-in support for almost all mail file formats
98- built-in support for ELF executables and Portable Executable files
99 compressed with UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack and
100 obfuscated with SUE, Y0da Cryptor and others
101- built-in support for popular document formats including MS Office
102 and MacOffice files, HTML, RTF and PDF
e6c034d3 103
d8cf2de3 104%description -l pl.UTF-8
8618c36b 105Clam Antivirus jest potężnym skanerem antywirusowym dla systemów
eba74cc1 106uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie
107"on-access" i posiada system bezpiecznej, automatycznej aktualizacji.
8618c36b 108Baza wirusów zawiera ponad 90000 sygnatur. Skaner jest wielowątkowy,
ba45f729 109napisany w C i zgodny z POSIXem.
e6c034d3 110
4460ff0b 111%package libs
f98d218a 112Summary: Shared libraries for clamav
da5aee7a 113Summary(pl.UTF-8): Biblioteki dzielone clamav
f98d218a 114Group: Libraries
4460ff0b
AM
115
116%description libs
117Shared libraries for clamav.
118
d8cf2de3 119%description libs -l pl.UTF-8
4460ff0b
AM
120Biblioteki dzielone clamav.
121
486b4f0f
JB
122%package milter
123Summary: ClamAV filter using milter interface
8618c36b 124Summary(pl.UTF-8): Filtr ClamAV korzystający z interfejsu milter
eba74cc1 125Group: Daemons
d4117574 126Requires: %{name} = %{epoch}:%{version}-%{release}
893a866a 127Requires: postfix
7c438a38 128#Requires: sendmail >= 8.11
eba74cc1 129Requires: tcp_wrappers
eba74cc1 130
131%description milter
132ClamAV sendmail filter using MILTER interface.
133
d8cf2de3 134%description milter -l pl.UTF-8
8618c36b 135Filtr ClamAV dla sendmaila korzystający z interfejsu MILTER.
eba74cc1 136
4460ff0b 137%package devel
f98d218a 138Summary: clamav - Development header files and libraries
8618c36b 139Summary(pl.UTF-8): clamav - Pliki nagłówkowe i biblioteki dla programistów
f98d218a 140Group: Development/Libraries
d4117574 141Requires: %{name}-libs = %{epoch}:%{version}-%{release}
cc776ef1 142Requires: bzip2-devel
d03f44fa 143Requires: curl-devel
cc776ef1 144Requires: gmp-devel
d03f44fa 145Requires: openssl-devel
cc776ef1 146Requires: zlib-devel
4460ff0b
AM
147
148%description devel
149This package contains the development header files and libraries
150necessary to develop clamav client applications.
151
d8cf2de3 152%description devel -l pl.UTF-8
8618c36b 153Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
142cc22a 154klienckich clamav.
4460ff0b
AM
155
156%package static
dd6d36d5 157Summary: clamav static libraries
da5aee7a 158Summary(pl.UTF-8): Biblioteki statyczne clamav
f98d218a 159Group: Development/Libraries
d4117574 160Requires: %{name}-devel = %{epoch}:%{version}-%{release}
4460ff0b
AM
161
162%description static
f33eb2df 163clamav static libraries.
4460ff0b 164
d8cf2de3 165%description static -l pl.UTF-8
4460ff0b
AM
166Biblioteki statyczne clamav.
167
e6c034d3 168%prep
c81b4cf4 169%setup -q
c935072a 170%patch0 -p1
83eaf0c7 171%patch1 -p1
e335899e 172%if "%{pld_release}" == "ac"
453ff8b1 173%patch2 -p1
e335899e 174%endif
9a33c406 175%if "%{pld_release}" != "ac"
1337bca5 176%patch3 -p1
9a33c406 177%endif
d03f44fa 178%patch4 -p1
e1b3dbcb 179%patch5 -p1
82747f5b 180
e6c034d3 181%build
82747f5b 182%{__libtoolize}
c81b4cf4 183%{__aclocal} -I m4
ed667a13 184%{__autoconf}
82747f5b 185%{__autoheader}
ed667a13 186%{__automake}
92c5ef39 187%configure \
5dcc5881 188 --disable-silent-rules \
ca57b115 189 --disable-clamav \
5dcc5881 190 --enable-clamdtop \
142cc22a 191 %{?with_milter:--enable-milter} \
20f26031 192 --with-dbdir=/var/lib/%{name} \
8635bd29 193 --with-no-cache \
839be9e8 194 --with-ltdl-include=%{_includedir} \
a811cf23
ER
195 --with-ltdl-lib=%{_libdir}
196
197%{__make} \
839be9e8 198 LIBTOOL=%{_bindir}/libtool
4d3c9f35 199
e6c034d3 200%install
201rm -rf $RPM_BUILD_ROOT
06e3ab45 202install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig} \
c79a8ed7 203 $RPM_BUILD_ROOT%{_var}/{log,spool/clamav,lib/clamav} \
28e95a65
ŁK
204 $RPM_BUILD_ROOT%{systemdtmpfilesdir} \
205 $RPM_BUILD_ROOT%{systemdunitdir}
92c5ef39
AM
206
207%{__make} install \
839be9e8 208 LIBTOOL=%{_bindir}/libtool \
92c5ef39 209 DESTDIR=$RPM_BUILD_ROOT
142cc22a 210%{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
92c5ef39 211
d78cc52a 212cat <<'EOF' >$RPM_BUILD_ROOT/etc/cron.d/%{name}
719d471d 2135 * * * * root %{_sbindir}/clamav-cron-updatedb
ca57b115 214EOF
92c5ef39 215
9279da12 216install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
4381c9a3 217%if %{with milter}
9279da12
ER
218install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
219cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
4381c9a3 220%endif
9279da12
ER
221cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
222install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
5dcc5881
AM
223for i in $RPM_BUILD_ROOT%{_sysconfdir}/*.conf.sample; do
224 mv $i ${i%%.sample}
225done
9279da12 226cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
2b9f3e64 227
9279da12 228install -p %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
4460ff0b 229
e335899e 230cp -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
24adbaa3 231
e335899e 232cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}
28e95a65 233
c935072a
MK
234# NOTE: clamd uses sane rights to it's clamd.pid file
235# So better keep it dir
236# If it is fixed use of dir will be unecesary
d78cc52a 237install -d $RPM_BUILD_ROOT/var/run/%{name}
c935072a 238
d78cc52a 239:> $RPM_BUILD_ROOT/var/log/freshclam.log
ef21d0fa 240
e6c034d3 241%clean
92c5ef39 242rm -rf $RPM_BUILD_ROOT
e6c034d3 243
c935072a 244%triggerin -- amavis-ng
50d65e20 245%addusertogroup -q clamav amavis
c935072a
MK
246
247%triggerin -- amavisd-new
50d65e20 248%addusertogroup -q clamav amavis
c935072a
MK
249
250%triggerin -- amavisd
50d65e20 251%addusertogroup -q clamav amavis
c935072a 252
e278889f 253%pre
236dddf1
ER
254%groupadd -g 43 clamav
255%useradd -u 43 -d /tmp -s /bin/false -c "Clam Anti Virus Checker" -g clamav clamav
174915c1 256
66d1575d 257%post
66d1575d 258/sbin/chkconfig --add clamd
dd6d36d5 259%service clamd restart "Clam Antivirus daemon"
d78cc52a
ER
260touch /var/log/freshclam.log
261chown clamav:root /var/log/freshclam.log
262chmod 640 /var/log/freshclam.log
28e95a65 263%systemd_post clamd.service
66d1575d 264
66d1575d 265%preun
266if [ "$1" = "0" ]; then
dd6d36d5 267 %service clamd stop
66d1575d 268 /sbin/chkconfig --del clamd
269fi
28e95a65 270%systemd_preun clamd.service
e6c034d3 271
0c8c3ba4 272%postun
174915c1 273if [ "$1" = "0" ]; then
49797116 274 %userremove clamav
275 %groupremove clamav
174915c1 276fi
28e95a65 277%systemd_reload
174915c1 278
ed0b0327 279%triggerpostun -- %{name} < 0.80
1eab800a 280if [ -f /etc/clamav.conf.rpmsave ]; then
d093ed8c 281 echo "Renaming config to new name /etc/clamd.conf"
282 mv -f /etc/clamd.conf /etc/clamd.conf.rpmnew
283 mv -f /etc/clamav.conf.rpmsave /etc/clamd.conf
d4117574 284 echo "Changing config location in freshclam config"
f12ca2c1
ER
285 %{__sed} -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf
286fi
287
29f80fd8
ER
288%triggerpostun -- %{name} < 0.90-0.rc2.0.10
289%{__cp} -f /etc/clamd.conf{,.rpmsave}
290%{__sed} -i -e '
291 s,^LogSyslog$,& yes,
292 s,^FixStaleSocket$,& yes,
293 s,^AllowSupplementaryGroups$,& yes,
294 s,^ClamukoScanOnOpen$,& yes,
295 s,^ClamukoScanOnClose$,& yes,
296 s,^ClamukoScanOnExec$,& yes,
3bc0b921
AM
297 s,^LogTime$,& yes,
298 s,^ScanPE$,& yes,
29f80fd8
ER
299' /etc/clamd.conf
300%banner -e %{name}-0.90 <<EOF
301ClamAV config was automatically upgraded to 0.90 format. You should review it
302that it's still valid.
303EOF
304#'
305# unfortunately clamd has no configcheck option so we just have to start it
306# once again after config was broken after upgrade
307touch /var/lock/subsys/clamd
308%service -q clamd restart
1eab800a 309
09a96373
ŁK
310%triggerpostun -- %{name} < 0.97.7-4
311%systemd_trigger clamd.service
312
eba74cc1 313%post milter
314/sbin/chkconfig --add clamav-milter
dd6d36d5 315%service clamav-milter restart "Clam Antivirus daemon"
eba74cc1 316
4c570814 317%preun milter
eba74cc1 318if [ "$1" = "0" ]; then
dd6d36d5 319 %service clamav-milter stop
eba74cc1 320 /sbin/chkconfig --del clamav-milter
321fi
fba342ab 322
1475e7a3 323%post libs -p /sbin/ldconfig
324%postun libs -p /sbin/ldconfig
4460ff0b 325
e6c034d3 326%files
327%defattr(644,root,root,755)
c5a8ecb5 328%doc AUTHORS ChangeLog FAQ NEWS README docs/*.pdf
79125c5b 329%attr(755,root,root) %{_bindir}/clambc
24f68046 330%attr(755,root,root) %{_bindir}/clamdscan
40002522 331%attr(755,root,root) %{_bindir}/clamdtop
24f68046 332%attr(755,root,root) %{_bindir}/clamscan
d03f44fa 333%attr(755,root,root) %{_bindir}/clamsubmit
24f68046 334%attr(755,root,root) %{_bindir}/freshclam
335%attr(755,root,root) %{_bindir}/sigtool
d78cc52a 336%attr(755,root,root) %{_bindir}/clamconf
24f68046 337%attr(755,root,root) %{_sbindir}/clamd
338%attr(755,root,root) %{_sbindir}/clamav-cron-updatedb
c8321415 339%attr(755,root,root) %{_sbindir}/clamav-post-updatedb
839be9e8 340%{systemdtmpfilesdir}/%{name}.conf
09a96373 341%{systemdunitdir}/clamd.service
ca57b115 342%attr(755,clamav,root) %dir /var/lib/%{name}
d78cc52a
ER
343%attr(640,clamav,root) %ghost /var/log/freshclam.log
344%attr(750,clamav,clamav) %dir /var/run/%{name}
c935072a 345
b5177881 346%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
0e86f481
JB
347%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/clamd.conf
348%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/freshclam.conf
6586d93d 349
05eb87ef 350%attr(754,root,root) /etc/rc.d/init.d/clamd
7c801993
ER
351%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamd
352%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/clamav
eba74cc1 353%{_mandir}/man[15]/*
354%{_mandir}/man8/clamd*
355
356%if %{with milter}
357%files milter
358%defattr(644,root,root,755)
7c801993 359%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamav-milter
9279da12 360%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/clamav-milter.conf
491eb046 361%attr(754,root,root) /etc/rc.d/init.d/clamav-milter
eba74cc1 362#%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter
363#%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter
364#%{_sysconfdir}/log.d/conf/services/clamav-milter.conf
365%attr(755,root,root) %{_sbindir}/clamav-milter
366%{_mandir}/man8/clamav-milter.8*
0e86f481 367%attr(700,clamav,clamav) /var/spool/clamav
eba74cc1 368%endif
4460ff0b
AM
369
370%files libs
371%defattr(644,root,root,755)
418bf14a 372%attr(755,root,root) %{_libdir}/libclamav.so.*.*.*
40002522 373%attr(755,root,root) %ghost %{_libdir}/libclamav.so.6
418bf14a 374%attr(755,root,root) %{_libdir}/libclamunrar.so.*.*.*
40002522 375%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.6
418bf14a 376%attr(755,root,root) %{_libdir}/libclamunrar_iface.so.*.*.*
40002522 377%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.6
4460ff0b
AM
378
379%files devel
380%defattr(644,root,root,755)
24f68046 381%attr(755,root,root) %{_bindir}/clamav-config
418bf14a
JB
382%attr(755,root,root) %{_libdir}/libclamav.so
383%attr(755,root,root) %{_libdir}/libclamunrar.so
384%attr(755,root,root) %{_libdir}/libclamunrar_iface.so
385%{_libdir}/libclamav.la
386%{_libdir}/libclamunrar.la
387%{_libdir}/libclamunrar_iface.la
388%{_includedir}/clamav.h
389%{_pkgconfigdir}/libclamav.pc
4460ff0b
AM
390
391%files static
392%defattr(644,root,root,755)
418bf14a
JB
393%{_libdir}/libclamav.a
394%{_libdir}/libclamunrar.a
395%{_libdir}/libclamunrar_iface.a
This page took 0.167207 seconds and 4 git commands to generate.