Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F137901491
D8785.id23819.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
65 KB
Referenced Files
None
Subscribers
None
D8785.id23819.diff
View Options
Index: Mk/Uses/mysql.mk
===================================================================
--- Mk/Uses/mysql.mk
+++ Mk/Uses/mysql.mk
@@ -65,6 +65,7 @@
MYSQL56_LIBVER= 18
MYSQL56p_LIBVER= 18
MYSQL57_LIBVER= 20
+MYSQL57p_LIBVER= 20
MYSQL80_LIBVER= 21
MYSQL100m_LIBVER= 18
MYSQL101m_LIBVER= 18
Index: Mk/bsd.default-versions.mk
===================================================================
--- Mk/bsd.default-versions.mk
+++ Mk/bsd.default-versions.mk
@@ -49,7 +49,7 @@
.endif
# Possible values: 5.1, 5.2, 5.3
LUA_DEFAULT?= 5.2
-# Possible values: 5.1, 5.5, 5.6, 5.7, 8.0, 5.5m, 10.0m, 10.1m, 5.5p, 5.6p
+# Possible values: 5.1, 5.5, 5.6, 5.7, 8.0, 5.5m, 10.0m, 10.1m, 5.5p, 5.6p, 5.7p
MYSQL_DEFAULT?= 5.6
# Possible values: 5.20, 5.22, devel
.if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \
Index: databases/percona57-client/Makefile
===================================================================
--- /dev/null
+++ databases/percona57-client/Makefile
@@ -0,0 +1,40 @@
+# Created by: Mark Felder <feld@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= percona
+PKGNAMESUFFIX= 57-client
+
+COMMENT= Multithreaded SQL database (client)
+
+MASTERDIR= ${.CURDIR}/../percona57-server
+
+OPTIONS_EXCLUDE=TOKUDB
+
+PKGMESSAGE= ${.CURDIR}/pkg-message
+PATCHDIR= ${.CURDIR}/files
+PLIST= ${.CURDIR}/pkg-plist
+
+CONFLICTS_INSTALL= mysql*-client-* \
+ mariadb*-client-* \
+ percona5[0-68-9]-client-*
+
+CMAKE_ARGS+= -DWITHOUT_SERVER=1
+
+USE_LDCONFIG= ${PREFIX}/lib/mysql
+
+MANPAGES= comp_err.1 mysql.1 mysql_config.1 mysql_config_editor.1 \
+ mysql_waitpid.1 mysqladmin.1 mysqlbinlog.1 \
+ mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlshow.1 mysqlslap.1
+
+CLIENT_ONLY= yes
+
+# Percona renamed the libraries, until we decide how to deal with it create some symlinks
+# to prevent breaking installed ports.
+post-install:
+ ${LN} -s libperconaserverclient.so ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient.so
+ ${LN} -s libperconaserverclient.so.20 ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient.so.20
+ ${LN} -s libperconaserverclient.a ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.a
+ ${LN} -s libperconaserverclient.so ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so
+ ${LN} -s libperconaserverclient.so.20 ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so.20
+
+.include "${MASTERDIR}/Makefile"
Index: databases/percona57-client/files/patch-CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-CMakeLists.txt
@@ -0,0 +1,36 @@
+--- CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ CMakeLists.txt
+@@ -613,8 +613,8 @@ ENDIF()
+
+ ADD_SUBDIRECTORY(extra)
+ ADD_SUBDIRECTORY(client)
+-ADD_SUBDIRECTORY(sql/share)
+ ADD_SUBDIRECTORY(libservices)
++ADD_SUBDIRECTORY(support-files)
+
+ IF(UNIX)
+ ADD_SUBDIRECTORY(man)
+@@ -684,14 +684,13 @@ ELSE()
+ SET(CPACK_GENERATOR "TGZ")
+ ENDIF()
+ ADD_SUBDIRECTORY(packaging/WiX)
+-ADD_SUBDIRECTORY(packaging/solaris)
+
+ IF(UNIX)
+- INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL COMPONENT Info)
+ ENDIF()
+ #
+ # RPM installs documentation directly from the source tree
+ #
++IF(FALSE)
+ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ INSTALL(FILES COPYING LICENSE.mysql
+ DESTINATION ${INSTALL_DOCREADMEDIR}
+@@ -714,6 +713,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ PATTERN "sp-imp-spec.txt" EXCLUDE
+ )
+ ENDIF()
++ENDIF()
+
+ INCLUDE(CPack)
+
Index: databases/percona57-client/files/patch-client_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-client_CMakeLists.txt
@@ -0,0 +1,43 @@
+--- client/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ client/CMakeLists.txt
+@@ -47,6 +47,7 @@ IF(UNIX)
+ TARGET_LINK_LIBRARIES(mysql ${MY_READLINE_LIBRARY})
+ ENDIF(UNIX)
+
++IF(FALSE)
+ IF(NOT WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysql_upgrade
+ upgrade/program.cc
+@@ -57,10 +58,13 @@ ADD_COMPILE_FLAGS(
+ TARGET_LINK_LIBRARIES(mysql_upgrade perconaserverclient client_base mysqlcheck_core)
+ ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema)
+ ENDIF()
++ENDIF()
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test)
+ SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS")
+ TARGET_LINK_LIBRARIES(mysqltest perconaserverclient regex)
++ENDIF()
+
+ ADD_CONVENIENCE_LIBRARY(mysqlcheck_core check/mysqlcheck_core.cc)
+ TARGET_LINK_LIBRARIES(mysqlcheck_core perconaserverclient)
+@@ -78,8 +82,10 @@ TARGET_LINK_LIBRARIES(mysqlimport percon
+ MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c)
+ TARGET_LINK_LIBRARIES(mysqlshow perconaserverclient)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)
+ TARGET_LINK_LIBRARIES(mysql_plugin perconaserverclient)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc)
+ ADD_COMPILE_FLAGS(
+@@ -122,7 +128,6 @@ IF(WIN32)
+ ENDIF(WIN32)
+
+ SET_TARGET_PROPERTIES (
+- mysql_plugin
+ mysqlcheck
+ mysqldump
+ mysqlimport
Index: databases/percona57-client/files/patch-client__mysql.cc
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-client__mysql.cc
@@ -0,0 +1,16 @@
+--- client/mysql.cc.orig 2016-11-27 19:44:54 UTC
++++ client/mysql.cc
+@@ -1903,11 +1903,11 @@ static void usage(int version)
+ #endif
+
+ #ifdef HAVE_READLINE
+- printf("%s Ver %s Distrib %s, for %s (%s) using %s %s\n",
++ printf("%s Ver %s Distrib %s Percona, for %s (%s) using %s %s\n",
+ my_progname, VER, MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE,
+ readline, rl_library_version);
+ #else
+- printf("%s Ver %s Distrib %s, for %s (%s)\n", my_progname, VER,
++ printf("%s Ver %s Distrib %s Percona, for %s (%s)\n", my_progname, VER,
+ MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE);
+ #endif
+
Index: databases/percona57-client/files/patch-extra_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-extra_CMakeLists.txt
@@ -0,0 +1,33 @@
+--- extra/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ extra/CMakeLists.txt
+@@ -45,6 +45,7 @@ ENDIF()
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/include/mysqld_error.h
+ ${PROJECT_BINARY_DIR}/sql/share/english/errmsg.sys
++ COMMAND mkdir -p ${PROJECT_BINARY_DIR}/sql/share/
+ COMMAND comp_err
+ --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets
+ --out-dir=${PROJECT_BINARY_DIR}/sql/share/
+@@ -73,6 +74,7 @@ IF (WIN32 AND WITH_SSL_PATH AND HAVE_CRY
+ ENDIF()
+
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
+ TARGET_LINK_LIBRARIES(my_print_defaults mysys mysys_ssl)
+ SET_TARGET_PROPERTIES(my_print_defaults PROPERTIES LINKER_LANGUAGE CXX)
+@@ -142,11 +144,14 @@ IF(WITH_INNOBASE_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(innochecksum mysys mysys_ssl ${LZ4_LIBRARY})
+ ADD_DEPENDENCIES(innochecksum GenError)
+ ENDIF()
++ENDIF()
+
++IF(FALSE)
+ IF(UNIX)
+ MYSQL_ADD_EXECUTABLE(resolve_stack_dump resolve_stack_dump.cc)
+ TARGET_LINK_LIBRARIES(resolve_stack_dump mysys mysys_ssl)
+ ENDIF()
++ENDIF()
+
+ # In published release builds on Solaris, we need to bundle gcc source.
+ # PB2 will take care of putting it in extra/ when needed
Index: databases/percona57-client/files/patch-include_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-include_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- include/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ include/CMakeLists.txt
+@@ -38,6 +38,7 @@ SET(HEADERS_ABI
+
+ SET(HEADERS
+ ${HEADERS_ABI}
++ hash.h
+ my_dbug.h
+ m_string.h
+ my_sys.h
Index: databases/percona57-client/files/patch-include_my__compare.h
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-include_my__compare.h
@@ -0,0 +1,11 @@
+--- include/my_compare.h.orig 2016-11-27 19:44:54 UTC
++++ include/my_compare.h
+@@ -40,7 +40,7 @@ extern "C" {
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
+ */
+
+-#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define HA_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6)
Index: databases/percona57-client/files/patch-include_myisam.h
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-include_myisam.h
@@ -0,0 +1,11 @@
+--- include/myisam.h.orig 2016-11-27 19:44:54 UTC
++++ include/myisam.h
+@@ -45,7 +45,7 @@ extern "C" {
+ The following defines can be increased if necessary.
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
+ */
+-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define MI_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8)
Index: databases/percona57-client/files/patch-man_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-man_CMakeLists.txt
@@ -0,0 +1,13 @@
+--- man/CMakeLists.txt.orig 2015-11-29 19:16:24 UTC
++++ man/CMakeLists.txt
+@@ -15,10 +15,6 @@
+
+ # Copy man pages
+ FILE(GLOB MAN1_FILES *.1)
+-FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1)
+-FILE(GLOB MAN1_NDB ndb*.1)
+-FILE(GLOB MAN8_FILES *.8)
+-FILE(GLOB MAN8_NDB ndb*.8)
+ IF(MAN1_FILES)
+ IF(MAN1_EXCLUDE)
+ LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE})
Index: databases/percona57-client/files/patch-mysys__ssl_my__default.cc
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-mysys__ssl_my__default.cc
@@ -0,0 +1,31 @@
+--- mysys_ssl/my_default.cc.orig 2016-11-27 19:44:54 UTC
++++ mysys_ssl/my_default.cc
+@@ -114,7 +114,7 @@ static my_bool defaults_already_read= FA
+
+ /* Which directories are searched for options (and in which order) */
+
+-#define MAX_DEFAULT_DIRS 6
++#define MAX_DEFAULT_DIRS 7
+ #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
+ static const char **default_directories = NULL;
+
+@@ -1416,7 +1416,10 @@ static const char **init_default_directo
+
+ #if defined(DEFAULT_SYSCONFDIR)
+ if (DEFAULT_SYSCONFDIR[0])
++ {
+ errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs);
++ }
+ #endif /* DEFAULT_SYSCONFDIR */
+
+ #endif
+@@ -1488,7 +1491,7 @@ int check_file_permissions(const char *f
+ MY_STAT stat_info;
+
+ if (!my_stat(file_name,&stat_info,MYF(0)))
+- return 1;
++ return 0;
+ /*
+ Ignore .mylogin.cnf file if not exclusively readable/writable
+ by current user.
Index: databases/percona57-client/files/patch-scripts_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-scripts_CMakeLists.txt
@@ -0,0 +1,67 @@
+--- scripts/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ scripts/CMakeLists.txt
+@@ -19,7 +19,7 @@ IF(NOT CMAKE_CROSSCOMPILING)
+ TARGET_LINK_LIBRARIES(comp_sql)
+ ENDIF()
+
+-
++IF(FALSE)
+ # Build mysql_fix_privilege_tables.sql (concatenate 2 sql scripts)
+ IF(NOT WIN32 OR CMAKE_CROSSCOMPILING)
+ FIND_PROGRAM(CAT_EXECUTABLE cat DOC "path to the executable")
+@@ -63,6 +63,7 @@ ADD_CUSTOM_TARGET(GenFixPrivs
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.c
+ ${CMAKE_CURRENT_BINARY_DIR}/sql_commands_sys_schema.h
+ )
++ENDIF()
+
+ # If we do not have performance schema compiled in then sys will not work,
+ # so only create an empty sys database with an auto-generated file,
+@@ -143,6 +144,7 @@ IF(NOT WITHOUT_SERVER)
+ )
+ ENDIF()
+
++IF(FALSE)
+ IF(UNIX)
+ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/make_binary_distribution
+ "cd ${CMAKE_BINARY_DIR} && '${CMAKE_CPACK_COMMAND}' -G TGZ --config CPackConfig.cmake\n" )
+@@ -150,6 +152,7 @@ IF(UNIX)
+ COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/make_binary_distribution
+ )
+ ENDIF()
++ENDIF()
+
+ IF(NOT WITHOUT_SERVER)
+ INSTALL(FILES
+@@ -347,6 +350,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
+ GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
+ STRING(REGEX REPLACE "^lib" "" lib "${lib}")
+ SET(${var} "${${var}}-l${lib} " )
++ ELSEIF(lib STREQUAL "-pthread")
++ SET(${var} "${${var}}-pthread " )
+ ELSE()
+ SET(${var} "${${var}}-l${lib} " )
+ ENDIF()
+@@ -430,21 +435,7 @@ ELSE()
+ # On Unix, most of the files end up in the bin directory
+ SET(mysql_config_COMPONENT COMPONENT Development)
+
+- IF(WITH_SYSTEMD)
+- SET(BIN_SCRIPTS
+- mysql_config
+- mysqldumpslow
+- ps_tokudb_admin
+- )
+- ELSE()
+- SET(BIN_SCRIPTS
+- mysql_config
+- mysqldumpslow
+- mysqld_multi
+- mysqld_safe
+- ps_tokudb_admin
+- )
+- ENDIF()
++ SET(BIN_SCRIPTS mysql_config)
+
+ SET(PKGCONFIG_FILE ${LIBMYSQL_OS_OUTPUT_NAME}.pc)
+ STRING(REGEX REPLACE "/mysql$" "" PKGCONFIG_DIR "${INSTALL_LIBDIR}")
Index: databases/percona57-client/files/patch-support-files_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-support-files_CMakeLists.txt
@@ -0,0 +1,37 @@
+--- support-files/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ support-files/CMakeLists.txt
+@@ -44,14 +44,17 @@ ELSE()
+ SET(inst_location ${INSTALL_SUPPORTFILESDIR})
+ ENDIF()
+
++IF(FALSE)
+ SET(inifile my-default)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${inifile}.cnf.sh
+ ${CMAKE_CURRENT_BINARY_DIR}/${inifile}.${ini_file_extension} @ONLY)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${inifile}.${ini_file_extension}
+ DESTINATION ${inst_location} COMPONENT IniFiles)
++ENDIF()
+
+ IF(UNIX)
+ SET(prefix ${CMAKE_INSTALL_PREFIX})
++IF(FALSE)
+ FOREACH(script mysqld_multi.server mysql-log-rotate)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh
+ ${CMAKE_CURRENT_BINARY_DIR}/${script} @ONLY )
+@@ -68,9 +71,11 @@ IF(UNIX)
+ IF(INSTALL_SUPPORTFILESDIR)
+ INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles)
+ ENDIF()
++ENDIF()
+
+ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
+
++IF(FALSE)
+ SET(bindir ${prefix}/${INSTALL_BINDIR})
+ SET(sbindir ${prefix}/${INSTALL_SBINDIR})
+ SET(scriptdir ${prefix}/${INSTALL_SCRIPTDIR})
+@@ -83,3 +88,4 @@ IF(UNIX)
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
+ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ ENDIF()
++ENDIF()
Index: databases/percona57-client/files/patch-vio_viosocket.c
===================================================================
--- /dev/null
+++ databases/percona57-client/files/patch-vio_viosocket.c
@@ -0,0 +1,13 @@
+--- vio/viosocket.c.orig 2016-11-27 19:44:54 UTC
++++ vio/viosocket.c
+@@ -45,6 +45,10 @@
+ static void (*before_io_wait)(void)= 0;
+ static void (*after_io_wait)(void)= 0;
+
++#ifdef __FreeBSD__
++#define s6_addr32 __u6_addr.__u6_addr32
++#endif
++
+ /* Wait callback macros (both performance schema and threadpool */
+ #define START_SOCKET_WAIT(locker, state_ptr, sock, which, timeout) \
+ do \
Index: databases/percona57-client/pkg-plist
===================================================================
--- /dev/null
+++ databases/percona57-client/pkg-plist
@@ -0,0 +1,143 @@
+bin/mysql
+bin/mysqladmin
+bin/mysqlbinlog
+bin/mysqlcheck
+bin/mysql_config
+bin/mysql_config_editor
+bin/mysqldump
+bin/mysqlimport
+bin/mysqlpump
+bin/mysql_secure_installation
+bin/mysqlshow
+bin/mysqlslap
+bin/mysql_ssl_rsa_setup
+include/mysql/big_endian.h
+include/mysql/binary_log_types.h
+include/mysql/byte_order_generic.h
+include/mysql/byte_order_generic_x86.h
+include/mysql/decimal.h
+include/mysql/errmsg.h
+include/mysql/hash.h
+include/mysql/keycache.h
+include/mysql/little_endian.h
+include/mysql/m_ctype.h
+include/mysql/m_string.h
+include/mysql/my_alloc.h
+include/mysql/my_byteorder.h
+include/mysql/my_command.h
+include/mysql/my_compiler.h
+include/mysql/my_config.h
+include/mysql/my_dbug.h
+include/mysql/my_dir.h
+include/mysql/my_getopt.h
+include/mysql/my_global.h
+include/mysql/my_list.h
+include/mysql/mysql/client_authentication.h
+include/mysql/mysql/client_plugin.h
+include/mysql/mysql/client_plugin.h.pp
+include/mysql/mysql/com_data.h
+include/mysql/mysql_com.h
+include/mysql/mysql_com_server.h
+include/mysql/mysqld_ername.h
+include/mysql/mysqld_error.h
+include/mysql/mysql_embed.h
+include/mysql/mysql/get_password.h
+include/mysql/mysql/group_replication_priv.h
+include/mysql/mysql.h
+include/mysql/mysql/innodb_priv.h
+include/mysql/mysql/mysql_lex_string.h
+include/mysql/mysql/plugin_audit.h
+include/mysql/mysql/plugin_audit.h.pp
+include/mysql/mysql/plugin_auth_common.h
+include/mysql/mysql/plugin_auth.h
+include/mysql/mysql/plugin_auth.h.pp
+include/mysql/mysql/plugin_ftparser.h
+include/mysql/mysql/plugin_ftparser.h.pp
+include/mysql/mysql/plugin_group_replication.h
+include/mysql/mysql/plugin.h
+include/mysql/mysql/plugin_keyring.h
+include/mysql/mysql/plugin_keyring.h.pp
+include/mysql/mysql/plugin_trace.h
+include/mysql/mysql/plugin_validate_password.h
+include/mysql/mysql/psi/mysql_file.h
+include/mysql/mysql/psi/mysql_idle.h
+include/mysql/mysql/psi/mysql_mdl.h
+include/mysql/mysql/psi/mysql_memory.h
+include/mysql/mysql/psi/mysql_ps.h
+include/mysql/mysql/psi/mysql_socket.h
+include/mysql/mysql/psi/mysql_sp.h
+include/mysql/mysql/psi/mysql_stage.h
+include/mysql/mysql/psi/mysql_statement.h
+include/mysql/mysql/psi/mysql_table.h
+include/mysql/mysql/psi/mysql_thread.h
+include/mysql/mysql/psi/mysql_transaction.h
+include/mysql/mysql/psi/psi_base.h
+include/mysql/mysql/psi/psi.h
+include/mysql/mysql/psi/psi_memory.h
+include/mysql/mysql/service_command.h
+include/mysql/mysql/service_locking.h
+include/mysql/mysql/service_my_plugin_log.h
+include/mysql/mysql/service_my_snprintf.h
+include/mysql/mysql/service_mysql_alloc.h
+include/mysql/mysql/service_mysql_keyring.h
+include/mysql/mysql/service_mysql_password_policy.h
+include/mysql/mysql/service_mysql_string.h
+include/mysql/mysql/service_parser.h
+include/mysql/mysql/service_rpl_transaction_ctx.h
+include/mysql/mysql/service_rpl_transaction_write_set.h
+include/mysql/mysql/service_rules_table.h
+include/mysql/mysql/service_security_context.h
+include/mysql/mysql/services.h
+include/mysql/mysql/services.h.pp
+include/mysql/mysql/service_srv_session.h
+include/mysql/mysql/service_srv_session_info.h
+include/mysql/mysql/service_ssl_wrapper.h
+include/mysql/mysql/service_thd_alloc.h
+include/mysql/mysql/service_thd_engine_lock.h
+include/mysql/mysql/service_thd_wait.h
+include/mysql/mysql/service_thread_scheduler.h
+include/mysql/mysql/thread_pool_priv.h
+include/mysql/mysql/thread_type.h
+include/mysql/mysql_time.h
+include/mysql/mysql_version.h
+include/mysql/my_sys.h
+include/mysql/my_thread.h
+include/mysql/my_thread_local.h
+include/mysql/my_xml.h
+include/mysql/plugin_audit.h
+include/mysql/plugin_ftparser.h
+include/mysql/plugin_group_replication.h
+include/mysql/plugin.h
+include/mysql/plugin_keyring.h
+include/mysql/plugin_validate_password.h
+include/mysql/sql_common.h
+include/mysql/sql_state.h
+include/mysql/sslopt-case.h
+include/mysql/sslopt-longopts.h
+include/mysql/sslopt-vars.h
+include/mysql/thr_cond.h
+include/mysql/thr_mutex.h
+include/mysql/thr_rwlock.h
+include/mysql/typelib.h
+lib/mysql/libmysqlclient_r.a
+lib/mysql/libmysqlclient_r.so
+lib/mysql/libmysqlclient_r.so.20
+lib/mysql/libmysqlclient.so
+lib/mysql/libmysqlclient.so.20
+lib/mysql/libmysqlservices.a
+lib/mysql/libperconaserverclient.a
+lib/mysql/libperconaserverclient.so
+lib/mysql/libperconaserverclient.so.20
+lib/pkgconfig/perconaserverclient.pc
+man/man1/comp_err.1.gz
+man/man1/mysql.1.gz
+man/man1/mysqladmin.1.gz
+man/man1/mysqlbinlog.1.gz
+man/man1/mysqlcheck.1.gz
+man/man1/mysql_config.1.gz
+man/man1/mysql_config_editor.1.gz
+man/man1/mysqldump.1.gz
+man/man1/mysqlimport.1.gz
+man/man1/mysqlshow.1.gz
+man/man1/mysqlslap.1.gz
+share/aclocal/mysql.m4
Index: databases/percona57-pam-for-mysql/Makefile
===================================================================
--- /dev/null
+++ databases/percona57-pam-for-mysql/Makefile
@@ -0,0 +1,31 @@
+# Created by: Mark Felder <feld@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= percona57
+PORTREVISION= 1
+PKGNAMESUFFIX= -pam-for-mysql
+
+COMMENT= PAM plugin for MySQL
+
+MASTERDIR= ${.CURDIR}/../percona57-server
+
+PKGMESSAGE= ${.CURDIR}/pkg-message
+PATCHDIR= ${MASTERDIR}/files
+FILESDIR= ${.CURDIR}/files
+PLIST= ${.CURDIR}/pkg-plist
+DESCR= ${.CURDIR}/pkg-descr
+
+CONFLICTS_INSTALL= percona5[0-68-9]-pam-for-mysql* \
+ percona-pam-for-mysql*
+
+CMAKE_ARGS+= -DWITH_PAM=1
+
+PLUGIN_ONLY= yes
+
+do-install:
+ (cd ${WRKSRC}/plugin/percona-pam-for-mysql && ${MAKE} ${MAKE_ARGS} install)
+ ${INSTALL_DATA} ${FILESDIR}/pam.conf ${STAGEDIR}${PREFIX}/etc/pam.d/mysqld.sample
+
+.include "${MASTERDIR}/Makefile"
+
+RUN_DEPENDS= # This plugin has no run dependencies. It should work with any desired mysql client/server.
Index: databases/percona57-pam-for-mysql/files/pam.conf
===================================================================
--- /dev/null
+++ databases/percona57-pam-for-mysql/files/pam.conf
@@ -0,0 +1,12 @@
+#
+# PAM configuration for the "mysqld" service
+#
+
+# auth
+auth include system
+
+# account
+account include system
+
+# password
+password include system
Index: databases/percona57-pam-for-mysql/pkg-descr
===================================================================
--- /dev/null
+++ databases/percona57-pam-for-mysql/pkg-descr
@@ -0,0 +1,3 @@
+Percona PAM authentication plugin for MySQL.
+
+WWW: https://www.percona.com/
Index: databases/percona57-pam-for-mysql/pkg-message
===================================================================
--- /dev/null
+++ databases/percona57-pam-for-mysql/pkg-message
@@ -0,0 +1,10 @@
+Documentation for using percona-pam-for-mysql authentication plugin can
+be found at:
+
+https://www.percona.com/doc/percona-pam-for-mysql/index.html
+
+Please note that you need this plugin installed on both the client and
+server for authentication to be successful.
+
+This version of the plugin is compatible with the new auth plugin API
+introduced in MySQL 5.7.
Index: databases/percona57-pam-for-mysql/pkg-plist
===================================================================
--- /dev/null
+++ databases/percona57-pam-for-mysql/pkg-plist
@@ -0,0 +1,5 @@
+@sample etc/pam.d/mysqld.sample
+lib/mysql/plugin/auth_pam.so
+lib/mysql/plugin/auth_pam_compat.so
+lib/mysql/plugin/dialog.so
+@dir lib/mysql/plugin/debug
Index: databases/percona57-server/Makefile
===================================================================
--- /dev/null
+++ databases/percona57-server/Makefile
@@ -0,0 +1,131 @@
+# Created by: Mark Felder <feld@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME?= percona
+DISTVERSION= 5.7.16-10
+PORTREVISION?= 0
+CATEGORIES= databases ipv6
+MASTER_SITES= http://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${DISTVERSION}/source/tarball/:percona \
+ SF/boost/boost/1.59.0:boost
+PKGNAMESUFFIX?= 57-server
+DISTNAME= percona-server-${DISTVERSION}
+DISTFILES= percona-server-${DISTVERSION}${EXTRACT_SUFX}:percona \
+ boost_1_59_0${EXTRACT_SUFX}:boost
+
+MAINTAINER= feld@FreeBSD.org
+COMMENT?= Multithreaded SQL database (server)
+
+LICENSE= GPLv2
+
+BROKEN_powerpc64= Does not build
+
+SLAVEDIRS= databases/percona57-client \
+ databases/percona57-pam-for-mysql
+USES= bison:build cmake:outsource compiler:c11 compiler:c++11-lib \
+ cpe libedit localbase perl5 shebangfix
+
+LIB_DEPENDS= libevent.so:devel/libevent2 \
+ liblz4.so:archivers/liblz4
+
+OPTIONS_DEFINE= OPENSSL FASTMTX INNODBMEMCACHED TOKUDB
+OPTIONS_DEFAULT= OPENSSL INNODBMEMCACHED
+OPTIONS_SUB= yes
+
+FASTMTX_DESC= Replace mutexes with spinlocks
+FASTMTX_CMAKE_ON= -DWITH_FAST_MUTEXES=1
+INNODBMEMCACHED_DESC= InnoDB Memcached plugin
+INNODBMEMCACHED_CMAKE_ON= -DWITH_INNODB_MEMCACHED=1
+OPENSSL_CMAKE_ON= -DWITH_SSL=system
+OPENSSL_USES= ssl
+TOKUDB_DESC= TokuDB Engine (experimental)
+TOKUDB_CMAKE_ON= -DUSE_CTAGS=0
+TOKUDB_EXTRA_PATCHES=${PATCHDIR}/extrapatch-tokudb
+
+DATADIR= ${LOCALBASE}/share/mysql
+DOCSDIR= ${LOCALBASE}/share/doc/mysql
+
+CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \
+ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \
+ -DINSTALL_INCLUDEDIR="include/mysql" \
+ -DINSTALL_INFODIR="info" \
+ -DINSTALL_LIBDIR="lib/mysql" \
+ -DINSTALL_MANDIR="man" \
+ -DINSTALL_MYSQLDATADIR="/var/db/mysql" \
+ -DINSTALL_MYSQLSHAREDIR="share/mysql" \
+ -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \
+ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \
+ -DINSTALL_SBINDIR="libexec" \
+ -DINSTALL_SCRIPTDIR="bin" \
+ -DINSTALL_SHAREDIR="share" \
+ -DINSTALL_SQLBENCHDIR="share/mysql" \
+ -DINSTALL_SUPPORTFILESDIR="share/mysql" \
+ -DWITH_UNIT_TESTS=0 \
+ -DWITH_EDITLINE=system \
+ -DWITH_LIBWRAP=0 \
+ -DWITH_LZ4=system \
+ -DWITH_ZLIB=system \
+ -DINSTALL_MYSQLTESTDIR=0 \
+ -DWITH_BOOST="${WRKDIR}/boost_1_59_0"
+
+SHEBANG_FILES= scripts/*.pl* scripts/*.sh
+
+.ifdef USE_MYSQL
+.error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again.
+.endif
+
+.ifdef CLIENT_ONLY
+# Client part
+USES+= libedit
+.elifdef PLUGIN_ONLY
+# For building plugins (percona-pam-for-mysql, etc)
+# Currently do nothing special
+USES+= libedit
+.else
+# MySQL-Server part
+USES+=mysql:57p
+
+CONFLICTS_INSTALL= mysql*-server-* \
+ mariadb*-server-* \
+ percona5[0-68-9]-server-*
+
+USE_RC_SUBR= mysql-server
+
+USERS= mysql
+GROUPS= mysql
+
+INFO= mysql
+
+MANPAGES= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \
+ mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \
+ mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \
+ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \
+ mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \
+ mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1
+
+CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON"
+
+post-install:
+ @${MKDIR} ${STAGEDIR}/var/db/mysql
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} 's/*.1/${MANPAGES}/' ${WRKSRC}/man/CMakeLists.txt
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "arm"
+BROKEN= Does not compile on arm
+.endif
+
+.if ${PORT_OPTIONS:MTOKUDB}
+NOT_FOR_ARCHS= i386
+NOT_FOR_ARCHS_REASON= TokuDB not supported on 32-bit platforms, see \
+ https://github.com/percona/PerconaFT/blob/master/README.md
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} <= 1000000
+IGNORE= unsupported on FreeBSD 9 or older
+.endif
+
+.endif
+
+.include <bsd.port.post.mk>
Index: databases/percona57-server/distinfo
===================================================================
--- /dev/null
+++ databases/percona57-server/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1481662079
+SHA256 (percona-server-5.7.16-10.tar.gz) = 1e88233d4bc5fd9a6910f2cc01ad5aca7d751f036cdba5a1c9954e1e25300347
+SIZE (percona-server-5.7.16-10.tar.gz) = 74341476
+SHA256 (boost_1_59_0.tar.gz) = 47f11c8844e579d02691a607fbd32540104a9ac7a2534a8ddaef50daf502baac
+SIZE (boost_1_59_0.tar.gz) = 83709983
Index: databases/percona57-server/files/extra-patch-config.h.cmake
===================================================================
--- /dev/null
+++ databases/percona57-server/files/extra-patch-config.h.cmake
@@ -0,0 +1,29 @@
+--- Makefile
++++ Makefile
+@@ -95,8 +95,8 @@ post-patch:
+
+ .include <bsd.port.pre.mk>
+
+-.if ${ARCH} == "arm"
+-BROKEN= Does not compile on arm
++.if ${ARCH} == "armv6"
++EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config.h.cmake
+ .endif
+
+ .include <bsd.port.post.mk>
+
+--- /dev/null
++++ files/extra-patch-config.h.cmake
+@@ -0,0 +1,12 @@
++--- config.h.cmake.orig 2014-12-05 16:24:02 UTC
+++++ config.h.cmake
++@@ -151,7 +151,8 @@
++ #cmakedefine HAVE_FESETROUND 1
++ #cmakedefine HAVE_FINITE 1
++ #cmakedefine HAVE_FP_EXCEPT 1
++-#cmakedefine HAVE_FPSETMASK 1
+++#cmakedefine HAVE_FPSETMASK 0
+++#cmakedefine HAVE_FEDISABLEEXCEPT 1
++ #cmakedefine HAVE_FSEEKO 1
++ #cmakedefine HAVE_FSYNC 1
++ #cmakedefine HAVE_FTIME 1
Index: databases/percona57-server/files/extrapatch-tokudb
===================================================================
--- /dev/null
+++ databases/percona57-server/files/extrapatch-tokudb
@@ -0,0 +1,92 @@
+--- storage/tokudb/CMakeLists.txt.orig 2016-03-03 15:32:33.000000000 +0200
++++ storage/tokudb/CMakeLists.txt 2016-03-08 10:13:58.000000000 +0200
+@@ -1,6 +1,6 @@
+ SET(TOKUDB_VERSION 5.6.29-76.2)
+ # PerconaFT only supports x86-64 and cmake-2.8.9+
+-IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND
++IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" AND
+ NOT CMAKE_VERSION VERSION_LESS "2.8.9")
+ CHECK_CXX_SOURCE_COMPILES(
+ "
+@@ -118,5 +118,5 @@
+ tokudb_thread.cc)
+ MYSQL_ADD_PLUGIN(tokudb ${TOKUDB_SOURCES} STORAGE_ENGINE MODULE_ONLY
+ LINK_LIBRARIES tokufractaltree_static tokuportability_static ${ZLIB_LIBRARY} stdc++)
+-SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto -fuse-linker-plugin")
+-SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} -flto -fuse-linker-plugin")
++SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ")
++SET(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO} ")
+--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt.orig 2016-03-03 15:31:53.000000000 +0200
++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt 2016-03-10 11:13:23.772664272 +0200
+@@ -69,7 +69,7 @@
+ endif ()
+ endfunction(add_space_separated_property)
+
+-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -flto -UNDEBUG")
++set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -UNDEBUG")
+ if (NOT CMAKE_CXX_COMPILER_ID MATCHES Clang)
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+ endif ()
+--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/backup.cc.orig 2016-03-03 15:31:53.000000000 +0200
++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/backup.cc 2016-03-08 10:40:07.000000000 +0200
+@@ -85,7 +85,7 @@
+ if (oflag & O_CREAT) {
+ va_list ap;
+ va_start(ap, oflag);
+- mode_t mode = va_arg(ap, mode_t);
++ mode_t mode = va_arg(ap, int);
+ va_end(ap);
+ the_manager.lock_file_op();
+ fd = call_real_open(file, oflag, mode);
+--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/file_hash_table.cc.orig 2016-03-03 15:31:53.000000000 +0200
++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/file_hash_table.cc 2016-03-08 10:37:19.000000000 +0200
+@@ -36,7 +36,7 @@
+
+ #include <string.h>
+ #include <pthread.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ #include <stdio.h>
+
+ #include "source_file.h"
+--- plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/real_syscalls.cc.orig 2016-03-03 15:31:53.000000000 +0200
++++ plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/real_syscalls.cc 2016-03-08 10:38:58.000000000 +0200
+@@ -104,7 +104,7 @@
+ if (oflag & O_CREAT) {
+ va_list op;
+ va_start(op, oflag);
+- mode_t mode = va_arg(op, mode_t);
++ mode_t mode = va_arg(op, int);
+ va_end(op);
+ return real_open(file, oflag, mode);
+ } else {
+--- storage/tokudb/PerconaFT/CMakeLists.txt.orig 2016-06-30 13:35:08.000000000 +0200
++++ storage/tokudb/PerconaFT/CMakeLists.txt 2016-07-29 23:07:37.871068000 +0200
+@@ -82,7 +82,7 @@
+
+ install(
+ FILES README.md COPYING.AGPLv3 COPYING.GPLv2 PATENTS
+- DESTINATION .
++ DESTINATION ${INSTALL_DOCDIR}
+ COMPONENT tokukv_misc
+ )
+
+--- storage/tokudb/PerconaFT/buildheader/CMakeLists.txt.orig 2016-07-29 23:30:26.557847000 +0200
++++ storage/tokudb/PerconaFT/buildheader/CMakeLists.txt 2016-07-29 23:30:32.695950000 +0200
+@@ -1,6 +1,6 @@
+ set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "")
+
+-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/runcat.sh" "#!/bin/bash
++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/runcat.sh" "#!/bin/sh
+ out=$1; shift
+ exec \"$@\" >$out")
+
+@@ -8,7 +8,7 @@
+ set_property(TARGET make_tdb APPEND PROPERTY COMPILE_DEFINITIONS _GNU_SOURCE)
+ add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/db.h"
+- COMMAND bash runcat.sh "${CMAKE_CURRENT_BINARY_DIR}/db.h" $<TARGET_FILE:make_tdb>
++ COMMAND sh runcat.sh "${CMAKE_CURRENT_BINARY_DIR}/db.h" $<TARGET_FILE:make_tdb>
+ DEPENDS make_tdb)
+ add_custom_target(install_tdb_h DEPENDS
+ "${CMAKE_CURRENT_BINARY_DIR}/db.h")
Index: databases/percona57-server/files/mysql-server.in
===================================================================
--- /dev/null
+++ databases/percona57-server/files/mysql-server.in
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# $FreeBSD: head/databases/percona56-server/files/mysql-server.in 349060 2014-03-24 20:17:52Z flo $
+#
+
+# PROVIDE: mysql
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable mysql:
+# mysql_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable MySQL.
+# mysql_limits (bool): Set to "NO" by default.
+# Set it to yes to run `limits -e -U mysql`
+# just before mysql starts.
+# mysql_dbdir (str): Default to "/var/db/mysql"
+# Base database directory.
+# mysql_optfile (str): Server-specific option file.
+# Default to "${mysql_dbdir}/my.cnf".
+# mysql_pidfile (str): Custum PID file path and name.
+# Default to "${mysql_dbdir}/${hostname}.pid".
+# mysql_args (str): Custom additional arguments to be passed
+# to mysqld_safe (default empty).
+#
+
+. /etc/rc.subr
+
+name="mysql"
+rcvar=mysql_enable
+
+load_rc_config $name
+
+: ${mysql_enable="NO"}
+: ${mysql_limits="NO"}
+: ${mysql_dbdir="/var/db/mysql"}
+: ${mysql_optfile="${mysql_dbdir}/my.cnf"}
+
+mysql_user="mysql"
+mysql_limits_args="-e -U ${mysql_user}"
+: ${hostname:=`/bin/hostname`}
+pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
+command="/usr/sbin/daemon"
+command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_optfile} --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}"
+procname="%%PREFIX%%/libexec/mysqld"
+start_precmd="${name}_prestart"
+start_postcmd="${name}_poststart"
+mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
+mysql_install_db_args="--basedir=%%PREFIX%% --datadir=${mysql_dbdir} --defaults-extra-file=${mysql_optfile} --force"
+
+mysql_create_auth_tables()
+{
+ eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir}
+}
+
+mysql_prestart()
+{
+ if [ ! -d "${mysql_dbdir}/mysql/." ]; then
+ mysql_create_auth_tables || return 1
+ fi
+ if checkyesno mysql_limits; then
+ eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
+ else
+ return 0
+ fi
+}
+
+mysql_poststart()
+{
+ local timeout=15
+ while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
+ timeout=$(( timeout - 1 ))
+ sleep 1
+ done
+ return 0
+}
+
+run_rc_command "$1"
Index: databases/percona57-server/files/patch-CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-CMakeLists.txt
@@ -0,0 +1,40 @@
+--- CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ CMakeLists.txt
+@@ -621,12 +621,10 @@ IF(UNIX)
+ ENDIF()
+
+ IF(NOT WITHOUT_SERVER)
+- ADD_SUBDIRECTORY(testclients)
+ ADD_SUBDIRECTORY(sql)
+ OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF)
+ IF(WITH_EMBEDDED_SERVER)
+ ADD_SUBDIRECTORY(libmysqld)
+- ADD_SUBDIRECTORY(libmysqld/examples)
+ ENDIF(WITH_EMBEDDED_SERVER)
+ ENDIF()
+
+@@ -635,8 +633,6 @@ ENDIF()
+ ADD_SUBDIRECTORY(scripts)
+
+ IF(NOT WITHOUT_SERVER)
+- ADD_SUBDIRECTORY(mysql-test)
+- ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
+ ADD_SUBDIRECTORY(support-files)
+ IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt)
+ ADD_SUBDIRECTORY(internal)
+@@ -692,6 +688,7 @@ ENDIF()
+ #
+ # RPM installs documentation directly from the source tree
+ #
++IF(FALSE)
+ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ INSTALL(FILES COPYING LICENSE.mysql
+ DESTINATION ${INSTALL_DOCREADMEDIR}
+@@ -714,6 +711,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ PATTERN "sp-imp-spec.txt" EXCLUDE
+ )
+ ENDIF()
++ENDIF()
+
+ INCLUDE(CPack)
+
Index: databases/percona57-server/files/patch-client_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-client_CMakeLists.txt
@@ -0,0 +1,83 @@
+--- client/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ client/CMakeLists.txt
+@@ -32,8 +32,6 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compil
+
+ ## Subdirectory with common client code.
+ ADD_SUBDIRECTORY(base)
+-## Subdirectory for mysqlpump code.
+-ADD_SUBDIRECTORY(dump)
+
+ ## We will need libeay32.dll and ssleay32.dll when running client executables.
+ COPY_OPENSSL_DLLS(copy_openssl_client)
+@@ -41,11 +39,13 @@ COPY_OPENSSL_DLLS(copy_openssl_client)
+ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
+
+ ADD_DEFINITIONS(${SSL_DEFINES})
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc)
+ TARGET_LINK_LIBRARIES(mysql perconaserverclient)
+ IF(UNIX)
+ TARGET_LINK_LIBRARIES(mysql ${MY_READLINE_LIBRARY})
+ ENDIF(UNIX)
++ENDIF()
+
+ IF(NOT WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysql_upgrade
+@@ -65,6 +65,7 @@ TARGET_LINK_LIBRARIES(mysqltest perconas
+ ADD_CONVENIENCE_LIBRARY(mysqlcheck_core check/mysqlcheck_core.cc)
+ TARGET_LINK_LIBRARIES(mysqlcheck_core perconaserverclient)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysqlcheck check/mysqlcheck.cc)
+ TARGET_LINK_LIBRARIES(mysqlcheck mysqlcheck_core)
+
+@@ -77,10 +78,12 @@ TARGET_LINK_LIBRARIES(mysqlimport percon
+
+ MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c)
+ TARGET_LINK_LIBRARIES(mysqlshow perconaserverclient)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)
+ TARGET_LINK_LIBRARIES(mysql_plugin perconaserverclient)
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc)
+ ADD_COMPILE_FLAGS(
+ mysqlbinlog.cc
+@@ -97,9 +100,12 @@ TARGET_LINK_LIBRARIES(mysqlslap perconas
+
+ MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc)
+ TARGET_LINK_LIBRARIES(mysql_config_editor perconaserverclient)
++ENDIF()
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysql_secure_installation mysql_secure_installation.cc)
+ TARGET_LINK_LIBRARIES(mysql_secure_installation perconaserverclient)
++ENDIF()
+
+ IF(UNIX AND NOT WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysql_install_db
+@@ -112,9 +118,11 @@ IF(UNIX AND NOT WITHOUT_SERVER)
+ ADD_DEPENDENCIES(mysql_install_db GenBootstrapPriv GenSysSchema)
+ ENDIF()
+
++IF(FALSE)
+ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc)
+ TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl)
+ SET_TARGET_PROPERTIES(mysql_ssl_rsa_setup PROPERTIES LINKER_LANGUAGE CXX)
++ENDIF()
+
+ # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
+ IF(WIN32)
+@@ -123,11 +131,6 @@ ENDIF(WIN32)
+
+ SET_TARGET_PROPERTIES (
+ mysql_plugin
+- mysqlcheck
+- mysqldump
+- mysqlimport
+- mysqlshow
+- mysqlslap
+ PROPERTIES HAS_CXX TRUE)
+
+ ADD_DEFINITIONS(-DHAVE_DLOPEN)
Index: databases/percona57-server/files/patch-include_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-include_CMakeLists.txt
@@ -0,0 +1,19 @@
+--- include/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ include/CMakeLists.txt
+@@ -69,14 +69,13 @@ SET(HEADERS
+ ${HEADERS_GEN_CONFIGURE}
+ )
+
++IF(FALSE)
+ INSTALL(FILES
+ ../libbinlogevents/export/binary_log_types.h
+ DESTINATION ${INSTALL_INCLUDEDIR}
+- COMPONENT Development)
+-INSTALL(FILES ${HEADERS} DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development)
+-INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR}/mysql COMPONENT Development
+ PATTERN "*.h"
+ PATTERN "psi_abi*" EXCLUDE
+ )
++ENDIF()
+
+
Index: databases/percona57-server/files/patch-include_my__compare.h
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-include_my__compare.h
@@ -0,0 +1,11 @@
+--- include/my_compare.h.orig 2016-11-27 19:44:54 UTC
++++ include/my_compare.h
+@@ -40,7 +40,7 @@ extern "C" {
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
+ */
+
+-#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define HA_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6)
Index: databases/percona57-server/files/patch-include_myisam.h
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-include_myisam.h
@@ -0,0 +1,11 @@
+--- include/myisam.h.orig 2016-11-27 19:44:54 UTC
++++ include/myisam.h
+@@ -45,7 +45,7 @@ extern "C" {
+ The following defines can be increased if necessary.
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
+ */
+-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define MI_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8)
Index: databases/percona57-server/files/patch-libmysql_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-libmysql_CMakeLists.txt
@@ -0,0 +1,29 @@
+--- libmysql/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ libmysql/CMakeLists.txt
+@@ -231,7 +231,7 @@ IF(WIN32)
+ ENDIF()
+
+ # Merge several convenience libraries into one big perconaserverclient
+-MERGE_LIBRARIES(perconaserverclient STATIC ${LIBS} COMPONENT Development)
++MERGE_LIBRARIES(perconaserverclient STATIC ${LIBS} COMPONENT Development NOINSTALL)
+
+ # Visual Studio users need debug static library for debug projects
+ IF(MSVC)
+@@ -273,7 +273,8 @@ IF(NOT DISABLE_SHARED)
+ # and link them together into shared library.
+ MERGE_LIBRARIES(libmysql SHARED ${LIBS}
+ EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED}
+- COMPONENT SharedLibraries)
++ COMPONENT SharedLibraries NOINSTALL)
++IF(FALSE)
+ IF(UNIX)
+ # libtool compatability
+ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
+@@ -329,6 +330,7 @@ ENDIF()
+ # to initialize api_calls[] array in api_test.c
+ #
+ SET(CLIENT_API_FUNCTION_LIST "")
++ENDIF()
+ FOREACH(api ${CLIENT_API_FUNCTIONS})
+ SET(CLIENT_API_FUNCTION_LIST "${CLIENT_API_FUNCTION_LIST} ${api},")
+ ENDFOREACH()
Index: databases/percona57-server/files/patch-libservices_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-libservices_CMakeLists.txt
@@ -0,0 +1,9 @@
+--- libservices/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ libservices/CMakeLists.txt
+@@ -35,4 +35,6 @@ SET(MYSQLSERVICES_SOURCES
+ mysql_keyring_service.c)
+
+ ADD_CONVENIENCE_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
++IF(FALSE)
+ INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
++ENDIF()
Index: databases/percona57-server/files/patch-man_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-man_CMakeLists.txt
@@ -0,0 +1,13 @@
+--- man/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ man/CMakeLists.txt
+@@ -14,9 +14,7 @@
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ # Copy man pages
+-FILE(GLOB MAN1_FILES *.1)
+-FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1)
+-FILE(GLOB MAN1_NDB ndb*.1)
++FILE(GLOB MAN1_FILES my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1)
+ FILE(GLOB MAN8_FILES *.8)
+ FILE(GLOB MAN8_NDB ndb*.8)
+ IF(MAN1_FILES)
Index: databases/percona57-server/files/patch-mysys__ssl_my__default.cc
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-mysys__ssl_my__default.cc
@@ -0,0 +1,31 @@
+--- mysys_ssl/my_default.cc.orig 2016-11-27 19:44:54 UTC
++++ mysys_ssl/my_default.cc
+@@ -114,7 +114,7 @@ static my_bool defaults_already_read= FA
+
+ /* Which directories are searched for options (and in which order) */
+
+-#define MAX_DEFAULT_DIRS 6
++#define MAX_DEFAULT_DIRS 7
+ #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
+ static const char **default_directories = NULL;
+
+@@ -1416,7 +1416,10 @@ static const char **init_default_directo
+
+ #if defined(DEFAULT_SYSCONFDIR)
+ if (DEFAULT_SYSCONFDIR[0])
++ {
+ errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs);
++ }
+ #endif /* DEFAULT_SYSCONFDIR */
+
+ #endif
+@@ -1488,7 +1491,7 @@ int check_file_permissions(const char *f
+ MY_STAT stat_info;
+
+ if (!my_stat(file_name,&stat_info,MYF(0)))
+- return 1;
++ return 0;
+ /*
+ Ignore .mylogin.cnf file if not exclusively readable/writable
+ by current user.
Index: databases/percona57-server/files/patch-scripts_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-scripts_CMakeLists.txt
@@ -0,0 +1,34 @@
+--- scripts/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ scripts/CMakeLists.txt
+@@ -347,6 +347,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
+ GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
+ STRING(REGEX REPLACE "^lib" "" lib "${lib}")
+ SET(${var} "${${var}}-l${lib} " )
++ ELSEIF(lib STREQUAL "-pthread")
++ SET(${var} "${${var}}-pthread " )
+ ELSE()
+ SET(${var} "${${var}}-l${lib} " )
+ ENDIF()
+@@ -432,13 +434,11 @@ ELSE()
+
+ IF(WITH_SYSTEMD)
+ SET(BIN_SCRIPTS
+- mysql_config
+ mysqldumpslow
+ ps_tokudb_admin
+ )
+ ELSE()
+ SET(BIN_SCRIPTS
+- mysql_config
+ mysqldumpslow
+ mysqld_multi
+ mysqld_safe
+@@ -473,7 +473,7 @@ ELSE()
+ FOREACH(file ${BIN_SCRIPTS})
+ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
+- ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY)
++ ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY)
+ ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file})
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}
+ ${CMAKE_CURRENT_BINARY_DIR}/${file} COPYONLY)
Index: databases/percona57-server/files/patch-sql_json__dom.h
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-sql_json__dom.h
@@ -0,0 +1,11 @@
+--- sql/json_dom.h.orig 2017-01-05 16:09:35 UTC
++++ sql/json_dom.h
+@@ -337,7 +337,7 @@ struct Json_key_comparator
+ Json_object class.
+ */
+ typedef std::map<std::string, Json_dom *, Json_key_comparator,
+- Malloc_allocator<std::pair<std::string, Json_dom *> > > Json_object_map;
++ Malloc_allocator<std::pair<const std::string, Json_dom *> > > Json_object_map;
+
+ /**
+ Represents a JSON container value of type "object" (ECMA), type
Index: databases/percona57-server/files/patch-sql_mysqld.cc
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-sql_mysqld.cc
@@ -0,0 +1,19 @@
+--- sql/mysqld.cc.orig 2016-11-27 19:44:54 UTC
++++ sql/mysqld.cc
+@@ -1480,6 +1480,16 @@ static void clean_up_mutexes()
+ ****************************************************************************/
+
+ /* Initialise proxy protocol. */
++
++/* At least OpenBSD and NexentaCore do not
++* define s6_addr32 for user land settings.
++*/
++#if !defined s6_addr32 && defined __sun__
++# define s6_addr32 _S6_un._S6_u32
++#elif !defined s6_addr32 && ( defined __OpenBSD__ || defined __FreeBSD__ )
++# define s6_addr32 __u6_addr.__u6_addr32
++#endif /* !defined s6_addr32 */
++
+ static void set_proxy()
+ {
+ const char *p;
Index: databases/percona57-server/files/patch-sql_sql__view.cc
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-sql_sql__view.cc
@@ -0,0 +1,63 @@
+--- sql/sql_view.cc.orig 2016-11-27 19:44:54 UTC
++++ sql/sql_view.cc
+@@ -773,46 +773,46 @@ static const int required_view_parameter
+ */
+ static File_option view_parameters[]=
+ {{{ C_STRING_WITH_LEN("query")},
+- my_offsetof(TABLE_LIST, select_stmt),
++ static_cast<int>(my_offsetof(TABLE_LIST, select_stmt)),
+ FILE_OPTIONS_ESTRING},
+ {{ C_STRING_WITH_LEN("md5")},
+- my_offsetof(TABLE_LIST, md5),
++ static_cast<int>(my_offsetof(TABLE_LIST, md5)),
+ FILE_OPTIONS_STRING},
+ {{ C_STRING_WITH_LEN("updatable")},
+- my_offsetof(TABLE_LIST, updatable_view),
++ static_cast<int>(my_offsetof(TABLE_LIST, updatable_view)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("algorithm")},
+- my_offsetof(TABLE_LIST, algorithm),
++ static_cast<int>(my_offsetof(TABLE_LIST, algorithm)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("definer_user")},
+- my_offsetof(TABLE_LIST, definer.user),
++ static_cast<int>(my_offsetof(TABLE_LIST, definer.user)),
+ FILE_OPTIONS_STRING},
+ {{ C_STRING_WITH_LEN("definer_host")},
+- my_offsetof(TABLE_LIST, definer.host),
++ static_cast<int>(my_offsetof(TABLE_LIST, definer.host)),
+ FILE_OPTIONS_STRING},
+ {{ C_STRING_WITH_LEN("suid")},
+- my_offsetof(TABLE_LIST, view_suid),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_suid)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("with_check_option")},
+- my_offsetof(TABLE_LIST, with_check),
++ static_cast<int>(my_offsetof(TABLE_LIST, with_check)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("timestamp")},
+- my_offsetof(TABLE_LIST, timestamp),
++ static_cast<int>(my_offsetof(TABLE_LIST, timestamp)),
+ FILE_OPTIONS_TIMESTAMP},
+ {{ C_STRING_WITH_LEN("create-version")},
+- my_offsetof(TABLE_LIST, file_version),
++ static_cast<int>(my_offsetof(TABLE_LIST, file_version)),
+ FILE_OPTIONS_ULONGLONG},
+ {{ C_STRING_WITH_LEN("source")},
+- my_offsetof(TABLE_LIST, source),
++ static_cast<int>(my_offsetof(TABLE_LIST, source)),
+ FILE_OPTIONS_ESTRING},
+ {{(char*) STRING_WITH_LEN("client_cs_name")},
+- my_offsetof(TABLE_LIST, view_client_cs_name),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_client_cs_name)),
+ FILE_OPTIONS_STRING},
+ {{(char*) STRING_WITH_LEN("connection_cl_name")},
+- my_offsetof(TABLE_LIST, view_connection_cl_name),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_connection_cl_name)),
+ FILE_OPTIONS_STRING},
+ {{(char*) STRING_WITH_LEN("view_body_utf8")},
+- my_offsetof(TABLE_LIST, view_body_utf8),
++ static_cast<int>(my_offsetof(TABLE_LIST, view_body_utf8)),
+ FILE_OPTIONS_ESTRING},
+ {{NullS, 0}, 0,
+ FILE_OPTIONS_STRING}
Index: databases/percona57-server/files/patch-sql_sys__vars.cc
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-sql_sys__vars.cc
@@ -0,0 +1,38 @@
+--- sql/sys_vars.cc.orig 2016-11-27 19:44:54 UTC
++++ sql/sys_vars.cc
+@@ -1804,7 +1804,7 @@ static Sys_var_ulong Sys_interactive_tim
+ "connection before closing it",
+ SESSION_VAR(net_interactive_timeout),
+ CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
+
+ static Sys_var_ulong Sys_join_buffer_size(
+ "join_buffer_size",
+@@ -2696,7 +2696,7 @@ static Sys_var_ulong Sys_net_read_timeou
+ "Number of seconds to wait for more data from a connection before "
+ "aborting the read",
+ SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
+ ON_UPDATE(fix_net_read_timeout));
+
+@@ -2720,7 +2720,7 @@ static Sys_var_ulong Sys_net_write_timeo
+ "Number of seconds to wait for a block to be written to a connection "
+ "before aborting the write",
+ SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
++ VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
+ ON_UPDATE(fix_net_write_timeout));
+
+@@ -4406,7 +4406,7 @@ static Sys_var_ulong Sys_net_wait_timeou
+ "The number of seconds the server waits for activity on a "
+ "connection before closing it",
+ SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT)),
++ VALID_RANGE(1, INT_MAX32/1000),
+ DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
+
+ static Sys_var_plugin Sys_default_storage_engine(
Index: databases/percona57-server/files/patch-storage_innobase_buf_buf0buf.cc
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-storage_innobase_buf_buf0buf.cc
@@ -0,0 +1,11 @@
+--- storage/innobase/buf/buf0buf.cc.orig 2016-11-27 19:44:54 UTC
++++ storage/innobase/buf/buf0buf.cc
+@@ -333,7 +333,7 @@ typedef std::map<
+ const byte*,
+ buf_chunk_t*,
+ std::less<const byte*>,
+- ut_allocator<std::pair<const byte*, buf_chunk_t*> > >
++ ut_allocator<std::pair<const byte* const, buf_chunk_t*> > >
+ buf_pool_chunk_map_t;
+
+ static buf_pool_chunk_map_t* buf_chunk_map_reg;
Index: databases/percona57-server/files/patch-storage_innobase_dict_dict0stats.cc
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-storage_innobase_dict_dict0stats.cc
@@ -0,0 +1,11 @@
+--- storage/innobase/dict/dict0stats.cc.orig 2016-11-27 19:44:54 UTC
++++ storage/innobase/dict/dict0stats.cc
+@@ -139,7 +139,7 @@ then we would store 5,7,10,11,12 in the
+ typedef std::vector<ib_uint64_t, ut_allocator<ib_uint64_t> > boundaries_t;
+
+ /** Allocator type used for index_map_t. */
+-typedef ut_allocator<std::pair<const char*, dict_index_t*> >
++typedef ut_allocator<std::pair<const char* const, dict_index_t*> >
+ index_map_t_allocator;
+
+ /** Auxiliary map used for sorting indexes by name in dict_stats_save(). */
Index: databases/percona57-server/files/patch-storage_innobase_include_srv0mon.h
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-storage_innobase_include_srv0mon.h
@@ -0,0 +1,13 @@
+--- storage/innobase/include/srv0mon.h.orig 2016-11-27 19:44:54 UTC
++++ storage/innobase/include/srv0mon.h
+@@ -34,6 +34,10 @@ Created 12/15/2009 Jimmy Yang
+ /* Required for FreeBSD so that INT64_MAX is defined. */
+ #define __STDC_LIMIT_MACROS
+ #endif /* __STDC_LIMIT_MACROS */
++#ifdef __DragonFly__
++/* The hack above doen't work for dragonfly, stdint.h already imported */
++#include <machine/int_limits.h>
++#endif
+
+ #include <stdint.h>
+
Index: databases/percona57-server/files/patch-storage_innobase_sync_sync0debug.cc
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-storage_innobase_sync_sync0debug.cc
@@ -0,0 +1,11 @@
+--- storage/innobase/sync/sync0debug.cc.orig 2016-11-27 19:44:54 UTC
++++ storage/innobase/sync/sync0debug.cc
+@@ -1717,7 +1717,7 @@ private:
+ const void*,
+ File,
+ std::less<const void*>,
+- ut_allocator<std::pair<const void*, File> > >
++ ut_allocator<std::pair<const void* const, File> > >
+ Files;
+
+ typedef OSMutex Mutex;
Index: databases/percona57-server/files/patch-storage_myisam_mi__dynrec.c
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-storage_myisam_mi__dynrec.c
@@ -0,0 +1,23 @@
+--- storage/myisam/mi_dynrec.c.orig 2016-11-27 19:44:54 UTC
++++ storage/myisam/mi_dynrec.c
+@@ -65,18 +65,13 @@ my_bool mi_dynmap_file(MI_INFO *info, my
+ DBUG_RETURN(1);
+ }
+ /*
+- I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
+- MAP_NORESERVE
+- Do not reserve swap space for this mapping. When swap space is
+- reserved, one has the guarantee that it is possible to modify the
+- mapping. When swap space is not reserved one might get SIGSEGV
+- upon a write if no physical memory is available.
++ MAP_NORESERVE is unimplemented in FreeBSD
+ */
+ info->s->file_map= (uchar*)
+ my_mmap(0, (size_t) size,
+ info->s->mode==O_RDONLY ? PROT_READ :
+ PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_NORESERVE,
++ MAP_SHARED,
+ info->dfile, 0L);
+ if (info->s->file_map == (uchar*) MAP_FAILED)
+ {
Index: databases/percona57-server/files/patch-support-files_CMakeLists.txt
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-support-files_CMakeLists.txt
@@ -0,0 +1,12 @@
+--- support-files/CMakeLists.txt.orig 2016-11-27 19:44:54 UTC
++++ support-files/CMakeLists.txt
+@@ -69,7 +69,9 @@ IF(UNIX)
+ INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles)
+ ENDIF()
+
++IF(FALSE)
+ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
++ENDIF()
+
+ SET(bindir ${prefix}/${INSTALL_BINDIR})
+ SET(sbindir ${prefix}/${INSTALL_SBINDIR})
Index: databases/percona57-server/files/patch-vio_viosocket.c
===================================================================
--- /dev/null
+++ databases/percona57-server/files/patch-vio_viosocket.c
@@ -0,0 +1,13 @@
+--- vio/viosocket.c.orig 2016-11-27 19:44:54 UTC
++++ vio/viosocket.c
+@@ -45,6 +45,10 @@
+ static void (*before_io_wait)(void)= 0;
+ static void (*after_io_wait)(void)= 0;
+
++#ifdef __FreeBSD__
++#define s6_addr32 __u6_addr.__u6_addr32
++#endif
++
+ /* Wait callback macros (both performance schema and threadpool */
+ #define START_SOCKET_WAIT(locker, state_ptr, sock, which, timeout) \
+ do \
Index: databases/percona57-server/pkg-descr
===================================================================
--- /dev/null
+++ databases/percona57-server/pkg-descr
@@ -0,0 +1,4 @@
+MySQL replacement : Percona ServerPercona Server is a drop-in alternative
+for MySQL with enhanced performance and enterprise-grade features.
+
+WWW: http://www.percona.com/software/percona-server
Index: databases/percona57-server/pkg-message
===================================================================
--- /dev/null
+++ databases/percona57-server/pkg-message
@@ -0,0 +1,6 @@
+************************************************************************
+
+Remember to run mysql_upgrade the first time you start the MySQL server
+after an upgrade from an earlier version.
+
+************************************************************************
Index: databases/percona57-server/pkg-plist
===================================================================
--- /dev/null
+++ databases/percona57-server/pkg-plist
@@ -0,0 +1,179 @@
+bin/innochecksum
+bin/lz4_decompress
+bin/myisamchk
+bin/myisam_ftdump
+bin/myisamlog
+bin/myisampack
+bin/my_print_defaults
+bin/mysqld_multi
+bin/mysqld_safe
+bin/mysqldumpslow
+bin/mysql_install_db
+bin/mysql_plugin
+bin/mysqltest
+bin/mysql_tzinfo_to_sql
+bin/mysql_upgrade
+bin/mysqlxtest
+bin/perror
+bin/ps_tokudb_admin
+bin/replace
+bin/resolveip
+bin/resolve_stack_dump
+bin/zlib_decompress
+%%DATADIR%%/bulgarian/errmsg.sys
+%%DATADIR%%/charsets/armscii8.xml
+%%DATADIR%%/charsets/ascii.xml
+%%DATADIR%%/charsets/cp1250.xml
+%%DATADIR%%/charsets/cp1251.xml
+%%DATADIR%%/charsets/cp1256.xml
+%%DATADIR%%/charsets/cp1257.xml
+%%DATADIR%%/charsets/cp850.xml
+%%DATADIR%%/charsets/cp852.xml
+%%DATADIR%%/charsets/cp866.xml
+%%DATADIR%%/charsets/dec8.xml
+%%DATADIR%%/charsets/geostd8.xml
+%%DATADIR%%/charsets/greek.xml
+%%DATADIR%%/charsets/hebrew.xml
+%%DATADIR%%/charsets/hp8.xml
+%%DATADIR%%/charsets/Index.xml
+%%DATADIR%%/charsets/keybcs2.xml
+%%DATADIR%%/charsets/koi8r.xml
+%%DATADIR%%/charsets/koi8u.xml
+%%DATADIR%%/charsets/latin1.xml
+%%DATADIR%%/charsets/latin2.xml
+%%DATADIR%%/charsets/latin5.xml
+%%DATADIR%%/charsets/latin7.xml
+%%DATADIR%%/charsets/macce.xml
+%%DATADIR%%/charsets/macroman.xml
+%%DATADIR%%/charsets/README
+%%DATADIR%%/charsets/swe7.xml
+%%DATADIR%%/czech/errmsg.sys
+%%DATADIR%%/danish/errmsg.sys
+%%DATADIR%%/dictionary.txt
+%%DATADIR%%/dutch/errmsg.sys
+%%DATADIR%%/english/errmsg.sys
+%%DATADIR%%/errmsg-utf8.txt
+%%DATADIR%%/estonian/errmsg.sys
+%%DATADIR%%/fill_help_tables.sql
+%%DATADIR%%/french/errmsg.sys
+%%DATADIR%%/german/errmsg.sys
+%%DATADIR%%/greek/errmsg.sys
+%%DATADIR%%/hungarian/errmsg.sys
+%%DATADIR%%/innodb_memcached_config.sql
+%%DATADIR%%/install_rewriter.sql
+%%DATADIR%%/italian/errmsg.sys
+%%DATADIR%%/japanese/errmsg.sys
+%%DATADIR%%/korean/errmsg.sys
+%%DATADIR%%/magic
+%%DATADIR%%/my-default.cnf
+%%DATADIR%%/mysqld_multi.server
+%%DATADIR%%/mysql-log-rotate
+%%DATADIR%%/mysql_security_commands.sql
+%%DATADIR%%/mysql.server
+%%DATADIR%%/mysql_sys_schema.sql
+%%DATADIR%%/mysql_system_tables_data.sql
+%%DATADIR%%/mysql_system_tables.sql
+%%DATADIR%%/mysql_test_data_timezone.sql
+%%DATADIR%%/norwegian/errmsg.sys
+%%DATADIR%%/norwegian-ny/errmsg.sys
+%%DATADIR%%/polish/errmsg.sys
+%%DATADIR%%/portuguese/errmsg.sys
+%%DATADIR%%/romanian/errmsg.sys
+%%DATADIR%%/russian/errmsg.sys
+%%DATADIR%%/serbian/errmsg.sys
+%%DATADIR%%/slovak/errmsg.sys
+%%DATADIR%%/spanish/errmsg.sys
+%%DATADIR%%/swedish/errmsg.sys
+%%DATADIR%%/ukrainian/errmsg.sys
+%%DATADIR%%/uninstall_rewriter.sql
+include/mysql/mysqlx_error.h
+include/mysql/mysqlx_version.h
+@dir lib/mysql/plugin/debug
+@dir(mysql,mysql,) /var/db/mysql
+%%INNODBMEMCACHED%%lib/mysql/plugin/innodb_engine.so
+%%INNODBMEMCACHED%%lib/mysql/plugin/libmemcached.so
+libexec/mysqld
+lib/mysql/libmysqld.a
+lib/mysql/plugin/adt_null.so
+lib/mysql/plugin/audit_log.so
+lib/mysql/plugin/auth.so
+lib/mysql/plugin/auth_test_plugin.so
+lib/mysql/plugin/daemon_example.ini
+lib/mysql/plugin/ha_example.so
+lib/mysql/plugin/keyring_file.so
+lib/mysql/plugin/keyring_udf.so
+lib/mysql/plugin/libdaemon_example.so
+lib/mysql/plugin/libfnv1a_udf.so
+lib/mysql/plugin/libfnv_udf.so
+lib/mysql/plugin/libmurmur_udf.so
+lib/mysql/plugin/libtest_framework.so
+lib/mysql/plugin/libtest_services.so
+lib/mysql/plugin/libtest_services_threaded.so
+lib/mysql/plugin/libtest_session_detach.so
+lib/mysql/plugin/libtest_session_info.so
+lib/mysql/plugin/libtest_session_in_thd.so
+lib/mysql/plugin/libtest_sql_2_sessions.so
+lib/mysql/plugin/libtest_sql_all_col_types.so
+lib/mysql/plugin/libtest_sql_cmds_1.so
+lib/mysql/plugin/libtest_sql_commit.so
+lib/mysql/plugin/libtest_sql_complex.so
+lib/mysql/plugin/libtest_sql_errors.so
+lib/mysql/plugin/libtest_sql_lock.so
+lib/mysql/plugin/libtest_sql_processlist.so
+lib/mysql/plugin/libtest_sql_replication.so
+lib/mysql/plugin/libtest_sql_shutdown.so
+lib/mysql/plugin/libtest_sql_sqlmode.so
+lib/mysql/plugin/libtest_sql_stored_procedures_functions.so
+lib/mysql/plugin/libtest_sql_views_triggers.so
+lib/mysql/plugin/libtest_x_sessions_deinit.so
+lib/mysql/plugin/libtest_x_sessions_init.so
+lib/mysql/plugin/locking_service.so
+lib/mysql/plugin/mypluglib.so
+lib/mysql/plugin/mysql_no_login.so
+lib/mysql/plugin/mysqlx.so
+lib/mysql/plugin/qa_auth_client.so
+lib/mysql/plugin/qa_auth_interface.so
+lib/mysql/plugin/qa_auth_server.so
+lib/mysql/plugin/query_response_time.so
+lib/mysql/plugin/replication_observers_example_plugin.so
+lib/mysql/plugin/rewrite_example.so
+lib/mysql/plugin/rewriter.so
+lib/mysql/plugin/semisync_master.so
+lib/mysql/plugin/semisync_slave.so
+lib/mysql/plugin/test_security_context.so
+lib/mysql/plugin/test_udf_services.so
+lib/mysql/plugin/validate_password.so
+lib/mysql/plugin/version_token.so
+lib/pkgconfig/LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND.pc
+man/man1/myisamchk.1.gz
+man/man1/myisam_ftdump.1.gz
+man/man1/myisamlog.1.gz
+man/man1/myisampack.1.gz
+man/man1/my_print_defaults.1.gz
+man/man1/mysqld_multi.1.gz
+man/man1/mysqld_safe.1.gz
+man/man1/mysqldumpslow.1.gz
+man/man1/mysql_install_db.1.gz
+man/man1/mysqlman.1.gz
+man/man1/mysql_plugin.1.gz
+man/man1/mysql_secure_installation.1.gz
+man/man1/mysql.server.1.gz
+man/man1/mysqltest.1.gz
+man/man1/mysql_tzinfo_to_sql.1.gz
+man/man1/mysql_upgrade.1.gz
+man/man1/perror.1.gz
+man/man1/replace.1.gz
+man/man1/resolveip.1.gz
+man/man1/resolve_stack_dump.1.gz
+man/man8/mysqld.8.gz
+%%TOKUDB%%bin/tokuftdump
+%%TOKUDB%%bin/tokuft_logprint
+%%TOKUDB%%include/backup.h
+%%TOKUDB%%lib/mysql/libHotBackup.so
+%%TOKUDB%%lib/mysql/plugin/ha_tokudb.so
+%%TOKUDB%%lib/mysql/plugin/tokudb_backup.so
+%%TOKUDB%%share/doc/mysql/COPYING.AGPLv3
+%%TOKUDB%%share/doc/mysql/COPYING.GPLv2
+%%TOKUDB%%share/doc/mysql/PATENTS
+%%TOKUDB%%share/doc/mysql/README.md
+%%TOKUDB%%share/doc/mysql/README_tokudb_backup
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Nov 28, 1:08 AM (11 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26269652
Default Alt Text
D8785.id23819.diff (65 KB)
Attached To
Mode
D8785: Create Percona 5.7 Ports
Attached
Detach File
Event Timeline
Log In to Comment