]> git.pld-linux.org Git - packages/dspam.git/blob - dspam.spec
- updated to 3.2.5
[packages/dspam.git] / dspam.spec
1 #
2 # Conditional build:
3 %bcond_with     mysql   # enable MySQL storage driver (disable db4 driver)
4 %bcond_with     pgsql   # enable PostgreSQL storage driver (disable db4 driver)
5 #
6 Summary:        A library and Mail Delivery Agent for Bayesian spam filtering
7 Summary(pl):    Biblioteka i MDA do bayesowskiego filtrowania spamu
8 Name:           dspam
9 Version:        3.2.5
10 Release:        1
11 License:        GPL
12 Group:          Applications/Mail
13 Source0:        http://www.nuclearelephant.com/projects/dspam/sources/%{name}-%{version}.tar.gz
14 # Source0-md5:  c89b246f42b62bf5d1e24d1f57877aed
15 Patch0:         %{name}-Makefile.patch
16 URL:            http://www.nuclearelephant.com/projects/dspam/
17 BuildRequires:  db-static
18 %if %{with mysql}
19 BuildRequires:  mysql-devel
20 %else 
21 %if %{with pgsql}
22 BuildRequires:  postgresql-devel
23 %else
24 BuildRequires:  db-devel
25 %endif
26 %endif
27 Buildroot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29 %description
30 DSPAM (as in De-Spam) is an open-source project to create a new kind
31 of anti-spam mechanism, and is currently effective as both a
32 server-side agent for UNIX email servers and a developer's library for
33 mail clients, other anti-spam tools, and similar projects requiring
34 drop-in spam filtering.
35
36 The DSPAM agent masquerades as the email server's local delivery agent
37 and filters/learns spams using an advanced Bayesian statistical
38 approach (based on Bayes's theorem of combined probabilities) which
39 provides an administratively maintenance-free, easy-learning Anti-Spam
40 service custom tailored to each individual user's behavior. Advanced
41 because on top of standard Bayesian filtering is also incorporated the
42 use of Chained Tokens, de-obfuscation, and other enhancements. DSPAM
43 works great with Sendmail and Exim, and should work well with any
44 other MTA that supports an external local delivery agent (postfix,
45 qmail, etc.)
46
47 %description -l pl
48 DSPAM (czyli De-Spam) to projekt o otwartych ¼ród³ach maj±cy na celu
49 stworzenie nowego rodzaju mechanizmu antyspamowego. Aktualnie jest
50 efektywny zarówno jako dzia³aj±cy po stronie serwera agent dla
51 uniksowych serwerów pocztowych jak i biblioteka dla programistów
52 klientów pocztowych, innych narzêdzi antyspamowych i innych projektów
53 wymagaj±cych filtrowania spamu w locie.
54
55 Agent DSPAM zachowuje siê jak lokalny agent dostarczania poczty (MDA)
56 i filtruje/uczy siê spamu przy u¿yciu zaawansowanego bayesowskiego
57 przybli¿enia statystycznego (opartego na twierdzeniu Bayesa o
58 po³±czonych prawdopodobieñstwach), daj±c nie wymagaj±c± obs³ugi
59 administracyjnej, ³atwo ucz±c± siê us³ugê antyspamow± dostosowan± do
60 zachowania ka¿dego u¿ytkownika. Metoda jest zaawansowana poniewa¿ na
61 podstawie standardowego filtrowania bayesowskiego wprowadzono u¿ycie
62 tokenów ³añcuchowych, eliminowanie ukrywanie i inne rozszerzenia.
63 DSPAM dzia³a wspaniale z Sendmailem i Eximem, powinien dzia³aæ dobrze
64 z ka¿dym innym MTA obs³uguj±cym zewnêtrznego agenta MDA (postfiksem,
65 qmailem itd.).
66
67 %package libs
68 Summary:        A library for Bayesian spam filtering
69 Summary(pl):    Biblioteka do bayesowskiego filtrowania spamu
70 Group:          Libraries
71
72 %description libs
73 DSPAM (as in De-Spam) is an open-source project to create a new kind
74 of anti-spam mechanism, and is currently effective as both a
75 server-side agent for UNIX email servers and a developer's library for
76 mail clients, other anti-spam tools, and similar projects requiring
77 drop-in spam filtering.
78
79 This package contains the library.
80
81 %description libs -l pl
82 DSPAM (czyli De-Spam) to projekt o otwartych ¼ród³ach maj±cy na celu
83 stworzenie nowego rodzaju mechanizmu antyspamowego. Aktualnie jest
84 efektywny zarówno jako dzia³aj±cy po stronie serwera agent dla
85 uniksowych serwerów pocztowych jak i biblioteka dla programistów
86 klientów pocztowych, innych narzêdzi antyspamowych i innych projektów
87 wymagaj±cych filtrowania spamu w locie.
88
89 Ten pakiet zawiera wspomnian± bibliotekê.
90
91 %package devel
92 Summary:        Header files for the DSPAM library
93 Summary(pl):    Pliki nag³ówkowe biblioteki DSPAM
94 Group:          Development/Libraries
95 Requires:       %{name}-libs = %{version}-%{release}
96
97 %description devel
98 DSPAM has had its core engine moved into a separate library, libdspam.
99 This library can be used by developers to provide 'drop-in' spam
100 filtering for their mail client applications, other anti-spam tools,
101 or similar projects.
102
103 %description devel -l pl
104 G³ówny silnik DSPAM zosta³ przeniesiony do oddzielnej biblioteki
105 libdspam, która mo¿e byæ u¿ywana przez programistów do zapewnienia
106 filtrowania spamu w locie dla aplikacji klientów pocztowych, innych
107 narzêdzi antyspamowych i podobnych projektów.
108
109 %package static
110 Summary:        Static DSPAM library
111 Summary(pl):    Statyczna biblioteka DSPAM
112 Group:          Development/Libraries
113 Requires:       %{name}-devel = %{version}-%{release}
114
115 %description static
116 Static DSPAM library.
117
118 %description static -l pl
119 Statyczna biblioteka DSPAM.
120
121 %prep
122 %setup -q
123 %patch0 -p1
124
125 %build
126 %configure \
127         --enable-trusted-user-security \
128         --enable-bayesian-dobly \
129         --enable-chained-tokens \
130         --enable-experimental \
131         --enable-bias \
132         --enable-large-scale \
133         --enable-delivery-to-stdout \
134         --enable-virtual-users \
135         --with-userdir=/var/lib/%{name} \
136         --with-dspam-home=/var/lib/%{name} \
137         --with-userdir-owner=none \
138         --with-userdir-group=none \
139         --with-dspam-owner=none \
140         --with-dspam-group=none \
141         --with-signature-life=14 \
142         --disable-dependency-tracking \
143 %if %{with mysql}
144         --enable-neural-networking \
145         --enable-virtual-users \
146         --with-storage-driver=mysql_drv \
147         --with-mysql-includes=%{_includedir}/mysql \
148         --with-mysql-libraries=%{_libdir}
149 %else
150 %if %{with pgsql}
151         --enable-neural-networking \
152         --enable-virtual-users \
153         --with-storage-driver=pgsql_drv \
154         --with-pgsql-includes=%{_includedir}/postgresql \
155         --with-pgsql-libraries=%{_libdir}
156 %else
157         --with-storage-driver=libdb4_drv \
158         --with-db4-includes=%{_includedir} \
159         --with-db4-libraries=%{_libdir}
160 %endif
161 %endif
162 %{__make}
163
164 %install
165 rm -rf $RPM_BUILD_ROOT
166
167 #%makeinstall_std
168 %{__make} install DESTDIR=$RPM_BUILD_ROOT
169
170 # install devel files
171 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name},/var/lib/%{name}}
172 install -m0644 libdspam.h $RPM_BUILD_ROOT%{_includedir}/%{name}
173 install -m0644 libdspam_objects.h $RPM_BUILD_ROOT%{_includedir}/%{name}
174 install -m0644 lht.h $RPM_BUILD_ROOT%{_includedir}/%{name}
175 install -m0644 nodetree.h $RPM_BUILD_ROOT%{_includedir}/%{name}
176
177 # provide maintenance scripts
178 install -d $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily
179 install -d $RPM_BUILD_ROOT%{_sysconfdir}/cron.weekly
180
181 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/%{name} <<EOF
182 #!/bin/sh
183 exec %{_bindir}/%{name}_clean -s -p
184 EOF
185
186 chmod 755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/%{name}
187
188 # fix prefix
189 perl -pi -e "s|%{_prefix}/local|%{_prefix}|g" $RPM_BUILD_ROOT%{_bindir}/%{name}_corpus
190 perl -pi -e "s|%{_prefix}/local|%{_prefix}|g" cgi/dspam.cgi
191
192 # fix purge stuff
193 #install -m0755 dspam-cron.weekly $RPM_BUILD_ROOT%{_sysconfdir}/cron.weekly/%{name}
194
195 %if %{with mysql}
196 cp tools.mysql_drv/README README.mysql
197
198 # fix missing file
199 install -d $RPM_BUILD_ROOT/var/lib/%{name}
200 cat > $RPM_BUILD_ROOT/var/lib/%{name}/mysql.data <<EOF
201 _UNCONFIGURED_
202
203 Note!
204
205 This file can only contain 5 lines with the following values:
206
207 HOSTNAME
208 PORT
209 USERNAME
210 PASSWORD
211 DATABASE
212 EOF
213 %endif
214
215 %if %{with pgsql}
216 cp tools.pgsql_drv/README README.pgsql
217
218 # fix missing file
219 install -d $RPM_BUILD_ROOT/var/lib/%{name}
220 cat > $RPM_BUILD_ROOT/var/lib/%{name}/pgsql.data <<EOF
221 _UNCONFIGURED_
222
223 Note!
224
225 This file can only contain 5 lines with the following values:
226
227 HOSTNAME
228 PORT
229 USERNAME
230 PASSWORD
231 DATABASE
232 EOF
233 %endif
234
235 %clean
236 rm -rf $RPM_BUILD_ROOT
237
238 %post   libs -p /sbin/ldconfig
239 %postun libs -p /sbin/ldconfig
240
241 %files
242 %defattr(644,root,root,755)
243 %doc README CHANGELOG RELEASE.NOTES
244 %doc cgi/base.css cgi/dspam.cgi
245 %if %{with mysql}
246 %doc README.mysql
247 %doc tools.mysql_drv/mysql_objects.sql.space.optimized
248 %doc tools.mysql_drv/mysql_objects.sql.speed.optimized
249 %doc tools.mysql_drv/purge.sql
250 %doc tools.mysql_drv/virtual_users.sql
251 %endif
252 %if %{with pgsql}
253 %doc README.pgsql
254 %doc tools.pgsql_drv/virtual_users.sql
255 %doc tools.pgsql_drv/pgsql_objects.sql
256 %doc tools.pgsql_drv/purge.sql
257 %endif
258 %dir %attr(0750,root,mail) /var/lib/%{name}
259 %{?with_mysql:%attr(640,root,mail) %config(noreplace) /var/lib/%{name}/mysql.data}
260 %{?with_pgsql:%attr(640,root,mail) %config(noreplace) /var/lib/%{name}/pgsql.data}
261 %attr(755,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/%{name}
262 #%attr(755,root,root) %config(noreplace) %{_sysconfdir}/cron.weekly/%{name}
263 %attr(755,root,mail) %{_bindir}/%{name}
264 %attr(755,root,root) %{_bindir}/%{name}_clean
265 %attr(755,root,root) %{_bindir}/%{name}_corpus
266 %attr(755,root,root) %{_bindir}/%{name}_crc
267 %attr(755,root,root) %{_bindir}/%{name}_dump
268 %attr(755,root,root) %{_bindir}/%{name}_genaliases
269 %attr(755,root,root) %{_bindir}/%{name}_stats
270 %attr(755,root,root) %{_bindir}/%{name}_merge
271 %attr(755,root,root) %{_bindir}/%{name}_2sql
272 %attr(755,root,root) %{_bindir}/%{name}_stats
273 #%attr(755,root,root) %{_bindir}/libdb4_purge
274 %{_mandir}/man?/*
275
276 %files libs
277 %defattr(644,root,root,755)
278 %doc README CHANGELOG
279 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
280
281 %files devel
282 %defattr(644,root,root,755)
283 %attr(755,root,root) %{_libdir}/lib*.so
284 %{_libdir}/lib*.la
285 %{_includedir}/%{name}
286
287 %files static
288 %defattr(644,root,root,755)
289 %{_libdir}/lib*.a
This page took 0.039766 seconds and 3 git commands to generate.