]> git.pld-linux.org Git - packages/clamav.git/blob - clamav.spec
- update to ver. 0.82, rel 1.
[packages/clamav.git] / clamav.spec
1 # TODO:
2 #   Make freshclam (script and daemon)
3 #
4 # Conditional build:
5 %bcond_without  milter  # build without milter subpackage
6 %bcond_with     curl    # enable curl support
7 #
8 Summary:        An anti-virus utility for Unix
9 Summary(pl):    Antywirusowe narzêdzie dla Uniksów
10 Name:           clamav
11 Version:        0.82
12 Release:        1
13 Epoch:          0
14 License:        GPL
15 Group:          Applications
16 Source0:        http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
17 # Source0-md5:  1b58972d8918f5174d7f05a35a48856b
18 Source1:        %{name}.init
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        20050203
25 Source6:        http://db.local.clamav.net/daily.cvd
26 # Source6-md5:  6d1a9734f3feeedd79b126dc27ece7f1
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
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):       sed >= 4.0
52 Requires(postun,pre):   /usr/sbin/usermod
53 Requires(post,preun):   /sbin/chkconfig
54 Requires:       /usr/sbin/usermod
55 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
56 Requires:       bc
57 Provides:       group(clamav)
58 Provides:       user(clamav)
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %description
62 Clam Antivirus is a powerful anti-virus scanner for Unix. It supports
63 AMaViS, compressed files, on-access scanning and includes a program
64 for auto-updating with support for digital signatures. The virus
65 database has over 25000 viruses, worms and trojans signatures. The
66 scanner is multithreaded, written in C, and POSIX compliant.
67
68 %description -l pl
69 Clam Antivirus jest potê¿nym skanerem antywirusowym dla systemów
70 uniksowych. Wspiera on AMaViSa, skompresowane pliki, skanowanie
71 "on-access" i posiada system bezpiecznej, automatycznej aktualizacji.
72 Baza wirusów zawiera ponad 25000 sygnatur. Skaner jest wielow±tkowy,
73 napisany w C i zgodny z POSIXem.
74
75 %package libs
76 Summary:        Shared libraries for clamav
77 Summary(pl):    Biblioteki dzielone clamav
78 Group:          Libraries
79
80 %description libs
81 Shared libraries for clamav.
82
83 %description libs -l pl
84 Biblioteki dzielone clamav.
85
86 %package milter
87 Summary:        ClamAV filter using milter interface
88 Summary(pl):    Filtr ClamAV korzystaj±cy z interfejsu milter
89 Group:          Daemons
90 Requires:       %{name} = %{epoch}:%{version}-%{release}
91 Requires:       sendmail >= 8.11
92 Requires:       tcp_wrappers
93
94 %description milter
95 ClamAV sendmail filter using MILTER interface.
96
97 %description milter -l pl
98 Filtr ClamAV dla sendmaila korzystaj±cy z interfejsu MILTER.
99
100 %package devel
101 Summary:        clamav - Development header files and libraries
102 Summary(pl):    clamav - Pliki nag³ówkowe i biblioteki dla programistów
103 Group:          Development/Libraries
104 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
105 Requires:       bzip2-devel
106 Requires:       gmp-devel
107 Requires:       zlib-devel
108
109 %description devel
110 This package contains the development header files and libraries
111 necessary to develop clamav client applications.
112
113 %description devel -l pl
114 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
115 klienckich clamav.
116
117 %package static
118 Summary:        clamav static libraris
119 Summary(pl):    Biblioteki statyczne clamav
120 Group:          Development/Libraries
121 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
122
123 %description static
124 clamav static libraries.
125
126 %description static -l pl
127 Biblioteki statyczne clamav.
128
129 %package database
130 Summary:        Virus database for clamav
131 Summary(pl):    Bazy wirusów dla clamav
132 Group:          Applications
133 Version:        %{version}.%{database_version}
134 PreReq:         %{name}
135
136 %description database
137 Virus database for clamav (updated %{database_version}).
138
139 %description database -l pl
140 Bazy wirusów dla clamav (aktualizowana %{database_version}).
141
142 %prep
143 %setup -q
144 %patch0 -p1
145 %patch1 -p1
146 %patch2 -p1
147
148 # kill old libtool.m4 copy
149 head -n 489 acinclude.m4 > acinclude.m4.tmp
150 tail -n +4089 acinclude.m4 >> acinclude.m4.tmp
151 mv -f acinclude.m4.tmp acinclude.m4
152
153 %build
154 %{__libtoolize}
155 %{__aclocal}
156 %{__autoconf}
157 %{__autoheader}
158 %{__automake}
159 %configure \
160         --disable-clamav \
161         %{!?with_curl:--without-libcurl} \
162         %{?with_milter:--enable-milter} \
163         --with-dbdir=/var/lib/%{name}
164 %{__make}
165
166 %install
167 rm -rf $RPM_BUILD_ROOT
168 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,logrotate.d} \
169         $RPM_BUILD_ROOT{%{_sysconfdir}/cron.d,%{_var}/{log,spool/clamav}}
170
171 %{__make} install \
172         DESTDIR=$RPM_BUILD_ROOT
173 %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
174
175 cat <<EOF >$RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
176 5 * * * *       root    %{_sbindir}/clamav-cron-updatedb
177 EOF
178
179 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
180 %if %{with milter}
181 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
182 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
183 %endif
184 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
185 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
186 install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
187 install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
188 install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name}
189 install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name}
190 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
191
192 # NOTE: clamd uses sane rights to it's clamd.pid file
193 # So better keep it dir
194 # If it is fixed use of dir will be unecesary
195 install -d $RPM_BUILD_ROOT%{_var}/run/%{name}
196
197 touch $RPM_BUILD_ROOT%{_var}/log/freshclam.log
198
199 %clean
200 rm -rf $RPM_BUILD_ROOT
201
202 %triggerin -- amavis-ng
203 AMAVIS=$(/usr/bin/getgid amavis)
204 RESULT=$?
205 if [ $RESULT -eq 0 ]; then
206         /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
207         echo "adding clamav to amavis group GID=$AMAVIS"
208 fi
209
210 %triggerin -- amavisd-new
211 AMAVIS=$(/usr/bin/getgid amavis)
212 RESULT=$?
213 if [ $RESULT -eq 0 ]; then
214         /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
215         echo "adding clamav to amavis group GID=$AMAVIS"
216 fi
217
218 %triggerin -- amavisd
219 AMAVIS=$(/usr/bin/getgid amavis)
220 RESULT=$?
221 if [ $RESULT -eq 0 ]; then
222         echo "adding clamav to amavis group GID=$AMAVIS"
223         /usr/sbin/usermod -G amavis clamav 1>&2
224 fi
225
226 %pre
227 if [ -n "`/usr/bin/getgid clamav`" ]; then
228         if [ "`/usr/bin/getgid clamav`" != 43 ]; then
229                 echo "Error: group clamav doesn't have gid=43. Correct this before installing clamav" 1>&2
230                 exit 1
231         fi
232 else
233         echo "Adding group clamav GID=43"
234         /usr/sbin/groupadd -g 43 clamav
235 fi
236 if [ -n "`/bin/id -u clamav 2>/dev/null`" ]; then
237         if [ "`/bin/id -u clamav`" != 43 ]; then
238                 echo "Error: user clamav doesn't have uid=43. Correct this before installing clamav" 1>&2
239                 exit 1
240         fi
241 else
242         echo "Adding user clamav UID=43"
243         /usr/sbin/useradd -u 43 -d /tmp -s /bin/false \
244                 -c "Clam Anti Virus Checker" -g clamav clamav 1>&2
245         if [ -n "`/usr/bin/getgid amavis`" ]; then
246                 echo "adding clamav to amavis group"
247                 /usr/sbin/usermod -G amavis clamav 1>&2
248         fi
249 fi
250
251 %post
252 /sbin/chkconfig --add clamd
253 if [ -f /var/lock/subsys/clamd ]; then
254         /etc/rc.d/init.d/clamd restart >&2
255 else
256         echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2
257 fi
258 touch %{_var}/log/freshclam.log
259 chown clamav:root %{_var}/log/freshclam.log
260 chmod 640 %{_var}/log/freshclam.log
261
262 %preun
263 if [ "$1" = "0" ]; then
264         if [ -f /var/lock/subsys/clamd ]; then
265                 /etc/rc.d/init.d/clamd stop
266         fi
267         /sbin/chkconfig --del clamd
268 fi
269
270 %postun
271 if [ "$1" = "0" ]; then
272         %userremove clamav
273         %groupremove clamav
274 fi
275
276 %triggerpostun -- %{name} <= 0.75.1
277 if [ -f /etc/clamav.conf.rpmsave ]; then
278         echo "Renaming config to new name /etc/clamd.conf"
279         mv -f /etc/clamd.conf /etc/clamd.conf.rpmnew
280         mv -f /etc/clamav.conf.rpmsave /etc/clamd.conf
281         echo "Changing config location in freshclam config"
282         sed -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf
283 fi
284
285 %if %{with milter}
286 %post milter
287 /sbin/chkconfig --add clamav-milter
288 if [ -f /var/lock/subsys/clamav-milter ]; then
289         /etc/rc.d/init.d/clamd restart >&2
290 else
291         echo "Run \"/etc/rc.d/init.d/clamav-milter start\" to start Clam Antivirus daemon." >&2
292 fi
293
294 %preun milter
295 if [ "$1" = "0" ]; then
296         if [ -f /var/lock/subsys/clamav-milter ]; then
297                 /etc/rc.d/init.d/clamav-milter stop
298         fi
299         /sbin/chkconfig --del clamav-milter
300 fi
301 %endif
302 %post   libs -p /sbin/ldconfig
303 %postun libs -p /sbin/ldconfig
304
305 %post   database -p %{_sbindir}/%{name}-post-updatedb
306
307 %files
308 %defattr(644,root,root,755)
309 %doc AUTHORS ChangeLog FAQ NEWS README TODO docs/*.pdf
310 %attr(755,root,root) %{_bindir}/clamdscan
311 %attr(755,root,root) %{_bindir}/clamscan
312 %attr(755,root,root) %{_bindir}/freshclam
313 %attr(755,root,root) %{_bindir}/sigtool
314 %attr(755,root,root) %{_sbindir}/clamd
315 %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb
316 %attr(755,clamav,root) %dir /var/lib/%{name}
317 %attr(640,clamav,root) %ghost %{_var}/log/freshclam.log
318 %attr(750,clamav,clamav) %dir %{_var}/run/%{name}
319
320 %attr(640,root,root) %{_sysconfdir}/cron.d/%{name}
321 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/clamd.conf
322 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/freshclam.conf
323
324 %attr(754,root,root) /etc/rc.d/init.d/clamd
325 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/clamd
326 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/clamav
327 %{_mandir}/man[15]/*
328 %{_mandir}/man8/clamd*
329
330 %if %{with milter}
331 %files milter
332 %defattr(644,root,root,755)
333 %config(noreplace) %{_sysconfdir}/sysconfig/clamav-milter
334 %attr(754,root,root) /etc/rc.d/init.d/clamav-milter
335 #%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter
336 #%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter
337 #%{_sysconfdir}/log.d/conf/services/clamav-milter.conf
338 %attr(755,root,root) %{_sbindir}/clamav-milter
339 %{_mandir}/man8/clamav-milter.8*
340 %attr(700,clamav,clamav) /var/spool/clamav/
341 %endif
342
343 %files libs
344 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_libdir}/lib*.so.*.*
346
347 %files devel
348 %defattr(644,root,root,755)
349 %attr(755,root,root) %{_bindir}/clamav-config
350 %attr(755,root,root) %{_libdir}/lib*.so
351 %{_libdir}/lib*.la
352 %{_includedir}/*.h
353 %{_pkgconfigdir}/*.pc
354
355 %files static
356 %defattr(644,root,root,755)
357 %{_libdir}/*.a
358
359 %files database
360 %defattr(644,root,root,755)
361 %attr(755,root,root) %{_sbindir}/clamav-post-updatedb
362 %attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/*.cvd
This page took 0.052855 seconds and 4 git commands to generate.