From 1d25dcde24e9b70fbcb0cee5c2269bea940fb95b Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Mon, 13 Jan 2020 21:39:42 +0100 Subject: [PATCH] apr-util: add mariadb patch 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 --- libs/apr-util/Makefile | 4 +- .../patches/003-support_mariadb.patch | 125 ++++++++++++++++++ 2 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 libs/apr-util/patches/003-support_mariadb.patch diff --git a/libs/apr-util/Makefile b/libs/apr-util/Makefile index eb5c79661..e948c98bd 100644 --- a/libs/apr-util/Makefile +++ b/libs/apr-util/Makefile @@ -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 index 000000000..1086e1931 --- /dev/null +++ b/libs/apr-util/patches/003-support_mariadb.patch @@ -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 ]) +- 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 ]) ++ 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 ]) +- +- 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 ]) ++ 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 */