While looking at the diffs between the 261 release tags and the 26 branch, I
noticed many items in Misc/NEWS appearing in the 2.6.1 or even 2.6 sections.
I moved all of these to 2.6.2, after checking some of them, and found all of the
checked ones be backported after the 2.6.1 release. Is there anything what could
be done to avoid these wrong merges?
I plan to check the items on the 3.0 branch soon.
Matthias
Jesus Cea wrote:
>Georg Brandl wrote:
>> I think this should be reverted -- the support code is not for the
>> bsddb module, but for building the dbm module with bsddb.
>
>I pretend to ask for re-inclusion of BerkeleyDB in Python 3.x branch in
>the future (maybe around christmas), now that it is under control, very
>solid, and a needed storage option in the standard lib.
It seems to me (though I admit I haven't been watching closely recently)
that the buildbots still report bsddb errors on trunk on a fairly regular
basis. If I'm not imagining things is there any chance you could take
a look at that?
--David
I've been analyzing how much of the Python code is covered
by the contributor agreements in the PSF's possession.
The logs show four mysterious IDs of the form uidNNNN; I'd like to
figure out who two of those IDs were. (Two of the IDs are gone in
3.1-trunk, so I don't care about them.)
uid26747 has one commit that only affected
Lib/test/test_generators.py. To me this reads like a Tim Peters
commit message. Tim, does this seem familiar?
--------------------------------------------------
r21474 | uid26747 | 2001-07-04 18:11:22 -0400 (Wed, 04 Jul 2001) | 11 lines
Added a non-recursive implementation of conjoin(), and a Knight's Tour
solver. In conjunction, they easily found a tour of a 200x200 board:
that's 200**2 == 40,000 levels of backtracking. Explicitly resumable
generators allow that to be coded as easily as a recursive solver (easier,
actually, because different levels can use level-customized algorithms
without pain), but without blowing the stack. Indeed, I've never written
an exhaustive Tour solver in any language before that can handle boards so
large ("exhaustive" == guaranteed to find a solution if one exists, as
opposed to probabilistic heuristic approaches; of course, the age of the
universe may be a blip in the time needed!).
--------------------------------------------------
uid56795's commit is to Lib/idlelib/Debugger.py. Most of the commits
to idlelib around this time are by Kurt Kaiser, but there are a few by
Chui Tey. (In either case, both of them have signed agreements, so
the code is likely covered.)
r27482 | uid56795 | 2002-07-05 18:05:24 -0400 (Fri, 05 Jul 2002) | 5 lines
Combine OldStackViewer.py with Debugger.py, removing dead code.
M Debugger.py : Incorporate StackViewer, NamespaceViewer classes
M StackViewer.py : remove import OldStackViewer
U OldStackViewer.py : remove file
--------------------------------------------------
uid35364 cleaned up two bare except: clauses in Lib/mhlib.py and
rfc822.py. No idea who this was -- IIRC, Skip did a lot of cleanup
like this -- but the change is hardly the stuff of intellectual
property litigation.
r21470 | uid35364 | 2001-07-04 03:01:29 -0400 (Wed, 04 Jul 2001) | 3 lines
Clean up a bare except: clause.
r21471 | uid35364 | 2001-07-04 03:07:33 -0400 (Wed, 04 Jul 2001) | 3 lines
Clean up a bare except: clause.
--------------------------------------------------
uid28957's one commit is a regex tweak. The mention of an SF bug
lets me identify this as probably by Sjoerd Mullender.
r21472 | uid28957 | 2001-07-04 06:15:58 -0400 (Wed, 04 Jul 2001) | 5 lines
Fix for SF bug #425868.
We should not depend on two spaces between words, so use the white
space after the to-be-encoded word only as lookahead and don't
actually consume it in the regular expression.
--------------------------------------------------
--amk
I think this should be reverted -- the support code is not for the
bsddb module, but for building the dbm module with bsddb.
Georg
benjamin.peterson schrieb:
> Author: benjamin.peterson
> Date: Fri Jul 3 15:22:00 2009
> New Revision: 73807
>
> Log:
> rip out bsddb support code
>
> Modified:
> python/branches/py3k/setup.py
>
> Modified: python/branches/py3k/setup.py
> ==============================================================================
> --- python/branches/py3k/setup.py (original)
> +++ python/branches/py3k/setup.py Fri Jul 3 15:22:00 2009
> @@ -363,6 +363,7 @@
> inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
>
> # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
> + # XXX db is not needed anymore, should this be removed?
> if platform in ['osf1', 'unixware7', 'openunix8']:
> lib_dirs += ['/usr/ccs/lib']
>
> @@ -625,179 +626,6 @@
> exts.append( Extension('_md5', ['md5module.c']) )
> exts.append( Extension('_sha1', ['sha1module.c']) )
>
> - # Modules that provide persistent dictionary-like semantics. You will
> - # probably want to arrange for at least one of them to be available on
> - # your machine, though none are defined by default because of library
> - # dependencies. The Python module dbm/__init__.py provides an
> - # implementation independent wrapper for these; dbm/dumb.py provides
> - # similar functionality (but slower of course) implemented in Python.
> -
> - # Sleepycat^WOracle Berkeley DB interface.
> - # http://www.oracle.com/database/berkeley-db/db/index.html
> - #
> - # 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.
> -
> - max_db_ver = (4, 7)
> - min_db_ver = (3, 3)
> - db_setup_debug = False # verbose debug prints from this script?
> -
> - def allow_db_ver(db_ver):
> - """Returns a boolean if the given BerkeleyDB version is acceptable.
> -
> - Args:
> - db_ver: A tuple of the version to verify.
> - """
> - if not (min_db_ver <= db_ver <= max_db_ver):
> - return False
> - return True
> -
> - def gen_db_minor_ver_nums(major):
> - if major == 4:
> - for x in range(max_db_ver[1]+1):
> - if allow_db_ver((4, x)):
> - yield x
> - elif major == 3:
> - for x in (3,):
> - if allow_db_ver((3, x)):
> - yield x
> - else:
> - raise ValueError("unknown major BerkeleyDB version", major)
> -
> - # construct a list of paths to look for the header file in on
> - # top of the normal inc_dirs.
> - db_inc_paths = [
> - '/usr/include/db4',
> - '/usr/local/include/db4',
> - '/opt/sfw/include/db4',
> - '/usr/include/db3',
> - '/usr/local/include/db3',
> - '/opt/sfw/include/db3',
> - # Fink defaults (http://fink.sourceforge.net/)
> - '/sw/include/db4',
> - '/sw/include/db3',
> - ]
> - # 4.x minor number specific paths
> - for x in gen_db_minor_ver_nums(4):
> - 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)
> - db_inc_paths.append('/usr/local/include/db4%d' % x)
> - db_inc_paths.append('/pkg/db-4.%d/include' % x)
> - db_inc_paths.append('/opt/db-4.%d/include' % x)
> - # MacPorts default (http://www.macports.org/)
> - db_inc_paths.append('/opt/local/include/db4%d' % x)
> - # 3.x minor number specific paths
> - for x in gen_db_minor_ver_nums(3):
> - db_inc_paths.append('/usr/include/db3%d' % x)
> - db_inc_paths.append('/usr/local/BerkeleyDB.3.%d/include' % x)
> - db_inc_paths.append('/usr/local/include/db3%d' % x)
> - db_inc_paths.append('/pkg/db-3.%d/include' % x)
> - db_inc_paths.append('/opt/db-3.%d/include' % x)
> -
> - # Add some common subdirectories for Sleepycat DB to the list,
> - # based on the standard include directories. This way DB3/4 gets
> - # picked up when it is installed in a non-standard prefix and
> - # the user has added that prefix into inc_dirs.
> - std_variants = []
> - for dn in inc_dirs:
> - std_variants.append(os.path.join(dn, 'db3'))
> - std_variants.append(os.path.join(dn, 'db4'))
> - 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))
> - for x in gen_db_minor_ver_nums(3):
> - std_variants.append(os.path.join(dn, "db3%d"%x))
> - std_variants.append(os.path.join(dn, "db3.%d"%x))
> -
> - db_inc_paths = std_variants + db_inc_paths
> - db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)]
> -
> - db_ver_inc_map = {}
> -
> - class db_found(Exception): pass
> - try:
> - # See whether there is a Sleepycat header in the standard
> - # search path.
> - for d in inc_dirs + db_inc_paths:
> - f = os.path.join(d, "db.h")
> - if db_setup_debug: print("db: looking for db.h in", f)
> - if os.path.exists(f):
> - f = open(f).read()
> - m = re.search(r"#define\WDB_VERSION_MAJOR\W(\d+)", f)
> - if m:
> - db_major = int(m.group(1))
> - m = re.search(r"#define\WDB_VERSION_MINOR\W(\d+)", f)
> - 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,
> - "being ignored (4.6.x must be >= 4.6.21)")
> - continue
> -
> - if ( (db_ver not in db_ver_inc_map) and
> - allow_db_ver(db_ver) ):
> - # save the include directory with the db.h version
> - # (first occurrence only)
> - db_ver_inc_map[db_ver] = d
> - if db_setup_debug:
> - print("db.h: found", db_ver, "in", d)
> - else:
> - # we already found a header for this library version
> - if db_setup_debug: print("db.h: ignoring", d)
> - else:
> - # ignore this header, it didn't contain a version number
> - if db_setup_debug:
> - print("db.h: no version number version in", d)
> -
> - db_found_vers = list(db_ver_inc_map.keys())
> - db_found_vers.sort()
> -
> - while db_found_vers:
> - db_ver = db_found_vers.pop()
> - db_incdir = db_ver_inc_map[db_ver]
> -
> - # check lib directories parallel to the location of the header
> - db_dirs_to_check = [
> - db_incdir.replace("include", 'lib64'),
> - db_incdir.replace("include", 'lib'),
> - ]
> - db_dirs_to_check = list(filter(os.path.isdir, db_dirs_to_check))
> -
> - # Look for a version specific db-X.Y before an ambiguoius dbX
> - # XXX should we -ever- look for a dbX name? Do any
> - # systems really not name their library by version and
> - # symlink to more general names?
> - for dblib in (('db-%d.%d' % db_ver),
> - ('db%d%d' % db_ver),
> - ('db%d' % db_ver[0])):
> - dblib_file = self.compiler.find_library_file(
> - db_dirs_to_check + lib_dirs, dblib )
> - if dblib_file:
> - dblib_dir = [ os.path.abspath(os.path.dirname(dblib_file)) ]
> - raise db_found
> - else:
> - if db_setup_debug: print("db lib: ", dblib, "not found")
> -
> - except db_found:
> - if db_setup_debug:
> - print("bsddb using BerkeleyDB lib:", db_ver, dblib)
> - print("bsddb lib dir:", dblib_dir, " inc dir:", db_incdir)
> - db_incs = [db_incdir]
> - dblibs = [dblib]
> - else:
> - if db_setup_debug: print("db: no appropriate library found")
> - db_incs = None
> - dblibs = []
> - dblib_dir = None
> -
> # The sqlite interface
> sqlite_setup_debug = False # verbose debug prints from this script?
>
> @@ -902,7 +730,7 @@
> if dbm_args:
> dbm_order = dbm_args[-1].split(":")
> else:
> - dbm_order = "ndbm:gdbm:bdb".split(":")
> + dbm_order = "ndbm:gdbm".split(":")
> dbmext = None
> for cand in dbm_order:
> if cand == "ndbm":
> @@ -943,18 +771,6 @@
> ],
> libraries = gdbm_libs)
> break
> - elif cand == "bdb":
> - if db_incs is not None:
> - print("building dbm using bdb")
> - dbmext = Extension('_dbm', ['_dbmmodule.c'],
> - library_dirs=dblib_dir,
> - runtime_library_dirs=dblib_dir,
> - include_dirs=db_incs,
> - define_macros=[
> - ('HAVE_BERKDB_H', None),
> - ('DB_DBM_HSEARCH', None),
> - ],
> - libraries=dblibs)
> break
> if dbmext is not None:
> exts.append(dbmext)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I have found a few flaws in 2.6 documentation. I was going to correct
them when I found they are already solved in trunk in r69846, done by
mark.dickinson in february.
Is there any reason for that commit not to be merged to 2.6 branch?. Am
I missing anything?.
- --
Jesus Cea Avion _/_/ _/_/_/ _/_/_/
jcea(a)jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/
jabber / xmpp:jcea@jabber.org _/_/ _/_/ _/_/_/_/_/
. _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iQCVAwUBSkzGsJlgi5GaxT1NAQIJBwP8C5nnSw5wKjlM/2y5UtS96kbvGipC6EFV
9cbxF3s6vJOGbDqKdgm6VMz82DNIsIw7YhUDw2ACB9Q/HGAwno5u56/eVXCfA53N
uDGYyQ76Ebty2HqbEdcve3n5UH6/2O5Yd3koFpaBm0/UrA/DayFSNAKyqGL3pNZq
To6p6r/0ots=
=jMbT
-----END PGP SIGNATURE-----