Bogofilter is a trainable email spam detector.
Bogofilter takes an email message or other text on standard input, parses it
into words, does a statistical check against databases of "good" and "bad"
words, and returns a status code indicating whether or not the message is spam.
Bogofilter decodes base64 or quoted-printable encoded texts and ignores non-text
attachments and HTML comments.
The supported database backends are LMDB, Kyoto Cabinet and SQLite3.
The upstream version would theoretically also support QDBM and
Tokyo Cabinet, but these are not currently available as FreeBSD ports.
Berkeley DB support is being phased out.
===> The following configuration options are available for bogofilter-kc-1.3.0.r1_2:
DOCS=on: Build and/or install documentation
GSL=on: Link with system-wide GSL dynamically (recommended)
UNICODE=on: Normalize tokens to Unicode (UTF-8) (recommended)
===> Use 'make config' to modify these settings
mail/bogofilter*: fix unaligned access on some databases
This was found with the undefined behavior sanitizer,
and affects the generic code (independent of the concrete database
back-end in use) so we need to bump all PORTREVISIONS.
The bug was that internal code was casting a void * to a uint32_t *
without ensuring alignment of the source value.
Let's use memcpy to a statically-sized array and let the optimizer
handle it for us. Adds files/patch-src_datastore.c.
PR: 297024
MFH: 2026Q3
mail/bogofilter*: Prepare LMDB 1.0 transition
Here's what we do now:
- mail/bogofilter currently depends on lmdb0, a 0.9.X port, so
it continues to work as before
- add a new mail/bogofilter-lmdb1 port that depends on lmdb, the 1.0
version of the LMDB database.
- add the upstream patch for bogofilter 1.3.0.rc1 that I made and
that delphij@ prepared for integration into the ports tree - thanks!
Here's the plan for end of 2026:
- AT THE SAME TIME:
- upgrade mail/bogofilter to depend on LMDB 1.0
- portrm mail/bogofilter-lmdb1
- add a MOVED entry to redirect from bogofilter-lmdb1 to bogofilter.
While here, clean up and rearrange the Makefiles.
PR: 296519
Reviewed by: arrowd
Pull Request: https://github.com/freebsd/freebsd-ports/pull/551
mail/bogofilter-bdb: Remove expired port.
We had to transfer and clean up a few bits from bogofilter-bdb
to bogofilter (the LMDB) based port, and I am also adding an UPDATING
entry.
mail/bogofilter*: undeprecate LMDB/KC/SQLITE
The deprecation of bogofilter-bdb wasn't under the MASTERDIR .if checks,
so inadvertently spilled over to the bogofilter (based on LMBD), -kc
(Kyoto Cabinet) and -sqlite (SQLite3) variant of the ports.
These three are supported beyond the expiration date (currently 2025-06-30).
The deprecation only refers to the bogofilter-bdb, i.e. Berkeley DB
based, port and is purely based on Oracle taking away, for instance,
old Berkeley DB 5 patches from the public non-login website,
difficulties with obtaining download URLs, and other historic material.
Reported by: Brad Waite
mail/bogofilter*: change default database
* The default version of mail/bogofilter now uses LMDB instead
of Berkeley DB. It is not compatible and cannot read databases.
* bogofilter was renamed to bogofilter-bdb
* bogofilter-lmdb was renamed to bogofilter
* MOVED/UPDATING entries included.
Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.
This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.
Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
(Only the first 15 lines of the commit message are shown above )
*/*: Remove redundant '-[0-9]*' from CONFLICTS_INSTALL
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Approved by: portmgr (blanket)
math/gsl: update to 2.6
- math/p5-Math-GSL does not seem to have any upstream activity to make it work
with this version -> mark it broken
- this also breaks the two consumers of this port
- biology/gemma: has a conflict with cblas, and is makred broken.
PR: 241363
Exp-run by: antoine
Update bogofilter to 1.2.5.r1, add new database variants.
There are now -kc and -lmdb slave ports that use
KyotoCabinet and LMDB databases.
Since KyotoCabinet is supposed to relieve TokyoCabinet from duty,
sunset the -tc port some 15 months from now.
Clean up CONFLICTS.
Run self-tests in post-build. This reveals Berkeley DB issues
on the various RISC architectures (mips64, aarch64).