Subject: Re: Please update pkgsrc/mail/bogofilter to 0.96.6
To: Geert Hendrickx <ghen@telenet.be>
From: Matthias Andree <matthias.andree@gmx.de>
List: tech-pkg
Date: 11/21/2005 21:05:22
Geert Hendrickx schrieb am 2005-11-21:

> Here's an update of mail/bogofilter to 0.96.6.  I'm not sure about the
> removal of patch-ac though; bogofilter 0.96.6 has something similar but
> not identical. =20

The new package build worked for me on SUSE Linux 9.3 i386, dank U wel.

Removing patch-ac is safe, it likely went in after pkgsrc/databases/db4
had been upgraded to Berkeley DB 4.3.Y (from version 4.2.X), which
introduced an additional argument to the DB->stat() method.

Bogofilter 0.92.8, the previous version, did not support Berkeley DB
4.3, only 0.93.1 and newer did.

In case you're interested, the version-immunization code guarding us
=66rom the DB->stat() API changes are in src/datastore_dbcommon.h. Details
below.

If you want the ultimate touch-up, you might add a pkg-message like file
(whatever it's name in pkgsrc/, I'm familiar with FreeBSD ports,
anything that's displayed at install time) that suggests that users who
upgraded at least read the RELEASE.NOTES document, that's the one that
contains incompatible and major changes at a glance.


The remaining similar code you appear to be worried about determines if
the page counts are really needed, this is the comment from
datastore_db.c (the file that is changed by patch-ac). Effectively, the
caller can say if he wants accurate figures or just guesses will
suffice:

| /* The old, pre-3.3 API will not fill in the page size with
|  * DB_CACHED_COUNTS, and without DB_CACHED_COUNTS, BerlekeyDB will read
|  * the whole data base, incurring a severe performance penalty. We'll
|  * guess a page size.  As this is a safety margin for the file size,
|  * we'll return 0 and let the caller guess some size instead. */
| /* return page size, of 0xffffffff for trouble */
| static uint32_t get_psize(DB *dbp,
| 	bool wanted /** if set, try harder to get the page size, even if
| 		     * it requires to read the whole database */)

--=20
Matthias Andree