+# TODO: everything
#
# Conditional build:
-%bcond_with mysql # enable mysql storage driver (disable db4 driver)
+%bcond_with mysql # enable MySQL storage driver (disable sqlite driver)
+%bcond_with pgsql # enable PostgreSQL storage driver (disable sqlite driver)
#
Summary: A library and Mail Delivery Agent for Bayesian spam filtering
Summary(pl): Biblioteka i MDA do bayesowskiego filtrowania spamu
Name: dspam
-Version: 2.10.6
-Release: 1
+Version: 3.2.7
+Release: 0.1
License: GPL
Group: Applications/Mail
Source0: http://www.nuclearelephant.com/projects/dspam/sources/%{name}-%{version}.tar.gz
-# Source0-md5: ddb40d26cc923d7569d48b3072e61715
+# Source0-md5: f2bc9fb56ab6f21ef0b0ec7a3d453121
+Patch0: %{name}-Makefile.patch
URL: http://www.nuclearelephant.com/projects/dspam/
%if %{with mysql}
-BuildRequires: mysql-static
+BuildRequires: mysql-devel
+%else
+%if %{with pgsql}
+BuildRequires: postgresql-devel
%else
-BuildRequires: db-static
+BuildRequires: sqlite-devel
+%endif
%endif
Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%prep
%setup -q
+%patch0 -p1
+sed -i -e 's#-static##g' tools/Makefile*
%build
%configure \
- --enable-static=yes \
--enable-trusted-user-security \
--enable-bayesian-dobly \
--enable-chained-tokens \
--enable-experimental \
- --enable-signature-attachments \
--enable-bias \
--enable-large-scale \
--enable-delivery-to-stdout \
--enable-virtual-users \
--with-userdir=/var/lib/%{name} \
+ --with-dspam-home=/var/lib/%{name} \
--with-userdir-owner=none \
--with-userdir-group=none \
--with-dspam-owner=none \
--with-signature-life=14 \
--disable-dependency-tracking \
%if %{with mysql}
- --enable-neural-networking \
--enable-virtual-users \
--with-storage-driver=mysql_drv \
--with-mysql-includes=%{_includedir}/mysql \
--with-mysql-libraries=%{_libdir}
%else
- --with-storage-driver=libdb4_drv \
- --with-db4-includes=%{_includedir} \
- --with-db4-libraries=%{_libdir}
+%if %{with pgsql}
+ --enable-virtual-users \
+ --with-storage-driver=pgsql_drv \
+ --with-pgsql-includes=%{_includedir}/postgresql \
+ --with-pgsql-libraries=%{_libdir}
+%else
+ --with-storage-driver=sqlite_drv \
+ --with-sqlite-includes=%{_includedir} \
+ --with-sqlite-libraries=%{_libdir}
+%endif
%endif
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-#%makeinstall_std
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
# install devel files
-install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
+install -d $RPM_BUILD_ROOT{%{_includedir}/%{name},/var/lib/%{name}}
install -m0644 libdspam.h $RPM_BUILD_ROOT%{_includedir}/%{name}
install -m0644 libdspam_objects.h $RPM_BUILD_ROOT%{_includedir}/%{name}
install -m0644 lht.h $RPM_BUILD_ROOT%{_includedir}/%{name}
cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/%{name} <<EOF
#!/bin/sh
-exec %{_bindir}/%{name}_clean 2>&1 > /dev/null
+exec %{_bindir}/%{name}_clean -s -p
EOF
chmod 755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/%{name}
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
+_UNCONFIGURED_
+
+Note!
+
+This file can only contain 5 lines with the following values:
+
+HOSTNAME
+PORT
+USERNAME
+PASSWORD
+DATABASE
+EOF
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc README CHANGE
-%doc cgi/base.css cgi/dspam.cgi cgi/logo.gif cgi/template.html
+%doc README CHANGELOG RELEASE.NOTES README.courier README.pop3filter README.qmail README.exim README.postfix README.sendmail
+%doc cgi/base.css cgi/dspam.cgi
%if %{with mysql}
%doc README.mysql
-%doc tools.mysql_drv/mysql_objects.sql.space.optimized
-%doc tools.mysql_drv/mysql_objects.sql.speed.optimized
+%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
%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
+%endif
+%config(noreplace) %verify(not size mtime md5) /etc/dspam.conf
%dir %attr(0750,root,mail) /var/lib/%{name}
%{?with_mysql:%attr(640,root,mail) %config(noreplace) /var/lib/%{name}/mysql.data}
+%{?with_pgsql:%attr(640,root,mail) %config(noreplace) /var/lib/%{name}/pgsql.data}
%attr(755,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/%{name}
-#%attr(755,root,root) %config(noreplace) %{_sysconfdir}/cron.weekly/%{name}
%attr(755,root,mail) %{_bindir}/%{name}
+%attr(755,root,root) %{_bindir}/%{name}_admin
%attr(755,root,root) %{_bindir}/%{name}_clean
%attr(755,root,root) %{_bindir}/%{name}_corpus
%attr(755,root,root) %{_bindir}/%{name}_crc
%attr(755,root,root) %{_bindir}/%{name}_genaliases
%attr(755,root,root) %{_bindir}/%{name}_stats
%attr(755,root,root) %{_bindir}/%{name}_merge
-%attr(755,root,root) %{_bindir}/%{name}_2mysql
-%attr(755,root,root) %{_bindir}/%{name}_ngstats
-%attr(755,root,root) %{_bindir}/libdb4_purge
+%attr(755,root,root) %{_bindir}/%{name}_2sql
+%attr(755,root,root) %{_bindir}/%{name}_stats
+%{_mandir}/man?/*
%files libs
%defattr(644,root,root,755)
-%doc README CHANGE
+%doc README CHANGELOG
%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
%files devel
%attr(755,root,root) %{_libdir}/lib*.so
%{_libdir}/lib*.la
%{_includedir}/%{name}
+%{_pkgconfigdir}/*.pc
%files static
%defattr(644,root,root,755)