diff options
author | Mark Felder <feld@FreeBSD.org> | 2017-01-10 18:54:32 +0000 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2017-01-10 18:54:32 +0000 |
commit | f5a7bbe20b44e2ed7ce2b3d6d9ce2e9d94056ac8 (patch) | |
tree | 9dbb8720f9319f45cd7516be53e22a9d6faa015f /databases/percona57-server | |
parent | e20ec43bfc786b2390ea546eb25cae125cc1df5e (diff) | |
download | ports-f5a7bbe20b44e2ed7ce2b3d6d9ce2e9d94056ac8.tar.gz ports-f5a7bbe20b44e2ed7ce2b3d6d9ce2e9d94056ac8.zip |
Welcome Percona 5.7 ports to the tree
- client and server version 5.7.16-10
- pam-for-mysql: compatible with newer MySQL API (MySQL 5.7+)
Thanks to all who have worked on Percona, MariaDB, and MySQL ports. Your
tireless efforts have been instrumental in making this port happen.
Differential Revision: https://reviews.freebsd.org/D8785
Notes
Notes:
svn path=/head/; revision=431126
Diffstat (limited to 'databases/percona57-server')
29 files changed, 1030 insertions, 0 deletions
diff --git a/databases/percona57-server/Makefile b/databases/percona57-server/Makefile new file mode 100644 index 000000000000..de89e33d9c24 --- /dev/null +++ b/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+ + +LIB_DEPENDS= libevent.so:devel/libevent2 \ + liblz4.so:archivers/liblz4 + +BROKEN_powerpc64= Does not build + +SLAVEDIRS= databases/percona57-client \ + databases/percona57-pam-for-mysql +USES= bison:build cmake compiler:c11 compiler:c++11-lib \ + cpe libedit localbase perl5 shebangfix + +DATADIR= ${LOCALBASE}/share/mysql +DOCSDIR= ${LOCALBASE}/share/doc/mysql + +CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ + -DINSTALL_DOCDIR="share/doc/mysql" \ + -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ + -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ + -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 +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 + +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 + +USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin + +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 +.endif + +.include <bsd.port.post.mk> diff --git a/databases/percona57-server/distinfo b/databases/percona57-server/distinfo new file mode 100644 index 000000000000..93518d8dcd52 --- /dev/null +++ b/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 diff --git a/databases/percona57-server/files/extra-patch-config.h.cmake b/databases/percona57-server/files/extra-patch-config.h.cmake new file mode 100644 index 000000000000..4ea465832fb4 --- /dev/null +++ b/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 diff --git a/databases/percona57-server/files/extrapatch-tokudb b/databases/percona57-server/files/extrapatch-tokudb new file mode 100644 index 000000000000..87ea439282e8 --- /dev/null +++ b/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") diff --git a/databases/percona57-server/files/mysql-server.in b/databases/percona57-server/files/mysql-server.in new file mode 100644 index 000000000000..245c1bdbaa85 --- /dev/null +++ b/databases/percona57-server/files/mysql-server.in @@ -0,0 +1,79 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# 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" diff --git a/databases/percona57-server/files/patch-CMakeLists.txt b/databases/percona57-server/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..92d09f7fe3d1 --- /dev/null +++ b/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) + diff --git a/databases/percona57-server/files/patch-client_CMakeLists.txt b/databases/percona57-server/files/patch-client_CMakeLists.txt new file mode 100644 index 000000000000..09de11a195d7 --- /dev/null +++ b/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) diff --git a/databases/percona57-server/files/patch-include_CMakeLists.txt b/databases/percona57-server/files/patch-include_CMakeLists.txt new file mode 100644 index 000000000000..c047677002a0 --- /dev/null +++ b/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() + + diff --git a/databases/percona57-server/files/patch-include_my__compare.h b/databases/percona57-server/files/patch-include_my__compare.h new file mode 100644 index 000000000000..608e15dd8751 --- /dev/null +++ b/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) diff --git a/databases/percona57-server/files/patch-include_myisam.h b/databases/percona57-server/files/patch-include_myisam.h new file mode 100644 index 000000000000..96bc58628416 --- /dev/null +++ b/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) diff --git a/databases/percona57-server/files/patch-libmysql_CMakeLists.txt b/databases/percona57-server/files/patch-libmysql_CMakeLists.txt new file mode 100644 index 000000000000..1e13d4796949 --- /dev/null +++ b/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() diff --git a/databases/percona57-server/files/patch-libservices_CMakeLists.txt b/databases/percona57-server/files/patch-libservices_CMakeLists.txt new file mode 100644 index 000000000000..c9190039e613 --- /dev/null +++ b/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() diff --git a/databases/percona57-server/files/patch-man_CMakeLists.txt b/databases/percona57-server/files/patch-man_CMakeLists.txt new file mode 100644 index 000000000000..0d3487cbefe6 --- /dev/null +++ b/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) diff --git a/databases/percona57-server/files/patch-mysys__ssl_my__default.cc b/databases/percona57-server/files/patch-mysys__ssl_my__default.cc new file mode 100644 index 000000000000..83a127b9602c --- /dev/null +++ b/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. diff --git a/databases/percona57-server/files/patch-scripts_CMakeLists.txt b/databases/percona57-server/files/patch-scripts_CMakeLists.txt new file mode 100644 index 000000000000..84daf75bf979 --- /dev/null +++ b/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) diff --git a/databases/percona57-server/files/patch-sql_json__dom.h b/databases/percona57-server/files/patch-sql_json__dom.h new file mode 100644 index 000000000000..54718af16065 --- /dev/null +++ b/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 diff --git a/databases/percona57-server/files/patch-sql_mysqld.cc b/databases/percona57-server/files/patch-sql_mysqld.cc new file mode 100644 index 000000000000..a3ac78e28867 --- /dev/null +++ b/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; diff --git a/databases/percona57-server/files/patch-sql_sql__view.cc b/databases/percona57-server/files/patch-sql_sql__view.cc new file mode 100644 index 000000000000..91984f8b53db --- /dev/null +++ b/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} diff --git a/databases/percona57-server/files/patch-sql_sys__vars.cc b/databases/percona57-server/files/patch-sql_sys__vars.cc new file mode 100644 index 000000000000..1d1cb73e49a2 --- /dev/null +++ b/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( diff --git a/databases/percona57-server/files/patch-storage_innobase_buf_buf0buf.cc b/databases/percona57-server/files/patch-storage_innobase_buf_buf0buf.cc new file mode 100644 index 000000000000..e43b325c6ea7 --- /dev/null +++ b/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; diff --git a/databases/percona57-server/files/patch-storage_innobase_dict_dict0stats.cc b/databases/percona57-server/files/patch-storage_innobase_dict_dict0stats.cc new file mode 100644 index 000000000000..48c7e3ed5d43 --- /dev/null +++ b/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(). */ diff --git a/databases/percona57-server/files/patch-storage_innobase_include_srv0mon.h b/databases/percona57-server/files/patch-storage_innobase_include_srv0mon.h new file mode 100644 index 000000000000..e023ef0c7708 --- /dev/null +++ b/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> + diff --git a/databases/percona57-server/files/patch-storage_innobase_sync_sync0debug.cc b/databases/percona57-server/files/patch-storage_innobase_sync_sync0debug.cc new file mode 100644 index 000000000000..e6087e7640a9 --- /dev/null +++ b/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; diff --git a/databases/percona57-server/files/patch-storage_myisam_mi__dynrec.c b/databases/percona57-server/files/patch-storage_myisam_mi__dynrec.c new file mode 100644 index 000000000000..80b7192940ca --- /dev/null +++ b/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) + { diff --git a/databases/percona57-server/files/patch-support-files_CMakeLists.txt b/databases/percona57-server/files/patch-support-files_CMakeLists.txt new file mode 100644 index 000000000000..87658305530b --- /dev/null +++ b/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}) diff --git a/databases/percona57-server/files/patch-vio_viosocket.c b/databases/percona57-server/files/patch-vio_viosocket.c new file mode 100644 index 000000000000..c03e19e9e86c --- /dev/null +++ b/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 \ diff --git a/databases/percona57-server/pkg-descr b/databases/percona57-server/pkg-descr new file mode 100644 index 000000000000..cb5d1681d1bb --- /dev/null +++ b/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 diff --git a/databases/percona57-server/pkg-message b/databases/percona57-server/pkg-message new file mode 100644 index 000000000000..71d00aa80526 --- /dev/null +++ b/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. + +************************************************************************ diff --git a/databases/percona57-server/pkg-plist b/databases/percona57-server/pkg-plist new file mode 100644 index 000000000000..11498d438072 --- /dev/null +++ b/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 +libdata/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 |