+++ /dev/null
---- /python/trunk/Lib/test/test_zlib.py 2008/04/08 23:47:30 62234
-+++ python/trunk/Lib/test/test_zlib.py 2008/04/09 00:25:17 62235
-@@ -83,6 +83,11 @@
- # verify failure on building decompress object with bad params
- self.assertRaises(ValueError, zlib.decompressobj, 0)
-
-+ def test_decompressobj_badflush(self):
-+ # verify failure on calling decompressobj.flush with bad params
-+ self.assertRaises(ValueError, zlib.decompressobj().flush, 0)
-+ self.assertRaises(ValueError, zlib.decompressobj().flush, -1)
-+
-
-
- class CompressTestCase(unittest.TestCase):
---- /python/trunk/Modules/zlibmodule.c 2008/04/08 23:47:30 62234
-+++ python/trunk/Modules/zlibmodule.c 2008/04/09 00:25:17 62235
-@@ -774,6 +774,10 @@
-
- if (!PyArg_ParseTuple(args, "|i:flush", &length))
- return NULL;
-+ if (length <= 0) {
-+ PyErr_SetString(PyExc_ValueError, "length must be greater than zero");
-+ return NULL;
-+ }
- if (!(retval = PyString_FromStringAndSize(NULL, length)))
- return NULL;
-
+++ /dev/null
---- Python-2.5.2/setup.py.orig 2008-02-04 23:41:02.000000000 +0000
-+++ Python-2.5.2/setup.py 2008-02-26 21:04:48.000000000 +0000
-@@ -608,7 +608,7 @@
- # 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)
- # NOTE: while the _bsddb.c code links against BerkeleyDB 4.6.x
- # we leave that version disabled by default as it has proven to be
- # quite a buggy library release on many platforms.
---- Python-2.5.2/Modules/_bsddb.c 2008-02-03 08:26:23.000000000 +0100
-+++ Python-2.5.2/Modules/_bsddb.c 2008-06-12 22:46:09.099634000 +0200
-@@ -4542,22 +4542,26 @@
- #if (DBVER < 41)
- MAKE_ENTRY(lastid);
- #endif
-+#if (DBVER >=41)
-+ MAKE_ENTRY(id);
-+ MAKE_ENTRY(cur_maxid);
-+#endif
- MAKE_ENTRY(nmodes);
--#if (DBVER >= 32)
- MAKE_ENTRY(maxlocks);
- MAKE_ENTRY(maxlockers);
- MAKE_ENTRY(maxobjects);
- MAKE_ENTRY(nlocks);
- MAKE_ENTRY(maxnlocks);
--#endif
- MAKE_ENTRY(nlockers);
- MAKE_ENTRY(maxnlockers);
--#if (DBVER >= 32)
- MAKE_ENTRY(nobjects);
- MAKE_ENTRY(maxnobjects);
--#endif
- MAKE_ENTRY(nrequests);
- MAKE_ENTRY(nreleases);
-+#if (DBVER >= 44)
-+ MAKE_ENTRY(nupgrade);
-+ MAKE_ENTRY(ndowngrade);
-+#endif
- #if (DBVER < 44)
- MAKE_ENTRY(nnowaits); /* these were renamed in 4.4 */
- MAKE_ENTRY(nconflicts);
-@@ -4566,6 +4570,28 @@
- MAKE_ENTRY(lock_wait);
- #endif
- MAKE_ENTRY(ndeadlocks);
-+#if (DBVER >= 41)
-+ MAKE_ENTRY(locktimeout);
-+ MAKE_ENTRY(txntimeout);
-+#endif
-+#if (DBVER >= 40)
-+ MAKE_ENTRY(nlocktimeouts);
-+ MAKE_ENTRY(ntxntimeouts);
-+#endif
-+#if (DBVER >= 46)
-+ MAKE_ENTRY(objs_wait);
-+ MAKE_ENTRY(objs_nowait);
-+ MAKE_ENTRY(lockers_wait);
-+ MAKE_ENTRY(lockers_nowait);
-+#if (DBVER >= 47)
-+ MAKE_ENTRY(lock_wait);
-+ MAKE_ENTRY(lock_nowait);
-+#else
-+ MAKE_ENTRY(locks_wait);
-+ MAKE_ENTRY(locks_nowait);
-+#endif
-+ MAKE_ENTRY(hash_len);
-+#endif
- MAKE_ENTRY(regsize);
- MAKE_ENTRY(region_wait);
- MAKE_ENTRY(region_nowait);
-@@ -5335,11 +5361,17 @@
- 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) {
-+#if (DBVER >= 42)
-+ self->db_env->get_home(self->db_env, &home);
-+#else
-+ home=self->db_env->db_home;
-+#endif
-+ 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);
-@@ -5961,22 +5993,37 @@
- 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);
+++ /dev/null
---- Python-2.3.3/Lib/pydoc.py.orig 2004-01-07 12:20:29.000000000 +0100
-+++ Python-2.3.3/Lib/pydoc.py 2004-01-07 12:23:05.000000000 +0100
-@@ -1527,12 +1527,7 @@
- homedir = os.environ.get('PYTHONHOME')
- for dir in [os.environ.get('PYTHONDOCS'),
- homedir and os.path.join(homedir, 'doc'),
-- os.path.join(execdir, 'doc'),
-- '/usr/doc/python-docs-' + split(sys.version)[0],
-- '/usr/doc/python-' + split(sys.version)[0],
-- '/usr/doc/python-docs-' + sys.version[:3],
-- '/usr/doc/python-' + sys.version[:3],
-- os.path.join(sys.prefix, 'Resources/English.lproj/Documentation')]:
-+ '/usr/share/doc/python-doc-' + split(sys.version)[0]]:
- if dir and os.path.isdir(os.path.join(dir, 'lib')):
- self.docdir = dir
-