git » qt5-base.git » commit 5b765e2

Fix mysql version detection with mariadb 10.6 (FS#71471)

author Antonio Rojas
2021-07-08 22:38:05 UTC
committer Antonio Rojas
2021-07-08 22:38:05 UTC
parent 375000cdd23c143602810e4b30554b76aa06f7d5

Fix mysql version detection with mariadb 10.6 (FS#71471)

PKGBUILD +7 -3
qt5-base-mariadb-10.6.patch +23 -0

diff --git a/PKGBUILD b/PKGBUILD
index afb004c..a8836c7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
 pkgbase=qt5-base
 pkgname=(qt5-base qt5-xcb-private-headers)
 pkgver=5.15.2+kde+r207
-pkgrel=1
+pkgrel=2
 _commit=6ee419d6597fb297c2f35d5be63c4eb16ae9b12c
 arch=('x86_64')
 url='https://www.qt.io'
@@ -30,10 +30,12 @@ groups=('qt' 'qt5')
 _pkgfqn=qtbase
 source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit
         qt5-base-cflags.patch
-        qt5-base-nostrip.patch)
+        qt5-base-nostrip.patch
+        qt5-base-mariadb-10.6.patch)
 sha256sums=('SKIP'
             'cf707cd970650f8b60f8897692b36708ded9ba116723ec8fcd885576783fe85c'
-            '4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094')
+            '4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094'
+            'dde1c2c7300a6e05b12145f0c0b180991aa5929a4bf13c026eef6511593f357b')
 
 pkgver() {
   cd $_pkgfqn
@@ -44,6 +46,8 @@ prepare() {
   cd ${_pkgfqn}
 
   git revert -n 6344955d17e17e2398720fe60c34cfc2a4a95208 # Revert version bump
+  patch -p1 < ../qt5-base-mariadb-10.6.patch # Fix broken mysql version detection with mariadb 10.6
+
   patch -p1 < ../qt5-base-cflags.patch # Use system CFLAGS in qmake
   patch -p1 < ../qt5-base-nostrip.patch # Don't strip binaries with qmake
 }
diff --git a/qt5-base-mariadb-10.6.patch b/qt5-base-mariadb-10.6.patch
new file mode 100644
index 0000000..cebbafd
--- /dev/null
+++ b/qt5-base-mariadb-10.6.patch
@@ -0,0 +1,23 @@
+diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
+index a641935dc5..19e6a8286d 100644
+--- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
++++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
+@@ -1355,7 +1355,7 @@ bool QMYSQLDriver::open(const QString& db,
+     }
+ 
+ #if MYSQL_VERSION_ID >= 50007
+-    if (mysql_get_client_version() >= 50503 && mysql_get_server_version(d->mysql) >= 50503) {
++    if (true) {
+         // force the communication to be utf8mb4 (only utf8mb4 supports 4-byte characters)
+         mysql_set_character_set(d->mysql, "utf8mb4");
+ #if QT_CONFIG(textcodec)
+@@ -1371,8 +1371,7 @@ bool QMYSQLDriver::open(const QString& db,
+     }
+ #endif  // MYSQL_VERSION_ID >= 50007
+ 
+-    d->preparedQuerysEnabled = mysql_get_client_version() >= 40108
+-                        && mysql_get_server_version(d->mysql) >= 40100;
++    d->preparedQuerysEnabled = true;
+ 
+ #if QT_CONFIG(thread)
+     mysql_thread_init();