[arch-commits] Commit in python/trunk (PKGBUILD python-2.6-db-4.8.patch)

Allan McRae allan at archlinux.org
Sun Oct 4 12:04:55 UTC 2009


    Date: Sunday, October 4, 2009 @ 08:04:54
  Author: allan
Revision: 53966

upgpkg: python 2.6.3-2
    fix _bsddb module (db-4.8 build issue)

Added:
  python/trunk/python-2.6-db-4.8.patch
Modified:
  python/trunk/PKGBUILD

-------------------------+
 PKGBUILD                |    7 ++
 python-2.6-db-4.8.patch |  123 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 129 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2009-10-04 11:31:38 UTC (rev 53965)
+++ PKGBUILD	2009-10-04 12:04:54 UTC (rev 53966)
@@ -4,7 +4,7 @@
 
 pkgname=python
 pkgver=2.6.3
-pkgrel=1
+pkgrel=2
 _pybasever=2.6
 pkgdesc="A high-level scripting language"
 arch=('i686' 'x86_64')
@@ -19,12 +19,14 @@
 	python-2.6-internal-expat.patch
 	python-2.6-gdbm.patch
 	python-2.6-readline.patch
+	python-2.6-db-4.8.patch
 	modulator-launcher
 	pynche-launcher)
 md5sums=('8755fc03075b1701ca3f13932e6ade9f'
          '993800dbcc0c4f199c1ceee998a06e71'
          '13fab4bb2cacbc433e62d7191a17f71e'
          '1f0aed8b96d4531f40fd3e24a80157a5'
+         '10eb5449ead95b9cb13eae9f9a65894e'
          'b4a531570415280dc406c8d5c1fa8d83'
          '9f731b9033db285132a3524fb36409e7')
 
@@ -35,6 +37,9 @@
   patch -Np1 -i ${srcdir}/python-2.6-gdbm.patch
   patch -Np0 -i ${srcdir}/python-2.6-readline.patch
 
+  #http://bugs.python.org/issue6949
+  patch -Np0 -i ${srcdir}/python-2.6-db-4.8.patch
+
   export OPT="${CFLAGS}"
   ./configure --prefix=/usr --enable-shared --with-threads --enable-unicode
 

Added: python-2.6-db-4.8.patch
===================================================================
--- python-2.6-db-4.8.patch	                        (rev 0)
+++ python-2.6-db-4.8.patch	2009-10-04 12:04:54 UTC (rev 53966)
@@ -0,0 +1,123 @@
+Index: setup.py
+===================================================================
+--- setup.py	(revision 74955)
++++ setup.py	(working copy)
+@@ -695,7 +695,7 @@
+         # a release.  Most open source OSes come with one or more
+         # versions of BerkeleyDB already installed.
+ 
+-        max_db_ver = (4, 7)
++        max_db_ver = (4, 8)
+         min_db_ver = (3, 3)
+         db_setup_debug = False   # verbose debug prints from this script?
+ 
+Index: Modules/_bsddb.c
+===================================================================
+--- Modules/_bsddb.c	(revision 74955)
++++ Modules/_bsddb.c	(working copy)
+@@ -215,7 +215,11 @@
+ #define	DB_BUFFER_SMALL		ENOMEM
+ #endif
+ 
++#if (DBVER < 48)
++#define DB_GID_SIZE DB_XIDDATASIZE
++#endif
+ 
++
+ /* --------------------------------------------------------------------- */
+ /* Structure definitions */
+ 
+@@ -4501,7 +4505,11 @@
+     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 +4530,7 @@
+         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 +5055,7 @@
+ }
+ 
+ 
++#if (DBVER < 48)
+ static PyObject*
+ DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs)
+ {
+@@ -5068,6 +5077,7 @@
+     RETURN_IF_ERR();
+     RETURN_NONE();
+ }
++#endif
+ 
+ static PyObject*
+ DBEnv_set_verbose(DBEnvObject* self, PyObject* args)
+@@ -5947,9 +5957,9 @@
+     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;
+     }
+ 
+@@ -6539,8 +6549,10 @@
+ #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},
+@@ -7089,6 +7101,7 @@
+     ADD_INT(d, DB_MAX_PAGES);
+     ADD_INT(d, DB_MAX_RECORDS);
+ 
++#if (DBVER < 48)
+ #if (DBVER >= 42)
+     ADD_INT(d, DB_RPCCLIENT);
+ #else
+@@ -7096,7 +7109,11 @@
+     /* 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);
+@@ -7113,7 +7130,13 @@
+     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);




More information about the arch-commits mailing list