2 # Make freshclam (script and daemon)
5 %bcond_without milter # build without milter subpackage
6 %bcond_with curl # enable curl support
8 Summary: An anti-virus utility for Unix
9 Summary(pl): Narzêdzie antywirusowe dla Uniksów
16 Source0: http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
17 # Source0-md5: c43213da01d510faf117daa9a4d5326c
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 20050430
25 Source6: http://db.local.clamav.net/daily.cvd
26 # Source6-md5: be42ab8ce086b80155be1088b413be26
27 Source7: http://db.local.clamav.net/main.cvd
28 # Source7-md5: 59f425f2dffe9a98926bfae94f299880
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 BuildRequires: bzip2-devel
38 %{?with_curl:BuildRequires: curl-devel}
39 BuildRequires: gmp-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
46 Requires(pre): /bin/id
47 Requires(pre): /usr/bin/getgid
48 Requires(pre): /usr/sbin/groupadd
49 Requires(pre): /usr/sbin/useradd
50 Requires(postun): /usr/sbin/groupdel
51 Requires(postun): /usr/sbin/userdel
52 Requires(postun): sed >= 4.0
53 Requires(postun,pre): /usr/sbin/usermod
54 Requires(post,preun): /sbin/chkconfig
55 Requires: /usr/sbin/usermod
56 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
58 Provides: group(clamav)
59 Provides: user(clamav)
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 Clam Antivirus is a powerful anti-virus scanner for Unix. It supports
64 AMaViS, compressed files, on-access scanning and includes a program
65 for auto-updating with support for digital signatures. The virus
66 database has over 25000 viruses, worms and trojans signatures. The
67 scanner is multithreaded, written in C, and POSIX compliant.
70 Clam Antivirus jest potê¿nym skanerem antywirusowym dla systemów
71 uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie
72 "on-access" i posiada system bezpiecznej, automatycznej aktualizacji.
73 Baza wirusów zawiera ponad 25000 sygnatur. Skaner jest wielow±tkowy,
74 napisany w C i zgodny z POSIXem.
77 Summary: Shared libraries for clamav
78 Summary(pl): Biblioteki dzielone clamav
82 Shared libraries for clamav.
84 %description libs -l pl
85 Biblioteki dzielone clamav.
88 Summary: ClamAV filter using milter interface
89 Summary(pl): Filtr ClamAV korzystaj±cy z interfejsu milter
91 Requires: %{name} = %{epoch}:%{version}-%{release}
92 Requires: sendmail >= 8.11
93 Requires: tcp_wrappers
96 ClamAV sendmail filter using MILTER interface.
98 %description milter -l pl
99 Filtr ClamAV dla sendmaila korzystaj±cy z interfejsu MILTER.
102 Summary: clamav - Development header files and libraries
103 Summary(pl): clamav - Pliki nag³ówkowe i biblioteki dla programistów
104 Group: Development/Libraries
105 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
106 Requires: bzip2-devel
111 This package contains the development header files and libraries
112 necessary to develop clamav client applications.
114 %description devel -l pl
115 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
119 Summary: clamav static libraris
120 Summary(pl): Biblioteki statyczne clamav
121 Group: Development/Libraries
122 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
125 clamav static libraries.
127 %description static -l pl
128 Biblioteki statyczne clamav.
131 Summary: Virus database for clamav
132 Summary(pl): Bazy wirusów dla clamav
134 Version: %{version}.%{database_version}
137 %description database
138 Virus database for clamav (updated %{database_version}).
140 %description database -l pl
141 Bazy wirusów dla clamav (aktualizowana %{database_version}).
149 # kill old libtool.m4 copy
150 head -n 489 acinclude.m4 > acinclude.m4.tmp
151 tail -n +4089 acinclude.m4 >> acinclude.m4.tmp
152 mv -f acinclude.m4.tmp acinclude.m4
162 %{!?with_curl:--without-libcurl} \
163 %{?with_milter:--enable-milter} \
164 --with-dbdir=/var/lib/%{name}
168 rm -rf $RPM_BUILD_ROOT
169 install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig} \
170 $RPM_BUILD_ROOT%{_var}/{log,spool/clamav}
173 DESTDIR=$RPM_BUILD_ROOT
174 %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
176 cat <<EOF >$RPM_BUILD_ROOT/etc/cron.d/%{name}
177 5 * * * * root %{_sbindir}/clamav-cron-updatedb
180 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
182 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
183 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
185 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
186 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
187 install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
188 install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
189 install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name}
190 install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name}
191 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
193 # NOTE: clamd uses sane rights to it's clamd.pid file
194 # So better keep it dir
195 # If it is fixed use of dir will be unecesary
196 install -d $RPM_BUILD_ROOT%{_var}/run/%{name}
198 :> $RPM_BUILD_ROOT%{_var}/log/freshclam.log
201 rm -rf $RPM_BUILD_ROOT
203 %triggerin -- amavis-ng
204 AMAVIS=$(/usr/bin/getgid amavis)
206 if [ $RESULT -eq 0 ]; then
207 echo "adding clamav to amavis group GID=$AMAVIS"
208 /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
211 %triggerin -- amavisd-new
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
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
228 if [ -n "`/usr/bin/getgid clamav`" ]; then
229 if [ "`/usr/bin/getgid clamav`" != 43 ]; then
230 echo "Error: group clamav doesn't have gid=43. Correct this before installing clamav" 1>&2
234 echo "Adding group clamav GID=43"
235 /usr/sbin/groupadd -g 43 clamav
237 if [ -n "`/bin/id -u clamav 2>/dev/null`" ]; then
238 if [ "`/bin/id -u clamav`" != 43 ]; then
239 echo "Error: user clamav doesn't have uid=43. Correct this before installing clamav" 1>&2
243 echo "Adding user clamav UID=43"
244 /usr/sbin/useradd -u 43 -d /tmp -s /bin/false \
245 -c "Clam Anti Virus Checker" -g clamav clamav 1>&2
246 if [ -n "`/usr/bin/getgid amavis`" ]; then
247 echo "adding clamav to amavis group"
248 /usr/sbin/usermod -G amavis clamav 1>&2
253 /sbin/chkconfig --add clamd
254 if [ -f /var/lock/subsys/clamd ]; then
255 /etc/rc.d/init.d/clamd restart >&2
257 echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2
259 touch %{_var}/log/freshclam.log
260 chown clamav:root %{_var}/log/freshclam.log
261 chmod 640 %{_var}/log/freshclam.log
264 if [ "$1" = "0" ]; then
265 if [ -f /var/lock/subsys/clamd ]; then
266 /etc/rc.d/init.d/clamd stop
268 /sbin/chkconfig --del clamd
272 if [ "$1" = "0" ]; then
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
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(754,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