Browse Source

mariadb: bump to 10.2.x release

Bump to 10.2.x release series which has support for OpenSSL 1.1.x.

- libmariadbclient was replaced by libmaria
- libmaria uses LGPL, hence license info updated
- upstream disabled xtradb engine, innodb is now default (cannot be
  built as plugin anymore)
- complex charsets are now all included (size increase), as otherwise
  compile fails
- patches adapted/refreshed

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
lilik-openwrt-22.03
Sebastian Kemper 6 years ago
parent
commit
c903332493
6 changed files with 58 additions and 81 deletions
  1. +14
    -18
      utils/mariadb/Makefile
  2. +1
    -1
      utils/mariadb/patches/100-fix_hostname.patch
  3. +4
    -4
      utils/mariadb/patches/120-fix-ucontext-check.patch
  4. +14
    -23
      utils/mariadb/patches/130-c11_atomics.patch
  5. +0
    -14
      utils/mariadb/patches/150-mips-innobase-atomic.patch
  6. +25
    -21
      utils/mariadb/patches/170-ppc-remove-glibc-dep.patch

+ 14
- 18
utils/mariadb/Makefile View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=mariadb PKG_NAME:=mariadb
PKG_VERSION:=10.1.33
PKG_VERSION:=10.2.16
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@ -18,10 +18,10 @@ PKG_SOURCE_URL := \
https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \ https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
https://downloads.mariadb.org/interstitial/$(PKG_NAME)-$(PKG_VERSION)/source https://downloads.mariadb.org/interstitial/$(PKG_NAME)-$(PKG_VERSION)/source
PKG_HASH:=94312c519f2c0c25e1964c64e22aff0036fb22dfb2685638f43a6b2211395d2d
PKG_HASH:=c182ee93bacee9c1395a4cece56acfc433bc5153ec627c4898927b93eee54dc4
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net> PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_LICENSE:=GPL-2.0 LGPL-2.1
PKG_LICENSE_FILES:=COPYING libmariadb/COPYING.LIB
HOST_BUILD_PARALLEL:=1 HOST_BUILD_PARALLEL:=1
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
@ -60,7 +60,6 @@ MARIADB_SERVER_PLUGINS := \
ha_example \ ha_example \
ha_federated \ ha_federated \
ha_federatedx \ ha_federatedx \
ha_innodb \
ha_spider \ ha_spider \
ha_test_sql_discovery \ ha_test_sql_discovery \
handlersocket \ handlersocket \
@ -102,7 +101,6 @@ plugin-ha_connect := PLUGIN_CONNECT
plugin-ha_example := PLUGIN_EXAMPLE plugin-ha_example := PLUGIN_EXAMPLE
plugin-ha_federated := PLUGIN_FEDERATED plugin-ha_federated := PLUGIN_FEDERATED
plugin-ha_federatedx := PLUGIN_FEDERATEDX plugin-ha_federatedx := PLUGIN_FEDERATEDX
plugin-ha_innodb := PLUGIN_INNOBASE
plugin-ha_spider := PLUGIN_SPIDER plugin-ha_spider := PLUGIN_SPIDER
plugin-ha_test_sql_discovery := PLUGIN_TEST_SQL_DISCOVERY plugin-ha_test_sql_discovery := PLUGIN_TEST_SQL_DISCOVERY
plugin-handlersocket := PLUGIN_HANDLERSOCKET plugin-handlersocket := PLUGIN_HANDLERSOCKET
@ -183,16 +181,16 @@ database query language in the world. The main goals of MariaDB are
speed, robustness and ease of use. speed, robustness and ease of use.
endef endef
define Package/libmariadbclient
define Package/libmariadb
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=$(MARIADB_COMMON_DEPENDS) DEPENDS:=$(MARIADB_COMMON_DEPENDS)
TITLE:=MariaDB database client library TITLE:=MariaDB database client library
URL:=https://mariadb.org/ URL:=https://mariadb.org/
PROVIDES:=libmysqlclient libmysqlclient-r
PROVIDES:=libmariadbclient libmysqlclient libmysqlclient-r
endef endef
define Package/libmariadbclient/description
define Package/libmariadb/description
$(call Package/mariadb/description/Default) $(call Package/mariadb/description/Default)
This package includes the client library. This package includes the client library.
@ -247,7 +245,6 @@ endef
define Package/mariadb-extra-charsets/description define Package/mariadb-extra-charsets/description
$(call Package/mariadb/description/Default) $(call Package/mariadb/description/Default)
The MariaDB server packaged by OpenWrt only provides support for UTF-8.
This package contains single Byte character sets and collations that can This package contains single Byte character sets and collations that can
be added at run time. be added at run time.
@ -346,7 +343,7 @@ CMAKE_OPTIONS += \
-DSKIP_TESTS=ON \ -DSKIP_TESTS=ON \
-DWITH_ASAN=OFF \ -DWITH_ASAN=OFF \
-DWITH_EMBEDDED_SERVER=OFF \ -DWITH_EMBEDDED_SERVER=OFF \
-DWITH_EXTRA_CHARSETS=none \
-DWITH_EXTRA_CHARSETS=complex \
-DWITH_INNODB_BZIP2=OFF \ -DWITH_INNODB_BZIP2=OFF \
-DWITH_INNODB_LZ4=OFF \ -DWITH_INNODB_LZ4=OFF \
-DWITH_INNODB_LZMA=ON \ -DWITH_INNODB_LZMA=ON \
@ -425,15 +422,15 @@ define Build/InstallDev
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin
$(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin $(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin
$(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmysqlclient*.so* $(1)/usr/lib
cd $(1)/usr/lib/mysql; $(LN) ../libmysqlclient*.so* .
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
cd $(1)/usr/lib/mysql; $(LN) ../lib{mariadb,mysqlclient}*.so* .
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/mariadb.pc $(1)/usr/lib/pkgconfig $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/mariadb.pc $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal
endef endef
define Package/libmariadbclient/install
define Package/libmariadb/install
$(INSTALL_DIR) $(1)$(PLUGIN_DIR) $(INSTALL_DIR) $(1)$(PLUGIN_DIR)
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmysqlclient*.so* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/dialog.so $(1)$(PLUGIN_DIR) $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/dialog.so $(1)$(PLUGIN_DIR)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/mysql_clear_password.so $(1)$(PLUGIN_DIR) $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/mysql_clear_password.so $(1)$(PLUGIN_DIR)
endef endef
@ -478,7 +475,7 @@ endef
define Package/mariadb-server/conffiles define Package/mariadb-server/conffiles
/etc/mysql/my.cnf /etc/mysql/my.cnf
/usr/lib/mysql/plugin/daemon_example.ini
$(PLUGIN_DIR)/daemon_example.ini
endef endef
define BuildPlugin define BuildPlugin
@ -503,7 +500,7 @@ This package provides the $(1) plugin.
endef endef
$(eval $(call HostBuild)) $(eval $(call HostBuild))
$(eval $(call BuildPackage,libmariadbclient))
$(eval $(call BuildPackage,libmariadb))
$(eval $(call BuildPackage,mariadb-client)) $(eval $(call BuildPackage,mariadb-client))
$(eval $(call BuildPackage,mariadb-client-extra)) $(eval $(call BuildPackage,mariadb-client-extra))
$(eval $(call BuildPackage,mariadb-extra-charsets)) $(eval $(call BuildPackage,mariadb-extra-charsets))
@ -527,7 +524,6 @@ $(eval $(call BuildPlugin,ha_blackhole,))
$(eval $(call BuildPlugin,ha_connect,+libxml2)) $(eval $(call BuildPlugin,ha_connect,+libxml2))
$(eval $(call BuildPlugin,ha_federated,)) $(eval $(call BuildPlugin,ha_federated,))
$(eval $(call BuildPlugin,ha_federatedx,)) $(eval $(call BuildPlugin,ha_federatedx,))
$(eval $(call BuildPlugin,ha_innodb,))
$(eval $(call BuildPlugin,ha_spider,)) $(eval $(call BuildPlugin,ha_spider,))
$(eval $(call BuildPlugin,ha_test_sql_discovery,)) $(eval $(call BuildPlugin,ha_test_sql_discovery,))
$(eval $(call BuildPlugin,handlersocket,)) $(eval $(call BuildPlugin,handlersocket,))


+ 1
- 1
utils/mariadb/patches/100-fix_hostname.patch View File

@ -1,6 +1,6 @@
--- a/scripts/mysql_install_db.sh --- a/scripts/mysql_install_db.sh
+++ b/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh
@@ -379,7 +379,7 @@ fi
@@ -383,7 +383,7 @@ fi
# Try to determine the hostname # Try to determine the hostname


+ 4
- 4
utils/mariadb/patches/120-fix-ucontext-check.patch View File

@ -1,9 +1,9 @@
--- a/configure.cmake --- a/configure.cmake
+++ b/configure.cmake +++ b/configure.cmake
@@ -1107,9 +1107,12 @@ SET(CMAKE_EXTRA_INCLUDE_FILES)
CHECK_STRUCT_HAS_MEMBER("struct dirent" d_ino "dirent.h" STRUCT_DIRENT_HAS_D_INO)
CHECK_STRUCT_HAS_MEMBER("struct dirent" d_namlen "dirent.h" STRUCT_DIRENT_HAS_D_NAMLEN)
SET(SPRINTF_RETURNS_INT 1)
@@ -1018,9 +1018,12 @@ CHECK_STRUCT_HAS_MEMBER("struct sockaddr
SET(CMAKE_EXTRA_INCLUDE_FILES)
-CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H) -CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H)
-IF(NOT HAVE_UCONTEXT_H) -IF(NOT HAVE_UCONTEXT_H)
- CHECK_INCLUDE_FILE(sys/ucontext.h HAVE_UCONTEXT_H) - CHECK_INCLUDE_FILE(sys/ucontext.h HAVE_UCONTEXT_H)


+ 14
- 23
utils/mariadb/patches/130-c11_atomics.patch View File

@ -14,7 +14,7 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
${LIBM} ${LIBNSL} ${LIBBIND} ${LIBCRYPT} ${LIBSOCKET} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} ${LIBRT} ${LIBEXECINFO}) ${LIBM} ${LIBNSL} ${LIBBIND} ${LIBCRYPT} ${LIBSOCKET} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} ${LIBRT} ${LIBEXECINFO})
# Need explicit pthread for gcc -fsanitize=address # Need explicit pthread for gcc -fsanitize=address
IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=") IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=")
@@ -1038,7 +1038,26 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
@@ -952,7 +952,26 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
long long int *ptr= &var; long long int *ptr= &var;
return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
}" }"
@ -73,29 +73,9 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
#ifdef MY_ATOMIC_MODE_DUMMY #ifdef MY_ATOMIC_MODE_DUMMY
#define make_atomic_load_body(S) ret= *a #define make_atomic_load_body(S) ret= *a
#define make_atomic_store_body(S) *a= v #define make_atomic_store_body(S) *a= v
--- a/include/atomic/nolock.h
+++ b/include/atomic/nolock.h
@@ -17,7 +17,7 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
#if defined(__i386__) || defined(_MSC_VER) || defined(__x86_64__) \
- || defined(HAVE_GCC_ATOMIC_BUILTINS) \
+ || defined(HAVE_GCC_ATOMIC_BUILTINS) || defined(HAVE_GCC_C11_ATOMICS) \
|| defined(HAVE_SOLARIS_ATOMIC)
# ifdef MY_ATOMIC_MODE_DUMMY
@@ -41,7 +41,7 @@
# elif __GNUC__
# if defined(HAVE_SOLARIS_ATOMIC)
# include "solaris.h"
-# elif defined(HAVE_GCC_ATOMIC_BUILTINS)
+# elif defined(HAVE_GCC_ATOMIC_BUILTINS) || defined(HAVE_GCC_C11_ATOMICS)
# include "gcc_builtins.h"
# elif defined(__i386__) || defined(__x86_64__)
# include "x86-gcc.h"
--- a/mysys/CMakeLists.txt --- a/mysys/CMakeLists.txt
+++ b/mysys/CMakeLists.txt +++ b/mysys/CMakeLists.txt
@@ -78,6 +78,10 @@ IF(HAVE_BFD_H)
@@ -80,6 +80,10 @@ IF(HAVE_BFD_H)
TARGET_LINK_LIBRARIES(mysys bfd) TARGET_LINK_LIBRARIES(mysys bfd)
ENDIF(HAVE_BFD_H) ENDIF(HAVE_BFD_H)
@ -108,7 +88,7 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
ENDIF(WIN32) ENDIF(WIN32)
--- a/sql/CMakeLists.txt --- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt
@@ -165,6 +165,10 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATI
@@ -170,6 +170,10 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATI
${SSL_LIBRARIES} ${SSL_LIBRARIES}
${LIBSYSTEMD}) ${LIBSYSTEMD})
@ -119,3 +99,14 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
IF(WIN32) IF(WIN32)
SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc) SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc)
TARGET_LINK_LIBRARIES(sql psapi) TARGET_LINK_LIBRARIES(sql psapi)
--- a/include/my_atomic.h
+++ b/include/my_atomic.h
@@ -126,7 +126,7 @@
#include "atomic/generic-msvc.h"
#elif defined(HAVE_SOLARIS_ATOMIC)
#include "atomic/solaris.h"
-#elif defined(HAVE_GCC_ATOMIC_BUILTINS)
+#elif defined(HAVE_GCC_ATOMIC_BUILTINS) || defined(HAVE_GCC_C11_ATOMICS)
#include "atomic/gcc_builtins.h"
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
#include "atomic/x86-gcc.h"

+ 0
- 14
utils/mariadb/patches/150-mips-innobase-atomic.patch View File

@ -1,14 +0,0 @@
Author: James Cowgill <jcowgill@debian.org>
Description: fix FTBFS on 32-bit mips*
Bug-Debian: #864298
--- a/storage/innobase/include/os0sync.h
+++ b/storage/innobase/include/os0sync.h
@@ -37,6 +37,7 @@ Created 9/6/1995 Heikki Tuuri
#include "univ.i"
#include "ut0lst.h"
+#include "sync0types.h"
/** CPU cache line size */
#ifdef __powerpc__

+ 25
- 21
utils/mariadb/patches/170-ppc-remove-glibc-dep.patch View File

@ -27,12 +27,14 @@ directly was the first solution adopted in MariaDB [2].
--- a/storage/xtradb/include/ut0ut.h --- a/storage/xtradb/include/ut0ut.h
+++ b/storage/xtradb/include/ut0ut.h +++ b/storage/xtradb/include/ut0ut.h
@@ -86,8 +86,7 @@ private:
@@ -85,9 +85,8 @@ private:
the YieldProcessor macro defined in WinNT.h. It is a CPU architecture-
independent way by using YieldProcessor. */ independent way by using YieldProcessor. */
# define UT_RELAX_CPU() YieldProcessor() # define UT_RELAX_CPU() YieldProcessor()
# elif defined(__powerpc__)
-# elif defined(__powerpc__) && defined __GLIBC__
-#include <sys/platform/ppc.h> -#include <sys/platform/ppc.h>
-# define UT_RELAX_CPU() __ppc_get_timebase() -# define UT_RELAX_CPU() __ppc_get_timebase()
+# elif defined(__powerpc__)
+# define UT_RELAX_CPU() __builtin_ppc_get_timebase() +# define UT_RELAX_CPU() __builtin_ppc_get_timebase()
# else # else
# define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */ # define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
@ -51,25 +53,27 @@ directly was the first solution adopted in MariaDB [2].
# define UT_RESUME_PRIORITY_CPU() ((void)0) # define UT_RESUME_PRIORITY_CPU() ((void)0)
--- a/storage/innobase/include/ut0ut.h --- a/storage/innobase/include/ut0ut.h
+++ b/storage/innobase/include/ut0ut.h +++ b/storage/innobase/include/ut0ut.h
@@ -89,8 +89,7 @@ private:
@@ -70,9 +70,8 @@ typedef time_t ib_time_t;
the YieldProcessor macro defined in WinNT.h. It is a CPU architecture-
independent way by using YieldProcessor. */ independent way by using YieldProcessor. */
# define UT_RELAX_CPU() YieldProcessor()
# elif defined(__powerpc__)
-#include <sys/platform/ppc.h>
-# define UT_RELAX_CPU() __ppc_get_timebase()
+# define UT_RELAX_CPU() __builtin_ppc_get_timebase()
# else
# define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
# endif
@@ -104,9 +103,8 @@ private:
# define UT_RELAX_CPU() YieldProcessor()
-#elif defined(__powerpc__) && defined __GLIBC__
-# include <sys/platform/ppc.h>
-# define UT_RELAX_CPU() __ppc_get_timebase()
+#elif defined(__powerpc__)
+# define UT_RELAX_CPU() __builtin_ppc_get_timebase()
#else
# define UT_RELAX_CPU() do { \
volatile int32 volatile_var; \
@@ -90,9 +89,8 @@ typedef time_t ib_time_t;
#endif #endif
# if defined(HAVE_HMT_PRIORITY_INSTRUCTION)
-#include <sys/platform/ppc.h>
-# define UT_LOW_PRIORITY_CPU() __ppc_set_ppr_low()
-# define UT_RESUME_PRIORITY_CPU() __ppc_set_ppr_med()
+# define UT_LOW_PRIORITY_CPU() __asm__ __volatile__ ("or 1,1,1")
+# define UT_RESUME_PRIORITY_CPU() __asm__ __volatile__ ("or 2,2,2")
# else
# define UT_LOW_PRIORITY_CPU() ((void)0)
# define UT_RESUME_PRIORITY_CPU() ((void)0)
#if defined(HAVE_HMT_PRIORITY_INSTRUCTION)
-# include <sys/platform/ppc.h>
-# define UT_LOW_PRIORITY_CPU() __ppc_set_ppr_low()
-# define UT_RESUME_PRIORITY_CPU() __ppc_set_ppr_med()
+# define UT_LOW_PRIORITY_CPU() __asm__ __volatile__ ("or 1,1,1")
+# define UT_RESUME_PRIORITY_CPU() __asm__ __volatile__ ("or 2,2,2")
#else
# define UT_LOW_PRIORITY_CPU() ((void)0)
# define UT_RESUME_PRIORITY_CPU() ((void)0)

Loading…
Cancel
Save