Author: krejzi
Date: 2013-01-18 06:54:13 -0700 (Fri, 18 Jan 2013)
New Revision: 2578

Added:
   trunk/Python/Python-2.7.3-bsddb_fix-1.patch
Log:
Add Python bsddb fix.

Added: trunk/Python/Python-2.7.3-bsddb_fix-1.patch
===================================================================
--- trunk/Python/Python-2.7.3-bsddb_fix-1.patch                         (rev 0)
+++ trunk/Python/Python-2.7.3-bsddb_fix-1.patch 2013-01-18 13:54:13 UTC (rev 
2578)
@@ -0,0 +1,139 @@
+Submitted By:            Armin K. <krejzi at email dot com>
+Date:                    2013-01-18
+Initial Package Version: 2.7.3
+Upstream Status:         Unknown
+Origin:                  Gentoo
+Description:             Fixes building of the bsddb module against Berkeley 
DB 5.0 and later.
+
+--- Python.orig/Modules/_bsddb.c       2012-04-09 23:07:33.000000000 +0000
++++ Python/Modules/_bsddb.c    2012-11-17 16:43:38.852839990 +0000
+@@ -696,8 +696,6 @@
+         case DB_RUNRECOVERY:        errObj = DBRunRecoveryError;    break;
+         case DB_VERIFY_BAD:         errObj = DBVerifyBadError;      break;
+         case DB_NOSERVER:           errObj = DBNoServerError;       break;
+-        case DB_NOSERVER_HOME:      errObj = DBNoServerHomeError;   break;
+-        case DB_NOSERVER_ID:        errObj = DBNoServerIDError;     break;
+         case DB_PAGE_NOTFOUND:      errObj = DBPageNotFoundError;   break;
+         case DB_SECONDARY_BAD:      errObj = DBSecondaryBadError;   break;
+         case DB_BUFFER_SMALL:       errObj = DBNoMemoryError;       break;
+@@ -7616,6 +7614,7 @@
+     char *host;
+     int port;
+     int flags = 0;
++    DB_SITE *dbSite;
+     static char* kwnames[] = {"host", "port", "flags", NULL};
+ 
+     if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+@@ -7625,7 +7624,9 @@
+     }
+     CHECK_ENV_NOT_CLOSED(self);
+     MYDB_BEGIN_ALLOW_THREADS;
+-    err = self->db_env->repmgr_set_local_site(self->db_env, host, port, 
flags);
++    err = self->db_env->repmgr_site(self->db_env,host, port, &dbSite, flags);
++    dbSite->set_config(dbSite, DB_LOCAL_SITE, 1);
++    dbSite->close(dbSite);
+     MYDB_END_ALLOW_THREADS;
+     RETURN_IF_ERR();
+     RETURN_NONE();
+@@ -7640,6 +7641,7 @@
+     int port;
+     int flags = 0;
+     int eidp;
++    DB_SITE *dbSite;
+     static char* kwnames[] = {"host", "port", "flags", NULL};
+ 
+     if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+@@ -7649,7 +7651,9 @@
+     }
+     CHECK_ENV_NOT_CLOSED(self);
+     MYDB_BEGIN_ALLOW_THREADS;
+-    err = self->db_env->repmgr_add_remote_site(self->db_env, host, port, 
&eidp, flags);
++    err = self->db_env->repmgr_site(self->db_env, host, port, &dbSite, flags);
++    dbSite->get_eid(dbSite, &eidp);
++    dbSite->close(dbSite);
+     MYDB_END_ALLOW_THREADS;
+     RETURN_IF_ERR();
+     return NUMBER_FromLong(eidp);
+@@ -9651,8 +9655,6 @@
+     ADD_INT(d, DB_LOCK_DEADLOCK);
+     ADD_INT(d, DB_LOCK_NOTGRANTED);
+     ADD_INT(d, DB_NOSERVER);
+-    ADD_INT(d, DB_NOSERVER_HOME);
+-    ADD_INT(d, DB_NOSERVER_ID);
+     ADD_INT(d, DB_NOTFOUND);
+     ADD_INT(d, DB_OLD_VERSION);
+     ADD_INT(d, DB_RUNRECOVERY);
+@@ -9766,7 +9768,11 @@
+     ADD_INT(d, DB_REP_PERMANENT);
+ 
+ #if (DBVER >= 44)
++#if (DBVER >= 50)
++    ADD_INT(d, DB_REP_CONF_AUTOINIT);
++#else
+     ADD_INT(d, DB_REP_CONF_NOAUTOINIT);
++#endif
+     ADD_INT(d, DB_REP_CONF_DELAYCLIENT);
+     ADD_INT(d, DB_REP_CONF_BULK);
+     ADD_INT(d, DB_REP_CONF_NOWAIT);
+--- Python.orig/setup.py       2012-04-09 23:07:36.000000000 +0000
++++ Python/setup.py    2012-11-17 16:43:25.092839526 +0000
+@@ -799,7 +799,7 @@
+         # a release.  Most open source OSes come with one or more
+         # versions of BerkeleyDB already installed.
+ 
+-        max_db_ver = (4, 8)
++        max_db_ver = (5, 3)
+         min_db_ver = (4, 1)
+         db_setup_debug = False   # verbose debug prints from this script?
+ 
+@@ -821,7 +821,11 @@
+             return True
+ 
+         def gen_db_minor_ver_nums(major):
+-            if major == 4:
++            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(max_db_ver[1]+1):
+                     if allow_db_ver((4, x)):
+                         yield x
+@@ -835,6 +839,9 @@
+         # construct a list of paths to look for the header file in on
+         # top of the normal inc_dirs.
+         db_inc_paths = [
++            '/usr/include/db5',
++            '/usr/local/include/db5',
++            '/opt/sfw/include/db5',
+             '/usr/include/db4',
+             '/usr/local/include/db4',
+             '/opt/sfw/include/db4',
+@@ -845,6 +852,16 @@
+             '/sw/include/db4',
+             '/sw/include/db3',
+         ]
++        # 5.x minor number specific paths
++        for x in gen_db_minor_ver_nums(5):
++            db_inc_paths.append('/usr/include/db5%d' % x)
++            db_inc_paths.append('/usr/include/db5.%d' % x)
++            db_inc_paths.append('/usr/local/BerkeleyDB.5.%d/include' % x)
++            db_inc_paths.append('/usr/local/include/db5%d' % x)
++            db_inc_paths.append('/pkg/db-5.%d/include' % x)
++            db_inc_paths.append('/opt/db-5.%d/include' % x)
++            # MacPorts default (http://www.macports.org/)
++            db_inc_paths.append('/opt/local/include/db5%d' % x)
+         # 4.x minor number specific paths
+         for x in gen_db_minor_ver_nums(4):
+             db_inc_paths.append('/usr/include/db4%d' % x)
+@@ -871,6 +888,10 @@
+         for dn in inc_dirs:
+             std_variants.append(os.path.join(dn, 'db3'))
+             std_variants.append(os.path.join(dn, 'db4'))
++            std_variants.append(os.path.join(dn, 'db5'))
++            for x in gen_db_minor_ver_nums(5):
++                std_variants.append(os.path.join(dn, "db5%d"%x))
++                std_variants.append(os.path.join(dn, "db5.%d"%x))
+             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))

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to