svn commit: r474506 - in head/databases/mariadb103-server: . files
Bernard Spil
brnrd at FreeBSD.org
Thu Jul 12 12:19:38 UTC 2018
Author: brnrd
Date: Thu Jul 12 12:19:35 2018
New Revision: 474506
URL: https://svnweb.freebsd.org/changeset/ports/474506
Log:
databases/mariadb103-server: Fix segfault
- Add segfault fix from upstream [1]
- Add WSREP option (default on)
- Rework some of the -client conflicts
- Fix LOCALBASE and PREFIX in patches
- Remove unneeded patches
PR: 229219 [1]
Reported by: Ralf van der Enden <tremere cainites net>
MFH: 2018Q3
Added:
head/databases/mariadb103-server/files/patch-sql_semisync__master__ack__receiver.cc (contents, props changed)
head/databases/mariadb103-server/files/patch-storage_rocksdb_build__rocksdb.cmake (contents, props changed)
Deleted:
head/databases/mariadb103-server/files/extra-patch-include_my__compare.h
head/databases/mariadb103-server/files/patch-include_CMakeLists.txt
head/databases/mariadb103-server/files/patch-sql_slave.cc
head/databases/mariadb103-server/files/patch-sql_sql__trigger.cc
head/databases/mariadb103-server/files/patch-sql_sql__view.cc
head/databases/mariadb103-server/files/patch-sql_sys__vars.cc
Modified:
head/databases/mariadb103-server/Makefile
head/databases/mariadb103-server/distinfo
head/databases/mariadb103-server/files/patch-extra_CMakeLists.txt
head/databases/mariadb103-server/files/patch-mysys_my__default.c
head/databases/mariadb103-server/files/patch-scripts_mysql__config.sh
head/databases/mariadb103-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake
head/databases/mariadb103-server/pkg-plist
Modified: head/databases/mariadb103-server/Makefile
==============================================================================
--- head/databases/mariadb103-server/Makefile Thu Jul 12 12:12:02 2018 (r474505)
+++ head/databases/mariadb103-server/Makefile Thu Jul 12 12:19:35 2018 (r474506)
@@ -23,8 +23,6 @@ LICENSE_NAME_PerconaFT= PerconaFT patents license
LICENSE_FILE_PerconaFT= ${WRKSRC}/storage/tokudb/PerconaFT/PATENTS
LICENSE_PERMS_PerconaFT= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-BROKEN= Segfaults on start, see https://jira.mariadb.org/browse/MDEV-16495
-
SUB_FILES= pkg-message
PKGMESSAGE= ${WRKDIR}/pkg-message
@@ -41,9 +39,9 @@ OPTIONS_DEFAULT= GSSAPI_BASE
.if !defined(CLIENT_ONLY)
# MySQL-Server options
-OPTIONS_DEFAULT+= CONNECT_EXTRA INNOBASE SPHINX SPIDER
+OPTIONS_DEFAULT+= CONNECT_EXTRA INNOBASE SPHINX SPIDER WSREP
OPTIONS_GROUP= COMPRESSION ENGINES GROONGA
-OPTIONS_DEFINE= CONNECT_EXTRA
+OPTIONS_DEFINE= CONNECT_EXTRA WSREP
OPTIONS_GROUP_COMPRESSION= LZ4 LZO SNAPPY ZSTD
OPTIONS_GROUP_ENGINES= INNOBASE MROONGA OQGRAPH ROCKSDB SPHINX SPIDER TOKUDB XTRADB
OPTIONS_GROUP_GROONGA= ZMQ MSGPACK
@@ -61,6 +59,7 @@ ROCKSDB_DESC= RocksDB LSM engine (Alpha)
SPHINX_DESC= SphinxSE engine
SPIDER_DESC= Partitioning and XA-transactions engine
TOKUDB_DESC= Fractal tree index tree data structure engine
+WSREP_DESC= Build wsrep clustering
XTRADB_DESC= Build XtraDB engine next to InnoDB
ZMQ_DESC= ZeroMQ support
ZSTD_DESC+= Zstandard compression support (RocksDB only)
@@ -162,12 +161,15 @@ SNAPPY_LIB_DEPENDS= libsnappy.so:archivers/snappy
TOKUDB_IMPLIES= SNAPPY
TOKUDB_PORTDOCS= README.md
TOKUDB_VARS= LICENSE+=PerconaFT LICENSE_COMB=multi
+WSREP_CMAKE_OFF= -DWITH_WSREP=OFF
ZMQ_LIB_DEPENDS= libzmq.so:net/libzmq4
ZSTD_CMAKE_ON= -DWITH_ROCKSDB_ZSTD=ON
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
post-install:
- ${RM} -r ${STAGEDIR}/${PREFIX}/share/mysql/policy
+ ${RM} -r ${STAGEDIR}${PREFIX}/share/mysql/policy
+ ${RM} -r ${STAGEDIR}${PREFIX}/include/mysql/server/private
+ ${RM} -r `${FIND} ${STAGEDIR}${DATADIR} -type d -mindepth 1`
.endif # defined(CLIENT_ONLY)
.if defined(WITH_OPENSSL_PORT)
@@ -181,9 +183,9 @@ CMAKE_ARGS+= -DWITHOUT_TOKUDB
.endif
post-patch:
- ${REINPLACE_CMD} 's/*.1/${MAN1}/' ${WRKSRC}/man/CMakeLists.txt
${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/mysys/my_default.c
- ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/scripts/mysql_config.sh
+ ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/scripts/mysql_config.sh \
+ ${WRKSRC}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
.if ${OPSYS} == DragonFly
${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \
${WRKSRC}/cmake/os/DragonFly.cmake
Modified: head/databases/mariadb103-server/distinfo
==============================================================================
--- head/databases/mariadb103-server/distinfo Thu Jul 12 12:12:02 2018 (r474505)
+++ head/databases/mariadb103-server/distinfo Thu Jul 12 12:19:35 2018 (r474506)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1530523784
-SHA256 (mariadb-10.3.8.tar.gz) = 44b409bc22775261b96f373bc01591065a680f46d295617b304cdf9ffb503ccf
-SIZE (mariadb-10.3.8.tar.gz) = 72147179
+TIMESTAMP = 1531382110
+SHA256 (mariadb-10.3.8.tar.gz) = 30bec17514d12d811a05757be46bd41724df28002cdec550d5c757b0b3f31ab8
+SIZE (mariadb-10.3.8.tar.gz) = 72152953
Modified: head/databases/mariadb103-server/files/patch-extra_CMakeLists.txt
==============================================================================
--- head/databases/mariadb103-server/files/patch-extra_CMakeLists.txt Thu Jul 12 12:12:02 2018 (r474505)
+++ head/databases/mariadb103-server/files/patch-extra_CMakeLists.txt Thu Jul 12 12:19:35 2018 (r474506)
@@ -9,8 +9,8 @@ Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options
+IF(FALSE)
MYSQL_ADD_EXECUTABLE(mysql_waitpid mysql_waitpid.c COMPONENT Client)
TARGET_LINK_LIBRARIES(mysql_waitpid mysys)
-
+ENDIF()
+
MYSQL_ADD_EXECUTABLE(mysqld_safe_helper mysqld_safe_helper.c COMPONENT Server)
TARGET_LINK_LIBRARIES(mysqld_safe_helper mysys)
ENDIF()
Modified: head/databases/mariadb103-server/files/patch-mysys_my__default.c
==============================================================================
--- head/databases/mariadb103-server/files/patch-mysys_my__default.c Thu Jul 12 12:12:02 2018 (r474505)
+++ head/databases/mariadb103-server/files/patch-mysys_my__default.c Thu Jul 12 12:19:35 2018 (r474506)
@@ -16,7 +16,7 @@
+ if (strstr(name, "/etc") == name)
+ {
+ fprintf(stderr,
-+ "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
++ "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
+ name,name);
+ goto err;
+ }
@@ -45,8 +45,8 @@
errors += add_directory(alloc, "/etc/", dirs);
errors += add_directory(alloc, "/etc/mysql/", dirs);
-#endif /* DEFAULT_SYSCONFDIR */
-+ errors += add_directory(alloc, "/usr/local/etc/", dirs);
-+ errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs);
++ errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
++ errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
#endif
Modified: head/databases/mariadb103-server/files/patch-scripts_mysql__config.sh
==============================================================================
--- head/databases/mariadb103-server/files/patch-scripts_mysql__config.sh Thu Jul 12 12:12:02 2018 (r474505)
+++ head/databases/mariadb103-server/files/patch-scripts_mysql__config.sh Thu Jul 12 12:19:35 2018 (r474506)
@@ -4,9 +4,9 @@
# Create options
libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
-+libs="$libs -L/usr/local/lib "
++libs="$libs -L%%LOCALBASE%%/lib "
embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
-+embedded_libs="$embedded_libs -L/usr/local/lib "
++embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
include="-I$pkgincludedir"
if [ "$basedir" != "/usr" ]; then
Added: head/databases/mariadb103-server/files/patch-sql_semisync__master__ack__receiver.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/mariadb103-server/files/patch-sql_semisync__master__ack__receiver.cc Thu Jul 12 12:19:35 2018 (r474506)
@@ -0,0 +1,13 @@
+diff --git a/sql/semisync_master_ack_receiver.cc b/sql/semisync_master_ack_rece>
+index ac17c7de40b..fc36ee35d5d 100644
+--- sql/semisync_master_ack_receiver.cc.orig
++++ sql/semisync_master_ack_receiver.cc
+@@ -43,8 +43,7 @@ Ack_receiver::Ack_receiver()
+ DBUG_ENTER("Ack_receiver::Ack_receiver");
+
+ m_status= ST_DOWN;
+- mysql_mutex_init(key_LOCK_ack_receiver, &m_mutex,
+- MY_MUTEX_INIT_FAST);
++ mysql_mutex_init(key_LOCK_ack_receiver, &m_mutex, NULL);
+ mysql_cond_init(key_COND_ack_receiver, &m_cond, NULL);
+ m_pid= 0;
Added: head/databases/mariadb103-server/files/patch-storage_rocksdb_build__rocksdb.cmake
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/mariadb103-server/files/patch-storage_rocksdb_build__rocksdb.cmake Thu Jul 12 12:19:35 2018 (r474506)
@@ -0,0 +1,18 @@
+--- storage/rocksdb/build_rocksdb.cmake.orig 2018-06-25 11:13:28 UTC
++++ storage/rocksdb/build_rocksdb.cmake
+@@ -69,15 +69,9 @@ if(ZSTD_FOUND AND (NOT WITH_ROCKSDB_ZSTD
+ SET(CMAKE_REQUIRED_LIBRARIES zstd)
+ CHECK_FUNCTION_EXISTS(ZDICT_trainFromBuffer ZSTD_VALID)
+ UNSET(CMAKE_REQUIRED_LIBRARIES)
+- if (WITH_ROCKSDB_ZSTD STREQUAL "ON" AND NOT ZSTD_VALID)
+- MESSAGE(FATAL_ERROR
+- "WITH_ROCKSDB_ZSTD is ON and ZSTD library was found, but the version needs to be >= 1.1.3")
+- endif()
+- if (ZSTD_VALID)
+ add_definitions(-DZSTD)
+ include_directories(${ZSTD_INCLUDE_DIR})
+ list(APPEND THIRDPARTY_LIBS ${ZSTD_LIBRARY})
+- endif()
+ endif()
+
+ add_definitions(-DZLIB)
Modified: head/databases/mariadb103-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake
==============================================================================
--- head/databases/mariadb103-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake Thu Jul 12 12:12:02 2018 (r474505)
+++ head/databases/mariadb103-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake Thu Jul 12 12:19:35 2018 (r474506)
@@ -23,11 +23,11 @@ Do NOT use bundled libs, use xz/lzma from base and arc
+ENDIF()
+IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
-+ include_directories("/usr/local/include")
++ include_directories("%%LOCALBASE%%/include")
+ add_library(snappy SHARED IMPORTED)
+ set_target_properties(snappy PROPERTIES IMPORTED_LOCATION
-+ "/usr/local/lib/libsnappy.so")
++ "%%LOCALBASE%%/lib/libsnappy.so")
+ELSE()
## add snappy with an external project
set(SNAPPY_SOURCE_DIR "${TokuDB_SOURCE_DIR}/third_party/snappy-1.1.2" CACHE FILEPATH "Where to find sources for snappy.")
Modified: head/databases/mariadb103-server/pkg-plist
==============================================================================
--- head/databases/mariadb103-server/pkg-plist Thu Jul 12 12:12:02 2018 (r474505)
+++ head/databases/mariadb103-server/pkg-plist Thu Jul 12 12:19:35 2018 (r474506)
@@ -41,23 +41,111 @@ bin/mysqldumpslow
bin/resolve_stack_dump
bin/resolveip
%%ROCKSDB%%bin/sst_dump
+ at comment bin/test-connect-t
%%TOKUDB%%bin/tokuft_logprint
%%TOKUDB%%bin/tokuftdump
-bin/wsrep_sst_common
-bin/wsrep_sst_mariabackup
-bin/wsrep_sst_mysqldump
-bin/wsrep_sst_rsync
-bin/wsrep_sst_xtrabackup
-bin/wsrep_sst_xtrabackup-v2
+%%WSREP%%bin/wsrep_sst_common
+%%WSREP%%bin/wsrep_sst_mariabackup
+%%WSREP%%bin/wsrep_sst_mysqldump
+%%WSREP%%bin/wsrep_sst_rsync
+%%WSREP%%bin/wsrep_sst_rsync_wan
+%%WSREP%%bin/wsrep_sst_xtrabackup
+%%WSREP%%bin/wsrep_sst_xtrabackup-v2
@comment include/mysql/my_config.h
@comment include/mysql/my_global.h
@comment include/mysql/my_sys.h
@comment include/mysql/mysql_com.h
@comment include/mysql/mysql_version.h
@comment include/mysql/mysqld_error.h
-include/mysql/server/private/embedded_priv.h
- at comment lib/mysql/libmariadb.so
- at comment lib/mysql/libmariadb.so.3
+include/mysql/server/big_endian.h
+include/mysql/server/byte_order_generic.h
+include/mysql/server/byte_order_generic_x86.h
+include/mysql/server/byte_order_generic_x86_64.h
+include/mysql/server/decimal.h
+include/mysql/server/errmsg.h
+include/mysql/server/handler_ername.h
+include/mysql/server/handler_state.h
+include/mysql/server/json_lib.h
+include/mysql/server/keycache.h
+include/mysql/server/little_endian.h
+include/mysql/server/m_ctype.h
+include/mysql/server/m_string.h
+include/mysql/server/ma_dyncol.h
+include/mysql/server/my_alloc.h
+include/mysql/server/my_attribute.h
+include/mysql/server/my_byteorder.h
+include/mysql/server/my_compiler.h
+include/mysql/server/my_config.h
+include/mysql/server/my_dbug.h
+include/mysql/server/my_decimal_limits.h
+include/mysql/server/my_dir.h
+include/mysql/server/my_getopt.h
+include/mysql/server/my_global.h
+include/mysql/server/my_list.h
+include/mysql/server/my_net.h
+include/mysql/server/my_pthread.h
+include/mysql/server/my_sys.h
+include/mysql/server/my_valgrind.h
+include/mysql/server/my_xml.h
+include/mysql/server/mysql.h
+include/mysql/server/mysql/auth_dialog_client.h
+include/mysql/server/mysql/client_plugin.h
+include/mysql/server/mysql/plugin.h
+include/mysql/server/mysql/plugin_audit.h
+include/mysql/server/mysql/plugin_auth.h
+include/mysql/server/mysql/plugin_auth_common.h
+include/mysql/server/mysql/plugin_encryption.h
+include/mysql/server/mysql/plugin_ftparser.h
+include/mysql/server/mysql/plugin_password_validation.h
+include/mysql/server/mysql/psi/mysql_file.h
+include/mysql/server/mysql/psi/mysql_idle.h
+include/mysql/server/mysql/psi/mysql_socket.h
+include/mysql/server/mysql/psi/mysql_stage.h
+include/mysql/server/mysql/psi/mysql_statement.h
+include/mysql/server/mysql/psi/mysql_table.h
+include/mysql/server/mysql/psi/mysql_thread.h
+include/mysql/server/mysql/psi/psi.h
+include/mysql/server/mysql/psi/psi_abi_v0.h
+include/mysql/server/mysql/psi/psi_abi_v1.h
+include/mysql/server/mysql/psi/psi_abi_v2.h
+include/mysql/server/mysql/psi/psi_base.h
+include/mysql/server/mysql/psi/psi_memory.h
+include/mysql/server/mysql/service_base64.h
+include/mysql/server/mysql/service_debug_sync.h
+include/mysql/server/mysql/service_encryption.h
+include/mysql/server/mysql/service_encryption_scheme.h
+include/mysql/server/mysql/service_kill_statement.h
+include/mysql/server/mysql/service_logger.h
+include/mysql/server/mysql/service_md5.h
+include/mysql/server/mysql/service_my_crypt.h
+include/mysql/server/mysql/service_my_print_error.h
+include/mysql/server/mysql/service_my_snprintf.h
+include/mysql/server/mysql/service_progress_report.h
+include/mysql/server/mysql/service_sha1.h
+include/mysql/server/mysql/service_sha2.h
+include/mysql/server/mysql/service_thd_alloc.h
+include/mysql/server/mysql/service_thd_autoinc.h
+include/mysql/server/mysql/service_thd_error_context.h
+include/mysql/server/mysql/service_thd_rnd.h
+include/mysql/server/mysql/service_thd_specifics.h
+include/mysql/server/mysql/service_thd_timezone.h
+include/mysql/server/mysql/service_thd_wait.h
+include/mysql/server/mysql/service_wsrep.h
+include/mysql/server/mysql/services.h
+include/mysql/server/mysql_com.h
+include/mysql/server/mysql_com_server.h
+include/mysql/server/mysql_embed.h
+include/mysql/server/mysql_time.h
+include/mysql/server/mysql_version.h
+include/mysql/server/mysqld_ername.h
+include/mysql/server/mysqld_error.h
+include/mysql/server/pack.h
+include/mysql/server/sql_common.h
+include/mysql/server/sql_state.h
+include/mysql/server/sslopt-case.h
+include/mysql/server/sslopt-longopts.h
+include/mysql/server/sslopt-vars.h
+include/mysql/server/typelib.h
@comment lib/mysql/libmariadbclient.a
lib/mysql/libmariadbd.a
lib/mysql/libmariadbd.so
@@ -107,7 +195,7 @@ lib/mysql/plugin/server_audit.so
lib/mysql/plugin/simple_password_check.so
lib/mysql/plugin/sql_errlog.so
lib/mysql/plugin/test_versioning.so
-lib/mysql/plugin/wsrep_info.so
+%%WSREP%%lib/mysql/plugin/wsrep_info.so
libexec/mysqld
man/man1/aria_chk.1.gz
man/man1/aria_dump_log.1.gz
@@ -143,11 +231,11 @@ man/man1/resolve_stack_dump.1.gz
man/man1/resolveip.1.gz
%%TOKUDB%%man/man1/tokuft_logdump.1.gz
%%TOKUDB%%man/man1/tokuftdump.1.gz
-man/man1/wsrep_sst_common.1.gz
-man/man1/wsrep_sst_mysqldump.1.gz
-man/man1/wsrep_sst_rsync.1.gz
-man/man1/wsrep_sst_xtrabackup-v2.1.gz
-man/man1/wsrep_sst_xtrabackup.1.gz
+%%WSREP%%man/man1/wsrep_sst_common.1.gz
+%%WSREP%%man/man1/wsrep_sst_mysqldump.1.gz
+%%WSREP%%man/man1/wsrep_sst_rsync.1.gz
+%%WSREP%%man/man1/wsrep_sst_xtrabackup-v2.1.gz
+%%WSREP%%man/man1/wsrep_sst_xtrabackup.1.gz
man/man8/mysqld.8.gz
%%DATADIR%%/binary-configure
%%DATADIR%%/fill_help_tables.sql
@@ -155,9 +243,6 @@ man/man8/mysqld.8.gz
%%SPIDER%%%%DATADIR%%/install_spider.sql
%%DATADIR%%/maria_add_gis_sp.sql
%%DATADIR%%/maria_add_gis_sp_bootstrap.sql
-%%MROONGA%%%%DATADIR%%/mroonga/install.sql
-%%MROONGA%%%%DATADIR%%/mroonga/uninstall.sql
-%%MROONGA%%%%DATADIR%%/mroonga/AUTHORS
%%DATADIR%%/mysql-log-rotate
%%DATADIR%%/mysql.server
%%DATADIR%%/mysql_performance_tables.sql
@@ -167,8 +252,8 @@ man/man8/mysqld.8.gz
%%DATADIR%%/mysql_test_db.sql
%%DATADIR%%/mysql_to_mariadb.sql
%%DATADIR%%/mysqld_multi.server
-%%DATADIR%%/wsrep.cnf
-%%DATADIR%%/wsrep_notify
+%%WSREP%%%%DATADIR%%/wsrep.cnf
+%%WSREP%%%%DATADIR%%/wsrep_notify
@comment %%DOCSDIR%%/COPYING
@comment %%DOCSDIR%%/COPYING.thirdparty
@comment share/groonga-normalizer-mysql/lgpl-2.0.txt
More information about the svn-ports-all
mailing list