2 # Make freshclam (script and daemon)
5 %bcond_without milter # build without milter subpackage
6 %bcond_without database # build without databases subpackage
7 %bcond_with curl # enable curl support
9 Summary: An anti-virus utility for Unix
10 Summary(pl): Narzêdzie antywirusowe dla Uniksów
17 Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
18 # Source0-md5: 1c886e4f4f4c3e4e76250b7b52c000b4
20 Source2: %{name}.sysconfig
21 Source3: %{name}-milter.init
22 Source4: %{name}-cron-updatedb
23 Source5: %{name}.logrotate
25 # Remember to update date after databases upgrade
26 %define database_version 20050621
27 Source6: http://db.local.clamav.net/daily.cvd
28 # Source6-md5: 78d498e59ca449f7c35c39e8a2b99b35
29 Source7: http://db.local.clamav.net/main.cvd
30 # Source7-md5: 1ffd378fa4cc28a0d35253ab3b2e8995
31 Source8: %{name}-post-updatedb
33 Source9: %{name}-milter.sysconfig
34 Patch0: %{name}-pld_config.patch
35 Patch1: %{name}-no_auto_libwrap.patch
36 Patch2: %{name}-nolibs.patch
37 URL: http://www.clamav.net/
38 BuildRequires: autoconf
39 BuildRequires: automake
40 BuildRequires: bzip2-devel
41 %{?with_curl:BuildRequires: curl-devel}
42 BuildRequires: gmp-devel
43 %{?with_milter:BuildRequires: libwrap-devel}
44 BuildRequires: libtool
45 BuildRequires: rpmbuild(macros) >= 1.202
46 %{?with_milter:BuildRequires: sendmail-devel >= 8.11}
47 BuildRequires: zlib-devel
49 Requires(pre): %{__id}
50 Requires(pre): /usr/bin/getgid
51 Requires(pre): /usr/sbin/groupadd
52 Requires(pre): /usr/sbin/useradd
53 Requires(postun): /usr/sbin/groupdel
54 Requires(postun): /usr/sbin/userdel
55 Requires(postun): sed >= 4.0
56 Requires(postun,pre): /usr/sbin/usermod
57 Requires(post,preun): /sbin/chkconfig
58 Requires: /usr/sbin/usermod
59 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
61 Provides: group(clamav)
62 Provides: user(clamav)
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 Clam Antivirus is a powerful anti-virus scanner for Unix. It supports
67 AMaViS, compressed files, on-access scanning and includes a program
68 for auto-updating with support for digital signatures. The virus
69 database has over 34000 viruses, worms and trojans signatures. The
70 scanner is multithreaded, written in C, and POSIX compliant.
73 Clam Antivirus jest potê¿nym skanerem antywirusowym dla systemów
74 uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie
75 "on-access" i posiada system bezpiecznej, automatycznej aktualizacji.
76 Baza wirusów zawiera ponad 34000 sygnatur. Skaner jest wielow±tkowy,
77 napisany w C i zgodny z POSIXem.
80 Summary: Shared libraries for clamav
81 Summary(pl): Biblioteki dzielone clamav
85 Shared libraries for clamav.
87 %description libs -l pl
88 Biblioteki dzielone clamav.
91 Summary: ClamAV filter using milter interface
92 Summary(pl): Filtr ClamAV korzystaj±cy z interfejsu milter
94 Requires: %{name} = %{epoch}:%{version}-%{release}
95 Requires: sendmail >= 8.11
96 Requires: tcp_wrappers
99 ClamAV sendmail filter using MILTER interface.
101 %description milter -l pl
102 Filtr ClamAV dla sendmaila korzystaj±cy z interfejsu MILTER.
105 Summary: clamav - Development header files and libraries
106 Summary(pl): clamav - Pliki nag³ówkowe i biblioteki dla programistów
107 Group: Development/Libraries
108 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
109 Requires: bzip2-devel
114 This package contains the development header files and libraries
115 necessary to develop clamav client applications.
117 %description devel -l pl
118 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
122 Summary: clamav static libraris
123 Summary(pl): Biblioteki statyczne clamav
124 Group: Development/Libraries
125 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
128 clamav static libraries.
130 %description static -l pl
131 Biblioteki statyczne clamav.
134 Summary: Virus database for clamav
135 Summary(pl): Bazy wirusów dla clamav
137 Version: %{version}.%{database_version}
140 %description database
141 Virus database for clamav (updated %{database_version}).
143 %description database -l pl
144 Bazy wirusów dla clamav (aktualizowana %{database_version}).
152 # kill old libtool.m4 copy
153 head -n 489 acinclude.m4 > acinclude.m4.tmp
154 tail -n +4089 acinclude.m4 >> acinclude.m4.tmp
155 mv -f acinclude.m4.tmp acinclude.m4
165 %{!?with_curl:--without-libcurl} \
166 %{?with_milter:--enable-milter} \
167 --with-dbdir=/var/lib/%{name}
171 rm -rf $RPM_BUILD_ROOT
172 install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig} \
173 $RPM_BUILD_ROOT%{_var}/{log,spool/clamav}
176 DESTDIR=$RPM_BUILD_ROOT
177 %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
179 cat <<EOF >$RPM_BUILD_ROOT/etc/cron.d/%{name}
180 5 * * * * root %{_sbindir}/clamav-cron-updatedb
183 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
185 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
186 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
188 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
189 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
190 install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
191 install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
194 install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name}
195 install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name}
196 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
198 rm -f $RPM_BUILD_ROOT/var/lib/%{name}/{main,daily}.cvd
201 # NOTE: clamd uses sane rights to it's clamd.pid file
202 # So better keep it dir
203 # If it is fixed use of dir will be unecesary
204 install -d $RPM_BUILD_ROOT%{_var}/run/%{name}
206 :> $RPM_BUILD_ROOT%{_var}/log/freshclam.log
209 rm -rf $RPM_BUILD_ROOT
211 %triggerin -- amavis-ng
212 AMAVIS=$(/usr/bin/getgid amavis)
214 if [ $RESULT -eq 0 ]; then
215 echo "Adding clamav to amavis group GID=$AMAVIS"
216 /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
219 %triggerin -- amavisd-new
220 AMAVIS=$(/usr/bin/getgid amavis)
222 if [ $RESULT -eq 0 ]; then
223 echo "Adding clamav to amavis group GID=$AMAVIS"
224 /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
227 %triggerin -- amavisd
228 AMAVIS=$(/usr/bin/getgid amavis)
230 if [ $RESULT -eq 0 ]; then
231 echo "Adding clamav to amavis group GID=$AMAVIS"
232 /usr/sbin/usermod -G amavis clamav 1>&2
236 %groupadd -g 43 clamav
237 %useradd -u 43 -d /tmp -s /bin/false -c "Clam Anti Virus Checker" -g clamav clamav
239 # FIXME: check this. is it proper after useradd macro?
240 # TODO: use addusertogroup macro?
241 if [ -n "`/usr/bin/getgid amavis`" ]; then
242 echo "Adding clamav to amavis group"
243 /usr/sbin/usermod -G amavis clamav 1>&2
247 /sbin/chkconfig --add clamd
248 if [ -f /var/lock/subsys/clamd ]; then
249 /etc/rc.d/init.d/clamd restart >&2
251 echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2
253 touch %{_var}/log/freshclam.log
254 chown clamav:root %{_var}/log/freshclam.log
255 chmod 640 %{_var}/log/freshclam.log
258 if [ "$1" = "0" ]; then
259 if [ -f /var/lock/subsys/clamd ]; then
260 /etc/rc.d/init.d/clamd stop
262 /sbin/chkconfig --del clamd
266 if [ "$1" = "0" ]; then
271 %triggerpostun -- %{name} <= 0.75.1
272 if [ -f /etc/clamav.conf.rpmsave ]; then
273 echo "Renaming config to new name /etc/clamd.conf"
274 mv -f /etc/clamd.conf /etc/clamd.conf.rpmnew
275 mv -f /etc/clamav.conf.rpmsave /etc/clamd.conf
276 echo "Changing config location in freshclam config"
277 sed -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf
282 /sbin/chkconfig --add clamav-milter
283 if [ -f /var/lock/subsys/clamav-milter ]; then
284 /etc/rc.d/init.d/clamd restart >&2
286 echo "Run \"/etc/rc.d/init.d/clamav-milter start\" to start Clam Antivirus daemon." >&2
290 if [ "$1" = "0" ]; then
291 if [ -f /var/lock/subsys/clamav-milter ]; then
292 /etc/rc.d/init.d/clamav-milter stop
294 /sbin/chkconfig --del clamav-milter
297 %post libs -p /sbin/ldconfig
298 %postun libs -p /sbin/ldconfig
300 %{?with_database:%post database -p %{_sbindir}/%{name}-post-updatedb}
303 %defattr(644,root,root,755)
304 %doc AUTHORS ChangeLog FAQ NEWS README TODO docs/*.pdf
305 %attr(755,root,root) %{_bindir}/clamdscan
306 %attr(755,root,root) %{_bindir}/clamscan
307 %attr(755,root,root) %{_bindir}/freshclam
308 %attr(755,root,root) %{_bindir}/sigtool
309 %attr(755,root,root) %{_sbindir}/clamd
310 %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb
311 %attr(755,clamav,root) %dir /var/lib/%{name}
312 %attr(640,clamav,root) %ghost %{_var}/log/freshclam.log
313 %attr(750,clamav,clamav) %dir %{_var}/run/%{name}
315 %attr(640,root,root) %{_sysconfdir}/cron.d/%{name}
316 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/clamd.conf
317 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/freshclam.conf
319 %attr(754,root,root) /etc/rc.d/init.d/clamd
320 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamd
321 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/clamav
323 %{_mandir}/man8/clamd*
327 %defattr(644,root,root,755)
328 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamav-milter
329 %attr(754,root,root) /etc/rc.d/init.d/clamav-milter
330 #%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter
331 #%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter
332 #%{_sysconfdir}/log.d/conf/services/clamav-milter.conf
333 %attr(755,root,root) %{_sbindir}/clamav-milter
334 %{_mandir}/man8/clamav-milter.8*
335 %attr(700,clamav,clamav) /var/spool/clamav/
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_libdir}/lib*.so.*.*
343 %defattr(644,root,root,755)
344 %attr(755,root,root) %{_bindir}/clamav-config
345 %attr(755,root,root) %{_libdir}/lib*.so
348 %{_pkgconfigdir}/*.pc
351 %defattr(644,root,root,755)
356 %defattr(644,root,root,755)
357 %attr(755,root,root) %{_sbindir}/clamav-post-updatedb
358 %attr(644,clamav,root) %verify(not md5 mtime size) /var/lib/%{name}/*.cvd