apr-util: add mariadb patch
authorSebastian Kemper <sebastian_ml@gmx.net>
Mon, 13 Jan 2020 20:39:42 +0000 (21:39 +0100)
committerSebastian Kemper <sebastian_ml@gmx.net>
Mon, 13 Jan 2020 20:40:02 +0000 (21:40 +0100)
Patch by Kris Karas from
https://bz.apache.org/bugzilla/attachment.cgi?id=35326&action=diff

This patch is also used by Debian.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
libs/apr-util/Makefile
libs/apr-util/patches/003-support_mariadb.patch [new file with mode: 0644]

index eb5c796619200b0e1fe9cae54cbcf6ff33ee1543..e948c98bdad0f4ee7e64915c168b1ef630cdd8eb 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apr-util
 PKG_VERSION:=1.6.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@APACHE/apr/
@@ -152,7 +152,7 @@ endef
 
 $(eval $(call BuildPackage,libaprutil))
 $(eval $(call Package/libaprutil/Driver,crypto_openssl,OpenSSL,+libopenssl))
-$(eval $(call Package/libaprutil/Driver,dbd_mysql,MySQL,+libmariadb @BROKEN))
+$(eval $(call Package/libaprutil/Driver,dbd_mysql,MySQL,+libmariadb))
 $(eval $(call Package/libaprutil/Driver,dbd_odbc,ODBC,+unixodbc))
 $(eval $(call Package/libaprutil/Driver,dbd_pgsql,PostgreSQL,+libpq))
 $(eval $(call Package/libaprutil/Driver,dbd_sqlite3,SQLite3,+libsqlite3))
diff --git a/libs/apr-util/patches/003-support_mariadb.patch b/libs/apr-util/patches/003-support_mariadb.patch
new file mode 100644 (file)
index 0000000..1086e19
--- /dev/null
@@ -0,0 +1,125 @@
+# patch by Kris Karas fom
+# https://bz.apache.org/bugzilla/attachment.cgi?id=35326&action=diff
+--- a/build/dbd.m4
++++ b/build/dbd.m4
+@@ -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_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 "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_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" != "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 "$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 -l$my_library $mysql_LIBS])
+   fi
+   AC_SUBST(LDADD_dbd_mysql)
+--- a/dbd/apr_dbd_mysql.c
++++ b/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 */