3 # - support for libdclassify
5 # - messages from default install of cron with mysql driver
6 # 3197: [10/25/2005 05:02:01] dlopen() failed: /usr/lib/libhash_drv.so: /usr/lib/libhash_drv.so: cannot open shared object file: No such file or directory
10 %bcond_without mysql # disable MySQL storage driver
11 %bcond_without pgsql # disable PostgreSQL storage driver
12 %bcond_without sqlite # disable SQLite3 storage driver
13 %bcond_without db # disable BerkeleyDB storage driver
14 %bcond_without daemon # disable daemon mode
16 Summary: A library and Mail Delivery Agent for Bayesian spam filtering
17 Summary(pl): Biblioteka i MDA do bayesowskiego filtrowania spamu
22 Group: Applications/Mail
23 Source0: http://www.nuclearelephant.com/projects/dspam/sources/%{name}-%{version}.tar.gz
24 # Source0-md5: d9ee63a8cf67ea933d711b00851ce916
26 URL: http://www.nuclearelephant.com/projects/dspam/
27 BuildRequires: autoconf
28 BuildRequires: automake
29 BuildRequires: libtool
30 BuildRequires: clamav-devel
31 %{?with_db:BuildRequires: db-devel}
32 %{?with_mysql:BuildRequires: mysql-devel}
33 BuildRequires: openldap-devel
34 %{?with_pgsql:BuildRequires: postgresql-devel}
35 BuildRequires: sed >= 4.0
36 %{?with_sqlite:BuildRequires: sqlite3-devel}
37 BuildRequires: zlib-devel
38 Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 DSPAM (as in De-Spam) is an open-source project to create a new kind
42 of anti-spam mechanism, and is currently effective as both a
43 server-side agent for UNIX email servers and a developer's library for
44 mail clients, other anti-spam tools, and similar projects requiring
45 drop-in spam filtering.
47 The DSPAM agent masquerades as the email server's local delivery agent
48 and filters/learns spams using an advanced Bayesian statistical
49 approach (based on Bayes's theorem of combined probabilities) which
50 provides an administratively maintenance-free, easy-learning Anti-Spam
51 service custom tailored to each individual user's behavior. Advanced
52 because on top of standard Bayesian filtering is also incorporated the
53 use of Chained Tokens, de-obfuscation, and other enhancements. DSPAM
54 works great with Sendmail and Exim, and should work well with any
55 other MTA that supports an external local delivery agent (postfix,
59 DSPAM (czyli De-Spam) to projekt o otwartych ¼ród³ach maj±cy na celu
60 stworzenie nowego rodzaju mechanizmu antyspamowego. Aktualnie jest
61 efektywny zarówno jako dzia³aj±cy po stronie serwera agent dla
62 uniksowych serwerów pocztowych jak i biblioteka dla programistów
63 klientów pocztowych, innych narzêdzi antyspamowych i innych projektów
64 wymagaj±cych filtrowania spamu w locie.
66 Agent DSPAM zachowuje siê jak lokalny agent dostarczania poczty (MDA)
67 i filtruje/uczy siê spamu przy u¿yciu zaawansowanego bayesowskiego
68 przybli¿enia statystycznego (opartego na twierdzeniu Bayesa o
69 po³±czonych prawdopodobieñstwach), daj±c nie wymagaj±c± obs³ugi
70 administracyjnej, ³atwo ucz±c± siê us³ugê antyspamow± dostosowan± do
71 zachowania ka¿dego u¿ytkownika. Metoda jest zaawansowana poniewa¿ na
72 podstawie standardowego filtrowania bayesowskiego wprowadzono u¿ycie
73 tokenów ³añcuchowych, eliminowanie ukrywanie i inne rozszerzenia.
74 DSPAM dzia³a wspaniale z Sendmailem i Eximem, powinien dzia³aæ dobrze
75 z ka¿dym innym MTA obs³uguj±cym zewnêtrznego agenta MDA (postfiksem,
80 Summary(pl): Klient dspam
81 Group: Applications/Mail
82 # to get the same dspam.conf when both installed
83 Conflicts: dspam > %{version}-%{release}
84 Conflicts: dspam < %{version}-%{release}
89 %description client -l pl
93 Summary: A library for Bayesian spam filtering
94 Summary(pl): Biblioteka do bayesowskiego filtrowania spamu
96 Requires: %{name}-driver = %{version}-%{release}
99 DSPAM (as in De-Spam) is an open-source project to create a new kind
100 of anti-spam mechanism, and is currently effective as both a
101 server-side agent for UNIX email servers and a developer's library for
102 mail clients, other anti-spam tools, and similar projects requiring
103 drop-in spam filtering.
105 This package contains the library.
107 %description libs -l pl
108 DSPAM (czyli De-Spam) to projekt o otwartych ¼ród³ach maj±cy na celu
109 stworzenie nowego rodzaju mechanizmu antyspamowego. Aktualnie jest
110 efektywny zarówno jako dzia³aj±cy po stronie serwera agent dla
111 uniksowych serwerów pocztowych jak i biblioteka dla programistów
112 klientów pocztowych, innych narzêdzi antyspamowych i innych projektów
113 wymagaj±cych filtrowania spamu w locie.
115 Ten pakiet zawiera wspomnian± bibliotekê.
118 Summary: Header files for the DSPAM library
119 Summary(pl): Pliki nag³ówkowe biblioteki DSPAM
120 Group: Development/Libraries
121 Requires: %{name}-libs = %{version}-%{release}
124 DSPAM has had its core engine moved into a separate library, libdspam.
125 This library can be used by developers to provide 'drop-in' spam
126 filtering for their mail client applications, other anti-spam tools,
129 %description devel -l pl
130 G³ówny silnik DSPAM zosta³ przeniesiony do oddzielnej biblioteki
131 libdspam, która mo¿e byæ u¿ywana przez programistów do zapewnienia
132 filtrowania spamu w locie dla aplikacji klientów pocztowych, innych
133 narzêdzi antyspamowych i podobnych projektów.
136 Summary: Static DSPAM library
137 Summary(pl): Statyczna biblioteka DSPAM
138 Group: Development/Libraries
139 Requires: %{name}-devel = %{version}-%{release}
142 Static DSPAM library.
144 %description static -l pl
145 Statyczna biblioteka DSPAM.
148 Summary: HASH driver for DSPAM
149 Summary(pl): Sterownik HASH dla DSPAM-a
151 Requires: %{name}-libs = %{version}-%{release}
152 Provides: %{name}-driver = %{version}-%{release}
154 %description driver-hash
155 HASH driver for DSPAM.
157 %description driver-hash -l pl
158 Sterownik HASH dla DSPAM-a.
161 Summary: DB driver for DSPAM
162 Summary(pl): Sterownik DB dla DSPAM-a
164 Requires: %{name}-libs = %{version}-%{release}
165 Provides: %{name}-driver = %{version}-%{release}
167 %description driver-db
170 %description driver-db -l pl
171 Sterownik DB dla DSPAM-a.
173 %package driver-mysql
174 Summary: MySQL driver for DSPAM
175 Summary(pl): Sterownik MySQL dla DSPAM-a
177 Requires: %{name}-libs = %{version}-%{release}
178 Provides: %{name}-driver = %{version}-%{release}
180 %description driver-mysql
181 MySQL driver for DSPAM.
183 %description driver-mysql -l pl
184 Sterownik MySQL dla DSPAM-a.
186 %package driver-pgsql
187 Summary: PostgreSQL driver for DSPAM
188 Summary(pl): Sterownik PostgreSQL dla DSPAM-a
190 Requires: %{name}-libs = %{version}-%{release}
191 Provides: %{name}-driver = %{version}-%{release}
193 %description driver-pgsql
194 PostgreSQL driver for DSPAM.
196 %description driver-pgsql -l pl
197 Sterownik PostgreSQL dla DSPAM-a.
199 %package driver-sqlite
200 Summary: SQLite driver for DSPAM
201 Summary(pl): Sterownik SQLite dla DSPAM-a
203 Requires: %{name}-libs = %{version}-%{release}
204 Provides: %{name}-driver = %{version}-%{release}
206 %description driver-sqlite
207 SQLite driver for DSPAM.
209 %description driver-sqlite -l pl
210 Sterownik SQLite dla DSPAM-a.
214 sed -i -e 's#\-static##g' src/Makefile* src/*/Makefile*
222 %{?debug: --enable-debug --enable-bnr-debug --enable-verbose-debug} \
223 --enable-trusted-user-security \
225 --enable-large-scale \
226 --with-userdir=/var/lib/%{name} \
227 --with-dspam-home=/var/lib/%{name} \
228 --with-userdir-owner=none \
229 --with-userdir-group=none \
230 --with-dspam-owner=none \
231 --with-dspam-group=none \
232 --with-signature-life=14 \
233 --disable-dependency-tracking \
236 --enable-preferences-extension \
237 --enable-long-usernames \
238 --enable-neural-networking \
239 --enable-virtual-users \
240 --with-storage-driver=hash_drv%{?with_db:,libdb4_drv}%{?with_mysql:,mysql_drv}%{?with_pgsql:,pgsql_drv}%{?with_sqlite:,sqlite_drv} \
242 --with-mysql-includes=%{_includedir}/mysql \
243 --with-mysql-libraries=%{_libdir} \
246 --with-pgsql-includes=%{_includedir}/postgresql \
247 --with-pgsql-libraries=%{_libdir} \
250 --with-sqlite3-includes=%{_includedir} \
251 --with-sqlite3-libraries=%{_libdir} \
255 # --enable-dclassify-extension needs libdclassify
260 rm -rf $RPM_BUILD_ROOT
263 DESTDIR=$RPM_BUILD_ROOT
265 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
266 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/dspam
268 # install devel files
269 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name},/var/lib/%{name}}
270 install src/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
272 # provide maintenance scripts
273 install -d $RPM_BUILD_ROOT/etc/cron.daily
274 install -d $RPM_BUILD_ROOT/etc/cron.weekly
276 cat > $RPM_BUILD_ROOT/etc/cron.daily/%{name} <<EOF
278 exec %{_bindir}/%{name}_clean -s -p
281 chmod 755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/%{name}
284 sed -i -e "s|%{_prefix}/local|%{_prefix}|g" $RPM_BUILD_ROOT%{_bindir}/%{name}_corpus
285 sed -i -e "s|%{_prefix}/local|%{_prefix}|g" webui/cgi-bin/dspam.cgi
288 #install dspam-cron.weekly $RPM_BUILD_ROOT%{_sysconfdir}/cron.weekly/%{name}
292 install -d $RPM_BUILD_ROOT/var/lib/%{name}
293 cat > $RPM_BUILD_ROOT/var/lib/%{name}/mysql.data <<EOF
298 This file can only contain 5 lines with the following values:
310 install -d $RPM_BUILD_ROOT/var/lib/%{name}
311 cat > $RPM_BUILD_ROOT/var/lib/%{name}/pgsql.data <<EOF
316 This file can only contain 5 lines with the following values:
327 /sbin/chkconfig --add dspam
328 if [ -f /var/lock/subsys/dspam ]; then
329 /etc/rc.d/init.d/dspam restart 1>&2
331 echo "Run \"/etc/rc.d/init.d/dspam start\" to start dspam daemon."
335 if [ "$1" = "0" ]; then
336 if [ -f /var/lock/subsys/dspam ]; then
337 /etc/rc.d/init.d/dspam stop 1>&2
339 /sbin/chkconfig --del dspam
343 rm -rf $RPM_BUILD_ROOT
345 %post libs -p /sbin/ldconfig
346 %postun libs -p /sbin/ldconfig
349 %defattr(644,root,root,755)
350 %doc README CHANGELOG RELEASE.NOTES UPGRADING
351 %doc webui/*/*.{cgi,prefs,txt} webui/*/*.txt webui/*/templates/*.html
352 %doc doc/{courier,exim,markov,pop3filter,postfix,qmail,relay,sendmail}.txt
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dspam.conf
354 %dir %attr(750,root,mail) /var/lib/%{name}
355 %attr(755,root,root) %config(noreplace) /etc/cron.daily/%{name}
356 %attr(755,root,mail) %{_bindir}/%{name}
357 %attr(755,root,mail) %{_bindir}/%{name}_logrotate
358 %attr(755,root,root) %{_bindir}/%{name}_clean
359 %attr(755,root,root) %{_bindir}/%{name}_corpus
360 %attr(755,root,root) %{_bindir}/%{name}_crc
361 %attr(755,root,root) %{_bindir}/%{name}_dump
362 %attr(755,root,root) %{_bindir}/%{name}_genaliases
363 %attr(755,root,root) %{_bindir}/%{name}_stats
364 %attr(755,root,root) %{_bindir}/%{name}_merge
365 %attr(755,root,root) %{_bindir}/%{name}_2sql
366 %attr(755,root,root) %{_bindir}/%{name}_admin
367 %{_mandir}/man?/%{name}*
370 %attr(754,root,root) /etc/rc.d/init.d/dspam
372 %defattr(644,root,root,755)
373 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dspam.conf
375 %attr(755,root,mail) %{_bindir}/%{name}c
378 %defattr(644,root,root,755)
379 %doc README CHANGELOG
380 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
381 %attr(755,root,root) %exclude %{_libdir}/lib*_drv*.so*
384 %defattr(644,root,root,755)
385 %attr(755,root,root) %{_libdir}/lib*.so
386 %attr(755,root,root) %exclude %{_libdir}/lib*_drv*.so*
388 %{_includedir}/%{name}
389 %{_mandir}/man3/libdspam*
390 %{_pkgconfigdir}/*.pc
393 %defattr(644,root,root,755)
397 %defattr(644,root,root,755)
398 %attr(755,root,root) %{_bindir}/css*
399 %attr(755,root,root) %{_libdir}/libhash_drv*.so*
403 %defattr(644,root,root,755)
404 %attr(755,root,root) %{_libdir}/libdb4_drv*.so*
409 %defattr(644,root,root,755)
410 %doc doc/mysql_drv.txt src/tools.mysql_drv/*.sql
411 %attr(640,root,mail) %config(noreplace) /var/lib/%{name}/mysql.data
412 %attr(755,root,root) %{_libdir}/libmysql_drv*.so*
417 %defattr(644,root,root,755)
418 %doc doc/pgsql_drv.txt src/tools.pgsql_drv/*.sql
419 %attr(640,root,mail) %config(noreplace) /var/lib/%{name}/pgsql.data
420 %attr(755,root,root) %{_bindir}/%{name}_pg2int8
421 %attr(755,root,root) %{_libdir}/libpgsql_drv*.so*
426 %defattr(644,root,root,755)
427 %doc doc/sqlite_drv.txt
428 %attr(755,root,root) %{_libdir}/libsqlite_drv*.so*