]> git.pld-linux.org Git - packages/clamav.git/blob - clamav.spec
- replaced UPDATE_QUIET with UPDATE_MAIL_MESSAGES
[packages/clamav.git] / clamav.spec
1 # TODO:
2 #   Make freshclam (script and daemon)
3
4 Summary:        An anti-virus utility for Unix
5 Summary(pl):    Antywirusowe narzêdzie dla Uniksów
6 Name:           clamav
7 Version:        0.75
8 Release:        3
9 License:        GPL
10 Group:          Applications
11 Source0:        http://dl.sourceforge.net/clamav/%{name}-%{version}.tar.gz
12 # Source0-md5:  645d3d5b6d6bea2af6db92295b5c10af
13 Source1:        %{name}.init
14 Source2:        %{name}.sysconfig
15 Source4:        %{name}-cron-updatedb
16 Source5:        %{name}.logrotate
17 # Remember to update date after databases upgrade
18 %define         database_version        20040724
19 Source6:        http://www.clamav.net/database/daily.cvd
20 # Source6-md5:  dba9adc5fba54e2a7b7575ea88d23f91
21 Source7:        http://www.clamav.net/database/main.cvd
22 # Source7-md5:  fb569320447dff5b22acdbec2dbc5772
23 Source8:        %{name}-post-updatedb
24 Patch0:         %{name}-pld_config.patch
25 Patch1:         %{name}-no_auto_libwrap.patch
26 Patch2:         %{name}-af_unix.patch
27 URL:            http://www.clamav.net/
28 BuildRequires:  autoconf
29 BuildRequires:  automake
30 BuildRequires:  zlib-devel
31 BuildRequires:  gmp-devel
32 Requires(post,preun):   /sbin/chkconfig
33 Requires:       %{name}-libs = %{version}-%{release}
34 Requires:       bc
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %description
38 Clam Antivirus is a powerful anti-virus scanner for Unix. It supports
39 AMaViS, compressed files, uses the virus database from
40 OpenAntivirus.org, and includes a program for auto-updating. The
41 scanner is multithreaded, written in C, and POSIX compliant.
42
43 %description -l pl
44 Clam Antivirus jest potê¿nym skanerem antywirusowym dla systemów
45 uniksowych. Wspiera on AMaViSa, skompresowane pliki, u¿ywa bazy
46 wirusów z OpenAntivirus.org, i posiada system automatycznej
47 aktualizacji. Skaner jest wielow±tkowy, napisany w C i zgodny z
48 POSIXem.
49
50 %package libs
51 Summary:        Shared libraries for clamav
52 Summary(pl):    Biblioteki dzielone clamav
53 Group:          Libraries
54
55 %description libs
56 Shared libraries for clamav.
57
58 %description libs -l pl
59 Biblioteki dzielone clamav.
60
61 %package devel
62 Summary:        clamav - Development header files and libraries
63 Summary(pl):    clamav - Pliki nag³ówkowe i biblioteki dla programistów
64 Group:          Development/Libraries
65 Requires:       %{name}-libs = %{version}-%{release}
66
67 %description devel
68 This package contains the development header files and libraries
69 necessary to develop clamav client applications.
70
71 %description devel -l pl
72 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
73 klienckich clamav.
74
75 %package static
76 Summary:        clamav static libraris
77 Summary(pl):    Biblioteki statyczne clamav
78 Group:          Development/Libraries
79 Requires:       %{name}-devel = %{version}-%{release}
80
81 %description static
82 clamav static libraries.
83
84 %description static -l pl
85 Biblioteki statyczne clamav.
86
87 %package database
88 Summary:        Virus database for clamav
89 Summary(pl):    Bazy wirusów dla clamav
90 Group:          Applications
91 Version:        %{version}.%{database_version}
92 PreReq:         %{name}
93
94 %description database
95 Virus database for clamav (updated %{database_version}).
96
97 %description database -l pl
98 Bazy wirusów dla clamav (aktualizowana %{database_version}).
99
100 %prep
101 %setup -q
102 %patch0 -p1
103 %patch1 -p1
104 %patch2 -p1
105
106 %build
107 %{__aclocal}
108 %{__autoconf}
109 %{__automake}
110 %configure \
111         --disable-clamav \
112         --with-dbdir=/var/lib/%{name}
113 %{__make}
114
115 %install
116 rm -rf $RPM_BUILD_ROOT
117 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,logrotate.d} \
118         $RPM_BUILD_ROOT{%{_sysconfdir}/cron.d,%{_var}/log}
119
120 %{__make} install \
121         DESTDIR=$RPM_BUILD_ROOT
122
123 cat <<EOF >$RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
124 5 * * * *       root    %{_sbindir}/clamav-cron-updatedb
125 EOF
126
127
128 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/clamd
129 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/clamd
130 install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/clamav-cron-updatedb
131 install etc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/
132 install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
133 install %{SOURCE6} $RPM_BUILD_ROOT/var/lib/%{name}/
134 install %{SOURCE7} $RPM_BUILD_ROOT/var/lib/%{name}/
135 install %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}
136
137 # NOTE: clamd uses sane rights to it's clamd.pid file
138 # So better keep it dir
139 # If it is fixed use of dir will be unecesary
140 install -d $RPM_BUILD_ROOT%{_var}/run/%{name}
141
142 touch $RPM_BUILD_ROOT%{_var}/log/freshclam.log
143
144 %clean
145 rm -rf $RPM_BUILD_ROOT
146
147 %triggerin -- amavis-ng
148 AMAVIS=$(/usr/bin/getgid amavis)
149 RESULT=$?
150 if [ $RESULT -eq 0 ]; then
151         /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
152         echo "adding clamav to amavis group GID=$AMAVIS"
153 fi
154
155 %triggerin -- amavisd-new
156 AMAVIS=$(/usr/bin/getgid amavis)
157 RESULT=$?
158 if [ $RESULT -eq 0 ]; then
159         /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
160         echo "adding clamav to amavis group GID=$AMAVIS"
161 fi
162
163 %triggerin -- amavisd
164 AMAVIS=$(/usr/bin/getgid amavis)
165 RESULT=$?
166 if [ $RESULT -eq 0 ]; then
167         /usr/sbin/usermod -G amavis clamav 1>&2 > /dev/null
168         echo "adding clamav to amavis group GID=$AMAVIS"
169 fi
170
171
172 %pre 
173 if [ -n "`getgid clamav`" ]; then
174         if [ "`getgid clamav`" != "43" ]; then
175                 echo "Warning: group clamav doesn't have gid=43. Correct this before installing clamav" 1>&2
176                 exit 1
177         fi
178 else
179         echo "Adding group clamav GID=43"
180         /usr/sbin/groupadd -g 43 -r -f clamav
181 fi
182 if [ -n "`id -u clamav 2>/dev/null`" ]; then
183         if [ "`id -u clamav`" != "43" ]; then
184                 echo "Warning: user clamav doesn't have uid=43. Correct this before installing clamav" 1>&2
185                 exit 1
186         fi
187 else
188         echo "Adding user clamav UID=43"
189         /usr/sbin/useradd -u 43 -r -d /tmp -s /bin/false -c "Clam Anti Virus Checker" -g clamav clamav 1>&2
190 fi
191
192 %post
193 /sbin/chkconfig --add clamd
194 if [ -f /var/lock/subsys/clamd ]; then
195         /etc/rc.d/init.d/clamd restart >&2
196 else
197         echo "Run \"/etc/rc.d/init.d/clamd start\" to start Clam Antivirus daemon." >&2
198 fi
199 touch %{_var}/log/freshclam.log
200 chown clamav:root %{_var}/log/freshclam.log
201 chmod 640 %{_var}/log/freshclam.log
202
203 %preun
204 if [ "$1" = "0" ]; then
205         if [ -f /var/lock/subsys/clamd ]; then
206                 /etc/rc.d/init.d/clamd stop
207         fi
208         /sbin/chkconfig --del clamd
209 fi
210
211 %postun
212 if [ "$1" = "0" ]; then
213         echo "Removing user clamav"
214         /usr/sbin/userdel clamav
215         echo "Removing group clamav"
216         /usr/sbin/groupdel clamav
217 fi
218
219 %post   libs -p /sbin/ldconfig
220 %postun libs -p /sbin/ldconfig
221
222 %post   database -p %{_sbindir}/%{name}-post-updatedb
223
224 %files
225 %defattr(644,root,root,755)
226 %doc AUTHORS ChangeLog FAQ NEWS README TODO docs/html/
227 %attr(755,root,root) %{_bindir}/*
228 %attr(755,root,root) %{_sbindir}/*
229 %attr(755,clamav,root) %dir /var/lib/%{name}
230 %attr(640,clamav,root) %ghost %{_var}/log/freshclam.log
231 %attr(750,clamav,clamav) %dir %{_var}/run/%{name}
232
233 %attr(640,root,root) %{_sysconfdir}/cron.d/%{name}
234 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/clamav.conf
235 %attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/freshclam.conf
236
237 %attr(754,root,root) /etc/rc.d/init.d/clamd
238 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/clamd
239 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/clamav
240 %{_mandir}/man?/*
241
242 %files libs
243 %defattr(644,root,root,755)
244 %attr(755,root,root) %{_libdir}/lib*.so.*.*
245
246 %files devel
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_libdir}/lib*.so
249 %{_libdir}/lib*.la
250 %{_includedir}/*.h
251 %{_pkgconfigdir}/*.pc
252
253 %files static
254 %defattr(644,root,root,755)
255 %{_libdir}/*.a
256
257 %files database
258 %defattr(644,root,root,755)
259 %attr(644,clamav,root) %verify(not md5 size mtime) /var/lib/%{name}/*.cvd
This page took 0.058319 seconds and 3 git commands to generate.