+++ /dev/null
-diff -up Python-2.5.1/Modules/_bsddb.c.db46 Python-2.5.1/Modules/_bsddb.c
---- Python-2.5.1/Modules/_bsddb.c.db46 2007-01-04 21:09:06.000000000 -0500
-+++ Python-2.5.1/Modules/_bsddb.c 2008-07-10 09:58:55.000000000 -0400
-@@ -5306,11 +5306,13 @@ static PyObject*
- DBEnv_getattr(DBEnvObject* self, char *name)
- {
- if (!strcmp(name, "db_home")) {
-+ const char *home = NULL;
- CHECK_ENV_NOT_CLOSED(self);
-- if (self->db_env->db_home == NULL) {
-+ self->db_env->get_home(self->db_env, &home);
-+ if (home == NULL) {
- RETURN_NONE();
- }
-- return PyString_FromString(self->db_env->db_home);
-+ return PyString_FromString(home);
- }
-
- return Py_FindMethod(DBEnv_methods, (PyObject* )self, name);
-@@ -5932,22 +5934,37 @@ DL_EXPORT(void) init_bsddb(void)
- ADD_INT(d, DB_TIME_NOTGRANTED);
- ADD_INT(d, DB_TXN_NOT_DURABLE);
- ADD_INT(d, DB_TXN_WRITE_NOSYNC);
-- ADD_INT(d, DB_LOG_AUTOREMOVE);
-- ADD_INT(d, DB_DIRECT_LOG);
- ADD_INT(d, DB_DIRECT_DB);
- ADD_INT(d, DB_INIT_REP);
- ADD_INT(d, DB_ENCRYPT);
- ADD_INT(d, DB_CHKSUM);
- #endif
-
-+#if (DBVER >= 42) && (DBVER < 47)
-+ ADD_INT(d, DB_LOG_AUTOREMOVE);
-+ ADD_INT(d, DB_DIRECT_LOG);
-+#endif
-+
-+#if (DBVER >= 47)
-+ ADD_INT(d, DB_LOG_DIRECT);
-+ ADD_INT(d, DB_LOG_DSYNC);
-+ ADD_INT(d, DB_LOG_IN_MEMORY);
-+ ADD_INT(d, DB_LOG_AUTO_REMOVE);
-+ ADD_INT(d, DB_LOG_ZERO);
-+#endif
-+
- #if (DBVER >= 43)
-- ADD_INT(d, DB_LOG_INMEMORY);
- ADD_INT(d, DB_BUFFER_SMALL);
- ADD_INT(d, DB_SEQ_DEC);
- ADD_INT(d, DB_SEQ_INC);
- ADD_INT(d, DB_SEQ_WRAP);
- #endif
-
-+#if (DBVER >= 43) && (DBVER < 47)
-+ ADD_INT(d, DB_LOG_INMEMORY);
-+ ADD_INT(d, DB_DSYNC_LOG);
-+#endif
-+
- #if (DBVER >= 41)
- ADD_INT(d, DB_ENCRYPT_AES);
- ADD_INT(d, DB_AUTO_COMMIT);
-diff -up Python-2.5.1/setup.py.db46 Python-2.5.1/setup.py
---- Python-2.5.1/setup.py.db46 2008-07-10 09:55:08.000000000 -0400
-+++ Python-2.5.1/setup.py 2008-07-10 09:55:08.000000000 -0400
-@@ -606,9 +606,9 @@ class PyBuildExt(build_ext):
- # a release. Most open source OSes come with one or more
- # versions of BerkeleyDB already installed.
-
-- max_db_ver = (4, 5)
-+ max_db_ver = (4, 7)
- min_db_ver = (3, 3)
-- db_setup_debug = False # verbose debug prints from this script?
-+ db_setup_debug = True # verbose debug prints from this script?
-
- # construct a list of paths to look for the header file in on
- # top of the normal inc_dirs.
-@@ -623,7 +623,7 @@ class PyBuildExt(build_ext):
- '/sw/include/db3',
- ]
- # 4.x minor number specific paths
-- for x in (0,1,2,3,4,5):
-+ for x in (0,1,2,3,4,5,6,7):
- db_inc_paths.append('/usr/include/db4%d' % x)
- db_inc_paths.append('/usr/include/db4.%d' % x)
- db_inc_paths.append('/usr/local/BerkeleyDB.4.%d/include' % x)
-@@ -646,7 +646,7 @@ class PyBuildExt(build_ext):
- for dn in inc_dirs:
- std_variants.append(os.path.join(dn, 'db3'))
- std_variants.append(os.path.join(dn, 'db4'))
-- for x in (0,1,2,3,4):
-+ for x in (0,1,2,3,4,5,6,7):
- std_variants.append(os.path.join(dn, "db4%d"%x))
- std_variants.append(os.path.join(dn, "db4.%d"%x))
- for x in (2,3):