packages: python/python.spec, python/python-db.patch - added db patch to al...

qboosh qboosh at pld-linux.org
Fri May 14 22:37:10 CEST 2010


Author: qboosh                       Date: Fri May 14 20:37:10 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- added db patch to allow db 4.8/5.0
- disable test_pydoc and test_zlib because of temporary failures

---- Files affected:
packages/python:
   python.spec (1.356 -> 1.357) , python-db.patch (1.5 -> 1.6) 

---- Diffs:

================================================================
Index: packages/python/python.spec
diff -u packages/python/python.spec:1.356 packages/python/python.spec:1.357
--- packages/python/python.spec:1.356	Thu May 13 23:12:42 2010
+++ packages/python/python.spec	Fri May 14 22:37:04 2010
@@ -3,6 +3,8 @@
 # TODO
 # - test_distutils fails for unknown reason: (does it still do with new lib64 patch?)
 #   AssertionError: '/tmp/tmpaomC0l/installation/share/python' != '/tmp/tmpaomC0l/installation/lib/python'
+# - test_pydoc fails because of PYTHONPATH override
+# - test_zlib fails with zlib 1.2.4 - recheck with newer python
 # - change searchpath order so /usr/lib* is before /usr/share
 # - kill lib-tk from searchpath
 # - kill BR: file requirement from lib64 patch
@@ -21,7 +23,7 @@
 # tests which may fail because of builder environment limitations (no /proc or /dev/pts)
 %define		nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty test_urllib2
 # tests which fail because of some unknown/unresolved reason (this list should be empty)
-%define		broken_tests test_anydbm test_bsddb test_re test_shelve test_whichdb test_zipimport test_distutils
+%define		broken_tests test_anydbm test_bsddb test_re test_shelve test_whichdb test_zipimport test_distutils test_pydoc test_zlib
 
 %define	beta		%{nil}
 
@@ -56,6 +58,7 @@
 Patch3:		%{name}-ac_fixes.patch
 Patch4:		%{name}-noarch_to_datadir.patch
 Patch5:		%{name}-lib64.patch
+Patch6:		%{name}-db.patch
 URL:		http://www.python.org/
 BuildRequires:	autoconf >= 2.61
 BuildRequires:	bluez-libs-devel
@@ -539,6 +542,7 @@
 %patch3 -p1
 %patch5 -p1
 %patch4 -p1
+%patch6 -p1
 
 tar xjf %{SOURCE1}
 
@@ -979,6 +983,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.357  2010/05/14 20:37:04  qboosh
+- added db patch to allow db 4.8/5.0
+- disable test_pydoc and test_zlib because of temporary failures
+
 Revision 1.356  2010/05/13 21:12:42  qboosh
 - autoconf version
 

================================================================
Index: packages/python/python-db.patch
diff -u /dev/null packages/python/python-db.patch:1.6
--- /dev/null	Fri May 14 22:37:10 2010
+++ packages/python/python-db.patch	Fri May 14 22:37:04 2010
@@ -0,0 +1,172 @@
+--- Python-2.6.5/Lib/bsddb/test/test_basics.py.orig	2009-07-02 17:37:21.000000000 +0200
++++ Python-2.6.5/Lib/bsddb/test/test_basics.py	2010-05-14 08:40:30.594940098 +0200
+@@ -1032,11 +1032,12 @@ class CrashAndBurn(unittest.TestCase) :
+     #    # See http://bugs.python.org/issue3307
+     #    self.assertRaises(db.DBInvalidArgError, db.DB, None, 65535)
+ 
+-    def test02_DBEnv_dealloc(self):
+-        # http://bugs.python.org/issue3885
+-        import gc
+-        self.assertRaises(db.DBInvalidArgError, db.DBEnv, ~db.DB_RPCCLIENT)
+-        gc.collect()
++    if db.version() < (4, 8):
++        def test02_DBEnv_dealloc(self):
++            # http://bugs.python.org/issue3885
++            import gc
++            self.assertRaises(db.DBInvalidArgError, db.DBEnv, ~db.DB_RPCCLIENT)
++            gc.collect()
+ 
+ 
+ #----------------------------------------------------------------------
+--- Python-2.6.5/Lib/bsddb/test/test_distributed_transactions.py.orig	2008-08-31 16:00:51.000000000 +0200
++++ Python-2.6.5/Lib/bsddb/test/test_distributed_transactions.py	2010-05-14 08:42:10.538932556 +0200
+@@ -35,7 +35,7 @@ class DBTxn_distributed(unittest.TestCas
+                 db.DB_INIT_TXN | db.DB_INIT_LOG | db.DB_INIT_MPOOL |
+                 db.DB_INIT_LOCK, 0666)
+         self.db = db.DB(self.dbenv)
+-        self.db.set_re_len(db.DB_XIDDATASIZE)
++        self.db.set_re_len(db.DB_GID_SIZE)
+         if must_open_db :
+             if db.version() > (4,1) :
+                 txn=self.dbenv.txn_begin()
+@@ -76,7 +76,7 @@ class DBTxn_distributed(unittest.TestCas
+     # let them be garbage collected.
+         for i in xrange(self.num_txns) :
+             txn = self.dbenv.txn_begin()
+-            gid = "%%%dd" %db.DB_XIDDATASIZE
++            gid = "%%%dd" %db.DB_GID_SIZE
+             gid = adapt(gid %i)
+             self.db.put(i, gid, txn=txn, flags=db.DB_APPEND)
+             txns.add(gid)
+--- Python-2.6.5/Modules/_bsddb.c.orig	2010-03-01 22:08:21.000000000 +0100
++++ Python-2.6.5/Modules/_bsddb.c	2010-05-14 08:53:17.402937584 +0200
+@@ -215,6 +215,9 @@ static PyObject* DBRepUnavailError;
+ #define	DB_BUFFER_SMALL		ENOMEM
+ #endif
+ 
++#if (DBVER < 48)
++#define DB_GID_SIZE DB_XIDDATASIZE
++#endif
+ 
+ /* --------------------------------------------------------------------- */
+ /* Structure definitions */
+@@ -4501,7 +4504,11 @@ DBEnv_txn_recover(DBEnvObject* self)
+     DBTxnObject *txn;
+ #define PREPLIST_LEN 16
+     DB_PREPLIST preplist[PREPLIST_LEN];
++#if (DBVER < 48)
+     long retp;
++#else
++    u_int32_t retp;
++#endif
+ 
+     CHECK_ENV_NOT_CLOSED(self);
+ 
+@@ -4522,7 +4529,7 @@ DBEnv_txn_recover(DBEnvObject* self)
+         flags=DB_NEXT;  /* Prepare for next loop pass */
+         for (i=0; i<retp; i++) {
+             gid=PyBytes_FromStringAndSize((char *)(preplist[i].gid),
+-                                DB_XIDDATASIZE);
++                                DB_GID_SIZE);
+             if (!gid) {
+                 Py_DECREF(list);
+                 return NULL;
+@@ -5047,6 +5054,7 @@ DBEnv_set_private(DBEnvObject* self, PyO
+ }
+ 
+ 
++#if (DBVER < 48)
+ static PyObject*
+ DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs)
+ {
+@@ -5068,6 +5076,7 @@ DBEnv_set_rpc_server(DBEnvObject* self,
+     RETURN_IF_ERR();
+     RETURN_NONE();
+ }
++#endif
+ 
+ static PyObject*
+ DBEnv_set_verbose(DBEnvObject* self, PyObject* args)
+@@ -5949,9 +5958,9 @@ DBTxn_prepare(DBTxnObject* self, PyObjec
+     if (!PyArg_ParseTuple(args, "s#:prepare", &gid, &gid_size))
+         return NULL;
+ 
+-    if (gid_size != DB_XIDDATASIZE) {
++    if (gid_size != DB_GID_SIZE) {
+         PyErr_SetString(PyExc_TypeError,
+-                        "gid must be DB_XIDDATASIZE bytes long");
++                        "gid must be DB_GID_SIZE bytes long");
+         return NULL;
+     }
+ 
+@@ -6541,8 +6550,10 @@ static PyMethodDef DBEnv_methods[] = {
+ #endif
+     {"set_get_returns_none",(PyCFunction)DBEnv_set_get_returns_none, METH_VARARGS},
+     {"txn_recover",     (PyCFunction)DBEnv_txn_recover,       METH_NOARGS},
++#if (DBVER < 48)
+     {"set_rpc_server",  (PyCFunction)DBEnv_set_rpc_server,
+         METH_VARARGS||METH_KEYWORDS},
++#endif
+     {"set_verbose",     (PyCFunction)DBEnv_set_verbose,       METH_VARARGS},
+ #if (DBVER >= 42)
+     {"get_verbose",     (PyCFunction)DBEnv_get_verbose,       METH_VARARGS},
+@@ -7091,6 +7102,7 @@ PyMODINIT_FUNC  PyInit__bsddb(void)    /
+     ADD_INT(d, DB_MAX_PAGES);
+     ADD_INT(d, DB_MAX_RECORDS);
+ 
++#if (DBVER < 48)
+ #if (DBVER >= 42)
+     ADD_INT(d, DB_RPCCLIENT);
+ #else
+@@ -7098,7 +7110,11 @@ PyMODINIT_FUNC  PyInit__bsddb(void)    /
+     /* allow apps to be written using DB_RPCCLIENT on older Berkeley DB */
+     _addIntToDict(d, "DB_RPCCLIENT", DB_CLIENT);
+ #endif
++#endif
++
++#if (DBVER < 48)
+     ADD_INT(d, DB_XA_CREATE);
++#endif
+ 
+     ADD_INT(d, DB_CREATE);
+     ADD_INT(d, DB_NOMMAP);
+@@ -7115,7 +7131,13 @@ PyMODINIT_FUNC  PyInit__bsddb(void)    /
+     ADD_INT(d, DB_INIT_TXN);
+     ADD_INT(d, DB_JOINENV);
+ 
++#if (DBVER >= 48)
++    ADD_INT(d, DB_GID_SIZE);
++#else
+     ADD_INT(d, DB_XIDDATASIZE);
++    /* Allow new code to work in old BDB releases */
++    _addIntToDict(d, "DB_GID_SIZE", DB_XIDDATASIZE);
++#endif
+ 
+     ADD_INT(d, DB_RECOVER);
+     ADD_INT(d, DB_RECOVER_FATAL);
+--- Python-2.6.5/setup.py.orig	2010-05-13 22:08:16.102940937 +0200
++++ Python-2.6.5/setup.py	2010-05-14 08:39:34.370942613 +0200
+@@ -708,7 +708,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, 7)
++        max_db_ver = (5, 0)
+         min_db_ver = (3, 3)
+         db_setup_debug = False   # verbose debug prints from this script?
+ 
+@@ -730,8 +730,12 @@ class PyBuildExt(build_ext):
+             return True
+ 
+         def gen_db_minor_ver_nums(major):
+-            if major == 4:
+-                for x in range(max_db_ver[1]+1):
++	    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(0, 9):
+                     if allow_db_ver((4, x)):
+                         yield x
+             elif major == 3:
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/python/python.spec?r1=1.356&r2=1.357&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/python/python-db.patch?r1=1.5&r2=1.6&f=u



More information about the pld-cvs-commit mailing list