# TODO: everything
#
# Conditional build:
-%bcond_with mysql # enable MySQL storage driver (disable sqlite driver)
+%bcond_without mysql # enable MySQL storage driver (disable sqlite driver)
%bcond_with pgsql # enable PostgreSQL storage driver (disable sqlite driver)
-%bcond_with sqlite3 # enable SQLite3 storage driver (disable sqlite2 driver)
+%bcond_with sqlite # enable SQLite3 storage driver
+%bcond_with daemon
#
+
+%if %{with mysql} || %{with pgsql}
+%define with_daemon 1
+%endif
+
Summary: A library and Mail Delivery Agent for Bayesian spam filtering
Summary(pl): Biblioteka i MDA do bayesowskiego filtrowania spamu
Name: dspam
-Version: 3.4.3
+Version: 3.4.8
Release: 0.1
License: GPL
Group: Applications/Mail
Source0: http://www.nuclearelephant.com/projects/dspam/sources/%{name}-%{version}.tar.gz
-# Source0-md5: befcaee35a69efe559471367b2249ea3
+# Source0-md5: b6930c31fe0940b8ad6d27324f8bab3e
+Source1: %{name}.init
URL: http://www.nuclearelephant.com/projects/dspam/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
%if %{with mysql}
BuildRequires: mysql-devel
%else
%if %{with pgsql}
BuildRequires: postgresql-devel
%else
-%if %{with sqlite3}
+%if %{with sqlite}
BuildRequires: sqlite3-devel
-%else
-BuildRequires: sqlite-devel
-BuildRequires: sqlite-static
%endif
%endif
%endif
z ka¿dym innym MTA obs³uguj±cym zewnêtrznego agenta MDA (postfiksem,
qmailem itd.).
+%package client
+Summary: dspam client
+Summary(pl): Klient dspam
+Group: Applications/Mail
+# to get the same dspam.conf when both installed
+Conflicts: dspam > %{version}-%{release}
+Conflicts: dspam < %{version}-%{release}
+
+%description client
+dspam client.
+
+%description -l pl client
+Klient dspam.
+
%package libs
Summary: A library for Bayesian spam filtering
Summary(pl): Biblioteka do bayesowskiego filtrowania spamu
%prep
%setup -q
-sed -i -e 's#-static##g' src/tools/Makefile*
+sed -i -e 's#\-static##g' src/Makefile* src/*/Makefile*
%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__automake}
%configure \
--enable-trusted-user-security \
--enable-bayesian-dobly \
--with-signature-life=14 \
--disable-dependency-tracking \
%if %{with mysql}
+ --enable-daemon \
--enable-virtual-users \
--with-storage-driver=mysql_drv \
--with-mysql-includes=%{_includedir}/mysql \
--with-mysql-libraries=%{_libdir}
%else
%if %{with pgsql}
+ --enable-daemon \
--enable-virtual-users \
--with-storage-driver=pgsql_drv \
--with-pgsql-includes=%{_includedir}/postgresql \
--with-pgsql-libraries=%{_libdir}
%else
-%if %{with sqlite3}
+%if %{with sqlite}
--with-storage-driver=sqlite3_drv \
--with-sqlite3-includes=%{_includedir} \
--with-sqlite3-libraries=%{_libdir}
-%else
- --with-storage-driver=sqlite_drv \
- --with-sqlite-includes=%{_includedir} \
- --with-sqlite-libraries=%{_libdir}
%endif
%endif
%endif
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+#
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/dspam
+
# install devel files
install -d $RPM_BUILD_ROOT{%{_includedir}/%{name},/var/lib/%{name}}
install src/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
#install dspam-cron.weekly $RPM_BUILD_ROOT%{_sysconfdir}/cron.weekly/%{name}
%if %{with mysql}
-cp tools.mysql_drv/README README.mysql
-
# fix missing file
install -d $RPM_BUILD_ROOT/var/lib/%{name}
cat > $RPM_BUILD_ROOT/var/lib/%{name}/mysql.data <<EOF
%endif
%if %{with pgsql}
-cp tools.pgsql_drv/README README.pgsql
-
# fix missing file
install -d $RPM_BUILD_ROOT/var/lib/%{name}
cat > $RPM_BUILD_ROOT/var/lib/%{name}/pgsql.data <<EOF
EOF
%endif
+%post
+/sbin/chkconfig --add dspam
+if [ -f /var/lock/subsys/dspam ]; then
+ /etc/rc.d/init.d/dspam restart 1>&2
+else
+ echo "Run \"/etc/rc.d/init.d/dspam start\" to start dspam daemon."
+fi
+
+%preun
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/dspam ]; then
+ /etc/rc.d/init.d/dspam stop 1>&2
+ fi
+ /sbin/chkconfig --del dspam
+fi
+
+
%clean
rm -rf $RPM_BUILD_ROOT
%doc README CHANGELOG RELEASE.NOTES UPGRADING
%doc cgi/base.css cgi/dspam.cgi
%if %{with mysql}
-%doc README.mysql
-%doc tools.mysql_drv/mysql_objects-space.sql
-%doc tools.mysql_drv/mysql_objects-speed.sql
-%doc tools.mysql_drv/purge.sql
-%doc tools.mysql_drv/virtual_users.sql
+%doc doc/mysql_drv.txt
+%doc src/tools.mysql_drv/*.sql
%endif
%if %{with pgsql}
-%doc README.pgsql
-%doc tools.pgsql_drv/virtual_users.sql
-%doc tools.pgsql_drv/pgsql_objects.sql
-%doc tools.pgsql_drv/purge.sql
+%doc doc/pgsql_drv.txt
+%doc src/tools.pgsql_drv/*.sql
+%endif
+%if %{!with mysql} && %{!with pgsql}
+%doc doc/sqlite_drv.txt
%endif
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dspam.conf
%dir %attr(750,root,mail) /var/lib/%{name}
%{?with_pgsql:%attr(640,root,mail) %config(noreplace) /var/lib/%{name}/pgsql.data}
%attr(755,root,root) %config(noreplace) /etc/cron.daily/%{name}
%attr(755,root,mail) %{_bindir}/%{name}
-%attr(755,root,mail) %{_bindir}/%{name}c
%attr(755,root,mail) %{_bindir}/%{name}_logrotate
%attr(755,root,root) %{_bindir}/%{name}_clean
%attr(755,root,root) %{_bindir}/%{name}_corpus
%attr(755,root,root) %{_bindir}/%{name}_merge
%attr(755,root,root) %{_bindir}/%{name}_2sql
%attr(755,root,root) %{_bindir}/%{name}_admin
-#%attr(755,root,root) %{_bindir}/libdb4_purge
-%{_mandir}/man?/*
+%{?with_pgsql:%attr(755,root,root) %{_bindir}/%{name}_pg2int8}
+%{_mandir}/man?/%{name}*
+
+%if %{with daemon}
+%attr(754,root,root) /etc/rc.d/init.d/dspam
+%files client
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dspam.conf
+%endif
+%attr(755,root,mail) %{_bindir}/%{name}c
%files libs
%defattr(644,root,root,755)
%files devel
%defattr(644,root,root,755)
-%{_libdir}/pkgconfig/dspam.pc
%attr(755,root,root) %{_libdir}/lib*.so
%{_libdir}/lib*.la
%{_includedir}/%{name}
+%{_mandir}/man3/libdspam*
%{_pkgconfigdir}/*.pc
%files static