4 %bcond_without mysql # enable MySQL storage driver (disable sqlite driver)
5 %bcond_with pgsql # enable PostgreSQL storage driver (disable sqlite driver)
6 %bcond_with sqlite # enable SQLite3 storage driver
10 %if %{with mysql} || %{with pgsql}
14 Summary: A library and Mail Delivery Agent for Bayesian spam filtering
15 Summary(pl): Biblioteka i MDA do bayesowskiego filtrowania spamu
20 Group: Applications/Mail
21 Source0: http://www.nuclearelephant.com/projects/dspam/sources/%{name}-%{version}.tar.gz
22 # Source0-md5: b6930c31fe0940b8ad6d27324f8bab3e
24 URL: http://www.nuclearelephant.com/projects/dspam/
25 BuildRequires: autoconf
26 BuildRequires: automake
27 BuildRequires: libtool
29 BuildRequires: mysql-devel
32 BuildRequires: postgresql-devel
35 BuildRequires: sqlite3-devel
39 BuildRequires: sed >= 4.0
40 Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 DSPAM (as in De-Spam) is an open-source project to create a new kind
44 of anti-spam mechanism, and is currently effective as both a
45 server-side agent for UNIX email servers and a developer's library for
46 mail clients, other anti-spam tools, and similar projects requiring
47 drop-in spam filtering.
49 The DSPAM agent masquerades as the email server's local delivery agent
50 and filters/learns spams using an advanced Bayesian statistical
51 approach (based on Bayes's theorem of combined probabilities) which
52 provides an administratively maintenance-free, easy-learning Anti-Spam
53 service custom tailored to each individual user's behavior. Advanced
54 because on top of standard Bayesian filtering is also incorporated the
55 use of Chained Tokens, de-obfuscation, and other enhancements. DSPAM
56 works great with Sendmail and Exim, and should work well with any
57 other MTA that supports an external local delivery agent (postfix,
61 DSPAM (czyli De-Spam) to projekt o otwartych ¼ród³ach maj±cy na celu
62 stworzenie nowego rodzaju mechanizmu antyspamowego. Aktualnie jest
63 efektywny zarówno jako dzia³aj±cy po stronie serwera agent dla
64 uniksowych serwerów pocztowych jak i biblioteka dla programistów
65 klientów pocztowych, innych narzêdzi antyspamowych i innych projektów
66 wymagaj±cych filtrowania spamu w locie.
68 Agent DSPAM zachowuje siê jak lokalny agent dostarczania poczty (MDA)
69 i filtruje/uczy siê spamu przy u¿yciu zaawansowanego bayesowskiego
70 przybli¿enia statystycznego (opartego na twierdzeniu Bayesa o
71 po³±czonych prawdopodobieñstwach), daj±c nie wymagaj±c± obs³ugi
72 administracyjnej, ³atwo ucz±c± siê us³ugê antyspamow± dostosowan± do
73 zachowania ka¿dego u¿ytkownika. Metoda jest zaawansowana poniewa¿ na
74 podstawie standardowego filtrowania bayesowskiego wprowadzono u¿ycie
75 tokenów ³añcuchowych, eliminowanie ukrywanie i inne rozszerzenia.
76 DSPAM dzia³a wspaniale z Sendmailem i Eximem, powinien dzia³aæ dobrze
77 z ka¿dym innym MTA obs³uguj±cym zewnêtrznego agenta MDA (postfiksem,
82 Summary(pl): Klient dspam
83 Group: Applications/Mail
84 # to get the same dspam.conf when both installed
85 Conflicts: dspam > %{version}-%{release}
86 Conflicts: dspam < %{version}-%{release}
91 %description -l pl client
95 Summary: A library for Bayesian spam filtering
96 Summary(pl): Biblioteka do bayesowskiego filtrowania spamu
100 DSPAM (as in De-Spam) is an open-source project to create a new kind
101 of anti-spam mechanism, and is currently effective as both a
102 server-side agent for UNIX email servers and a developer's library for
103 mail clients, other anti-spam tools, and similar projects requiring
104 drop-in spam filtering.
106 This package contains the library.
108 %description libs -l pl
109 DSPAM (czyli De-Spam) to projekt o otwartych ¼ród³ach maj±cy na celu
110 stworzenie nowego rodzaju mechanizmu antyspamowego. Aktualnie jest
111 efektywny zarówno jako dzia³aj±cy po stronie serwera agent dla
112 uniksowych serwerów pocztowych jak i biblioteka dla programistów
113 klientów pocztowych, innych narzêdzi antyspamowych i innych projektów
114 wymagaj±cych filtrowania spamu w locie.
116 Ten pakiet zawiera wspomnian± bibliotekê.
119 Summary: Header files for the DSPAM library
120 Summary(pl): Pliki nag³ówkowe biblioteki DSPAM
121 Group: Development/Libraries
122 Requires: %{name}-libs = %{version}-%{release}
125 DSPAM has had its core engine moved into a separate library, libdspam.
126 This library can be used by developers to provide 'drop-in' spam
127 filtering for their mail client applications, other anti-spam tools,
130 %description devel -l pl
131 G³ówny silnik DSPAM zosta³ przeniesiony do oddzielnej biblioteki
132 libdspam, która mo¿e byæ u¿ywana przez programistów do zapewnienia
133 filtrowania spamu w locie dla aplikacji klientów pocztowych, innych
134 narzêdzi antyspamowych i podobnych projektów.
137 Summary: Static DSPAM library
138 Summary(pl): Statyczna biblioteka DSPAM
139 Group: Development/Libraries
140 Requires: %{name}-devel = %{version}-%{release}
143 Static DSPAM library.
145 %description static -l pl
146 Statyczna biblioteka DSPAM.
150 sed -i -e 's#\-static##g' src/Makefile* src/*/Makefile*
158 --enable-trusted-user-security \
159 --enable-bayesian-dobly \
160 --enable-chained-tokens \
161 --enable-experimental \
163 --enable-large-scale \
164 --enable-delivery-to-stdout \
165 --with-userdir=/var/lib/%{name} \
166 --with-dspam-home=/var/lib/%{name} \
167 --with-userdir-owner=none \
168 --with-userdir-group=none \
169 --with-dspam-owner=none \
170 --with-dspam-group=none \
171 --with-signature-life=14 \
172 --disable-dependency-tracking \
175 --enable-virtual-users \
176 --with-storage-driver=mysql_drv \
177 --with-mysql-includes=%{_includedir}/mysql \
178 --with-mysql-libraries=%{_libdir}
182 --enable-virtual-users \
183 --with-storage-driver=pgsql_drv \
184 --with-pgsql-includes=%{_includedir}/postgresql \
185 --with-pgsql-libraries=%{_libdir}
188 --with-storage-driver=sqlite3_drv \
189 --with-sqlite3-includes=%{_includedir} \
190 --with-sqlite3-libraries=%{_libdir}
197 rm -rf $RPM_BUILD_ROOT
200 DESTDIR=$RPM_BUILD_ROOT
203 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
204 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/dspam
206 # install devel files
207 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name},/var/lib/%{name}}
208 install src/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
210 # provide maintenance scripts
211 install -d $RPM_BUILD_ROOT/etc/cron.daily
212 install -d $RPM_BUILD_ROOT/etc/cron.weekly
214 cat > $RPM_BUILD_ROOT/etc/cron.daily/%{name} <<EOF
216 exec %{_bindir}/%{name}_clean -s -p
219 chmod 755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/%{name}
222 sed -i -e "s|%{_prefix}/local|%{_prefix}|g" $RPM_BUILD_ROOT%{_bindir}/%{name}_corpus
223 sed -i -e "s|%{_prefix}/local|%{_prefix}|g" cgi/dspam.cgi
226 #install dspam-cron.weekly $RPM_BUILD_ROOT%{_sysconfdir}/cron.weekly/%{name}
230 install -d $RPM_BUILD_ROOT/var/lib/%{name}
231 cat > $RPM_BUILD_ROOT/var/lib/%{name}/mysql.data <<EOF
236 This file can only contain 5 lines with the following values:
248 install -d $RPM_BUILD_ROOT/var/lib/%{name}
249 cat > $RPM_BUILD_ROOT/var/lib/%{name}/pgsql.data <<EOF
254 This file can only contain 5 lines with the following values:
265 /sbin/chkconfig --add dspam
266 if [ -f /var/lock/subsys/dspam ]; then
267 /etc/rc.d/init.d/dspam restart 1>&2
269 echo "Run \"/etc/rc.d/init.d/dspam start\" to start dspam daemon."
273 if [ "$1" = "0" ]; then
274 if [ -f /var/lock/subsys/dspam ]; then
275 /etc/rc.d/init.d/dspam stop 1>&2
277 /sbin/chkconfig --del dspam
282 rm -rf $RPM_BUILD_ROOT
284 %post libs -p /sbin/ldconfig
285 %postun libs -p /sbin/ldconfig
288 %defattr(644,root,root,755)
289 %doc README CHANGELOG RELEASE.NOTES UPGRADING
290 %doc cgi/base.css cgi/dspam.cgi
292 %doc doc/mysql_drv.txt
293 %doc src/tools.mysql_drv/*.sql
296 %doc doc/pgsql_drv.txt
297 %doc src/tools.pgsql_drv/*.sql
299 %if %{!with mysql} && %{!with pgsql}
300 %doc doc/sqlite_drv.txt
302 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dspam.conf
303 %dir %attr(750,root,mail) /var/lib/%{name}
304 %{?with_mysql:%attr(640,root,mail) %config(noreplace) /var/lib/%{name}/mysql.data}
305 %{?with_pgsql:%attr(640,root,mail) %config(noreplace) /var/lib/%{name}/pgsql.data}
306 %attr(755,root,root) %config(noreplace) /etc/cron.daily/%{name}
307 %attr(755,root,mail) %{_bindir}/%{name}
308 %attr(755,root,mail) %{_bindir}/%{name}_logrotate
309 %attr(755,root,root) %{_bindir}/%{name}_clean
310 %attr(755,root,root) %{_bindir}/%{name}_corpus
311 %attr(755,root,root) %{_bindir}/%{name}_crc
312 %attr(755,root,root) %{_bindir}/%{name}_dump
313 %attr(755,root,root) %{_bindir}/%{name}_genaliases
314 %attr(755,root,root) %{_bindir}/%{name}_stats
315 %attr(755,root,root) %{_bindir}/%{name}_merge
316 %attr(755,root,root) %{_bindir}/%{name}_2sql
317 %attr(755,root,root) %{_bindir}/%{name}_admin
318 %{?with_pgsql:%attr(755,root,root) %{_bindir}/%{name}_pg2int8}
319 %{_mandir}/man?/%{name}*
323 %defattr(644,root,root,755)
324 %attr(754,root,root) /etc/rc.d/init.d/dspam
325 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dspam.conf
327 %attr(755,root,mail) %{_bindir}/%{name}c
330 %defattr(644,root,root,755)
331 %doc README CHANGELOG
332 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_libdir}/lib*.so
338 %{_includedir}/%{name}
339 %{_mandir}/man3/libdspam*
340 %{_pkgconfigdir}/*.pc
343 %defattr(644,root,root,755)