]> git.pld-linux.org Git - packages/clamav.git/blob - clamav.spec
- up to 0.85
[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_without  database        # build without databases subpackage
7 %bcond_with     curl            # enable curl support
8 #
9 Summary:        An anti-virus utility for Unix
10 Summary(pl):    Narzêdzie antywirusowe dla Uniksów
11 Name:           clamav
12 Version:        0.85
13 Release:        1
14 Epoch:          0
15 License:        GPL
16 Group:          Applications
17 Source0:        http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
18 # Source0-md5:  b6bf9b04d69b4e9cf917beca99d8169a
19 Source1:        %{name}.init
20 Source2:        %{name}.sysconfig
21 Source3:        %{name}-milter.init
22 Source4:        %{name}-cron-updatedb
23 Source5:        %{name}.logrotate
24 %if %{with database}
25 # Remember to update date after databases upgrade
26 %define         database_version        20050512
27 Source6:        http://db.local.clamav.net/daily.cvd
28 # Source6-md5:  f6dd359299d1a491c0940e73ee77efad
29 Source7:        http://db.local.clamav.net/main.cvd
30 # Source7-md5:  8771a3301a0781d7897b98e435df26f3
31 Source8:        %{name}-post-updatedb
32 %endif # database
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
48 PreReq:         rc-scripts
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}
60 Requires:       bc
61 Provides:       group(clamav)
62 Provides:       user(clamav)
63 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64
65 %description
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.
71
72 %description -l pl
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.
78
79 %package libs
80 Summary:        Shared libraries for clamav
81 Summary(pl):    Biblioteki dzielone clamav
82 Group:          Libraries
83
84 %description libs
85 Shared libraries for clamav.
86
87 %description libs -l pl
88 Biblioteki dzielone clamav.
89
90 %package milter
91 Summary:        ClamAV filter using milter interface
92 Summary(pl):    Filtr ClamAV korzystaj±cy z interfejsu milter
93 Group:          Daemons
94 Requires:       %{name} = %{epoch}:%{version}-%{release}
95 Requires:       sendmail >= 8.11
96 Requires:       tcp_wrappers
97
98 %description milter
99 ClamAV sendmail filter using MILTER interface.
100
101 %description milter -l pl
102 Filtr ClamAV dla sendmaila korzystaj±cy z interfejsu MILTER.
103
104 %package devel
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
110 Requires:       gmp-devel
111 Requires:       zlib-devel
112
113 %description devel
114 This package contains the development header files and libraries
115 necessary to develop clamav client applications.
116
117 %description devel -l pl
118 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
119 klienckich clamav.
120
121 %package static
122 Summary:        clamav static libraris
123 Summary(pl):    Biblioteki statyczne clamav
124 Group:          Development/Libraries
125 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
126
127 %description static
128 clamav static libraries.
129
130 %description static -l pl
131 Biblioteki statyczne clamav.
132
133 %package database
134 Summary:        Virus database for clamav
135 Summary(pl):    Bazy wirusów dla clamav
136 Group:          Applications
137 Version:        %{version}.%{database_version}
138 PreReq:         %{name}
139
140 %description database
141 Virus database for clamav (updated %{database_version}).
142
143 %description database -l pl
144 Bazy wirusów dla clamav (aktualizowana %{database_version}).
145
146 %prep
147 %setup -q
148 %patch0 -p1
149 %patch1 -p1
150 %patch2 -p1
151
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
156
157 %build
158 %{__libtoolize}
159 %{__aclocal}
160 %{__autoconf}
161 %{__autoheader}
162 %{__automake}
163 %configure \
164         --disable-clamav \
165         %{!?with_curl:--without-libcurl} \
166         %{?with_milter:--enable-milter} \
167         --with-dbdir=/var/lib/%{name}
168 %{__make}
169
170 %install
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}
174
175 %{__make} install \
176         DESTDIR=$RPM_BUILD_ROOT
177 %{!?with_milter:rm -f $RPM_BUILD_ROOT%{_mandir}/man8/clamav-milter.8*}
178
179 cat <<EOF >$RPM_BUILD_ROOT/etc/cron.d/%{name}
180 5 * * * *       root    %{_sbindir}/clamav-cron-updatedb
181 EOF
182
183 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
184 %if %{with milter}
185 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamav-milter
186 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/clamav-milter
187 %endif
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}
192 %if %{with database}
193 install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name}
194 install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name}
195 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
196 %endif # database
197
198 # NOTE: clamd uses sane rights to it's clamd.pid file
199 # So better keep it dir
200 # If it is fixed use of dir will be unecesary
201 install -d $RPM_BUILD_ROOT%{_var}/run/%{name}
202
203 :> $RPM_BUILD_ROOT%{_var}/log/freshclam.log
204
205 %clean
206 rm -rf $RPM_BUILD_ROOT
207
208 %triggerin -- amavis-ng
209 AMAVIS=$(/usr/bin/getgid amavis)
210 RESULT=$?
211 if [ $RESULT -eq 0 ]; then
212         echo "Adding clamav to amavis group GID=$AMAVIS"
213         /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
214 fi
215
216 %triggerin -- amavisd-new
217 AMAVIS=$(/usr/bin/getgid amavis)
218 RESULT=$?
219 if [ $RESULT -eq 0 ]; then
220         echo "Adding clamav to amavis group GID=$AMAVIS"
221         /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
222 fi
223
224 %triggerin -- amavisd
225 AMAVIS=$(/usr/bin/getgid amavis)
226 RESULT=$?
227 if [ $RESULT -eq 0 ]; then
228         echo "Adding clamav to amavis group GID=$AMAVIS"
229         /usr/sbin/usermod -G amavis clamav 1>&2
230 fi
231
232 %pre
233 %groupadd -g 43 clamav
234 %useradd -u 43 -d /tmp -s /bin/false -c "Clam Anti Virus Checker" -g clamav clamav
235
236 # FIXME: check this. is it proper after useradd macro?
237 # TODO: use addusertogroup macro?
238 if [ -n "`/usr/bin/getgid amavis`" ]; then
239         echo "Adding clamav to amavis group"
240         /usr/sbin/usermod -G amavis clamav 1>&2
241 fi
242
243 %post
244 /sbin/chkconfig --add clamd
245 if [ -f /var/lock/subsys/clamd ]; then
246         /etc/rc.d/init.d/clamd restart >&2
247 else
248         echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2
249 fi
250 touch %{_var}/log/freshclam.log
251 chown clamav:root %{_var}/log/freshclam.log
252 chmod 640 %{_var}/log/freshclam.log
253
254 %preun
255 if [ "$1" = "0" ]; then
256         if [ -f /var/lock/subsys/clamd ]; then
257                 /etc/rc.d/init.d/clamd stop
258         fi
259         /sbin/chkconfig --del clamd
260 fi
261
262 %postun
263 if [ "$1" = "0" ]; then
264         %userremove clamav
265         %groupremove clamav
266 fi
267
268 %triggerpostun -- %{name} <= 0.75.1
269 if [ -f /etc/clamav.conf.rpmsave ]; then
270         echo "Renaming config to new name /etc/clamd.conf"
271         mv -f /etc/clamd.conf /etc/clamd.conf.rpmnew
272         mv -f /etc/clamav.conf.rpmsave /etc/clamd.conf
273         echo "Changing config location in freshclam config"
274         sed -i -e 's/clamav.conf/clamd.conf/' /etc/freshclam.conf
275 fi
276
277 %if %{with milter}
278 %post milter
279 /sbin/chkconfig --add clamav-milter
280 if [ -f /var/lock/subsys/clamav-milter ]; then
281         /etc/rc.d/init.d/clamd restart >&2
282 else
283         echo "Run \"/etc/rc.d/init.d/clamav-milter start\" to start Clam Antivirus daemon." >&2
284 fi
285
286 %preun milter
287 if [ "$1" = "0" ]; then
288         if [ -f /var/lock/subsys/clamav-milter ]; then
289                 /etc/rc.d/init.d/clamav-milter stop
290         fi
291         /sbin/chkconfig --del clamav-milter
292 fi
293 %endif
294 %post   libs -p /sbin/ldconfig
295 %postun libs -p /sbin/ldconfig
296
297 %{?with_database:%post  database -p %{_sbindir}/%{name}-post-updatedb}
298
299 %files
300 %defattr(644,root,root,755)
301 %doc AUTHORS ChangeLog FAQ NEWS README TODO docs/*.pdf
302 %attr(755,root,root) %{_bindir}/clamdscan
303 %attr(755,root,root) %{_bindir}/clamscan
304 %attr(755,root,root) %{_bindir}/freshclam
305 %attr(755,root,root) %{_bindir}/sigtool
306 %attr(755,root,root) %{_sbindir}/clamd
307 %attr(755,root,root) %{_sbindir}/clamav-cron-updatedb
308 %attr(755,clamav,root) %dir /var/lib/%{name}
309 %attr(640,clamav,root) %ghost %{_var}/log/freshclam.log
310 %attr(750,clamav,clamav) %dir %{_var}/run/%{name}
311
312 %attr(640,root,root) %{_sysconfdir}/cron.d/%{name}
313 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/clamd.conf
314 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/freshclam.conf
315
316 %attr(754,root,root) /etc/rc.d/init.d/clamd
317 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamd
318 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/clamav
319 %{_mandir}/man[15]/*
320 %{_mandir}/man8/clamd*
321
322 %if %{with milter}
323 %files milter
324 %defattr(644,root,root,755)
325 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clamav-milter
326 %attr(754,root,root) /etc/rc.d/init.d/clamav-milter
327 #%attr(755,root,root) %{_sysconfdir}/cron.daily/clamav-milter
328 #%attr(755,root,root) %{_sysconfdir}/log.d/scripts/services/clamav-milter
329 #%{_sysconfdir}/log.d/conf/services/clamav-milter.conf
330 %attr(755,root,root) %{_sbindir}/clamav-milter
331 %{_mandir}/man8/clamav-milter.8*
332 %attr(700,clamav,clamav) /var/spool/clamav/
333 %endif
334
335 %files libs
336 %defattr(644,root,root,755)
337 %attr(755,root,root) %{_libdir}/lib*.so.*.*
338
339 %files devel
340 %defattr(644,root,root,755)
341 %attr(755,root,root) %{_bindir}/clamav-config
342 %attr(755,root,root) %{_libdir}/lib*.so
343 %{_libdir}/lib*.la
344 %{_includedir}/*.h
345 %{_pkgconfigdir}/*.pc
346
347 %files static
348 %defattr(644,root,root,755)
349 %{_libdir}/*.a
350
351 %if %{with database}
352 %files database
353 %defattr(644,root,root,755)
354 %attr(755,root,root) %{_sbindir}/clamav-post-updatedb
355 %attr(644,clamav,root) %verify(not md5 mtime size) /var/lib/%{name}/*.cvd
356 %endif # database
This page took 0.056609 seconds and 4 git commands to generate.