diff options
author | brnrd <brnrd@FreeBSD.org> | 2017-05-29 04:52:49 +0800 |
---|---|---|
committer | brnrd <brnrd@FreeBSD.org> | 2017-05-29 04:52:49 +0800 |
commit | a350402fadc41b879970549d8f4921b5711f81cf (patch) | |
tree | 915d3deedec3d922c5b8b011a2dbbe9876fd16ef /databases/mariadb102-server | |
parent | 9772d507df4d56267be392349665ae3b6e384caf (diff) | |
download | freebsd-ports-gnome-a350402fadc41b879970549d8f4921b5711f81cf.tar.gz freebsd-ports-gnome-a350402fadc41b879970549d8f4921b5711f81cf.tar.zst freebsd-ports-gnome-a350402fadc41b879970549d8f4921b5711f81cf.zip |
databases/mariadb102-server: Add MariaDB 10.2 ports
- Add mariadb102-client port
- Add RocksDB storage engine
- Add non-base page compressors
- First sweep at making cmake patches upstreamable
Diffstat (limited to 'databases/mariadb102-server')
42 files changed, 1481 insertions, 0 deletions
diff --git a/databases/mariadb102-server/Makefile b/databases/mariadb102-server/Makefile new file mode 100644 index 000000000000..fd51440d0d4c --- /dev/null +++ b/databases/mariadb102-server/Makefile @@ -0,0 +1,205 @@ +# $FreeBSD$ + +PORTNAME?= mariadb +PORTVERSION= 10.2.6 +CATEGORIES= databases ipv6 +MASTER_SITES= http://mirrors.supportex.net/${SITESDIR}/ \ + http://mirror2.hs-esslingen.de/pub/Mirrors/${SITESDIR}/ \ + http://gd.tuwien.ac.at/db/${SITESDIR}/ \ + http://mirrors.fe.up.pt/pub/${SITESDIR}/ \ + http://mirror.de.gsnw.de:56431/${SITESDIR}/ \ + http://mirror.layerjet.com/${SITESDIR}/ \ + http://mirror.switch.ch/mirror/${SITESDIR}/ \ + http://ftp.osuosl.org/pub/${SITESDIR}/ +PKGNAMESUFFIX?= 102-server + +MAINTAINER= brnrd@FreeBSD.org +COMMENT?= Multithreaded SQL database (server) + +LICENSE= GPLv2 +LICENSE_NAME_PerconaFT= PerconaFT patents license +LICENSE_FILE_PerconaFT= ${WRKSRC}/storage/tokudb/PerconaFT/PATENTS +LICENSE_PERMS_PerconaFT= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +SUB_FILES= pkg-message +PKGMESSAGE= ${WRKDIR}/pkg-message + +SLAVEDIRS= databases/mariadb102-client +USES= bison:build cmake compiler:c++11-lib cpe execinfo iconv:translit ncurses shebangfix ssl +USE_LDCONFIG= ${PREFIX}/lib/mysql +SHEBANG_FILES= scripts/*.sh +SITESDIR= mariadb/mariadb-${PORTVERSION}/source +DOCSDIR= ${PREFIX}/share/doc/mysql + +OPTIONS_SINGLE= GSSAPI +OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE +OPTIONS_DEFAULT= GSSAPI_BASE + +.if !defined(CLIENT_ONLY) +# MySQL-Server options +OPTIONS_DEFAULT+= CONNECT_EXTRA INNOBASE SPHINX SPIDER +OPTIONS_GROUP= COMPRESSION ENGINES GROONGA +OPTIONS_DEFINE= CONNECT_EXTRA +OPTIONS_GROUP_COMPRESSION= LZ4 LZO SNAPPY ZSTD +OPTIONS_GROUP_ENGINES= INNOBASE MROONGA OQGRAPH ROCKSDB SPHINX SPIDER TOKUDB XTRADB +OPTIONS_GROUP_GROONGA= ZMQ MSGPACK +OPTIONS_EXCLUDE_i386= TOKUDB + +CONNECT_EXTRA_DESC= Enable ODBC and XML in CONNECT engine +COMPRESSION_DESC= Optional page compression +ENGINES_DESC= Optional MariaDB storage engines +GROONGA_DESC= Optional Mroonga features +INNOBASE_DESC= InnoDB default engine +MROONGA_DESC= Mroonga Full Text Search engine +MSGPACK_DESC= MsgPack support +OQGRAPH_DESC= Open Query Graph Computation engine +ROCKSDB_DESC= RocksDB LSM engine (Alpha) +SPHINX_DESC= SphinxSE engine +SPIDER_DESC= Partitioning and XA-transactions engine +TOKUDB_DESC= Fractal tree index tree data structure engine +XTRADB_DESC= Build XtraDB engine next to InnoDB +ZMQ_DESC= ZeroMQ support +ZSTD_DESC+= Zstandard compression support (RocksDB only) +.endif + +GSSAPI_BASE_USES= gssapi +GSSAPI_HEIMDAL_USES= gssapi:heimdal +GSSAPI_MIT_USES= gssapi:mit + +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= \ + -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ + -DINSTALL_SBINDIR="libexec" \ + -DINSTALL_SCRIPTDIR="bin" \ + -DINSTALL_SHAREDIR="share" \ + -DINSTALL_SQLBENCHDIR= \ + -DINSTALL_SUPPORTFILESDIR="share/mysql" \ + -DDEFAULT_SYSCONFDIR="${PREFIX}/etc" \ + -DWITH_JEMALLOC="system" \ + -DWITH_LIBWRAP=1 \ + -DWITH_SSL="${OPENSSLBASE}" \ + -DWITH_UNIT_TESTS=0 \ + -DWITHOUT_DOCS=1 \ + -DCURSES_CURSES_LIBRARY="/usr/lib/libcurses.so" \ + -DCURSES_FORM_LIBRARY="/usr/lib/libform.so" \ + -DCURSES_CURSES_LIBRARY="/usr/lib/libncurses.so" \ + -DEXECINFO_ROOT="${LOCALBASE}" \ + -DICONV_LIBRARIES="${ICONV_LIB_PATH}" \ + -DKRB5_CONFIG="${KRB5CONFIG}" \ + -DCURSES_NCURSES_LIBRARY="${NCURSESLIB}/libncurses.so" \ + -DOPENSSL_ROOT_DIR="${OPENSSLBASE}" \ + -DOPENSSL_CRYPTO_LIBRARY="${OPENSSLBASE}/lib/libcrypto.so" \ + -DOPENSSL_SSL_LIBRARY="${OPENSSLBASE}/lib/libssl.so" \ + -DREMOTEIO_PLUGIN_TYPE="NO" \ + -DCOMPILATION_COMMENT="FreeBSD Ports" \ + -DCMAKE_PREFIX_PATH=${PREFIX} + +DATADIR= ${PREFIX}/share/mysql + +.ifdef USE_MYSQL +.error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. This leads to a circular dependency. Please undefine and try again. +.endif + +CONFLICTS_INSTALL= mariadb5*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ + mariadb10[013-9]-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ + mysql[0-9]*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ + percona[0-9]*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* + +FASTMTX_CMAKE_ON= -DWITH_FAST_MUTEXES=1 +OPTIONS_SUB= yes + +.if defined(CLIENT_ONLY) +# MySQL-Client part +USES+= readline +GSSAPI_NONE_CMAKE_ON= -DPLUGIN_AUTH_GSSAPI_CLIENT=NO +.else +# MySQL-Server part +USES+= mysql:102m +USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin +USE_RC_SUBR= mysql-server +USERS= mysql +GROUPS= mysql +CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" \ + -DPLUGIN_AUTH_GSSAPI_CLIENT=NO \ + -DCMAKE_SKIP_BUILD_RPATH:BOOL=YES \ + -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ + -DWITHOUT_CLIENT=1 + +.for ENGINE in ${OPTIONS_GROUP_ENGINES} +${ENGINE}_CMAKE_OFF= -DPLUGIN_${ENGINE}=NO \ + -DWITHOUT_${ENGINE}=1 +${ENGINE}_CMAKE_ON= -DPLUGIN_${ENGINE}=DYNAMIC +.endfor + +CONNECT_EXTRA_LIB_DEPENDS= libodbc.so:databases/unixODBC +CONNECT_EXTRA_USE= gnome=libxml2 +GSSAPI_NONE_CMAKE_ON= -DPLUGIN_AUTH_GSSAPI=NO -DPLUGIN_AUTH_GSSAPI_CLIENT=NO +LZ4_CMAKE_OFF= -DGRN_WITH_LZ4=OFF -DWITH_INNODB_LZ4=OFF -DWITH_ROCKSDB_LZ4=OFF +LZ4_CMAKE_ON= -DGRN_WITH_LZ4=ON -DWITH_INNODB_LZ4=ON -DWITH_ROCKSDB_LZ4=ON +LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4 +LZO_CMAKE_OFF= -DWITH_INNODB_LZO=OFF +LZO_CMAKE_ON= -DWITH_INNODB_LZO=ON +LZO_LIB_DEPENDS= liblzo2.so:archivers/lzo2 +MROONGA_IMPLIES= LZ4 +MSGPACK_LIB_DEPENDS= libmsgpackc.so:devel/msgpack +OQGRAPH_LIB_DEPENDS= libboost_system.so:devel/boost-libs \ + libJudy.so:devel/judy +SNAPPY_CMAKE_OFF= -DWITH_INNODB_SNAPPY=OFF -DWITH_ROCKSDB_snappy=OFF +SNAPPY_CMAKE_ON= -DWITH_INNODB_SNAPPY=ON -DWITH_ROCKSDB_snappy=ON +SNAPPY_LIB_DEPENDS= libsnappy.so:archivers/snappy +TOKUDB_IMPLIES= SNAPPY +TOKUDB_PORTDOCS= README.md +TOKUDB_VARS= LICENSE+=PerconaFT LICENSE_COMB=multi +ZMQ_LIB_DEPENDS= libzmq.so:net/libzmq4 +ZSTD_CMAKE_ON= -DWITH_ROCKSDB_ZSTD=ON +ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd + +NOT_FOR_ARCHS= i386 +NOT_FOR_ARCHS_REASON= currently does not compile on i386, see \ + https://jira.mariadb.org/browse/MDEV-9627 + +post-install: +# Remove programs to avoid conflict with mariadb102-client +# These are "client" components, so there should be a switch that +# prevents them from being installed but it's unknown right now + ${RM} ${STAGEDIR}${PREFIX}/bin/msql2mysql \ + ${STAGEDIR}${PREFIX}/bin/mysql_config \ + ${STAGEDIR}${PREFIX}/bin/mysql_find_rows \ + ${STAGEDIR}${PREFIX}/bin/mysqlaccess + ${RM} -r ${STAGEDIR}/${PREFIX}/share/mysql/policy \ + ${STAGEDIR}/${PREFIX}/share/pkgconfig +# See https://mariadb.atlassian.net/browse/MDEV-9529 + ${RM} ${STAGEDIR}/${PREFIX}/bin/maria_add_gis_sp.sql +.endif # defined(CLIENT_ONLY) + +.if defined(WITH_OPENSSL_PORT) +GSSAPI_BASE_IGNORE= BASE_GSSAPI is not compatible with OpenSSL from ports. Use other GSSAPI options or OpenSSL from base system +.endif + +.include <bsd.port.pre.mk> + +.if ${OPSYS} == DragonFly +CMAKE_ARGS+= -DWITHOUT_TOKUDB +.endif + +post-patch: + ${REINPLACE_CMD} 's/*.1/${MAN1}/' ${WRKSRC}/man/CMakeLists.txt + ${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/mysys/my_default.c + ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/scripts/mysql_config.sh +.if ${OPSYS} == DragonFly + ${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \ + ${WRKSRC}/cmake/os/DragonFly.cmake +.endif + +post-configure-MROONGA-on: + ${REINPLACE_CMD} 's|-llz4|-L${LOCALBASE}/lib -llz4|' \ + ${WRKSRC}/storage/mroonga/CMakeFiles/mroonga.dir/link.txt + +.include <bsd.port.post.mk> diff --git a/databases/mariadb102-server/distinfo b/databases/mariadb102-server/distinfo new file mode 100644 index 000000000000..8ca72bdf6c3c --- /dev/null +++ b/databases/mariadb102-server/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1495564383 +SHA256 (mariadb-10.2.6.tar.gz) = c385c76e40d6e5f0577eba021805da5f494a30c9ef51884baefe206d5658a2e5 +SIZE (mariadb-10.2.6.tar.gz) = 67599197 diff --git a/databases/mariadb102-server/files/extra-patch-include_my__compare.h b/databases/mariadb102-server/files/extra-patch-include_my__compare.h new file mode 100644 index 000000000000..5fc447b98cd7 --- /dev/null +++ b/databases/mariadb102-server/files/extra-patch-include_my__compare.h @@ -0,0 +1,11 @@ +--- include/my_compare.h.orig 2012-11-28 17:49:43.000000000 +0200 ++++ include/my_compare.h 2012-12-23 02:45:51.000000000 +0200 +@@ -40,7 +40,7 @@ + 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 32 /* Max segments for key */ + + #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6) diff --git a/databases/mariadb102-server/files/mysql-server.in b/databases/mariadb102-server/files/mysql-server.in new file mode 100644 index 000000000000..5f5603f2f575 --- /dev/null +++ b/databases/mariadb102-server/files/mysql-server.in @@ -0,0 +1,139 @@ +#!/bin/sh + +# $FreeBSD: head/databases/mariadb55-server/files/mysql-server.in 361647 2014-07-12 22:42:33Z rakuco $ +# +# PROVIDE: mysql +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf to enable mysql: +# mysql_(instance_)?enable (bool): Set to "NO" by default. +# Set it to "YES" to enable MySQL. +# mysql_(instance_)?limits (bool): Set to "NO" by default. +# Set it to yes to run `limits -e -U mysql` +# just before mysql starts. +# mysql_(instance_)?dbdir (str): Default to "/var/db/mysql" +# Base database directory. +# mysql_(instance_)?args (str): Custom additional arguments to be passed +# to mysqld_safe (default empty). +# mysql_(instance_)?pidfile (str): Custum PID file path and name. +# Default to "${mysql_dbdir}/${hostname}.pid". +# mysql_(instance_)?user (str): User to run mysqld as +# Default to "mysql" created by the port +# mysql_(instance_)?optfile (str): Server-specific option file. +# Default to "${mysql_dbdir}/my.cnf". +# mysql_instances (str): Set to "" by default. +# If defined, list of instances to enable + +. /etc/rc.subr + +name="mysql" +rcvar=mysql_enable + +load_rc_config $name + +: ${mysql_enable="NO"} +: ${mysql_limits="NO"} +: ${mysql_user="mysql"} +: ${mysql_limits_args="-e -U $mysql_user"} +: ${mysql_dbdir="/var/db/mysql"} +: ${mysql_optfile="${mysql_dbdir}/my.cnf"} + +command="/usr/sbin/daemon" +procname="%%PREFIX%%/libexec/mysqld" +start_precmd="${name}_prestart" +start_postcmd="${name}_poststart" + +if [ -n "$2" ]; then + instance="$2" + load_rc_config ${name}_${instance} + case "$mysql_instances" in + "$2 "*|*" $2 "*|*" $2"|"$2") + eval mysql_args="\${mysql_${instance}_args:-\"${mysql_args}\"}" + eval mysql_dbdir="\${mysql_${instance}_dbdir:-\"/var/db/mysql_${instance}\"}" + eval mysql_limits="\${mysql_${instance}_limits:-\"${mysql_limits}\"}" + eval mysql_user="\${mysql_${instance}_user:-\"${mysql_user}\"}" + eval mysql_limits_args="\${mysql_${instance}_limits_args:-\"-e -U $mysql_user\"}" + eval mysql_optfile="\${mysql_${instance}_optfile:-\"${mysql_dbdir}/my.cnf\"}" + eval mysql_pidfile="\${mysql_${instance}_pidfile:-\"${mysql_dbdir}/`/bin/hostname`.pid\"}" + ;; + *) + err 1 "$2 not found in mysql_instances" ;; + esac +else + if [ -n "${mysql_instances}" -a -n "$1" ]; then + for instance in ${mysql_instances}; do + eval _enable="\${mysql_${instance}_enable}" + case "${_enable:-${mysql_enable}}" in + [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) + continue + ;; + [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) + ;; + *) + if [ -z "$_enable" ]; then + _var=mysql_enable + else + _var=mysql_${instance}_enable + fi + warn "Bad value" \ + "'${_enable:-${mysql_enable}}'" \ + "for ${_var}. " \ + "Instance ${instance} skipped." + continue + ;; + esac + echo "===> mysql instance: ${instance}" + if %%PREFIX%%/etc/rc.d/mysql-server $1 ${instance}; then + success="${instance} ${success}" + else + failed="${instance} (${retcode}) ${failed}" + fi + done + exit 0 + else + mysql_pidfile=${mysql_pidfile:-"${mysql_dbdir}/`/bin/hostname`.pid"} + fi +fi + +pidfile=$mysql_pidfile +mysql_install_db="%%PREFIX%%/bin/mysql_install_db" +mysql_install_db_args="--basedir=%%PREFIX%% --datadir=${mysql_dbdir} --force" +command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_optfile} --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}" + +mysql_create_auth_tables() +{ + eval $mysql_install_db $mysql_install_db_args + [ $? -eq 0 ] && chown -R ${mysql_user}:$(id -gn $mysql_user) ${mysql_dbdir} +} + +mysql_prestart() +{ + local dir + for dir in /etc /etc/mysql; do + if [ -f "${dir}/my.cnf" ]; then + echo "Please move existing my.cnf file from ${dir} to %%PREFIX%%${dir}" + return 1 + fi + done + 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:-"-e -U $mysql_user"}` 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/mariadb102-server/files/patch-CMakeLists.txt b/databases/mariadb102-server/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..f7ca1515e95c --- /dev/null +++ b/databases/mariadb102-server/files/patch-CMakeLists.txt @@ -0,0 +1,27 @@ +--- CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ CMakeLists.txt +@@ -170,6 +170,8 @@ IF(DISABLE_SHARED) + ENDIF() + OPTION(ENABLED_PROFILING "Enable profiling" ON) + OPTION(WITHOUT_SERVER "Build only the client library and clients" OFF) ++OPTION(WITHOUT_CLIENT "Build only the server components" OFF) ++OPTION(WITHOUT_DOCS "Do not install documentation" OFF) + IF(UNIX) + OPTION(WITH_VALGRIND "Valgrind instrumentation" OFF) + ENDIF() +@@ -452,6 +454,7 @@ ADD_CUSTOM_TARGET(INFO_BIN ALL + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) + ++IF(NOT WITHOUT_DOCS) + INSTALL_DOCUMENTATION(README.md CREDITS COPYING COPYING.thirdparty + EXCEPTIONS-CLIENT COMPONENT Readme) + +@@ -463,6 +466,7 @@ IF(UNIX) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY COMPONENT Readme) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY Docs/README-wsrep COMPONENT Readme) + ENDIF() ++ENDIF() + + INCLUDE(CPack) + diff --git a/databases/mariadb102-server/files/patch-client_CMakeLists.txt b/databases/mariadb102-server/files/patch-client_CMakeLists.txt new file mode 100644 index 000000000000..fa4b8a378b30 --- /dev/null +++ b/databases/mariadb102-server/files/patch-client_CMakeLists.txt @@ -0,0 +1,78 @@ +--- client/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ client/CMakeLists.txt +@@ -35,6 +35,8 @@ COPY_OPENSSL_DLLS(copy_openssl_client) + SET(CLIENT_LIB mariadbclient mysys) + + ADD_DEFINITIONS(${SSL_DEFINES}) ++ ++IF(NOT WITHOUT_CLIENT) + MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc + ${CMAKE_SOURCE_DIR}/sql/sql_string.cc) + TARGET_LINK_LIBRARIES(mysql ${CLIENT_LIB}) +@@ -43,11 +45,6 @@ IF(UNIX) + SET_TARGET_PROPERTIES(mysql PROPERTIES ENABLE_EXPORTS TRUE) + ENDIF(UNIX) + +-MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test) +-SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS") +-TARGET_LINK_LIBRARIES(mysqltest ${CLIENT_LIB} pcre pcreposix) +-SET_TARGET_PROPERTIES(mysqltest PROPERTIES ENABLE_EXPORTS TRUE) +- + + MYSQL_ADD_EXECUTABLE(mysqlcheck mysqlcheck.c) + TARGET_LINK_LIBRARIES(mysqlcheck ${CLIENT_LIB}) +@@ -60,16 +57,6 @@ MYSQL_ADD_EXECUTABLE(mysqlimport mysqlim + SET_SOURCE_FILES_PROPERTIES(mysqlimport.c PROPERTIES COMPILE_FLAGS "-DTHREADS") + TARGET_LINK_LIBRARIES(mysqlimport ${CLIENT_LIB}) + +-MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c COMPONENT Server) +-TARGET_LINK_LIBRARIES(mysql_upgrade ${CLIENT_LIB}) +-ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs) +- +-MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c) +-TARGET_LINK_LIBRARIES(mysqlshow ${CLIENT_LIB}) +- +-MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c) +-TARGET_LINK_LIBRARIES(mysql_plugin ${CLIENT_LIB}) +- + MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc) + TARGET_LINK_LIBRARIES(mysqlbinlog ${CLIENT_LIB}) + +@@ -89,14 +76,34 @@ ENDIF(WIN32) + ADD_EXECUTABLE(async_example async_example.c) + TARGET_LINK_LIBRARIES(async_example ${CLIENT_LIB}) + +-SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin async_example ++SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap async_example + PROPERTIES HAS_CXX TRUE) + +- +-FOREACH(t mysql mysqltest mysqltest mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysql_plugin mysqlbinlog ++FOREACH(t mysql mysqlcheck mysqldump mysqlimport mysqlshow mysqlbinlog + mysqladmin mysqlslap async_example) + ADD_DEPENDENCIES(${t} GenError ${CLIENT_LIB}) + ENDFOREACH() + ++ENDIF() ++ ++MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test) ++SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS") ++TARGET_LINK_LIBRARIES(mysqltest ${CLIENT_LIB} pcre pcreposix) ++SET_TARGET_PROPERTIES(mysqltest PROPERTIES ENABLE_EXPORTS TRUE) ++ ++MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c COMPONENT Server) ++TARGET_LINK_LIBRARIES(mysql_upgrade ${CLIENT_LIB}) ++ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs) ++ ++MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c) ++TARGET_LINK_LIBRARIES(mysql_plugin ${CLIENT_LIB}) ++ ++SET_TARGET_PROPERTIES (mysql_upgrade mysql_plugin ++PROPERTIES HAS_CXX TRUE) ++ ++FOREACH(t mysqltest mysql_plugin mysql_upgrade) ++ ADD_DEPENDENCIES(${t} GenError ${CLIENT_LIB}) ++ENDFOREACH() ++ + ADD_DEFINITIONS(-DHAVE_DLOPEN) + diff --git a/databases/mariadb102-server/files/patch-extra_CMakeLists.txt b/databases/mariadb102-server/files/patch-extra_CMakeLists.txt new file mode 100644 index 000000000000..35960bb6a0ab --- /dev/null +++ b/databases/mariadb102-server/files/patch-extra_CMakeLists.txt @@ -0,0 +1,16 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- extra/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ extra/CMakeLists.txt +@@ -96,9 +96,11 @@ IF(UNIX) + MYSQL_ADD_EXECUTABLE(resolve_stack_dump resolve_stack_dump.c) + TARGET_LINK_LIBRARIES(resolve_stack_dump mysys) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysql_waitpid mysql_waitpid.c COMPONENT Client) + TARGET_LINK_LIBRARIES(mysql_waitpid mysys) + ++ENDIF() + MYSQL_ADD_EXECUTABLE(mysqld_safe_helper mysqld_safe_helper.c COMPONENT Server) + TARGET_LINK_LIBRARIES(mysqld_safe_helper mysys) + ENDIF() diff --git a/databases/mariadb102-server/files/patch-include_CMakeLists.txt b/databases/mariadb102-server/files/patch-include_CMakeLists.txt new file mode 100644 index 000000000000..bae4fbbb919f --- /dev/null +++ b/databases/mariadb102-server/files/patch-include_CMakeLists.txt @@ -0,0 +1,27 @@ +--- include/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ include/CMakeLists.txt +@@ -64,20 +64,24 @@ SET(HEADERS + json_lib.h + ) + ++IF(FALSE) + INSTALL(FILES ${HEADERS} DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development) + FOREACH(f ${HEADERS_GEN_CONFIGURE}) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${f} DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) + ENDFOREACH(f) + INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development FILES_MATCHING PATTERN "*.h") ++ENDIF() + + STRING(REPLACE "." "\\." EXCL_RE "${HEADERS};${HEADERS_GEN_CONFIGURE}") + STRING(REPLACE ";" "|" EXCL_RE "${EXCL_RE}") + ++IF(FALSE) + INSTALL(DIRECTORY . DESTINATION ${INSTALL_INCLUDEDIR}/private COMPONENT Development + FILES_MATCHING PATTERN "*.h" + PATTERN CMakeFiles EXCLUDE + PATTERN mysql EXCLUDE + REGEX "\\./(${EXCL_RE}$)" EXCLUDE) ++ENDIF() + + INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/. DESTINATION ${INSTALL_INCLUDEDIR}/private COMPONENT Development + FILES_MATCHING PATTERN "*.h" diff --git a/databases/mariadb102-server/files/patch-libmariadb_CMakeLists.txt b/databases/mariadb102-server/files/patch-libmariadb_CMakeLists.txt new file mode 100644 index 000000000000..b8638525768c --- /dev/null +++ b/databases/mariadb102-server/files/patch-libmariadb_CMakeLists.txt @@ -0,0 +1,11 @@ +--- libmariadb/CMakeLists.txt.orig 2017-05-28 18:41:39 UTC ++++ libmariadb/CMakeLists.txt +@@ -360,7 +360,7 @@ ENDIF() + ADD_SUBDIRECTORY(include) + ADD_SUBDIRECTORY(libmariadb) + ADD_SUBDIRECTORY(plugins) +-IF(NOT WIN32) ++IF(NOT WIN32 AND NOT WITHOUT_CLIENT) + ADD_SUBDIRECTORY(mariadb_config) + ENDIF() + diff --git a/databases/mariadb102-server/files/patch-libmariadb_include_CMakeLists.txt b/databases/mariadb102-server/files/patch-libmariadb_include_CMakeLists.txt new file mode 100644 index 000000000000..70e8fad20f85 --- /dev/null +++ b/databases/mariadb102-server/files/patch-libmariadb_include_CMakeLists.txt @@ -0,0 +1,15 @@ +--- libmariadb/include/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ libmariadb/include/CMakeLists.txt +@@ -21,6 +21,7 @@ IF(WIN32) + SET(WIX_INCLUDES ${MARIADB_CLIENT_INCLUDES} ${MARIADB_ADDITIONAL_INCLUDES} ${MYSQL_ADDITIONAL_INCLUDES} PARENT_SCOPE) + ENDIF() + ++IF(NOT WITHOUT_CLIENT) + INSTALL(FILES + ${MARIADB_CLIENT_INCLUDES} + DESTINATION ${INSTALL_INCLUDEDIR} +@@ -33,3 +34,4 @@ INSTALL(FILES + ${MARIADB_ADDITIONAL_INCLUDES} + DESTINATION ${INSTALL_INCLUDEDIR}/mariadb + COMPONENT Development) ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-libmariadb_libmariadb_CMakeLists.txt b/databases/mariadb102-server/files/patch-libmariadb_libmariadb_CMakeLists.txt new file mode 100644 index 000000000000..0542221db134 --- /dev/null +++ b/databases/mariadb102-server/files/patch-libmariadb_libmariadb_CMakeLists.txt @@ -0,0 +1,14 @@ +--- libmariadb/libmariadb/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ libmariadb/libmariadb/CMakeLists.txt +@@ -401,9 +401,11 @@ SET_TARGET_PROPERTIES(libmariadb PROPERT + INSTALL(TARGETS mariadbclient + COMPONENT Development + DESTINATION ${INSTALL_LIBDIR}) ++IF(NOT WITHOUT_CLIENT) + INSTALL(TARGETS libmariadb + COMPONENT SharedLibraries + DESTINATION ${INSTALL_LIBDIR}) ++ENDIF() + + IF(WIN32) + # On Windows, install PDB diff --git a/databases/mariadb102-server/files/patch-libmariadb_plugins_auth_CMakeLists.txt b/databases/mariadb102-server/files/patch-libmariadb_plugins_auth_CMakeLists.txt new file mode 100644 index 000000000000..c4f65ffb0ffe --- /dev/null +++ b/databases/mariadb102-server/files/patch-libmariadb_plugins_auth_CMakeLists.txt @@ -0,0 +1,31 @@ +--- libmariadb/plugins/auth/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ libmariadb/plugins/auth/CMakeLists.txt +@@ -26,6 +26,7 @@ IF(AUTH_DIALOG_PLUGIN_TYPE MATCHES "DYNA + INSTALL_PLUGIN(dialog ${CC_BINARY_DIR}/plugins/auth) + ENDIF() + ++IF(NOT WITHOUT_CLIENT) + # SHA256 plugin + IF(AUTH_SHA256PW_PLUGIN_TYPE MATCHES "DYNAMIC") + ADD_DEFINITIONS(-DHAVE_SHA256PW_DYNAMIC=1) +@@ -51,6 +52,7 @@ IF(AUTH_SHA256PW_PLUGIN_TYPE MATCHES "DY + SIGN_TARGET(sha256_password) + INSTALL_PLUGIN(sha256_password ${CC_BINARY_DIR}/plugins/auth) + ENDIF() ++ENDIF() + + # old_password plugin + IF(AUTH_OLDPASSWORD_PLUGIN_TYPE MATCHES "DYNAMIC") +@@ -72,6 +74,7 @@ IF(AUTH_OLDPASSWORD_PLUGIN_TYPE MATCHES + SIGN_TARGET(mysql_old_password) + ENDIF() + ++IF(NOT WITHOUT_CLIENT) + # Cleartext + IF(AUTH_CLEARTEXT_PLUGIN_TYPE MATCHES "DYNAMIC") + ADD_DEFINITIONS(-DHAVE_CLEARTEXT_DYNAMIC=1) +@@ -124,3 +127,4 @@ IF(${AUTH_GSSAPI_PLUGIN_TYPE} MATCHES "D + INSTALL_PLUGIN(auth_gssapi_client ${CC_BINARY_DIR}/plugins/auth) + ENDIF() + ENDIF() ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-libmariadb_plugins_connection_CMakeLists.txt b/databases/mariadb102-server/files/patch-libmariadb_plugins_connection_CMakeLists.txt new file mode 100644 index 000000000000..2c033d1b069a --- /dev/null +++ b/databases/mariadb102-server/files/patch-libmariadb_plugins_connection_CMakeLists.txt @@ -0,0 +1,19 @@ +--- libmariadb/plugins/connection/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ libmariadb/plugins/connection/CMakeLists.txt +@@ -5,6 +5,7 @@ ENDIF() + SET(CMAKE_SHARED_LIBRARY_PREFIX "") + INCLUDE_DIRECTORIES(${CC_SOURCE_DIR}/include) + ++IF(NOT WITHOUT_CLIENT) + IF(REPLICATION_PLUGIN_TYPE MATCHES "DYNAMIC") + IF(WIN32) + SET_VERSION_INFO("TARGET:replication" +@@ -36,7 +37,7 @@ IF(AURORA_PLUGIN_TYPE MATCHES "DYNAMIC") + ENDIF() + SET(INSTALL_LIBS ${INSTALL_LIBS} aurora) + ENDIF() +- ++ENDIF() + + IF(INSTALL_LIBS) + INSTALL(TARGETS diff --git a/databases/mariadb102-server/files/patch-libmariadb_plugins_trace_CMakeLists.txt b/databases/mariadb102-server/files/patch-libmariadb_plugins_trace_CMakeLists.txt new file mode 100644 index 000000000000..98a4a1daeaf2 --- /dev/null +++ b/databases/mariadb102-server/files/patch-libmariadb_plugins_trace_CMakeLists.txt @@ -0,0 +1,15 @@ +--- libmariadb/plugins/trace/CMakeLists.txt.orig 2017-05-14 23:13:15 UTC ++++ libmariadb/plugins/trace/CMakeLists.txt +@@ -4,6 +4,7 @@ IF(WITH_SIGNCODE) + INCLUDE(${CC_SOURCE_DIR}/cmake/sign.cmake) + ENDIF() + ++IF(NOT WITHOUT_CLIENT) + # Trace example plugin + IF(TRACE_EXAMPLE_PLUGIN_TYPE MATCHES "DYNAMIC") + IF(WIN32) +@@ -23,3 +24,4 @@ IF(TRACE_EXAMPLE_PLUGIN_TYPE MATCHES "DY + INSTALL_PLUGIN(trace_example ${CC_BINARY_DIR}/plugins/trace) + SIGN_TARGET(trace_example) + ENDIF() ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-libservices_CMakeLists.txt b/databases/mariadb102-server/files/patch-libservices_CMakeLists.txt new file mode 100644 index 000000000000..82bf5fac68ea --- /dev/null +++ b/databases/mariadb102-server/files/patch-libservices_CMakeLists.txt @@ -0,0 +1,11 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- libservices/CMakeLists.txt.orig 2017-05-14 23:13:16 UTC ++++ libservices/CMakeLists.txt +@@ -40,4 +40,6 @@ SET(MYSQLSERVICES_SOURCES + ) + + ADD_CONVENIENCE_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES}) ++IF(FALSE) + INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development) ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-man_CMakeLists.txt b/databases/mariadb102-server/files/patch-man_CMakeLists.txt new file mode 100644 index 000000000000..350a8f5ef2b7 --- /dev/null +++ b/databases/mariadb102-server/files/patch-man_CMakeLists.txt @@ -0,0 +1,14 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- man/CMakeLists.txt.orig 2017-05-14 23:13:16 UTC ++++ man/CMakeLists.txt +@@ -38,7 +38,8 @@ SET(MAN1_TEST mysql-stress-test.pl.1 mys + + INSTALL(FILES ${MAN1_SERVER} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesServer) + INSTALL(FILES ${MAN8_SERVER} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPagesServer) ++IF(FALSE) + INSTALL(FILES ${MAN1_CLIENT} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesClient) + INSTALL(FILES ${MAN1_DEVEL} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesDevelopment) + INSTALL(FILES ${MAN1_TEST} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesTest) +- ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-mysys_my__default.c b/databases/mariadb102-server/files/patch-mysys_my__default.c new file mode 100644 index 000000000000..d4a4f3c3bc09 --- /dev/null +++ b/databases/mariadb102-server/files/patch-mysys_my__default.c @@ -0,0 +1,52 @@ +--- mysys/my_default.c.orig 2017-05-14 23:13:17 UTC ++++ mysys/my_default.c +@@ -785,7 +785,7 @@ static int search_default_file_with_ext( + { + MY_STAT stat_info; + if (!my_stat(name,&stat_info,MYF(0))) +- return 1; ++ return 0; + /* + Ignore world-writable regular files. + This is mainly done to protect us to not read a file created by +@@ -803,6 +803,14 @@ static int search_default_file_with_ext( + if (!(fp= mysql_file_fopen(key_file_cnf, name, O_RDONLY, MYF(0)))) + return 1; /* Ignore wrong files */ + ++ if (strstr(name, "/etc") == name) ++ { ++ fprintf(stderr, ++ "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n", ++ name,name); ++ goto err; ++ } ++ + while (mysql_file_fgets(buff, sizeof(buff) - 1, fp)) + { + line++; +@@ -1067,7 +1075,8 @@ void my_print_default_files(const char * + if (name[0] == FN_HOMELIB) /* Add . to filenames in home */ + *end++= '.'; + strxmov(end, conf_file, *ext, " ", NullS); +- fputs(name, stdout); ++ if (strstr(name, "/etc") != name) ++ fputs(name, stdout); + } + } + } +@@ -1192,13 +1201,10 @@ static const char **init_default_directo + + #else + +-#if defined(DEFAULT_SYSCONFDIR) +- if (DEFAULT_SYSCONFDIR[0]) +- errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); +-#else + errors += add_directory(alloc, "/etc/", dirs); + errors += add_directory(alloc, "/etc/mysql/", dirs); +-#endif /* DEFAULT_SYSCONFDIR */ ++ errors += add_directory(alloc, "/usr/local/etc/", dirs); ++ errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs); + + #endif + diff --git a/databases/mariadb102-server/files/patch-pcre_CMakeLists.txt b/databases/mariadb102-server/files/patch-pcre_CMakeLists.txt new file mode 100644 index 000000000000..8efeb817eac4 --- /dev/null +++ b/databases/mariadb102-server/files/patch-pcre_CMakeLists.txt @@ -0,0 +1,13 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- pcre/CMakeLists.txt.orig 2017-05-14 23:13:17 UTC ++++ pcre/CMakeLists.txt +@@ -510,6 +510,8 @@ IF(PCRE_SHOW_REPORT) + MESSAGE(STATUS "") + ENDIF(PCRE_SHOW_REPORT) + ++IF(FALSE) + INSTALL(FILES ${CMAKE_BINARY_DIR}/pcre/pcre.h DESTINATION ${INSTALL_INCLUDEDIR}/private COMPONENT Development) ++ENDIF() + + # end CMakeLists.txt diff --git a/databases/mariadb102-server/files/patch-plugin_auth__ed25519_CMakeLists.txt b/databases/mariadb102-server/files/patch-plugin_auth__ed25519_CMakeLists.txt new file mode 100644 index 000000000000..429f6748682b --- /dev/null +++ b/databases/mariadb102-server/files/patch-plugin_auth__ed25519_CMakeLists.txt @@ -0,0 +1,14 @@ +--- plugin/auth_ed25519/CMakeLists.txt.orig 2017-05-14 23:13:17 UTC ++++ plugin/auth_ed25519/CMakeLists.txt +@@ -23,9 +24,11 @@ ENDIF() + # compiled with MYSQL_DYNAMIC_PLUGIN + MYSQL_ADD_PLUGIN(auth_ed25519 server_ed25519.c ${REF10_SOURCES} MODULE_ONLY) + ++IF(NOT WITHOUT_CLIENT) + # client plugin and unit test ed25519-t can use the library + MYSQL_ADD_PLUGIN(client_ed25519 client_ed25519.c MODULE_ONLY + CLIENT LINK_LIBRARIES mysys_ssl ref10 COMPONENT ClientPlugins) ++ENDIF() + + IF(WITH_UNIT_TESTS) + MY_ADD_TESTS(ed25519 LINK_LIBRARIES mysys ref10) diff --git a/databases/mariadb102-server/files/patch-scripts_mysql__config.sh b/databases/mariadb102-server/files/patch-scripts_mysql__config.sh new file mode 100644 index 000000000000..00ee7218322a --- /dev/null +++ b/databases/mariadb102-server/files/patch-scripts_mysql__config.sh @@ -0,0 +1,12 @@ +--- scripts/mysql_config.sh.orig 2017-05-24 09:15:23 UTC ++++ scripts/mysql_config.sh +@@ -106,7 +106,9 @@ fi + + # Create options + libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@" ++libs="$libs -L/usr/local/lib " + embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@" ++embedded_libs="$embedded_libs -L/usr/local/lib " + + include="-I$pkgincludedir" + if [ "$basedir" != "/usr" ]; then diff --git a/databases/mariadb102-server/files/patch-scripts_mysqld__safe.sh b/databases/mariadb102-server/files/patch-scripts_mysqld__safe.sh new file mode 100644 index 000000000000..0c694bd3a30a --- /dev/null +++ b/databases/mariadb102-server/files/patch-scripts_mysqld__safe.sh @@ -0,0 +1,16 @@ +--- scripts/mysqld_safe.sh.orig 2017-05-24 09:15:23 UTC ++++ scripts/mysqld_safe.sh +@@ -568,11 +568,11 @@ fi + + if test -z "$MYSQL_HOME" + then +- if test -r "$DATADIR/my.cnf" ++ if test -r "$DATADIR/etc/my.cnf" + then + log_error "WARNING: Found $DATADIR/my.cnf + The data directory is not a valid location for my.cnf, please move it to +-$MY_BASEDIR_VERSION/my.cnf" ++$MY_BASEDIR_VERSION/etc/my.cnf" + fi + MYSQL_HOME=$MY_BASEDIR_VERSION + fi diff --git a/databases/mariadb102-server/files/patch-sql-common_client.c b/databases/mariadb102-server/files/patch-sql-common_client.c new file mode 100644 index 000000000000..ad77fc7f4321 --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql-common_client.c @@ -0,0 +1,13 @@ +--- sql-common/client.c.orig 2017-05-14 23:13:18 UTC ++++ sql-common/client.c +@@ -104,6 +104,10 @@ my_bool net_flush(NET *net); + #define CONNECT_TIMEOUT 0 + #endif + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) || defined(HAVE_YASSL) ++#define ASN1_STRING_get0_data(X) ASN1_STRING_data(X) ++#endif ++ + #include "client_settings.h" + #include <ssl_compat.h> + #include <sql_common.h> diff --git a/databases/mariadb102-server/files/patch-sql_CMakeLists.txt b/databases/mariadb102-server/files/patch-sql_CMakeLists.txt new file mode 100644 index 000000000000..e411d0fea5c8 --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql_CMakeLists.txt @@ -0,0 +1,30 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- sql/CMakeLists.txt.orig 2017-05-14 23:13:18 UTC ++++ sql/CMakeLists.txt +@@ -379,6 +379,7 @@ ADD_CUSTOM_TARGET(distclean + VERBATIM + ) + ++IF(FALSE) + IF(INSTALL_LAYOUT STREQUAL "STANDALONE") + + # Copy db.opt into data/test/ +@@ -422,6 +423,7 @@ ELSE() + INSTALL(FILES ${DUMMY_FILE} DESTINATION data/mysql COMPONENT DataFiles) + ENDIF(WIN32 AND MYSQLD_EXECUTABLE) + ENDIF(INSTALL_LAYOUT STREQUAL "STANDALONE") ++ENDIF() + + IF(WIN32) + SET(my_bootstrap_sql ${CMAKE_CURRENT_BINARY_DIR}/my_bootstrap.sql) +@@ -465,7 +467,9 @@ IF(WIN32) + TARGET_LINK_LIBRARIES(mysql_upgrade_service mysys winservice) + ENDIF(WIN32) + ++IF(FALSE) + INSTALL(DIRECTORY . DESTINATION ${INSTALL_INCLUDEDIR}/private COMPONENT Development + FILES_MATCHING PATTERN "*.h" + PATTERN share EXCLUDE + PATTERN CMakeFiles EXCLUDE) ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-sql_mysqld.cc b/databases/mariadb102-server/files/patch-sql_mysqld.cc new file mode 100644 index 000000000000..17e28f8c2b7c --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql_mysqld.cc @@ -0,0 +1,29 @@ +--- sql/mysqld.cc.orig 2017-05-14 23:13:18 UTC ++++ sql/mysqld.cc +@@ -111,6 +111,7 @@ + #endif + + #include <my_systemd.h> ++#include <my_crypt.h> + + #define mysqld_charset &my_charset_latin1 + +@@ -120,6 +121,7 @@ + #define HAVE_CLOSE_SERVER_SOCK 1 + #endif + ++ + extern "C" { // Because of SCO 3.2V4.2 + #include <sys/stat.h> + #ifndef __GNU_LIBRARY__ +@@ -4838,8 +4840,9 @@ static void init_ssl() + while ((err= ERR_get_error())) + sql_print_warning("SSL error: %s", ERR_error_string(err, NULL)); + } +- else ++ else { + ERR_remove_state(0); ++ } + } + else + { diff --git a/databases/mariadb102-server/files/patch-sql_share_CMakeLists.txt b/databases/mariadb102-server/files/patch-sql_share_CMakeLists.txt new file mode 100644 index 000000000000..3d0dab9820c2 --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql_share_CMakeLists.txt @@ -0,0 +1,17 @@ +--- sql/share/CMakeLists.txt.orig 2017-05-14 23:13:18 UTC ++++ sql/share/CMakeLists.txt +@@ -14,6 +14,8 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + ++IF(FALSE) ++ + SET (dirs + danish + german +@@ -53,3 +55,5 @@ INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE + ) + + INSTALL(FILES ${files} DESTINATION ${INSTALL_MYSQLSHAREDIR} COMPONENT Server) ++ ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-sql_slave.cc b/databases/mariadb102-server/files/patch-sql_slave.cc new file mode 100644 index 000000000000..a5c8d6649650 --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql_slave.cc @@ -0,0 +1,14 @@ +--- sql/slave.cc.orig 2017-05-14 23:13:18 UTC ++++ sql/slave.cc +@@ -14,6 +14,11 @@ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#define ERR_remove_state(X) ++#elif defined(HAVE_ERR_remove_thread_state) ++#define ERR_remove_state(X) ERR_remove_thread_state(NULL) ++#endif + + /** + @addtogroup Replication diff --git a/databases/mariadb102-server/files/patch-sql_sql__trigger.cc b/databases/mariadb102-server/files/patch-sql_sql__trigger.cc new file mode 100644 index 000000000000..922e38d05e3d --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql_sql__trigger.cc @@ -0,0 +1,52 @@ +Fix clang build error + +--- sql/sql_trigger.cc.orig 2017-05-14 23:13:18 UTC ++++ sql/sql_trigger.cc +@@ -177,32 +177,32 @@ static File_option triggers_file_paramet + { + { + { C_STRING_WITH_LEN("triggers") }, +- my_offsetof(class Table_triggers_list, definitions_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definitions_list)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("sql_modes") }, +- my_offsetof(class Table_triggers_list, definition_modes_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definition_modes_list)), + FILE_OPTIONS_ULLLIST + }, + { + { C_STRING_WITH_LEN("definers") }, +- my_offsetof(class Table_triggers_list, definers_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definers_list)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("client_cs_names") }, +- my_offsetof(class Table_triggers_list, client_cs_names), ++ static_cast<int>(my_offsetof(class Table_triggers_list, client_cs_names)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("connection_cl_names") }, +- my_offsetof(class Table_triggers_list, connection_cl_names), ++ static_cast<int>(my_offsetof(class Table_triggers_list, connection_cl_names)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("db_cl_names") }, +- my_offsetof(class Table_triggers_list, db_cl_names), ++ static_cast<int>(my_offsetof(class Table_triggers_list, db_cl_names)), + FILE_OPTIONS_STRLIST + }, + { +@@ -216,7 +216,7 @@ static File_option triggers_file_paramet + File_option sql_modes_parameters= + { + { C_STRING_WITH_LEN("sql_modes") }, +- my_offsetof(class Table_triggers_list, definition_modes_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definition_modes_list)), + FILE_OPTIONS_ULLLIST + }; + diff --git a/databases/mariadb102-server/files/patch-sql_sql__view.cc b/databases/mariadb102-server/files/patch-sql_sql__view.cc new file mode 100644 index 000000000000..b77fda022099 --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql_sql__view.cc @@ -0,0 +1,65 @@ +Fix clang build error + +--- sql/sql_view.cc.orig 2017-05-14 23:13:18 UTC ++++ sql/sql_view.cc +@@ -736,46 +736,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_VIEW_ALGO}, + {{ 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}, + {{ C_STRING_WITH_LEN("mariadb-version")}, + my_offsetof(TABLE_LIST, mariadb_version), diff --git a/databases/mariadb102-server/files/patch-sql_sys__vars.cc b/databases/mariadb102-server/files/patch-sql_sys__vars.cc new file mode 100644 index 000000000000..5d9f14d03828 --- /dev/null +++ b/databases/mariadb102-server/files/patch-sql_sys__vars.cc @@ -0,0 +1,40 @@ +Fix clang build error + +--- sql/sys_vars.cc.orig 2017-05-14 23:13:18 UTC ++++ sql/sys_vars.cc +@@ -1067,7 +1067,7 @@ static Sys_var_ulong Sys_interactive_tim + "connection before closing it", + NO_SET_STMT 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_ulonglong Sys_join_buffer_size( + "join_buffer_size", +@@ -2242,7 +2242,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)); + +@@ -2257,7 +2257,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)); + +@@ -3505,7 +3505,7 @@ static Sys_var_ulong Sys_net_wait_timeou + "The number of seconds the server waits for activity on a " + "connection before closing it", + NO_SET_STMT 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/mariadb102-server/files/patch-storage_innobase_lz4.cmake b/databases/mariadb102-server/files/patch-storage_innobase_lz4.cmake new file mode 100644 index 000000000000..096529fae9f5 --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_innobase_lz4.cmake @@ -0,0 +1,36 @@ +--- storage/innobase/lz4.cmake.orig 2017-05-14 23:13:18 UTC ++++ storage/innobase/lz4.cmake +@@ -17,21 +17,29 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING + + MACRO (MYSQL_CHECK_LZ4) + IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO") +- CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H) +- CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB) +- CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT) ++ find_path(LZ4_INCLUDE_DIR NAMES lz4.h) ++ find_library(LZ4_LIBRARY NAMES lz4) ++ IF (LZ4_LIBRARY) ++ get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY) ++#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}") ++ IF (LZ4_INCLUDE_DIR) ++ SET(HAVE_LZ4_H YES) ++ ENDIF() ++ CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB) ++ CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT) + + IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H) + ADD_DEFINITIONS(-DHAVE_LZ4=1) + IF (HAVE_LZ4_COMPRESS_DEFAULT) + ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1) + ENDIF() +- LINK_LIBRARIES(lz4) ++ LINK_LIBRARIES(innobase ${LZ4_LIBRARY}) + ELSE() + IF (WITH_INNODB_LZ4 STREQUAL "ON") + MESSAGE(FATAL_ERROR "Required lz4 library is not found") + ENDIF() + ENDIF() ++ ENDIF() + ENDIF() + ENDMACRO() + diff --git a/databases/mariadb102-server/files/patch-storage_innobase_lzo.cmake b/databases/mariadb102-server/files/patch-storage_innobase_lzo.cmake new file mode 100644 index 000000000000..afabe8542926 --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_innobase_lzo.cmake @@ -0,0 +1,38 @@ +--- storage/innobase/lzo.cmake.orig 2017-05-14 23:13:18 UTC ++++ storage/innobase/lzo.cmake +@@ -17,12 +17,10 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING + + MACRO (MYSQL_CHECK_LZO_STATIC) + IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO") +- CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H) +- CHECK_LIBRARY_EXISTS(liblzo2.a lzo1x_1_compress "" HAVE_LZO_LIB) +- ++ CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "${LZO_LIBDIR}" HAVE_LZO_LIB) + IF(HAVE_LZO_LIB AND HAVE_LZO_H) + ADD_DEFINITIONS(-DHAVE_LZO=1) +- LINK_LIBRARIES(liblzo2.a) ++ LINK_LIBRARIES(lzo2) + ELSE() + IF (WITH_INNODB_LZO STREQUAL "ON") + MESSAGE(FATAL_ERROR "Required lzo library is not found") +@@ -33,12 +31,16 @@ ENDMACRO() + + MACRO (MYSQL_CHECK_LZO) + IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO") +- CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H) +- CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB) +- ++ find_path(LZO_INCLUDE NAMES lzo/lzo1x.h) ++ find_library(LZO_LIBRARY NAMES lzo2) ++ get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY) ++ IF (LZO_INCLUDE) ++ SET(HAVE_LZO_H 1) ++ ENDIF() ++ CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB) + IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H) + ADD_DEFINITIONS(-DHAVE_LZO=1) +- LINK_LIBRARIES(lzo2) ++ LINK_LIBRARIES(${LZO_LIBRARY}) + ELSE() + IF (WITH_INNODB_LZO STREQUAL "ON") + MESSAGE(FATAL_ERROR "Required lzo library is not found") diff --git a/databases/mariadb102-server/files/patch-storage_innobase_snappy.cmake b/databases/mariadb102-server/files/patch-storage_innobase_snappy.cmake new file mode 100644 index 000000000000..42c80e08d04a --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_innobase_snappy.cmake @@ -0,0 +1,24 @@ +--- storage/innobase/snappy.cmake.orig 2017-05-14 23:13:18 UTC ++++ storage/innobase/snappy.cmake +@@ -17,12 +17,17 @@ SET(WITH_INNODB_SNAPPY AUTO CACHE STRING + + MACRO (MYSQL_CHECK_SNAPPY) + IF (WITH_INNODB_SNAPPY STREQUAL "ON" OR WITH_INNODB_SNAPPY STREQUAL "AUTO") +- CHECK_INCLUDE_FILES(snappy-c.h HAVE_SNAPPY_H) +- CHECK_LIBRARY_EXISTS(snappy snappy_uncompress "" HAVE_SNAPPY_SHARED_LIB) +- ++ find_path(SNAPPY_INCLUDE_DIR NAMES snappy-c.h) ++ find_library(SNAPPY_LIBRARY NAMES snappy) ++ get_filename_component(SNAPPY_LIBDIR ${SNAPPY_LIBRARY} DIRECTORY) ++ IF (SNAPPY_INCLUDE_DIR) ++ SET(HAVE_SNAPPY_H 1) ++ ENDIF() ++ CHECK_LIBRARY_EXISTS(snappy snappy_uncompress ${SNAPPY_LIBDIR} HAVE_SNAPPY_SHARED_LIB) ++MESSAGE(STATUS "HAVE_SNAPPY_H=${HAVE_SNAPPY_H} HAVE_SNAPPY_SHARED_LIB=${HAVE_SNAPPY_SHARED_LIB} SNAPPY_LIBDIR=${SNAPPY_LIBDIR} ") + IF(HAVE_SNAPPY_SHARED_LIB AND HAVE_SNAPPY_H) + ADD_DEFINITIONS(-DHAVE_SNAPPY=1) +- LINK_LIBRARIES(snappy) ++ LINK_LIBRARIES(${SNAPPY_LIBRARY}) + ELSE() + IF (WITH_INNODB_SNAPPY STREQUAL "ON") + MESSAGE(FATAL_ERROR "Required snappy library is not found") diff --git a/databases/mariadb102-server/files/patch-storage_mroonga_vendor_groonga_CMakeLists.txt b/databases/mariadb102-server/files/patch-storage_mroonga_vendor_groonga_CMakeLists.txt new file mode 100644 index 000000000000..023d10e97d94 --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_mroonga_vendor_groonga_CMakeLists.txt @@ -0,0 +1,15 @@ +From https://github.com/openquery/mariadb-server/commit/43bf72e45b9ead6aa0dc4abd6e5719c6381974b5 + +--- storage/mroonga/vendor/groonga/CMakeLists.txt.orig 2017-05-14 23:13:18 UTC ++++ storage/mroonga/vendor/groonga/CMakeLists.txt +@@ -167,6 +167,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COM + MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-clobbered") + endif() + ++if(CMAKE_COMPILER_IS_CLANGCXX) ++ MY_CHECK_AND_SET_COMPILER_FLAG("-fexceptions") ++endif() ++ + if(NOT DEFINED CMAKE_C_COMPILE_OPTIONS_PIC) + # For old CMake + if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGCXX) diff --git a/databases/mariadb102-server/files/patch-storage_rocksdb_rocksdb_db_db__impl.cc b/databases/mariadb102-server/files/patch-storage_rocksdb_rocksdb_db_db__impl.cc new file mode 100644 index 000000000000..3b89cba91daf --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_rocksdb_rocksdb_db_db__impl.cc @@ -0,0 +1,23 @@ +--- storage/rocksdb/rocksdb/db/db_impl.cc.orig 2017-05-25 21:54:40 UTC ++++ storage/rocksdb/rocksdb/db/db_impl.cc +@@ -18,7 +18,7 @@ + #ifdef OS_SOLARIS + #include <alloca.h> + #endif +-#ifdef ROCKSDB_JEMALLOC ++#if defined(ROCKSDB_JEMALLOC) && !defined(__FreeBSD__) + #include "jemalloc/jemalloc.h" + #endif + +@@ -400,7 +400,11 @@ static void DumpMallocStats(std::string* + std::unique_ptr<char[]> buf{new char[kMallocStatusLen + 1]}; + mstat.cur = buf.get(); + mstat.end = buf.get() + kMallocStatusLen; ++#ifdef __FreeBSD__ ++ __malloc_stats_print(GetJemallocStatus, &mstat, ""); ++#else + je_malloc_stats_print(GetJemallocStatus, &mstat, ""); ++#endif + stats->append(buf.get()); + #endif // ROCKSDB_JEMALLOC + } diff --git a/databases/mariadb102-server/files/patch-storage_tokudb_CMakeLists.txt b/databases/mariadb102-server/files/patch-storage_tokudb_CMakeLists.txt new file mode 100644 index 000000000000..a8a1ce252be2 --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_tokudb_CMakeLists.txt @@ -0,0 +1,12 @@ +--- storage/tokudb/CMakeLists.txt.orig 2017-05-14 23:13:20 UTC ++++ storage/tokudb/CMakeLists.txt +@@ -108,9 +108,6 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINA + TARGET_LINK_LIBRARIES(tokudb tokufractaltree_static tokuportability_static + ${ZLIB_LIBRARY} ${LIBJEMALLOC} 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") +- + IF (INSTALL_SYSCONF2DIR) + INSTALL(FILES tokudb.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT tokudb-engine) diff --git a/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_CMakeLists.txt b/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_CMakeLists.txt new file mode 100644 index 000000000000..9ef62147175b --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_CMakeLists.txt @@ -0,0 +1,11 @@ +--- storage/tokudb/PerconaFT/CMakeLists.txt.orig 2017-05-14 23:13:20 UTC ++++ storage/tokudb/PerconaFT/CMakeLists.txt +@@ -80,7 +80,7 @@ add_subdirectory(src) + add_subdirectory(ftcxx) + add_subdirectory(tools) + +-INSTALL_DOCUMENTATION(README.md COPYING.AGPLv3 COPYING.GPLv2 PATENTS ++INSTALL_DOCUMENTATION(README.md + COMPONENT Server) + + ## build tags diff --git a/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake b/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake new file mode 100644 index 000000000000..b4235b8fe8e7 --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuThirdParty.cmake @@ -0,0 +1,39 @@ +Do NOT use bundled libs, use xz/lzma from base and archivers/snappy from ports + +--- storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake.orig 2017-05-14 23:13:20 UTC ++++ storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake +@@ -34,6 +34,13 @@ if (CMAKE_PROJECT_NAME STREQUAL TokuDB) + endif () + endif () + ++IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ include_directories("/usr/include") ++ ++ add_library(lzma SHARED IMPORTED) ++ set_target_properties(lzma PROPERTIES IMPORTED_LOCATION ++ "/usr/lib/liblzma.so") ++ELSE() + ## add lzma with an external project + set(xz_configure_opts --with-pic --enable-static) + if (APPLE) +@@ -105,8 +112,15 @@ add_library(lzma STATIC IMPORTED) + set_target_properties(lzma PROPERTIES IMPORTED_LOCATION + "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib/liblzma.a") + add_dependencies(lzma build_lzma) ++ENDIF() + ++IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ include_directories("/usr/local/include") + ++ add_library(snappy SHARED IMPORTED) ++ set_target_properties(snappy PROPERTIES IMPORTED_LOCATION ++ "/usr/local/lib/libsnappy.so") ++ELSE() + ## add snappy with an external project + set(SNAPPY_SOURCE_DIR "${TokuDB_SOURCE_DIR}/third_party/snappy-1.1.2" CACHE FILEPATH "Where to find sources for snappy.") + if (NOT EXISTS "${SNAPPY_SOURCE_DIR}/CMakeLists.txt") +@@ -140,3 +154,4 @@ add_library(snappy STATIC IMPORTED) + set_target_properties(snappy PROPERTIES IMPORTED_LOCATION + "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/snappy/lib/libsnappy.a") + add_dependencies(snappy build_snappy) ++ENDIF() diff --git a/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_portability_memory.cc b/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_portability_memory.cc new file mode 100644 index 000000000000..c6eb23c5a525 --- /dev/null +++ b/databases/mariadb102-server/files/patch-storage_tokudb_PerconaFT_portability_memory.cc @@ -0,0 +1,16 @@ +Fix build error + +--- storage/tokudb/PerconaFT/portability/memory.cc.orig 2017-05-14 23:13:21 UTC ++++ storage/tokudb/PerconaFT/portability/memory.cc +@@ -42,11 +42,6 @@ Copyright (c) 2006, 2015, Percona and/or + #include <string.h> + #include <stdio.h> + #include <stdlib.h> +-#if defined(HAVE_MALLOC_H) +-# include <malloc.h> +-#elif defined(HAVE_SYS_MALLOC_H) +-# include <sys/malloc.h> +-#endif + #include <dlfcn.h> + #include <toku_race_tools.h> + #include "memory.h" diff --git a/databases/mariadb102-server/files/patch-support-files_CMakeLists.txt b/databases/mariadb102-server/files/patch-support-files_CMakeLists.txt new file mode 100644 index 000000000000..c9392ca628a2 --- /dev/null +++ b/databases/mariadb102-server/files/patch-support-files_CMakeLists.txt @@ -0,0 +1,14 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- support-files/CMakeLists.txt.orig 2017-05-14 23:13:28 UTC ++++ support-files/CMakeLists.txt +@@ -83,7 +83,9 @@ IF(UNIX) + CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + ++IF(FALSE) + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) ++ENDIF() + + SET(bindir ${INSTALL_BINDIRABS}) + SET(sbindir ${INSTALL_SBINDIRABS}) diff --git a/databases/mariadb102-server/files/pkg-message.in b/databases/mariadb102-server/files/pkg-message.in new file mode 100644 index 000000000000..e0b900e2bc63 --- /dev/null +++ b/databases/mariadb102-server/files/pkg-message.in @@ -0,0 +1,22 @@ +************************************************************************ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! !! +!! The default InnoDB storage engine is no longer XtraDB, check your !! +!! configuration and switch it to InnoDB !! +!! !! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +Remember to run mysql_upgrade (with the optional --datadir=<dbdir> flag) +the first time you start the MySQL server after an upgrade from an +earlier version. + +MariaDB respects hier(7) and doesn't check /etc and /etc/mysql for +my.cnf. Please move existing my.cnf files from those paths to +%%PREFIX%%/etc and %%PREFIX%%/etc/mysql. + +This port does NOT include the mytop perl script, this is included in +the MariaDB tarball but the most recent version can be found in the +databases/mytop port + +************************************************************************ diff --git a/databases/mariadb102-server/pkg-descr b/databases/mariadb102-server/pkg-descr new file mode 100644 index 000000000000..31c3ca1ce897 --- /dev/null +++ b/databases/mariadb102-server/pkg-descr @@ -0,0 +1,14 @@ +MariaDB is a database server that offers drop-in replacement functionality +for MySQL. MariaDB is built by some of the original authors of MySQL, with +assistance from the broader community of Free and open source software +developers. In addition to the core functionality of MySQL, MariaDB offers +a rich set of feature enhancements including alternate storage engines, +server optimizations, and patches. + +MariaDB is primarily driven by developers at Monty Program, a company +founded by Michael "Monty" Widenius, the original author of MySQL, but +this is not the whole story about MariaDB. On the "About MariaDB" page you +will find more information about all participants in the MariaDB community, +including storage engines XtraDB and PBXT. + +WWW: http://mariadb.org/ diff --git a/databases/mariadb102-server/pkg-plist b/databases/mariadb102-server/pkg-plist new file mode 100644 index 000000000000..c9979136ef03 --- /dev/null +++ b/databases/mariadb102-server/pkg-plist @@ -0,0 +1,214 @@ +bin/aria_chk +bin/aria_dump_log +bin/aria_ftdump +bin/aria_pack +bin/aria_read_log +bin/my_print_defaults +bin/myisam_ftdump +bin/myisamchk +bin/myisamlog +bin/myisampack +bin/mysql_client_test +bin/mysql_client_test_embedded +bin/mysql_convert_table_format +bin/mysql_embedded +bin/mysql_fix_extensions +bin/mysql_install_db +%%ROCKSDB%%bin/mysql_ldb +bin/mysql_plugin +bin/mysql_secure_installation +bin/mysql_setpermission +bin/mysql_tzinfo_to_sql +bin/mysql_upgrade +bin/mysqld_multi +bin/mysqld_safe +bin/mysqld_safe_helper +bin/mysqldumpslow +bin/mysqlhotcopy +bin/mysqltest +bin/mysqltest_embedded +@comment bin/mytop +bin/perror +bin/replace +bin/resolve_stack_dump +bin/resolveip +%%ROCKSDB%%bin/sst_dump +%%TOKUDB%%bin/tokuft_logprint +%%TOKUDB%%bin/tokuftdump +bin/wsrep_sst_common +bin/wsrep_sst_mariabackup +bin/wsrep_sst_mysqldump +bin/wsrep_sst_rsync +bin/wsrep_sst_xtrabackup +bin/wsrep_sst_xtrabackup-v2 +include/mysql/private/atomic/gcc_builtins.h +include/mysql/private/atomic/generic-msvc.h +include/mysql/private/atomic/solaris.h +include/mysql/private/atomic/x86-gcc.h +include/mysql/private/config.h +include/mysql/private/dur_prop.h +include/mysql/private/embedded_priv.h +include/mysql/private/ft_global.h +include/mysql/private/hash.h +include/mysql/private/heap.h +include/mysql/private/lf.h +include/mysql/private/maria.h +include/mysql/private/my_alarm.h +include/mysql/private/my_atomic.h +include/mysql/private/my_base.h +include/mysql/private/my_bit.h +include/mysql/private/my_bitmap.h +include/mysql/private/my_check_opt.h +include/mysql/private/my_compare.h +include/mysql/private/my_context.h +include/mysql/private/my_cpu.h +include/mysql/private/my_crypt.h +include/mysql/private/my_default.h +include/mysql/private/my_handler_errors.h +include/mysql/private/my_libwrap.h +include/mysql/private/my_md5.h +include/mysql/private/my_nosys.h +include/mysql/private/my_rdtsc.h +include/mysql/private/my_rnd.h +include/mysql/private/my_stacktrace.h +include/mysql/private/my_systemd.h +include/mysql/private/my_time.h +include/mysql/private/my_tree.h +include/mysql/private/my_uctype.h +include/mysql/private/my_user.h +include/mysql/private/myisam.h +include/mysql/private/myisamchk.h +include/mysql/private/myisammrg.h +include/mysql/private/myisampack.h +include/mysql/private/mysql_async.h +include/mysql/private/mysqld_default_groups.h +include/mysql/private/mysys_err.h +include/mysql/private/password.h +include/mysql/private/probes_mysql.h +include/mysql/private/probes_mysql_nodtrace.h +include/mysql/private/queues.h +include/mysql/private/rijndael.h +include/mysql/private/service_versions.h +include/mysql/private/ssl_compat.h +include/mysql/private/t_ctype.h +include/mysql/private/thr_alarm.h +include/mysql/private/thr_lock.h +include/mysql/private/thr_timer.h +include/mysql/private/thread_pool_priv.h +include/mysql/private/violite.h +include/mysql/private/waiting_threads.h +include/mysql/private/welcome_copyright_notice.h +include/mysql/private/wqueue.h +include/mysql/private/wsrep.h +@comment lib/mysql/libmariadb.so +@comment lib/mysql/libmariadb.so.3 +@comment lib/mysql/libmariadbclient.a +lib/mysql/libmysqld.a +lib/mysql/libmysqld.so +lib/mysql/libmysqld.so.19 +lib/mysql/plugin/adt_null.so +lib/mysql/plugin/auth_0x0100.so +lib/mysql/plugin/auth_ed25519.so +%%NO_GSSAPI_NONE%%lib/mysql/plugin/auth_gssapi.so +lib/mysql/plugin/auth_pam.so +lib/mysql/plugin/auth_socket.so +lib/mysql/plugin/auth_test_plugin.so +@comment lib/mysql/plugin/daemon_example.ini +lib/mysql/plugin/debug_key_management.so +@comment lib/mysql/plugin/dialog.so +lib/mysql/plugin/dialog_examples.so +lib/mysql/plugin/example_key_management.so +lib/mysql/plugin/file_key_management.so +lib/mysql/plugin/ha_archive.so +lib/mysql/plugin/ha_blackhole.so +lib/mysql/plugin/ha_connect.so +lib/mysql/plugin/ha_federated.so +lib/mysql/plugin/ha_federatedx.so +%%INNOBASE%%lib/mysql/plugin/ha_innobase.so +%%MROONGA%%lib/mysql/plugin/ha_mroonga.so +%%OQGRAPH%%lib/mysql/plugin/ha_oqgraph.so +%%ROCKSDB%%lib/mysql/plugin/ha_rocksdb.so +%%SPHINX%%lib/mysql/plugin/ha_sphinx.so +%%SPIDER%%lib/mysql/plugin/ha_spider.so +%%TOKUDB%%lib/mysql/plugin/ha_tokudb.so +lib/mysql/plugin/ha_test_sql_discovery.so +lib/mysql/plugin/handlersocket.so +lib/mysql/plugin/libdaemon_example.so +lib/mysql/plugin/locales.so +lib/mysql/plugin/metadata_lock_info.so +lib/mysql/plugin/mypluglib.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_cache_info.so +lib/mysql/plugin/query_response_time.so +lib/mysql/plugin/semisync_master.so +lib/mysql/plugin/semisync_slave.so +lib/mysql/plugin/server_audit.so +lib/mysql/plugin/simple_password_check.so +lib/mysql/plugin/sql_errlog.so +lib/mysql/plugin/wsrep_info.so +libexec/mysqld +man/man1/aria_chk.1.gz +man/man1/aria_dump_log.1.gz +man/man1/aria_ftdump.1.gz +man/man1/aria_pack.1.gz +man/man1/aria_read_log.1.gz +man/man1/galera_new_cluster.1.gz +man/man1/galera_recovery.1.gz +man/man1/innochecksum.1.gz +man/man1/mariadb-service-convert.1.gz +man/man1/my_print_defaults.1.gz +man/man1/myisam_ftdump.1.gz +man/man1/myisamchk.1.gz +man/man1/myisamlog.1.gz +man/man1/myisampack.1.gz +man/man1/mysql.server.1.gz +man/man1/mysql_convert_table_format.1.gz +man/man1/mysql_fix_extensions.1.gz +man/man1/mysql_install_db.1.gz +man/man1/mysql_secure_installation.1.gz +man/man1/mysql_setpermission.1.gz +man/man1/mysql_tzinfo_to_sql.1.gz +man/man1/mysql_upgrade.1.gz +man/man1/mysqld_multi.1.gz +man/man1/mysqld_safe.1.gz +man/man1/mysqld_safe_helper.1.gz +man/man1/mysqldumpslow.1.gz +man/man1/mysqlhotcopy.1.gz +man/man1/mysqltest.1.gz +man/man1/perror.1.gz +man/man1/replace.1.gz +man/man1/resolve_stack_dump.1.gz +man/man1/resolveip.1.gz +man/man1/tokuft_logdump.1.gz +man/man1/tokuftdump.1.gz +man/man1/wsrep_sst_common.1.gz +man/man1/wsrep_sst_mysqldump.1.gz +man/man1/wsrep_sst_rsync.1.gz +man/man1/wsrep_sst_xtrabackup-v2.1.gz +man/man1/wsrep_sst_xtrabackup.1.gz +man/man8/mysqld.8.gz +%%DATADIR%%/binary-configure +%%DATADIR%%/fill_help_tables.sql +%%DATADIR%%/magic +%%SPIDER%%%%DATADIR%%/install_spider.sql +@comment %%DATADIR%%/maria_add_gis_sp.sql +@comment %%DATADIR%%/maria_add_gis_sp_bootstrap.sql +%%MROONGA%%%%DATADIR%%/mroonga/install.sql +%%MROONGA%%%%DATADIR%%/mroonga/uninstall.sql +%%DATADIR%%/my-huge.cnf +%%DATADIR%%/my-innodb-heavy-4G.cnf +%%DATADIR%%/my-large.cnf +%%DATADIR%%/my-medium.cnf +%%DATADIR%%/my-small.cnf +%%DATADIR%%/mysql-log-rotate +%%DATADIR%%/mysql.server +%%DATADIR%%/mysql_performance_tables.sql +%%DATADIR%%/mysql_system_tables.sql +%%DATADIR%%/mysql_system_tables_data.sql +%%DATADIR%%/mysql_test_data_timezone.sql +%%DATADIR%%/mysql_to_mariadb.sql +%%DATADIR%%/mysqld_multi.server +%%DATADIR%%/wsrep.cnf +%%DATADIR%%/wsrep_notify |