@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME := mariadb
PKG_NAME := mariadb
PKG_VERSION := 10.2.16
PKG_VERSION := 10.2.16
PKG_RELEASE := 2
PKG_RELEASE := 3
PKG_SOURCE := $( PKG_NAME) -$( PKG_VERSION) .tar.gz
PKG_SOURCE := $( PKG_NAME) -$( PKG_VERSION) .tar.gz
PKG_SOURCE_URL := \
PKG_SOURCE_URL := \
@ -35,13 +35,6 @@ CMAKE_INSTALL:=1
PLUGIN_DIR := /usr/lib/mysql/plugin
PLUGIN_DIR := /usr/lib/mysql/plugin
MARIADB_COMMON_DEPENDS := \
+USE_UCLIBC:libiconv-full \
+libatomic \
+libopenssl \
+libstdcpp \
+zlib
MARIADB_SERVER_PLUGINS := \
MARIADB_SERVER_PLUGINS := \
adt_null \
adt_null \
auth_0x0100 \
auth_0x0100 \
@ -174,6 +167,14 @@ MARIADB_SERVER_EXTRA := \
i n c l u d e $( INCLUDE_DIR ) / p a c k a g e . m k
i n c l u d e $( INCLUDE_DIR ) / p a c k a g e . m k
i n c l u d e $( INCLUDE_DIR ) / h o s t - b u i l d . m k
i n c l u d e $( INCLUDE_DIR ) / h o s t - b u i l d . m k
i n c l u d e $( INCLUDE_DIR ) / c m a k e . m k
i n c l u d e $( INCLUDE_DIR ) / c m a k e . m k
i n c l u d e $( INCLUDE_DIR ) / n l s . m k
MARIADB_COMMON_DEPENDS := \
$( ICONV_DEPENDS) \
+libatomic \
+libopenssl \
+libstdcpp \
+zlib
# Pass CPPFLAGS in the CFLAGS as otherwise the build system will
# Pass CPPFLAGS in the CFLAGS as otherwise the build system will
# ignore them.
# ignore them.
@ -385,12 +386,13 @@ CMAKE_OPTIONS += \
-DPLUGIN_AUTH_GSSAPI_CLIENT= NO \
-DPLUGIN_AUTH_GSSAPI_CLIENT= NO \
-DPLUGIN_CRACKLIB_PASSWORD_CHECK= NO
-DPLUGIN_CRACKLIB_PASSWORD_CHECK= NO
# musl and glibc include their own iconv, but uclibc does not
i f n e q ( $( CONFIG_USE_UCLIBC ) , )
# Help MariaDB find the correct libiconv.
# nls.mk sets it up so that with CONFIG_BUILD_NLS libiconv-full would be used,
# otherwise libiconv-stub (independent of the selected libc). MariaDB needs a
# leg up to find/pick the right lib.
CMAKE_OPTIONS += \
CMAKE_OPTIONS += \
-DICONV_INCLUDE_DIR= $( STAGING_DIR) /usr/lib/libiconv-full/include \
-DICONV_LIBRARIES= $( STAGING_DIR) /usr/lib/libiconv-full/lib/libiconv.so
e n d i f
-DICONV_INCLUDE_DIR= $( ICONV_PREFIX) /include \
-DICONV_LIBRARIES= $( ICONV_PREFIX) /lib/libiconv.$( if $( CONFIG_BUILD_NLS) ,so,a)
CMAKE_OPTIONS += \
CMAKE_OPTIONS += \
$( foreach p,$( MARIADB_SERVER_PLUGINS) ,-D$( plugin-$( p) ) = $( if $( CONFIG_PACKAGE_$( PKG_NAME) -server-plugin-$( subst _,-,$( p) ) ) ,DYNAMIC,NO) )
$( foreach p,$( MARIADB_SERVER_PLUGINS) ,-D$( plugin-$( p) ) = $( if $( CONFIG_PACKAGE_$( PKG_NAME) -server-plugin-$( subst _,-,$( p) ) ) ,DYNAMIC,NO) )
@ -438,14 +440,13 @@ endef
# from libiconv_open() to iconv_open()]. But in OpenWrt this variable is not set
# from libiconv_open() to iconv_open()]. But in OpenWrt this variable is not set
# when building libiconv-full. So when mariadb sets LIBICONV_PLUG it expects
# when building libiconv-full. So when mariadb sets LIBICONV_PLUG it expects
# iconv_open() to be available for example, which is not the case - only
# iconv_open() to be available for example, which is not the case - only
# libiconv_open() is. To address this do not set the variable when building
# against libiconv-full.
# libiconv_open() is. To address this prevent the variable from being set.
# libiconv-stub does not use this variable, so there is no harm in always doing
# this.
d e f i n e B u i l d / P r e p a r e
d e f i n e B u i l d / P r e p a r e
$( call Build/Prepare/Default)
$( call Build/Prepare/Default)
i f n e q ( $( CONFIG_USE_UCLIBC ) , )
$( SED) '/ADD_DEFINITIONS(-DLIBICONV_PLUG)/d' $( PKG_BUILD_DIR) /libmariadb/libmariadb/CMakeLists.txt
$( SED) '/ADD_DEFINITIONS(-DLIBICONV_PLUG)/d' $( PKG_BUILD_DIR) /libmariadb/libmariadb/CMakeLists.txt
e n d i f
e n d e f
e n d e f
d e f i n e B u i l d / I n s t a l l D e v
d e f i n e B u i l d / I n s t a l l D e v