]> git.pld-linux.org Git - packages/clamav.git/blame_incremental - clamav.spec
- added bcond for llvm
[packages/clamav.git] / clamav.spec
... / ...
CommitLineData
1# TODO:
2# - Make freshclam package (script and daemon)
3# - restart amavis in triggers if group membership was modified?
4#
5# Conditional build:
6%bcond_without milter # build without milter subpackage
7%bcond_without llvm # build without llvm support (Ac)
8
9Summary: An anti-virus utility for Unix
10Summary(pl.UTF-8): Narzędzie antywirusowe dla Uniksów
11Name: clamav
12Version: 0.97.1
13Release: 1
14License: GPL v2+
15Group: Daemons
16Source0: http://downloads.sourceforge.net/clamav/0.96rc1/%{name}-%{version}.tar.gz
17# Source0-md5: 4f3fb74ff1098c25eef8e10721478c29
18Source1: %{name}.init
19Source2: %{name}.sysconfig
20Source3: %{name}-milter.init
21Source4: %{name}-cron-updatedb
22Source5: %{name}.logrotate
23Source8: %{name}-post-updatedb
24Source9: %{name}-milter.sysconfig
25Patch0: %{name}-pld_config.patch
26Patch1: %{name}-nolibs.patch
27Patch2: am-nosilentrules.patch
28Patch3: %{name}-link.patch
29URL: http://www.clamav.net/
30BuildRequires: autoconf
31BuildRequires: automake
32BuildRequires: bzip2-devel
33BuildRequires: gmp-devel
34BuildRequires: libltdl-devel
35%{?with_milter:BuildRequires: libmilter-devel}
36BuildRequires: libstdc++-devel
37BuildRequires: libtool
38%{?with_llvm:BuildRequires: llvm-devel}
39%{?with_milter:BuildRequires: libwrap-devel}
40BuildRequires: ncurses-devel
41BuildRequires: rpmbuild(macros) >= 1.514
42BuildRequires: zlib-devel
43Requires(post,preun): /sbin/chkconfig
44Requires(postun): /usr/sbin/groupdel
45Requires(postun): /usr/sbin/userdel
46Requires(postun,pre): /usr/sbin/usermod
47Requires(pre): /bin/id
48Requires(pre): /usr/bin/getgid
49Requires(pre): /usr/sbin/groupadd
50Requires(pre): /usr/sbin/useradd
51Requires(triggerpostun): sed >= 4.0
52Requires: %{name}-libs = %{epoch}:%{version}-%{release}
53Requires: /usr/sbin/usermod
54Requires: rc-scripts >= 0.4.1.23
55Suggests: clamav-database
56Provides: group(clamav)
57Provides: user(clamav)
58Conflicts: logrotate < 3.7-4
59BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61%description
62Clam AntiVirus is an open source anti-virus toolkit for UNIX, designed
63especially for e-mail scanning on mail gateways. It provides a number
64of utilities including a flexible and scalable multi-threaded daemon,
65a command line scanner and advanced tool for automatic database
66updates. The core of the package is an anti-virus engine available in
67a form of shared library.
68
69Here is a list of the main features:
70- command-line scanner
71- fast, multi-threaded daemon with support for on-access scanning
72- milter interface for sendmail
73- advanced database updater with support for scripted updates and
74 digital signatures
75- virus scanner C library
76- on-access scanning (Linux® and FreeBSD®)
77- virus database updated multiple times per day (see home page for
78 total number of signatures)
79- built-in support for various archive formats, including Zip, RAR,
80 Tar, Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS and others
81- built-in support for almost all mail file formats
82- built-in support for ELF executables and Portable Executable files
83 compressed with UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack and
84 obfuscated with SUE, Y0da Cryptor and others
85- built-in support for popular document formats including MS Office
86 and MacOffice files, HTML, RTF and PDF
87
88%description -l pl.UTF-8
89Clam Antivirus jest potężnym skanerem antywirusowym dla systemów
90uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie
91"on-access" i posiada system bezpiecznej, automatycznej aktualizacji.
92Baza wirusów zawiera ponad 90000 sygnatur. Skaner jest wielowątkowy,
93napisany w C i zgodny z POSIXem.
94
95%package libs
96Summary: Shared libraries for clamav
97Summary(pl.UTF-8): Biblioteki dzielone clamav
98Group: Libraries
99
100%description libs
101Shared libraries for clamav.
102
103%description libs -l pl.UTF-8
104Biblioteki dzielone clamav.
105
106%package milter
107Summary: ClamAV filter using milter interface
108Summary(pl.UTF-8): Filtr ClamAV korzystający z interfejsu milter
109Group: Daemons
110Requires: %{name} = %{epoch}:%{version}-%{release}
111%if "%{pld_release}" == "ti"
112Requires: postfix
113%else
114Requires: sendmail >= 8.11
115%endif
116Requires: tcp_wrappers
117
118%description milter
119ClamAV sendmail filter using MILTER interface.
120
121%description milter -l pl.UTF-8
122Filtr ClamAV dla sendmaila korzystający z interfejsu MILTER.
123
124%package devel
125Summary: clamav - Development header files and libraries
126Summary(pl.UTF-8): clamav - Pliki nagłówkowe i biblioteki dla programistów
127Group: Development/Libraries
128Requires: %{name}-libs = %{epoch}:%{version}-%{release}
129Requires: bzip2-devel
130Requires: gmp-devel
131Requires: zlib-devel
132
133%description devel
134This package contains the development header files and libraries
135necessary to develop clamav client applications.
136
137%description devel -l pl.UTF-8
138Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
139klienckich clamav.
140
141%package static
142Summary: clamav static libraries
143Summary(pl.UTF-8): Biblioteki statyczne clamav
144Group: Development/Libraries
145Requires: %{name}-devel = %{epoch}:%{version}-%{release}
146
147%description static
148clamav static libraries.
149
150%description static -l pl.UTF-8
151Biblioteki statyczne clamav.
152
153%prep
154%setup -q
155%patch0 -p1
156%patch1 -p1
157%patch2 -p1
158%patch3 -p1
159
160%build
161%{__libtoolize}
162%{__aclocal} -I m4
163%{__autoconf}
164%{__autoheader}
165%{__automake}
166%configure \
167 --disable-clamav \
168 %{?with_milter:--enable-milter} \
169 --with-dbdir=/var/lib/%{name} \
170 --with-no-cache \
171 --with-ltdl-include=/usr/include \
172 --with-ltdl-lib=%{_libdir}
173
174%{__make} \
175 LIBTOOL=/usr/bin/libtool
176
177%install
178rm -rf $RPM_BUILD_ROOT
179install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig} \
180 $RPM_BUILD_ROOT%{_var}/{log,spool/clamav}
181
182%{__make} install \
183 LIBTOOL=/usr/bin/libtool \
184 DESTDIR=$RPM_BUILD_ROOT
185%{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
186
187cat <<'EOF' >$RPM_BUILD_ROOT/etc/cron.d/%{name}
1885 * * * * root %{_sbindir}/clamav-cron-updatedb
189EOF
190
191install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
192%if %{with milter}
193install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
194install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
195%endif
196install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
197install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
198install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
199install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
200
201install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
202
203# NOTE: clamd uses sane rights to it's clamd.pid file
204# So better keep it dir
205# If it is fixed use of dir will be unecesary
206install -d $RPM_BUILD_ROOT/var/run/%{name}
207
208:> $RPM_BUILD_ROOT/var/log/freshclam.log
209
210%clean
211rm -rf $RPM_BUILD_ROOT
212
213%triggerin -- amavis-ng
214%addusertogroup -q clamav amavis
215
216%triggerin -- amavisd-new
217%addusertogroup -q clamav amavis
218
219%triggerin -- amavisd
220%addusertogroup -q clamav amavis
221
222%pre
223%groupadd -g 43 clamav
224%useradd -u 43 -d /tmp -s /bin/false -c "Clam Anti Virus Checker" -g clamav clamav
225
226%post
227/sbin/chkconfig --add clamd
228%service clamd restart "Clam Antivirus daemon"
229touch /var/log/freshclam.log
230chown clamav:root /var/log/freshclam.log
231chmod 640 /var/log/freshclam.log
232
233%preun
234if [ "$1" = "0" ]; then
235 %service clamd stop
236 /sbin/chkconfig --del clamd
237fi
238
239%postun
240if [ "$1" = "0" ]; then
241 %userremove clamav
242 %groupremove clamav
243fi
244
245%triggerpostun -- %{name} < 0.80
246if [ -f /etc/clamav.conf.rpmsave ]; then
247 echo "Renaming config to new name /etc/clamd.conf"
248 mv -f /etc/clamd.conf /etc/clamd.conf.rpmnew
249 mv -f /etc/clamav.conf.rpmsave /etc/clamd.conf
250 echo "Changing config location in freshclam config"
251 %{__sed} -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf
252fi
253
254%triggerpostun -- %{name} < 0.90-0.rc2.0.10
255%{__cp} -f /etc/clamd.conf{,.rpmsave}
256%{__sed} -i -e '
257 s,^LogSyslog$,& yes,
258 s,^FixStaleSocket$,& yes,
259 s,^AllowSupplementaryGroups$,& yes,
260 s,^ClamukoScanOnOpen$,& yes,
261 s,^ClamukoScanOnClose$,& yes,
262 s,^ClamukoScanOnExec$,& yes,
263 s,^LogTime$,& yes,
264 s,^ScanPE$,& yes,
265' /etc/clamd.conf
266%banner -e %{name}-0.90 <<EOF
267ClamAV config was automatically upgraded to 0.90 format. You should review it
268that it's still valid.
269EOF
270#'
271# unfortunately clamd has no configcheck option so we just have to start it
272# once again after config was broken after upgrade
273touch /var/lock/subsys/clamd
274%service -q clamd restart
275
276%post milter
277/sbin/chkconfig --add clamav-milter
278%service clamav-milter restart "Clam Antivirus daemon"
279
280%preun milter
281if [ "$1" = "0" ]; then
282 %service clamav-milter stop
283 /sbin/chkconfig --del clamav-milter
284fi
285
286%post libs -p /sbin/ldconfig
287%postun libs -p /sbin/ldconfig
288
289%files
290%defattr(644,root,root,755)
291%doc AUTHORS ChangeLog FAQ NEWS README docs/*.pdf
292%attr(755,root,root) %{_bindir}/clambc
293%attr(755,root,root) %{_bindir}/clamdscan
294%attr(755,root,root) %{_bindir}/clamdtop
295%attr(755,root,root) %{_bindir}/clamscan
296%attr(755,root,root) %{_bindir}/freshclam
297%attr(755,root,root) %{_bindir}/sigtool
298%attr(755,root,root) %{_bindir}/clamconf
299%attr(755,root,root) %{_sbindir}/clamd
300%attr(755,root,root) %{_sbindir}/clamav-cron-updatedb
301%attr(755,root,root) %{_sbindir}/clamav-post-updatedb
302%attr(755,clamav,root) %dir /var/lib/%{name}
303%attr(644,clamav,root) %ghost %verify(not md5 mtime size) /var/lib/clamav/*.cvd
304%attr(640,clamav,root) %ghost /var/log/freshclam.log
305%attr(750,clamav,clamav) %dir /var/run/%{name}
306
307%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
308%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/clamd.conf
309%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/freshclam.conf
310
311%attr(754,root,root) /etc/rc.d/init.d/clamd
312%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamd
313%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/clamav
314%{_mandir}/man[15]/*
315%{_mandir}/man8/clamd*
316
317%if %{with milter}
318%files milter
319%defattr(644,root,root,755)
320%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamav-milter
321%config(noreplace) %verify(not md5 mtime size) /etc/clamav-milter.conf
322%attr(754,root,root) /etc/rc.d/init.d/clamav-milter
323#%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter
324#%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter
325#%{_sysconfdir}/log.d/conf/services/clamav-milter.conf
326%attr(755,root,root) %{_sbindir}/clamav-milter
327%{_mandir}/man8/clamav-milter.8*
328%attr(700,clamav,clamav) /var/spool/clamav
329%endif
330
331%files libs
332%defattr(644,root,root,755)
333%attr(755,root,root) %{_libdir}/lib*.so.*.*
334%attr(755,root,root) %ghost %{_libdir}/libclamav.so.6
335%attr(755,root,root) %ghost %{_libdir}/libclamunrar.so.6
336%attr(755,root,root) %ghost %{_libdir}/libclamunrar_iface.so.6
337
338%files devel
339%defattr(644,root,root,755)
340%attr(755,root,root) %{_bindir}/clamav-config
341%attr(755,root,root) %{_libdir}/lib*.so
342%{_libdir}/lib*.la
343%{_includedir}/*.h
344%{_pkgconfigdir}/*.pc
345
346%files static
347%defattr(644,root,root,755)
348%{_libdir}/*.a
This page took 0.030863 seconds and 4 git commands to generate.