2 # Make freshclam (script and daemon)
5 %bcond_with milter # without milter subpackage
7 Summary: An anti-virus utility for Unix
8 Summary(pl): Antywirusowe narzêdzie dla Uniksów
14 Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
15 # Source0-md5: 5c02d52c361f04098a9956478f8654a0
16 # Source0-size: 2668125
18 Source2: %{name}.sysconfig
19 Source3: %{name}-milter.init
20 Source4: %{name}-cron-updatedb
21 Source5: %{name}.logrotate
22 # Remember to update date after databases upgrade
23 %define database_version 20041016
24 Source6: http://db.local.clamav.net/daily.cvd
25 # Source6-md5: 0407cabd808a894c5fdc6b4e79dff265
26 # Source6-size: 100250
27 Source7: http://db.local.clamav.net/main.cvd
28 # Source7-md5: f006a1f55722c2ff9d50e61cfb938bc7
29 # Source7-size: 1284637
30 Source8: %{name}-post-updatedb
31 Source9: %{name}-milter.sysconfig
32 Patch0: %{name}-pld_config.patch
33 Patch1: %{name}-no_auto_libwrap.patch
34 Patch2: %{name}-nolibs.patch
35 URL: http://www.clamav.net/
36 BuildRequires: autoconf
37 BuildRequires: automake
38 BuildRequires: gmp-devel
39 BuildRequires: libidn-devel
40 %{?with_milter:BuildRequires: libwrap-devel}
41 BuildRequires: libtool
42 BuildRequires: rpmbuild(macros) >= 1.159
43 %{?with_milter:BuildRequires: sendmail-devel >= 8.11}
44 BuildRequires: zlib-devel
45 Requires(pre): /bin/id
46 Requires(pre): /usr/bin/getgid
47 Requires(pre): /usr/sbin/groupadd
48 Requires(pre): /usr/sbin/useradd
49 Requires(postun): /usr/sbin/groupdel
50 Requires(postun): /usr/sbin/userdel
51 Requires(postun,pre): /usr/sbin/usermod
52 Requires(post,preun): /sbin/chkconfig
53 Requires: /usr/sbin/usermod
54 Requires: %{name}-libs = %{version}-%{release}
56 Provides: group(clamav)
57 Provides: user(clamav)
58 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61 Clam Antivirus is a powerful anti-virus scanner for Unix. It supports
62 AMaViS, compressed files, on-access scanning and includes a program
63 for auto-updating with support for digital signatures. The virus
64 database has over 20000 viruses, worms and trojans signatures. The
65 scanner is multithreaded, written in C, and POSIX compliant.
68 Clam Antivirus jest potê¿nym skanerem antywirusowym dla systemów
69 uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie
70 "on-access" i posiada system bezpiecznej, automatycznej aktualizacji.
71 Baza wirusów zawiera ponad 20000 sygnatur. Skaner jest wielow±tkowy,
72 napisany w C i zgodny z POSIXem.
75 Summary: Shared libraries for clamav
76 Summary(pl): Biblioteki dzielone clamav
80 Shared libraries for clamav.
82 %description libs -l pl
83 Biblioteki dzielone clamav.
86 Summary: ClamAV filter using milter interface
87 Summary(pl): Filtr ClamAV korzystaj±cy z interfejsu milter
89 Requires: %{name} = %{epoch}:%{version}-%{release}
90 Requires: sendmail >= 8.11
91 Requires: tcp_wrappers
94 ClamAV sendmail filter using MILTER interface.
96 %description -l pl milter
97 Filtr ClamAV dla sendmaila korzystaj±cy z interfejsu MILTER.
100 Summary: clamav - Development header files and libraries
101 Summary(pl): clamav - Pliki nag³ówkowe i biblioteki dla programistów
102 Group: Development/Libraries
103 Requires: %{name}-libs = %{version}-%{release}
104 Requires: bzip2-devel
109 This package contains the development header files and libraries
110 necessary to develop clamav client applications.
112 %description devel -l pl
113 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
117 Summary: clamav static libraris
118 Summary(pl): Biblioteki statyczne clamav
119 Group: Development/Libraries
120 Requires: %{name}-devel = %{version}-%{release}
123 clamav static libraries.
125 %description static -l pl
126 Biblioteki statyczne clamav.
129 Summary: Virus database for clamav
130 Summary(pl): Bazy wirusów dla clamav
132 Version: %{version}.%{database_version}
135 %description database
136 Virus database for clamav (updated %{database_version}).
138 %description database -l pl
139 Bazy wirusów dla clamav (aktualizowana %{database_version}).
147 # kill old libtool.m4 copy
148 head -n 489 acinclude.m4 > acinclude.m4.tmp
149 tail -n +4064 acinclude.m4 >> acinclude.m4.tmp
150 mv -f acinclude.m4.tmp acinclude.m4
160 %{?with_milter:--enable-milter} \
161 --with-dbdir=/var/lib/%{name}
165 rm -rf $RPM_BUILD_ROOT
166 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,logrotate.d} \
167 $RPM_BUILD_ROOT{%{_sysconfdir}/cron.d,%{_var}/{log,spool/clamav}}
170 DESTDIR=$RPM_BUILD_ROOT
171 %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
173 cat <<EOF >$RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
174 5 * * * * root %{_sbindir}/clamav-cron-updatedb
177 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
179 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
180 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
182 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
183 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
184 install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
185 install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
186 install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name}
187 install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name}
188 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
190 # NOTE: clamd uses sane rights to it's clamd.pid file
191 # So better keep it dir
192 # If it is fixed use of dir will be unecesary
193 install -d $RPM_BUILD_ROOT%{_var}/run/%{name}
195 touch $RPM_BUILD_ROOT%{_var}/log/freshclam.log
198 rm -rf $RPM_BUILD_ROOT
200 %triggerin -- amavis-ng
201 AMAVIS=$(/usr/bin/getgid amavis)
203 if [ $RESULT -eq 0 ]; then
204 /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
205 echo "adding clamav to amavis group GID=$AMAVIS"
208 %triggerin -- amavisd-new
209 AMAVIS=$(/usr/bin/getgid amavis)
211 if [ $RESULT -eq 0 ]; then
212 /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
213 echo "adding clamav to amavis group GID=$AMAVIS"
216 %triggerin -- amavisd
217 AMAVIS=$(/usr/bin/getgid amavis)
219 if [ $RESULT -eq 0 ]; then
220 echo "adding clamav to amavis group GID=$AMAVIS"
221 /usr/sbin/usermod -G amavis clamav 1>&2
225 if [ -n "`/usr/bin/getgid clamav`" ]; then
226 if [ "`/usr/bin/getgid clamav`" != 43 ]; then
227 echo "Warning: group clamav doesn't have gid=43. Correct this before installing clamav" 1>&2
231 echo "Adding group clamav GID=43"
232 /usr/sbin/groupadd -g 43 clamav
234 if [ -n "`/bin/id -u clamav 2>/dev/null`" ]; then
235 if [ "`/bin/id -u clamav`" != 43 ]; then
236 echo "Warning: user clamav doesn't have uid=43. Correct this before installing clamav" 1>&2
240 echo "Adding user clamav UID=43"
241 /usr/sbin/useradd -u 43 -d /tmp -s /bin/false \
242 -c "Clam Anti Virus Checker" -g clamav clamav 1>&2
243 if [ -n "`/usr/bin/getgid amavis`" ]; then
244 echo "adding clamav to amavis group
245 /usr/sbin/usermod -G amavis clamav 1>&2
250 /sbin/chkconfig --add clamd
251 if [ -f /var/lock/subsys/clamd ]; then
252 /etc/rc.d/init.d/clamd restart >&2
254 echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2
256 touch %{_var}/log/freshclam.log
257 chown clamav:root %{_var}/log/freshclam.log
258 chmod 640 %{_var}/log/freshclam.log
261 if [ "$1" = "0" ]; then
262 if [ -f /var/lock/subsys/clamd ]; then
263 /etc/rc.d/init.d/clamd stop
265 /sbin/chkconfig --del clamd
269 if [ "$1" = "0" ]; then
276 /sbin/chkconfig --add clamav-milter
277 if [ -f /var/lock/subsys/clamav-milter ]; then
278 /etc/rc.d/init.d/clamd restart >&2
280 echo "Run \"/etc/rc.d/init.d/clamav-milter start\" to start Clam Antivirus daemon." >&2
284 if [ "$1" = "0" ]; then
285 if [ -f /var/lock/subsys/clamav-milter ]; then
286 /etc/rc.d/init.d/clamav-milter stop
288 /sbin/chkconfig --del clamav-milter
291 %post libs -p /sbin/ldconfig
292 %postun libs -p /sbin/ldconfig
294 %post database -p %{_sbindir}/%{name}-post-updatedb
297 %defattr(644,root,root,755)
298 %doc AUTHORS ChangeLog FAQ NEWS README TODO docs/html/
299 %attr(755,root,root) %{_bindir}/clamdscan
300 %attr(755,root,root) %{_bindir}/clamscan
301 %attr(755,root,root) %{_bindir}/freshclam
302 %attr(755,root,root) %{_bindir}/sigtool
303 %attr(755,root,root) %{_sbindir}/clamd
304 %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb
305 %attr(755,clamav,root) %dir /var/lib/%{name}
306 %attr(640,clamav,root) %ghost %{_var}/log/freshclam.log
307 %attr(750,clamav,clamav) %dir %{_var}/run/%{name}
309 %attr(640,root,root) %{_sysconfdir}/cron.d/%{name}
310 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/clamd.conf
311 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/freshclam.conf
313 %attr(754,root,root) /etc/rc.d/init.d/clamd
314 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/clamd
315 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/clamav
317 %{_mandir}/man8/clamd*
321 %defattr(644,root,root,755)
322 %config(noreplace) %{_sysconfdir}/sysconfig/clamav-milter
323 %attr(755,root,root) /etc/rc.d/init.d/clamav-milter
324 #%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter
325 #%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter
326 #%{_sysconfdir}/log.d/conf/services/clamav-milter.conf
327 %attr(755,root,root) %{_sbindir}/clamav-milter
328 %{_mandir}/man8/clamav-milter.8*
329 %attr(700,clamav,clamav) /var/spool/clamav/
333 %defattr(644,root,root,755)
334 %attr(755,root,root) %{_libdir}/lib*.so.*.*
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_bindir}/clamav-config
339 %attr(755,root,root) %{_libdir}/lib*.so
342 %{_pkgconfigdir}/*.pc
345 %defattr(644,root,root,755)
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_sbindir}/clamav-post-updatedb
351 %attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/*.cvd