Hello community, here is the log from the commit of package bogofilter for openSUSE:Factory checked in at 2015-05-06 12:10:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bogofilter (Old) and /work/SRC/openSUSE:Factory/.bogofilter.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "bogofilter" Changes: -------- --- /work/SRC/openSUSE:Factory/bogofilter/bogofilter.changes 2015-04-10 09:46:02.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bogofilter.new/bogofilter.changes 2015-05-06 12:10:39.000000000 +0200 @@ -1,0 +2,17 @@ +Thu Apr 30 22:53:58 UTC 2015 - lmuelle@suse.com + +- Provide and obsolete bogofilter from the db subpackage to ensure we stay + with the same back-end in the update case. +- Require a backend package from the common package. +- Split of the documentation into an independent package. +- Tag the common and doc package as noarch post-11.1. + +------------------------------------------------------------------- +Sat Apr 18 09:25:49 UTC 2015 - mpluskal@suse.com + +- Build different backends + * sqlite3 db and tokyocabinet + * switch between them using update-alternatives +- Disable checks as they do not work with suffixed builds + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bogofilter.spec ++++++ --- /var/tmp/diff_new_pack.OY2xUj/_old 2015-05-06 12:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.OY2xUj/_new 2015-05-06 12:10:40.000000000 +0200 @@ -24,15 +24,15 @@ Group: Productivity/Networking/Email/Utilities Url: http://bogofilter.sourceforge.net/ Source: http://downloads.sourceforge.net/bogofilter/bogofilter-%{version}.tar.bz2 +BuildRequires: db-devel BuildRequires: flex BuildRequires: gsl-devel BuildRequires: sharutils +BuildRequires: sqlite3-devel BuildRequires: xmlto %if 0%{?suse_version} > 1320 +BuildRequires: libtokyocabinet-devel BuildRequires: libxml2-tools -BuildRequires: sqlite3-devel -%else -BuildRequires: db-devel %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -45,25 +45,118 @@ C, and tuned for speed, so it can be used for production by sites that process a lot of mail. +%package common +Summary: Fast Anti-Spam Filtering by Bayesian Statistical Analysis +Group: Productivity/Networking/Email/Utilities +Requires: %{name}-backend = %{version} +%if 0%{?suse_version} > 1110 +BuildArch: noarch +%endif + +%description common +Bogofilter is a Bayesian spam filter. In normal operation, it takes an +e-mail message or text from standard input, does a statistical check +against lists of "good" and "bad" words, and returns a status code +indicating whether the message is spam. Bogofilter is designed with +fast algorithms (including the Berkeley DB system), coded directly in +C, and tuned for speed, so it can be used for production by sites that +process a lot of mail. + +This package contains shared files for various %{name} backends + +%package doc +Summary: Bogofilter documentation +Group: Documentation/Other +%if 0%{?suse_version} > 1110 +BuildArch: noarch +%endif + +%description doc +This package contains the documentation of %{name} + +%if 0%{?suse_version} > 1320 +%package tokyocabinet +Summary: Bogofilter tokyocabinet backend +Group: Productivity/Networking/Email/Utilities +Requires: %{name}-common = %{version} +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +Provides: %{name}-backend = %{version} + +%description tokyocabinet +This package contains %{name} build with the tokyocabinet backend. +%endif + +%package sqlite3 +Summary: Bogofilter sqlite3 backend +Group: Productivity/Networking/Email/Utilities +Requires: %{name}-common = %{version} +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +Provides: %{name}-backend = %{version} +%if 0%{suse_version} == 1310 +Conflicts: %{name}-db +%endif + +%description sqlite3 +This package contains %{name} build with the sqlite3 backend. + +%package db +Summary: Bogofilter libdb backend +Group: Productivity/Networking/Email/Utilities +Requires: %{name}-common = %{version} +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +Provides: %{name} = %{version} +Obsoletes: %{name} < %{version} +Provides: %{name}-backend = %{version} +%if 0%{suse_version} == 1310 +Conflicts: %{name}-sqlite3 +%endif + +%description db +This package contains %{name} build with the libdb backend. + %prep %setup -q %build -%configure \ -%ifarch %arm - --disable-dbshared-test \ -%endif %if 0%{?suse_version} > 1320 - --with-database=sqlite3 -%else - --with-database=db +%configure \ + --with-database=tokyocabinet \ + --program-suffix=-tokyocabinet +make %{?_smp_mflags} +make %{?_smp_mflags} install DESTDIR=%{buildroot} %endif +%configure \ + --with-database=sqlite3 \ + --program-suffix=-sqlite3 make %{?_smp_mflags} +make %{?_smp_mflags} install DESTDIR=%{buildroot} + +%configure \ + --with-database=db \ + --program-suffix=-db +make %{?_smp_mflags} +make %{?_smp_mflags} install DESTDIR=%{buildroot} %install -make DESTDIR=%{buildroot} install %{?_smp_mflags} mv %{buildroot}/%{_sysconfdir}/bogofilter.cf.example %{buildroot}/%{_sysconfdir}/bogofilter.cf +# create a dummy target for alternatives +install -d %{buildroot}%{_sysconfdir}/alternatives +for i in bogofilter bogolexer bogotune bogoutil bf_compact bf_copy bf_tar; do + touch %{buildroot}%{_sysconfdir}/alternatives/${i} + touch %{buildroot}%{_sysconfdir}/alternatives/${i}.1.gz + ln -s %{_sysconfdir}/alternatives/${i} %{buildroot}%{_bindir}/${i} + ln -s %{_sysconfdir}/alternatives/${i}.1.gz %{buildroot}%{_mandir}/man1/${i}.1.gz +done +# bogoupgrade is written in perl and therefore belongs to the common package +mv %{buildroot}/%{_bindir}/bogoupgrade-db %{buildroot}/%{_bindir}/bogoupgrade +rm %{buildroot}/%{_bindir}/bogoupgrade-* +mv %{buildroot}/%{_mandir}/man1/bogoupgrade-db.1 %{buildroot}/%{_mandir}/man1/bogoupgrade.1 +rm %{buildroot}/%{_mandir}/man1/bogoupgrade-* + for d in contrib; do install -d %{buildroot}%{_datadir}/%{name}/${d} files=$( find ${d} -maxdepth 1 -type f) @@ -81,36 +174,170 @@ done done -%check -%ifnarch %arm -make %{?_smp_mflags} check +%if 0%{?suse_version} > 1320 +%post tokyocabinet +%{_sbindir}/update-alternatives --install %{_bindir}/bogofilter bogofilter %{_bindir}/bogofilter-tokyocabinet 10 \ + --slave %{_mandir}/man1/bogofilter.1.gz bogofilter.1.gz %{_mandir}/man1/bogofilter-tokyocabinet.1.gz \ + --slave %{_bindir}/bogolexer bogolexer %{_bindir}/bogolexer-tokyocabinet \ + --slave %{_mandir}/man1/bogolexer.1.gz bogolexer.1.gz %{_mandir}/man1/bogolexer-tokyocabinet.1.gz \ + --slave %{_bindir}/bogotune bogotune %{_bindir}/bogotune-tokyocabinet \ + --slave %{_mandir}/man1/bogotune.1.gz bogotune.1.gz %{_mandir}/man1/bogotune-tokyocabinet.1.gz \ + --slave %{_bindir}/bogoutil bogoutil %{_bindir}/bogoutil-tokyocabinet \ + --slave %{_mandir}/man1/bogoutil.1.gz bogoutil.1.gz %{_mandir}/man1/bogoutil-tokyocabinet.1.gz \ + --slave %{_bindir}/bf_compact bf_compact %{_bindir}/bf_compact-tokyocabinet \ + --slave %{_mandir}/man1/bf_compact.1.gz bf_compact.1.gz %{_mandir}/man1/bf_compact-tokyocabinet.1.gz \ + --slave %{_bindir}/bf_copy bf_copy %{_bindir}/bf_copy-tokyocabinet \ + --slave %{_mandir}/man1/bf_copy.1.gz bf_copy.1.gz %{_mandir}/man1/bf_copy-tokyocabinet.1.gz \ + --slave %{_bindir}/bf_tar bf_tar %{_bindir}/bf_tar-tokyocabinet \ + --slave %{_mandir}/man1/bf_tar.1.gz bf_tar.1.gz %{_mandir}/man1/bf_tar-tokyocabinet.1.gz + +%postun tokyocabinet +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove bogofilter %{_bindir}/bogofilter-tokyocabinet +fi %endif -%files +%post sqlite3 +%{_sbindir}/update-alternatives --install %{_bindir}/bogofilter bogofilter %{_bindir}/bogofilter-sqlite3 30 \ + --slave %{_mandir}/man1/bogofilter.1.gz bogofilter.1.gz %{_mandir}/man1/bogofilter-sqlite3.1.gz \ + --slave %{_bindir}/bogolexer bogolexer %{_bindir}/bogolexer-sqlite3 \ + --slave %{_mandir}/man1/bogolexer.1.gz bogolexer.1.gz %{_mandir}/man1/bogolexer-sqlite3.1.gz \ + --slave %{_bindir}/bogotune bogotune %{_bindir}/bogotune-sqlite3 \ + --slave %{_mandir}/man1/bogotune.1.gz bogotune.1.gz %{_mandir}/man1/bogotune-sqlite3.1.gz \ + --slave %{_bindir}/bogoutil bogoutil %{_bindir}/bogoutil-sqlite3 \ + --slave %{_mandir}/man1/bogoutil.1.gz bogoutil.1.gz %{_mandir}/man1/bogoutil-sqlite3.1.gz \ + --slave %{_bindir}/bf_compact bf_compact %{_bindir}/bf_compact-sqlite3 \ + --slave %{_mandir}/man1/bf_compact.1.gz bf_compact.1.gz %{_mandir}/man1/bf_compact-sqlite3.1.gz \ + --slave %{_bindir}/bf_copy bf_copy %{_bindir}/bf_copy-sqlite3 \ + --slave %{_mandir}/man1/bf_copy.1.gz bf_copy.1.gz %{_mandir}/man1/bf_copy-sqlite3.1.gz \ + --slave %{_bindir}/bf_tar bf_tar %{_bindir}/bf_tar-sqlite3 \ + --slave %{_mandir}/man1/bf_tar.1.gz bf_tar.1.gz %{_mandir}/man1/bf_tar-sqlite3.1.gz + +%postun sqlite3 +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove bogofilter %{_bindir}/bogofilter-sqlite3 +fi + +%post db +%{_sbindir}/update-alternatives --install %{_bindir}/bogofilter bogofilter %{_bindir}/bogofilter-db 50 \ + --slave %{_mandir}/man1/bogofilter.1.gz bogofilter.1.gz %{_mandir}/man1/bogofilter-db.1.gz \ + --slave %{_bindir}/bogolexer bogolexer %{_bindir}/bogolexer-db \ + --slave %{_mandir}/man1/bogolexer.1.gz bogolexer.1.gz %{_mandir}/man1/bogolexer-db.1.gz \ + --slave %{_bindir}/bogotune bogotune %{_bindir}/bogotune-db \ + --slave %{_mandir}/man1/bogotune.1.gz bogotune.1.gz %{_mandir}/man1/bogotune-db.1.gz \ + --slave %{_bindir}/bogoutil bogoutil %{_bindir}/bogoutil-db \ + --slave %{_mandir}/man1/bogoutil.1.gz bogoutil.1.gz %{_mandir}/man1/bogoutil-db.1.gz \ + --slave %{_bindir}/bf_compact bf_compact %{_bindir}/bf_compact-db \ + --slave %{_mandir}/man1/bf_compact.1.gz bf_compact.1.gz %{_mandir}/man1/bf_compact-db.1.gz \ + --slave %{_bindir}/bf_copy bf_copy %{_bindir}/bf_copy-db \ + --slave %{_mandir}/man1/bf_copy.1.gz bf_copy.1.gz %{_mandir}/man1/bf_copy-db.1.gz \ + --slave %{_bindir}/bf_tar bf_tar %{_bindir}/bf_tar-db \ + --slave %{_mandir}/man1/bf_tar.1.gz bf_tar.1.gz %{_mandir}/man1/bf_tar-db.1.gz + +%postun db +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove bogofilter %{_bindir}/bogofilter-db +fi + +%files common %defattr(-,root,root) +%{_bindir}/bogoupgrade %config(noreplace) %{_sysconfdir}/bogofilter.cf +%{_datadir}/%{name} + +%files doc +%defattr(-,root,root) +%doc AUTHORS COPYING GETTING.STARTED NEWS README* RELEASE.NOTES* +%doc TODO bogofilter.cf.example +%doc doc/README* doc/bogofilter-SA-* doc/*.html doc/integrating* +%doc doc/programmer/ doc/rpm.notes.BerkeleyDB +%{_mandir}/man1/bogofilter.1.* +%{_mandir}/man1/bogolexer.1.* +%{_mandir}/man1/bogoupgrade.1.* +%{_mandir}/man1/bogotune.1.* +%{_mandir}/man1/bogoutil.1.* +%{_mandir}/man1/bf_compact.1.* +%{_mandir}/man1/bf_copy.1.* +%{_mandir}/man1/bf_tar.1.* + +%if 0%{?suse_version} > 1320 +%files tokyocabinet +%defattr(-,root,root) +%ghost %{_sysconfdir}/alternatives/bogofilter +%ghost %{_sysconfdir}/alternatives/bogolexer +%ghost %{_sysconfdir}/alternatives/bogotune +%ghost %{_sysconfdir}/alternatives/bogoutil +%ghost %{_sysconfdir}/alternatives/bf_compact +%ghost %{_sysconfdir}/alternatives/bf_copy +%ghost %{_sysconfdir}/alternatives/bf_tar +%ghost %{_sysconfdir}/alternatives/bogofilter.1.* +%ghost %{_sysconfdir}/alternatives/bogolexer.1.* +%ghost %{_sysconfdir}/alternatives/bogotune.1.* +%ghost %{_sysconfdir}/alternatives/bogoutil.1.* +%ghost %{_sysconfdir}/alternatives/bf_compact.1.* +%ghost %{_sysconfdir}/alternatives/bf_copy.1.* +%ghost %{_sysconfdir}/alternatives/bf_tar.1.* %{_bindir}/bogofilter %{_bindir}/bogolexer -%{_bindir}/bogoupgrade %{_bindir}/bogotune %{_bindir}/bogoutil %{_bindir}/bf_compact %{_bindir}/bf_copy %{_bindir}/bf_tar -%dir %{_datadir}/%{name} -%dir %{_datadir}/%{name}/contrib -%{_datadir}/%{name}/contrib/* -%{_mandir}/man1/bf_compact.1.gz -%{_mandir}/man1/bf_copy.1.gz -%{_mandir}/man1/bf_tar.1.gz -%{_mandir}/man1/bogofilter.1.gz -%{_mandir}/man1/bogolexer.1.gz -%{_mandir}/man1/bogotune.1.gz -%{_mandir}/man1/bogoupgrade.1.gz -%{_mandir}/man1/bogoutil.1.gz -%doc AUTHORS COPYING GETTING.STARTED NEWS README* RELEASE.NOTES* -%doc TODO bogofilter.cf.example -%doc doc/README* doc/bogofilter-SA-* doc/*.html doc/integrating* -%doc doc/programmer/ doc/rpm.notes.BerkeleyDB +%{_bindir}/*-tokyocabinet +%{_mandir}/man1/*-tokyocabinet.1.* +%endif + +%files sqlite3 +%defattr(-,root,root) +%ghost %{_sysconfdir}/alternatives/bogofilter +%ghost %{_sysconfdir}/alternatives/bogolexer +%ghost %{_sysconfdir}/alternatives/bogotune +%ghost %{_sysconfdir}/alternatives/bogoutil +%ghost %{_sysconfdir}/alternatives/bf_compact +%ghost %{_sysconfdir}/alternatives/bf_copy +%ghost %{_sysconfdir}/alternatives/bf_tar +%ghost %{_sysconfdir}/alternatives/bogofilter.1.* +%ghost %{_sysconfdir}/alternatives/bogolexer.1.* +%ghost %{_sysconfdir}/alternatives/bogotune.1.* +%ghost %{_sysconfdir}/alternatives/bogoutil.1.* +%ghost %{_sysconfdir}/alternatives/bf_compact.1.* +%ghost %{_sysconfdir}/alternatives/bf_copy.1.* +%ghost %{_sysconfdir}/alternatives/bf_tar.1.* +%{_bindir}/bogofilter +%{_bindir}/bogolexer +%{_bindir}/bogotune +%{_bindir}/bogoutil +%{_bindir}/bf_compact +%{_bindir}/bf_copy +%{_bindir}/bf_tar +%{_bindir}/*-sqlite3 +%{_mandir}/man1/*-sqlite3.1.* + +%files db +%defattr(-,root,root) +%ghost %{_sysconfdir}/alternatives/bogofilter +%ghost %{_sysconfdir}/alternatives/bogolexer +%ghost %{_sysconfdir}/alternatives/bogotune +%ghost %{_sysconfdir}/alternatives/bogoutil +%ghost %{_sysconfdir}/alternatives/bf_compact +%ghost %{_sysconfdir}/alternatives/bf_copy +%ghost %{_sysconfdir}/alternatives/bf_tar +%ghost %{_sysconfdir}/alternatives/bogofilter.1.* +%ghost %{_sysconfdir}/alternatives/bogolexer.1.* +%ghost %{_sysconfdir}/alternatives/bogotune.1.* +%ghost %{_sysconfdir}/alternatives/bogoutil.1.* +%ghost %{_sysconfdir}/alternatives/bf_compact.1.* +%ghost %{_sysconfdir}/alternatives/bf_copy.1.* +%ghost %{_sysconfdir}/alternatives/bf_tar.1.* +%{_bindir}/bogofilter +%{_bindir}/bogolexer +%{_bindir}/bogotune +%{_bindir}/bogoutil +%{_bindir}/bf_compact +%{_bindir}/bf_copy +%{_bindir}/bf_tar +%{_bindir}/*-db +%{_mandir}/man1/*-db.1.* %changelog