diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2018-04-16 10:51:08 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2018-04-16 20:54:31 +0200 |
commit | a780e5e36a3ddafc6c22a1b1472529365cc2ae8b (patch) | |
tree | f2107500c6ba305f2f1c2e090c5e65cdc7b96b62 | |
parent | 7aa693475c1de86436ed44051286577503dd1ffa (diff) | |
download | ptxdist-a780e5e36a3ddafc6c22a1b1472529365cc2ae8b.tar.gz ptxdist-a780e5e36a3ddafc6c22a1b1472529365cc2ae8b.tar.xz |
mariadb: version bump 10.1.23 -> 10.1.32
Needed to build with gcc 7.x
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | patches/mariadb-10.1.32/0001-c11-atomics.patch | 139 | ||||
-rw-r--r-- | patches/mariadb-10.1.32/series | 4 | ||||
-rw-r--r-- | rules/host-mariadb.in | 2 | ||||
-rw-r--r-- | rules/host-mariadb.make | 39 | ||||
-rw-r--r-- | rules/mariadb.make | 21 |
5 files changed, 177 insertions, 28 deletions
diff --git a/patches/mariadb-10.1.32/0001-c11-atomics.patch b/patches/mariadb-10.1.32/0001-c11-atomics.patch new file mode 100644 index 000000000..84bc03a9e --- /dev/null +++ b/patches/mariadb-10.1.32/0001-c11-atomics.patch @@ -0,0 +1,139 @@ +From: Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org> +Date: Thu, 10 Aug 2017 20:40:29 +0200 +Subject: [PATCH] c11 atomics + +Imported from Debian. +--- + configure.cmake | 23 +++++++++++++++++++++-- + include/atomic/gcc_builtins.h | 15 +++++++++++++++ + include/atomic/nolock.h | 4 ++-- + mysys/CMakeLists.txt | 4 ++++ + sql/CMakeLists.txt | 4 ++++ + 5 files changed, 46 insertions(+), 4 deletions(-) + +diff --git a/configure.cmake b/configure.cmake +index df180e729637..fe76a245cffb 100644 +--- a/configure.cmake ++++ b/configure.cmake +@@ -128,7 +128,7 @@ IF(UNIX) + ENDIF() + FIND_PACKAGE(Threads) + +- SET(CMAKE_REQUIRED_LIBRARIES ++ LIST(APPEND CMAKE_REQUIRED_LIBRARIES + ${LIBM} ${LIBNSL} ${LIBBIND} ${LIBCRYPT} ${LIBSOCKET} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} ${LIBRT} ${LIBEXECINFO}) + # Need explicit pthread for gcc -fsanitize=address + IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=") +@@ -1038,7 +1038,26 @@ ELSEIF(NOT WITH_ATOMIC_OPS) + long long int *ptr= &var; + return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); + }" +- HAVE_GCC_C11_ATOMICS) ++ HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC) ++ IF(HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC) ++ SET(HAVE_GCC_C11_ATOMICS True) ++ ELSE() ++ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) ++ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") ++ CHECK_CXX_SOURCE_COMPILES(" ++ int main() ++ { ++ long long int var= 1; ++ long long int *ptr= &var; ++ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); ++ }" ++ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ SET(HAVE_GCC_C11_ATOMICS True) ++ ELSE() ++ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES}) ++ ENDIF() ++ ENDIF() + ELSE() + MESSAGE(FATAL_ERROR "${WITH_ATOMIC_OPS} is not a valid value for WITH_ATOMIC_OPS!") + ENDIF() +diff --git a/include/atomic/gcc_builtins.h b/include/atomic/gcc_builtins.h +index 56a0323aedfc..044be2eae34b 100644 +--- a/include/atomic/gcc_builtins.h ++++ b/include/atomic/gcc_builtins.h +@@ -16,6 +16,7 @@ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + ++#if defined (HAVE_GCC_ATOMIC_BUILTINS) + #define make_atomic_add_body(S) \ + v= __sync_fetch_and_add(a, v); + #define make_atomic_fas_body(S) \ +@@ -26,6 +27,20 @@ + sav= __sync_val_compare_and_swap(a, cmp_val, set);\ + if (!(ret= (sav == cmp_val))) *cmp= sav + ++#elif defined(HAVE_GCC_C11_ATOMICS) ++ ++#define make_atomic_add_body(S) \ ++ v= __atomic_fetch_add(a, v, __ATOMIC_SEQ_CST) ++#define make_atomic_fas_body(S) \ ++ v= __atomic_exchange_n(a, v, __ATOMIC_SEQ_CST) ++#define make_atomic_cas_body(S) \ ++ int ## S sav; \ ++ ret= __atomic_compare_exchange_n(a, cmp, set, \ ++ 0, \ ++ __ATOMIC_SEQ_CST,\ ++ __ATOMIC_SEQ_CST); ++#endif ++ + #ifdef MY_ATOMIC_MODE_DUMMY + #define make_atomic_load_body(S) ret= *a + #define make_atomic_store_body(S) *a= v +diff --git a/include/atomic/nolock.h b/include/atomic/nolock.h +index 2137445a0759..2ad7d9895b45 100644 +--- 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" +diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt +index eb7f75ed6a8f..a9221d7e0ddc 100644 +--- a/mysys/CMakeLists.txt ++++ b/mysys/CMakeLists.txt +@@ -78,6 +78,10 @@ IF(HAVE_BFD_H) + TARGET_LINK_LIBRARIES(mysys bfd) + ENDIF(HAVE_BFD_H) + ++IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ TARGET_LINK_LIBRARIES(mysys atomic) ++ENDIF() ++ + IF (WIN32) + TARGET_LINK_LIBRARIES(mysys IPHLPAPI) + ENDIF(WIN32) +diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt +index f6ee59a9237b..10e0cd7b42b5 100644 +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -165,6 +165,10 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS} + ${SSL_LIBRARIES} + ${LIBSYSTEMD}) + ++IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ TARGET_LINK_LIBRARIES(sql atomic) ++ENDIF() ++ + IF(WIN32) + SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc) + TARGET_LINK_LIBRARIES(sql psapi) diff --git a/patches/mariadb-10.1.32/series b/patches/mariadb-10.1.32/series new file mode 100644 index 000000000..44756ea45 --- /dev/null +++ b/patches/mariadb-10.1.32/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-c11-atomics.patch +# 1553c49fcffd9f5af9aee158be75e7e7 - git-ptx-patches magic diff --git a/rules/host-mariadb.in b/rules/host-mariadb.in index b0bfdeac1..38a1bdd70 100644 --- a/rules/host-mariadb.in +++ b/rules/host-mariadb.in @@ -3,9 +3,7 @@ config HOST_MARIADB tristate default ALLYES - select HOST_LIBAIO select HOST_NCURSES select HOST_CMAKE - select HOST_ZLIB help Required host part of the MariaDB build system diff --git a/rules/host-mariadb.make b/rules/host-mariadb.make index 4b6babad6..ab1503a4e 100644 --- a/rules/host-mariadb.make +++ b/rules/host-mariadb.make @@ -20,32 +20,35 @@ HOST_PACKAGES-$(PTXCONF_HOST_MARIADB) += host-mariadb # # cmake # +# FEATURE_SET=xsmall disables all plugins +# PLUGIN_MROONGA is enabled because otherwise cmake fails for mariadb 10.1.32 HOST_MARIADB_CONF_TOOL := cmake -# DISABLE_SHARED disables dynamic plugins, disable plugins that default -# to "static" explicitly HOST_MARIADB_CONF_OPT := \ $(HOST_CMAKE_OPT) \ -DCMAKE_INSTALL_PREFIX:PATH=/ \ + -DBUILD_CONFIG=mysql_release \ + -DIGNORE_AIO_CHECK=ON \ -DSTACK_DIRECTION=1 \ -DHAVE_LLVM_LIBCPP_EXITCODE=no \ - -DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE_EXITCODE=no \ + -DCOMMUNITY_BUILD=ON \ -DCONNECT_WITH_JDBC=OFF \ -DCONNECT_WITH_LIBXML2=OFF \ -DCONNECT_WITH_ODBC=OFF \ -DCONNECT_WITH_VCT=OFF \ -DCONNECT_WITH_XMAP=OFF \ -DCONNECT_WITH_ZIP=OFF \ - -DDISABLE_SHARED=ON \ + -DDISABLE_SHARED=OFF \ -DENABLED_LOCAL_INFILE=OFF \ -DENABLED_PROFILING=OFF \ -DENABLE_GCOV=OFF \ + -DFEATURE_SET=xsmall \ -DINSTALL_LAYOUT=STANDALONE \ - -DMRN_GROONGA_EMBED=OFF \ -DMYSQL_MAINTAINER_MODE=OFF \ -DNOT_FOR_DISTRIBUTION=OFF \ -DSECURITY_HARDENED=ON \ - -DUSE_ARIA_FOR_TMP_TABLES=OFF \ + -DUSE_ARIA_FOR_TMP_TABLES=ON \ -DUSE_GCOV=OFF \ + -DWITHOUT_SERVER=OFF \ -DWITH_ASAN=OFF \ -DWITH_EMBEDDED_SERVER=OFF \ -DWITH_EXTRA_CHARSETS=none \ @@ -55,27 +58,31 @@ HOST_MARIADB_CONF_OPT := \ -DWITH_INNODB_LZMA=OFF \ -DWITH_INNODB_LZO=OFF \ -DWITH_INNODB_SNAPPY=OFF \ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=OFF \ -DWITH_LIBARCHIVE=OFF \ -DWITH_LIBWRAP=OFF \ + -DWITH_PCRE=OFF \ -DWITH_MARIABACKUP=OFF \ -DWITH_READLINE=OFF \ -DWITH_SAFEMALLOC=OFF \ - -DWITH_SYSTEMD=OFF \ + -DWITH_SSL=bundled \ + -DWITH_SYSTEMD=no \ -DWITH_UNIT_TESTS=OFF \ -DWITH_VALGRIND=OFF \ -DWITH_WSREP=OFF \ - -DWITH_ZLIB=system \ - -DWITH_SSL=NO \ - -DPLUGIN_ARIA=NO \ - -DPLUGIN_FEEDBACK=NO \ - -DPLUGIN_PARTITION=NO \ - -DPLUGIN_PERFSCHEMA=NO \ - -DPLUGIN_SEQUENCE=NO \ - -DPLUGIN_XTRADB=NO + -DWITH_ZLIB=bundled \ + -DPLUGIN_MROONGA:FORCE=DYNAMIC \ + -DLZ4_LIBS=undefined HOST_MARIADB_CXXFLAGS := -std=c++98 +HOST_MARIADB_MAKE_OPT := \ + comp_err \ + comp_sql \ + factorial \ + gen_lex_hash \ + gen_lex_token + # ---------------------------------------------------------------------------- # Install # ---------------------------------------------------------------------------- diff --git a/rules/mariadb.make b/rules/mariadb.make index 5322c3eeb..c235be3bb 100644 --- a/rules/mariadb.make +++ b/rules/mariadb.make @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_MARIADB) += mariadb # # Paths and names # -MARIADB_VERSION := 10.1.23 -MARIADB_MD5 := 1a7392cc05c7c249acd4495022719ca8 +MARIADB_VERSION := 10.1.32 +MARIADB_MD5 := 389ce891cf00957748ba98b09f433c14 MARIADB := mariadb-$(MARIADB_VERSION) MARIADB_SUFFIX := tar.gz MARIADB_URL := https://downloads.mariadb.com/MariaDB/$(MARIADB)/source/$(MARIADB).$(MARIADB_SUFFIX) @@ -86,9 +86,9 @@ MARIADB_PLUGINS_ENABLE- += XTRADB # MARIADB_CONF_TOOL := cmake -# 10.1.23 does not build with CONNECT_WITH_ZIP=OFF MARIADB_CONF_OPT := \ $(CROSS_CMAKE_USR) \ + -DBUILD_CONFIG=mysql_release \ -DSTACK_DIRECTION=1 \ -DIMPORT_EXECUTABLES=$(PTXDIST_SYSROOT_HOST)/share/mariadb/import_executables.cmake \ -DHAVE_LLVM_LIBCPP_EXITCODE=no \ @@ -98,13 +98,13 @@ MARIADB_CONF_OPT := \ -DCONNECT_WITH_ODBC=OFF \ -DCONNECT_WITH_VCT=OFF \ -DCONNECT_WITH_XMAP=OFF \ - -DCONNECT_WITH_ZIP=ON \ + -DCONNECT_WITH_ZIP=OFF \ -DDISABLE_SHARED=OFF \ -DENABLED_LOCAL_INFILE=OFF \ -DENABLED_PROFILING=OFF \ -DENABLE_GCOV=OFF \ + -DFEATURE_SET=community \ -DINSTALL_LAYOUT=STANDALONE \ - -DMRN_GROONGA_EMBED=OFF \ -DMYSQL_DATADIR=/var/lib/mysql/data \ -DMYSQL_MAINTAINER_MODE=OFF \ -DNOT_FOR_DISTRIBUTION=OFF \ @@ -122,23 +122,24 @@ MARIADB_CONF_OPT := \ -DWITH_INNODB_LZMA=OFF \ -DWITH_INNODB_LZO=OFF \ -DWITH_INNODB_SNAPPY=OFF \ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=OFF \ -DWITH_LIBARCHIVE=OFF \ -DWITH_LIBWRAP=OFF \ - -DWITH_MARIABACKUP=OFF \ -DWITH_PCRE=system \ + -DPCRE_STACK_SIZE_OK=1 \ + -DWITH_MARIABACKUP=OFF \ -DWITH_READLINE=OFF \ -DWITH_SAFEMALLOC=OFF \ - -DWITH_SYSTEMD=$(call ptx/onoff, PTXCONF_MARIADB_SYSTEMD) \ + -DWITH_SSL=system \ + -DWITH_SYSTEMD=$(call ptx/yesno, PTXCONF_MARIADB_SYSTEMD) \ -DWITH_UNIT_TESTS=OFF \ -DWITH_VALGRIND=OFF \ -DWITH_WSREP=OFF \ -DWITH_ZLIB=system \ - -DWITH_SSL=system \ -DSYSCONFDIR=/etc/mariadb \ -DCOMPILATION_COMMENT=PTXdist \ -DDEFAULT_CHARSET=latin1 \ - -DENABLE_DTRACE=OFF + -DLZ4_LIBS=undefined ifneq ($(strip $(MARIADB_PLUGINS_ENABLES-y)),) MARIADB_CONF_OPT += $(foreach plugin,$(MARIADB_PLUGINS_ENABLES-y),$(addprefix -DPLUGIN_,$(addsuffix =STATIC, $(plugin)))) |