--- Python-2.7.1/Modules/_bsddb.c.db5~ 2011-04-10 05:07:58.924046265 +0200 +++ Python-2.7.1/Modules/_bsddb.c 2011-04-10 05:07:58.909046453 +0200 @@ -9766,7 +9766,11 @@ PyMODINIT_FUNC PyInit__bsddb(void) / ADD_INT(d, DB_REP_PERMANENT); #if (DBVER >= 44) +#if (DBVER >= 50) + ADD_INT(d, DB_REP_CONF_AUTOINIT); +#else ADD_INT(d, DB_REP_CONF_NOAUTOINIT); +#endif ADD_INT(d, DB_REP_CONF_DELAYCLIENT); ADD_INT(d, DB_REP_CONF_BULK); ADD_INT(d, DB_REP_CONF_NOWAIT); --- Python-2.7.1/setup.py.db5~ 2011-04-10 05:08:02.755998361 +0200 +++ Python-2.7.1/setup.py 2011-04-10 05:23:59.644035612 +0200 @@ -773,7 +773,7 @@ class PyBuildExt(build_ext): # a release. Most open source OSes come with one or more # versions of BerkeleyDB already installed. - max_db_ver = (4, 8) + max_db_ver = (5, 1) min_db_ver = (4, 1) db_setup_debug = False # verbose debug prints from this script? @@ -795,7 +795,11 @@ class PyBuildExt(build_ext): return True def gen_db_minor_ver_nums(major): - if major == 4: + if major == 5: + for x in range(max_db_ver[1]+1): + if allow_db_ver((5, x)): + yield x + elif major == 4: for x in range(max_db_ver[1]+1): if allow_db_ver((4, x)): yield x @@ -809,6 +813,9 @@ class PyBuildExt(build_ext): # construct a list of paths to look for the header file in on # top of the normal inc_dirs. db_inc_paths = [ + '/usr/include/db5', + '/usr/local/include/db5', + '/opt/sfw/include/db5', '/usr/include/db4', '/usr/local/include/db4', '/opt/sfw/include/db4', @@ -819,6 +826,16 @@ class PyBuildExt(build_ext): '/sw/include/db4', '/sw/include/db3', ] + # 5.x minor number specific paths + for x in gen_db_minor_ver_nums(5): + db_inc_paths.append('/usr/include/db5%d' % x) + db_inc_paths.append('/usr/include/db5.%d' % x) + db_inc_paths.append('/usr/local/BerkeleyDB.5.%d/include' % x) + db_inc_paths.append('/usr/local/include/db5%d' % x) + db_inc_paths.append('/pkg/db-5.%d/include' % x) + db_inc_paths.append('/opt/db-5.%d/include' % x) + # MacPorts default (http://www.macports.org/) + db_inc_paths.append('/opt/local/include/db5%d' % x) # 4.x minor number specific paths for x in gen_db_minor_ver_nums(4): db_inc_paths.append('/usr/include/db4%d' % x) @@ -845,6 +862,10 @@ 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')) + std_variants.append(os.path.join(dn, 'db5')) + for x in gen_db_minor_ver_nums(5): + std_variants.append(os.path.join(dn, "db5%d"%x)) + std_variants.append(os.path.join(dn, "db5.%d"%x)) for x in gen_db_minor_ver_nums(4): std_variants.append(os.path.join(dn, "db4%d"%x)) std_variants.append(os.path.join(dn, "db4.%d"%x))