[oe] [meta-oe][PATCH] mysql-python: fix compilation with MariaDB 10.3.13

mingli.yu at windriver.com mingli.yu at windriver.com
Wed Mar 6 09:12:58 UTC 2019


From: Mingli Yu <mingli.yu at windriver.com>

Use standard API function MYSQL_OPT_RECONNECT
instead of direct modification of internal structures
which does not work for MariaDB to fix below compile
issue.
| _mysql.c: In function '_mysql_ConnectionObject_ping':
| _mysql.c:2005:41: error: 'MYSQL' {aka 'struct st_mysql'} has no member named 'reconnect'

Signed-off-by: Mingli Yu <mingli.yu at windriver.com>
---
 ...ompilation-with-MariaDB-with-10.3.13.patch | 39 +++++++++++++++++++
 .../recipes-dbs/mysql/mysql-python_1.2.5.bb   |  4 +-
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch

diff --git a/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch b/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch
new file mode 100644
index 000000000..b816618c7
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch
@@ -0,0 +1,39 @@
+From 45436592aa64308b2ab46f84c6107c6d7de0a3ec Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu at windriver.com>
+Date: Wed, 6 Mar 2019 00:16:17 -0800
+Subject: [PATCH] _mysql.c: fix compilation with MariaDB 10.3.13
+
+Use standard API function MYSQL_OPT_RECONNECT
+instead of direct modification of internal structures
+which does not work for MariaDB.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu at windriver.com>
+---
+ _mysql.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/_mysql.c b/_mysql.c
+index f081346..2262e9e 100644
+--- a/_mysql.c
++++ b/_mysql.c
+@@ -2002,7 +2002,14 @@ _mysql_ConnectionObject_ping(
+ 	int r, reconnect = -1;
+ 	if (!PyArg_ParseTuple(args, "|I", &reconnect)) return NULL;
+ 	check_connection(self);
+-	if ( reconnect != -1 ) self->connection.reconnect = reconnect;
++	if ( reconnect != -1 ) {
++             #if MYSQL_VERSION_ID >= 50013
++		 my_bool recon = reconnect;
++		 mysql_options(&self->connection, MYSQL_OPT_RECONNECT, &recon);
++             #else
++                 self->connection.reconnect = reconnect;
++             #endif
++        }
+ 	Py_BEGIN_ALLOW_THREADS
+ 	r = mysql_ping(&(self->connection));
+ 	Py_END_ALLOW_THREADS
+-- 
+2.17.1
+
diff --git a/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
index ac0df4f06..f2faec1c1 100644
--- a/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
+++ b/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
@@ -8,7 +8,9 @@ DEPENDS = "mysql5"
 
 SRCNAME = "MySQL-python"
 
-SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip"
+SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \
+           file://0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch \
+"
 SRC_URI[md5sum] = "654f75b302db6ed8dc5a898c625e030c"
 SRC_URI[sha256sum] = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74"
 
-- 
2.17.1



More information about the Openembedded-devel mailing list