mirror of https://github.com/python/cpython
Backport 58344: allow BerkeleyDB 4.6.x >= 4.6.21 for the bsddb module
This commit is contained in:
parent
c9f22b954f
commit
4a08ec3db3
16
setup.py
16
setup.py
|
@ -600,10 +600,11 @@ class PyBuildExt(build_ext):
|
|||
# implementation independent wrapper for these; dumbdbm.py provides
|
||||
# similar functionality (but slower of course) implemented in Python.
|
||||
|
||||
# Sleepycat Berkeley DB interface. http://www.sleepycat.com
|
||||
# Sleepycat^WOracle Berkeley DB interface.
|
||||
# http://www.oracle.com/database/berkeley-db/db/index.html
|
||||
#
|
||||
# This requires the Sleepycat DB code. The supported versions
|
||||
# are set below. Visit http://www.sleepycat.com/ to download
|
||||
# This requires the Sleepycat^WOracle DB code. The supported versions
|
||||
# are set below. Visit the URL above to download
|
||||
# a release. Most open source OSes come with one or more
|
||||
# versions of BerkeleyDB already installed.
|
||||
|
||||
|
@ -675,6 +676,15 @@ class PyBuildExt(build_ext):
|
|||
db_minor = int(m.group(1))
|
||||
db_ver = (db_major, db_minor)
|
||||
|
||||
# Avoid 4.6 prior to 4.6.21 due to a BerkeleyDB bug
|
||||
if db_ver == (4, 6):
|
||||
m = re.search(r"#define\WDB_VERSION_PATCH\W(\d+)", f)
|
||||
db_patch = int(m.group(1))
|
||||
if db_patch < 21:
|
||||
print "db.h:", db_ver, "patch", db_patch,
|
||||
print "being ignored (4.6.x must be >= 4.6.21)"
|
||||
continue
|
||||
|
||||
if ( (not db_ver_inc_map.has_key(db_ver)) and
|
||||
(db_ver <= max_db_ver and db_ver >= min_db_ver) ):
|
||||
# save the include directory with the db.h version
|
||||
|
|
Loading…
Reference in New Issue