Stuart Henderson wrote in
<[email protected]>:
|On 2021/07/08 08:45, Martin Ziemer wrote:
...
|Let's look at the other flavours.
|
|bogofilter-1.2.4p2-qdbm(mail/bogofilter,qdbm):
|Extra: qdbm.14
|
|bogofilter-1.2.4p2-db4(mail/bogofilter,db4):
|Extra: db.5 iconv.7
|
|Same problem. Presumably this worked properly before, looking at other OS
|bogofilter is dynamically linked to db libraries there. The part of the
|configure script responsible for figuring out how to link to these comes
|from an ancient copy of gettext-related m4 files in the distro. So let's
|pick up new ones to replace them. While there we can pick up the 2019
|update to 1.2.5 that includes various things including fixes for memory
|leaks, lexer fixes for MIME multipart and HTML tokens, and some others.
Gee, you could really add the LMDB backend.
I use it for years (disclaimer: i wrote it, long before release
1.2.5), the per-entry overhead is smaller, the speed is
tremendous, the library is only ~7.1% of the size of libsqlite3
(here). With postfix also using LMDB exclusively (needs a patch,
AlpineLinux has it, CRUX has, too) i am all out of DBs but LMDB in
the mail system here, and that is very nice.
There is only one caveat: LMDB has no VACUUM.
So for compaction all you can do is
bogoutil -d wordlist.lmdb > /tmp/spam.db || exit 2
mv wordlist.lmdb wordlist.lmdb.save
bogoutil -l wordlist.lmdb < /tmp/spam.db || {
mv wordlist.lmdb.save wordlist.lmdb
exit 3
}
rm wordlist.lmdb.save
ie, regenerate the database, whenever you feel the need to do so.
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)