Bug#927693: unblock: apr-util/1.6.1-4

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Bug#927693: unblock: apr-util/1.6.1-4

Stefan Fritsch-2
Package: release.debian.org
Severity: normal
User: [hidden email]
Usertags: unblock

Please unblock package apr-util

It fixes an RC bug which broke mariadb support.

Changelog/debdiff is included below.

unblock apr-util/1.6.1-4


Cheers,
Stefan

diff -Nru apr-util-1.6.1/debian/changelog apr-util-1.6.1/debian/changelog
--- apr-util-1.6.1/debian/changelog 2018-09-18 21:14:24.000000000 +0200
+++ apr-util-1.6.1/debian/changelog 2019-04-21 09:39:02.000000000 +0200
@@ -1,3 +1,9 @@
+apr-util (1.6.1-4) unstable; urgency=medium
+
+  * Fix libaprutil1-dbd-mysql with mariadb 10.3. Closes: #926400
+
+ -- Stefan Fritsch <[hidden email]>  Sun, 21 Apr 2019 09:39:02 +0200
+
 apr-util (1.6.1-3) unstable; urgency=medium
 
   [ Stefan Fritsch ]
diff -Nru apr-util-1.6.1/debian/patches/support_mariadb.patch apr-util-1.6.1/debian/patches/support_mariadb.patch
--- apr-util-1.6.1/debian/patches/support_mariadb.patch 2018-02-25 10:59:52.000000000 +0100
+++ apr-util-1.6.1/debian/patches/support_mariadb.patch 2019-04-21 08:56:45.000000000 +0200
@@ -1,46 +1,125 @@
+# patch by Kris Karas fom
+# https://bz.apache.org/bugzilla/attachment.cgi?id=35326&action=diff
 --- apr-util.orig/build/dbd.m4
 +++ apr-util/build/dbd.m4
-@@ -176,10 +176,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
+@@ -163,10 +163,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
+   old_cppflags="$CPPFLAGS"
+   old_ldflags="$LDFLAGS"
+
++  my_library="mysqlclient"
++
+   AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [enable MySQL DBD driver]),
+   [
+     if test "$withval" = "yes"; then
+       AC_PATH_PROG([MYSQL_CONFIG],[mysql_config])
++      if test "x$MYSQL_CONFIG" = "x"; then
++        AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config])
++      fi
+       if test "x$MYSQL_CONFIG" != 'x'; then
+         mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
+         mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
+@@ -174,32 +179,40 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
+
+         APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
          APR_ADDTO(LIBS, [$mysql_LIBS])
++
++ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
++  my_library="mariadb"
++ fi
        fi
 
-+      AC_LINK_IFELSE([#include <my_global.h>
-+                      int main(int a, char **b) { mysql_init(); return 0; }],
-+                     [apu_have_mysql=1], [apu_have_mysql=0])
-+      if test "$apu_have_mysql" = "0"; then
-       AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-                        AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-                        [apu_have_mysql=0; break],
-                        [#include <my_global.h>])
+-      AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
+-                       AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
+-                       [apu_have_mysql=0; break],
+-                       [#include <my_global.h>])
+-      if test "$apu_have_mysql" = "0"; then
+-        AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
+-                         AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
+-                         [apu_have_mysql=0; break],
+-                         [#include <mysql/my_global.h>])
++      AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
++      if test "$apr_have_mysql" = "0"; then
++ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
+       fi
+-      if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then
+-        APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
++      if test "$apr_have_mysql" = "1"; then
++ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
++ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
++      fi
++      if test "$apu_have_mysql" = "1" && test "x$MYSQL_CONFIG" != 'x'; then
++ APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
+       fi
+     elif test "$withval" = "no"; then
+       :
+     else
+       AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin])
++      if test "x$MYSQL_CONFIG" = "x"; then
++ AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config],,[$withval/bin])
 +      fi
-       if test "$apu_have_mysql" = "0"; then
-         AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-                          AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-@@ -207,11 +212,17 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
+       if test "x$MYSQL_CONFIG" != 'x'; then
+-        mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
+-        mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
+-        mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
++ mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
++ mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
++ mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
++ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
++  my_library="mariadb"
++ fi
+       else
+-        mysql_CPPFLAGS="-I$withval/include"
+-        mysql_LDFLAGS="-L$withval/lib "
++ mysql_CPPFLAGS="-I$withval/include"
++ mysql_LDFLAGS="-L$withval/lib "
+       fi
+
+       APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
+@@ -207,18 +220,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
        APR_ADDTO(LIBS, [$mysql_LIBS])
 
        AC_MSG_NOTICE(checking for mysql in $withval)
-+      AC_LINK_IFELSE([#include <my_global.h>
-+                      int main(int a, char **b) { mysql_init(); return 0; }],
-+                     [apu_have_mysql=1], [apu_have_mysql=0])
-+      if test "$apu_have_mysql" != "1"; then
-       AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-                        AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-                        [apu_have_mysql=0; break],
-                        [#include <my_global.h>])
+-      AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
+-                       AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
+-                       [apu_have_mysql=0; break],
+-                       [#include <my_global.h>])
 -
-+      else
-+      AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h])
+-      if test "$apu_have_mysql" != "1"; then
+-        AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
+-                         AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
+-                         [apu_have_mysql=0; break],
+-                         [#include <mysql/my_global.h>])
++      AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
++      if test "$apr_have_mysql" = "0"; then
++ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
 +      fi
-       if test "$apu_have_mysql" != "1"; then
-         AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-                          AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-@@ -229,7 +240,7 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
++      if test "$apr_have_mysql" = "1"; then
++ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
++ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
+       fi
+-      if test "$apu_have_mysql" != "0"; then
++      if test "$apu_have_mysql" = "1"; then
+         APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
+       fi
+     fi
+@@ -229,7 +239,7 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
    dnl Since we have already done the AC_CHECK_LIB tests, if we have it,
    dnl we know the library is there.
    if test "$apu_have_mysql" = "1"; then
 -    APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -lmysqlclient $mysql_LIBS])
-+    APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS $mysql_LIBS])
++    APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -l$my_library $mysql_LIBS])
    fi
    AC_SUBST(LDADD_dbd_mysql)
 
+--- apr-util.orig/dbd/apr_dbd_mysql.c
++++ apr-util/dbd/apr_dbd_mysql.c
+@@ -1262,7 +1262,9 @@ static apr_status_t thread_end(void *dat
+
+ static void dbd_mysql_init(apr_pool_t *pool)
+ {
++#if MYSQL_VERSION_ID < 100000
+     my_init();
++#endif
+     mysql_thread_init();
+
+     /* FIXME: this is a guess; find out what it really does */