2 # Make freshclam (script and daemon)
5 %bcond_with milter # build milter subpackage
6 %bcond_with curl # enable curl support
8 Summary: An anti-virus utility for Unix
9 Summary(pl): Antywirusowe narzêdzie dla Uniksów
16 Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
17 # Source0-md5: bf9f038edf0b6d5f76552e1b8d014b81
19 Source2: %{name}.sysconfig
20 Source3: %{name}-milter.init
21 Source4: %{name}-cron-updatedb
22 Source5: %{name}.logrotate
23 # Remember to update date after databases upgrade
24 %define database_version 20051104
25 Source6: http://db.local.clamav.net/daily.cvd
26 # Source6-md5: b76ba65cebc388f102335594524a89f7
27 Source7: http://db.local.clamav.net/main.cvd
28 # Source7-md5: e9a5fcea0ad22ca0cbb3beb1ebcdf893
29 Source8: %{name}-post-updatedb
30 Source9: %{name}-milter.sysconfig
31 Patch0: %{name}-pld_config.patch
32 Patch1: %{name}-no_auto_libwrap.patch
33 Patch2: %{name}-nolibs.patch
34 URL: http://www.clamav.net/
35 BuildRequires: autoconf
36 BuildRequires: automake
37 %{?with_curl:BuildRequires: curl-devel}
38 BuildRequires: gmp-devel
39 %{?with_milter:BuildRequires: libwrap-devel}
40 BuildRequires: libtool
41 #BuildRequires: rpmbuild(macros) >= 1.159
42 %{?with_milter:BuildRequires: sendmail-devel >= 8.11}
43 BuildRequires: zlib-devel
44 Requires(pre): /bin/id
45 Requires(pre): /usr/bin/getgid
46 Requires(pre): /usr/sbin/groupadd
47 Requires(pre): /usr/sbin/useradd
48 Requires(postun): /usr/sbin/groupdel
49 Requires(postun): /usr/sbin/userdel
50 Requires(postun): sed >= 4.0
51 Requires(postun,pre): /usr/sbin/usermod
52 Requires(post,preun): /sbin/chkconfig
53 Requires: /usr/sbin/usermod
54 Requires: %{name}-libs = %{epoch}:%{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 25000 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 25000 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 = %{epoch}:%{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 = %{epoch}:%{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 +4089 acinclude.m4 >> acinclude.m4.tmp
150 mv -f acinclude.m4.tmp acinclude.m4
160 %{!?with_curl:--without-libcurl} \
161 %{?with_milter:--enable-milter} \
162 --with-dbdir=/var/lib/%{name}
166 rm -rf $RPM_BUILD_ROOT
167 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,logrotate.d} \
168 $RPM_BUILD_ROOT{%{_sysconfdir}/cron.d,%{_var}/{log,spool/clamav}}
171 DESTDIR=$RPM_BUILD_ROOT
172 %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
174 cat <<EOF >$RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
175 5 * * * * root %{_sbindir}/clamav-cron-updatedb
178 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
180 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
181 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
183 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
184 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
185 install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
186 install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
187 install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name}
188 install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name}
189 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
191 # NOTE: clamd uses sane rights to it's clamd.pid file
192 # So better keep it dir
193 # If it is fixed use of dir will be unecesary
194 install -d $RPM_BUILD_ROOT%{_var}/run/%{name}
196 touch $RPM_BUILD_ROOT%{_var}/log/freshclam.log
199 rm -rf $RPM_BUILD_ROOT
201 %triggerin -- amavis-ng
202 AMAVIS=$(/usr/bin/getgid amavis)
204 if [ $RESULT -eq 0 ]; then
205 /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
206 echo "adding clamav to amavis group GID=$AMAVIS"
209 %triggerin -- amavisd-new
210 AMAVIS=$(/usr/bin/getgid amavis)
212 if [ $RESULT -eq 0 ]; then
213 /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
214 echo "adding clamav to amavis group GID=$AMAVIS"
217 %triggerin -- amavisd
218 AMAVIS=$(/usr/bin/getgid amavis)
220 if [ $RESULT -eq 0 ]; then
221 echo "adding clamav to amavis group GID=$AMAVIS"
222 /usr/sbin/usermod -G amavis clamav 1>&2
226 if [ -n "`/usr/bin/getgid clamav`" ]; then
227 if [ "`/usr/bin/getgid clamav`" != 43 ]; then
228 echo "Error: group clamav doesn't have gid=43. Correct this before installing clamav" 1>&2
232 echo "Adding group clamav GID=43"
233 /usr/sbin/groupadd -g 43 clamav
235 if [ -n "`/bin/id -u clamav 2>/dev/null`" ]; then
236 if [ "`/bin/id -u clamav`" != 43 ]; then
237 echo "Error: user clamav doesn't have uid=43. Correct this before installing clamav" 1>&2
241 echo "Adding user clamav UID=43"
242 /usr/sbin/useradd -u 43 -d /tmp -s /bin/false \
243 -c "Clam Anti Virus Checker" -g clamav clamav 1>&2
244 if [ -n "`/usr/bin/getgid amavis`" ]; then
245 echo "adding clamav to amavis group"
246 /usr/sbin/usermod -G amavis clamav 1>&2
251 /sbin/chkconfig --add clamd
252 if [ -f /var/lock/subsys/clamd ]; then
253 /etc/rc.d/init.d/clamd restart >&2
255 echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2
257 touch %{_var}/log/freshclam.log
258 chown clamav:root %{_var}/log/freshclam.log
259 chmod 640 %{_var}/log/freshclam.log
262 if [ "$1" = "0" ]; then
263 if [ -f /var/lock/subsys/clamd ]; then
264 /etc/rc.d/init.d/clamd stop
266 /sbin/chkconfig --del clamd
270 if [ "$1" = "0" ]; then
271 echo "Removing user clamav"
272 /usr/sbin/userdel clamav
273 echo "Removing group clamav"
274 /usr/sbin/groupdel clamav
277 %triggerpostun -- %{name} <= 0.75.1
278 if [ -f /etc/clamav.conf.rpmsave ]; then
279 echo "Renaming config to new name /etc/clamd.conf"
280 mv -f /etc/clamd.conf /etc/clamd.conf.rpmnew
281 mv -f /etc/clamav.conf.rpmsave /etc/clamd.conf
282 echo "Changing config location in freshclam config"
283 sed -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf
288 /sbin/chkconfig --add clamav-milter
289 if [ -f /var/lock/subsys/clamav-milter ]; then
290 /etc/rc.d/init.d/clamd restart >&2
292 echo "Run \"/etc/rc.d/init.d/clamav-milter start\" to start Clam Antivirus daemon." >&2
296 if [ "$1" = "0" ]; then
297 if [ -f /var/lock/subsys/clamav-milter ]; then
298 /etc/rc.d/init.d/clamav-milter stop
300 /sbin/chkconfig --del clamav-milter
303 %post libs -p /sbin/ldconfig
304 %postun libs -p /sbin/ldconfig
306 %post database -p %{_sbindir}/%{name}-post-updatedb
309 %defattr(644,root,root,755)
310 %doc AUTHORS ChangeLog FAQ NEWS README TODO docs/*.pdf docs/html/
311 %attr(755,root,root) %{_bindir}/clamdscan
312 %attr(755,root,root) %{_bindir}/clamscan
313 %attr(755,root,root) %{_bindir}/freshclam
314 %attr(755,root,root) %{_bindir}/sigtool
315 %attr(755,root,root) %{_sbindir}/clamd
316 %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb
317 %attr(755,clamav,root) %dir /var/lib/%{name}
318 %attr(640,clamav,root) %ghost %{_var}/log/freshclam.log
319 %attr(750,clamav,clamav) %dir %{_var}/run/%{name}
321 %attr(640,root,root) %{_sysconfdir}/cron.d/%{name}
322 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/clamd.conf
323 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/freshclam.conf
325 %attr(754,root,root) /etc/rc.d/init.d/clamd
326 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/clamd
327 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/clamav
329 %{_mandir}/man8/clamd*
333 %defattr(644,root,root,755)
334 %config(noreplace) %{_sysconfdir}/sysconfig/clamav-milter
335 %attr(755,root,root) /etc/rc.d/init.d/clamav-milter
336 #%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter
337 #%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter
338 #%{_sysconfdir}/log.d/conf/services/clamav-milter.conf
339 %attr(755,root,root) %{_sbindir}/clamav-milter
340 %{_mandir}/man8/clamav-milter.8*
341 %attr(700,clamav,clamav) /var/spool/clamav/
345 %defattr(644,root,root,755)
346 %attr(755,root,root) %{_libdir}/lib*.so.*.*
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_bindir}/clamav-config
351 %attr(755,root,root) %{_libdir}/lib*.so
354 %{_pkgconfigdir}/*.pc
357 %defattr(644,root,root,755)
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_sbindir}/clamav-post-updatedb
363 %attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/*.cvd