Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jul 2018 12:19:36 +0000 (UTC)
From:      Bernard Spil <brnrd@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r474506 - in head/databases/mariadb103-server: . files
Message-ID:  <201807121219.w6CCJaJX013480@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
+@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
-@comment lib/mysql/libmariadb.so
-@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807121219.w6CCJaJX013480>