I finally found the time to read the glibc2.1 documentation regarding the changes to the db interfaces. Now I'm left with a problem:
In glibc2.1 (which is used in potato for all architectures ??), the old Berkeley DB code (aka db1) has been replaced with code from Sleepycat (aka db2). The internal formats of the db files are different, so you're not able to read a database file written by db1 with db2 and vice versa. The API for db2 has been changed as well (that's <db.h>), but db2 alternatively provides the old API, too (in <db_185.h>). The legacy db1 library is still available as <db1/db.h>. The Python bsddb module needs the old API, so we need to use either <db_185.h> or <db1/db.h>. I guess we now have to decide if the bsddb module should use the old, backwards compatible format or the new format used employed by db2. There are tools to convert database files in the old format to the new format (db_dump), so that's an argument to use the new format. But then, the bsddb module had to be changed anyway to support the new API, therefore one could argue that it's better to work on a bsddb2 module anyway. Any opinions ? Gregor