Index: head/Mk/bsd.database.mk =================================================================== --- head/Mk/bsd.database.mk +++ head/Mk/bsd.database.mk @@ -108,6 +108,7 @@ MYSQL56p_LIBVER= 18 MYSQL57_LIBVER= 20 MYSQL100m_LIBVER= 18 +MYSQL101m_LIBVER= 18 # Setting/finding MySQL version we want. .if exists(${LOCALBASE}/bin/mysql) Index: head/databases/Makefile =================================================================== --- head/databases/Makefile +++ head/databases/Makefile @@ -181,6 +181,8 @@ SUBDIR += mantis SUBDIR += mariadb100-client SUBDIR += mariadb100-server + SUBDIR += mariadb101-client + SUBDIR += mariadb101-server SUBDIR += mariadb55-client SUBDIR += mariadb55-server SUBDIR += mdbtools Index: head/databases/mariadb101-client/Makefile =================================================================== --- head/databases/mariadb101-client/Makefile +++ head/databases/mariadb101-client/Makefile @@ -0,0 +1,32 @@ +# $FreeBSD$ + +PORTNAME= mariadb +PKGNAMESUFFIX= 101-client + +COMMENT= Multithreaded SQL database (client) + +MASTERDIR= ${.CURDIR}/../mariadb101-server + +FILESDIR= ${.CURDIR}/files +PATCHDIR= ${.CURDIR}/files +PLIST= ${.CURDIR}/pkg-plist + +CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DWITH_WSREP=0 +INSTALL_TARGET= install + +USE_LDCONFIG= ${PREFIX}/lib/mysql + +CLIENT_ONLY= yes + +post-install: + ${RM} ${STAGEDIR}${PREFIX}/share/aclocal/mysql.m4 + ${RM} -r ${STAGEDIR}${PREFIX}/share/pkgconfig +. for b in mysql mysqladmin mysqlbinlog mysqlcheck mysqldump \ + mysqlimport mysqlshow mysqlslap + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${b} +. endfor + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient.so.18 + # Fix https://mariadb.atlassian.net/browse/MDEV-9388 + @${REINPLACE_CMD} 's/-l-pthread/-lpthread/' ${STAGEDIR}${PREFIX}/bin/mysql_config + +.include "${MASTERDIR}/Makefile" Index: head/databases/mariadb101-client/files/patch-CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-CMakeLists.txt @@ -0,0 +1,26 @@ +--- CMakeLists.txt.orig 2015-12-23 15:33:29 UTC ++++ CMakeLists.txt +@@ -382,7 +382,6 @@ ADD_SUBDIRECTORY(libmysql) + ADD_SUBDIRECTORY(client) + ADD_SUBDIRECTORY(extra) + ADD_SUBDIRECTORY(libservices) +-ADD_SUBDIRECTORY(sql/share) + + IF(NOT WITHOUT_SERVER) + ADD_SUBDIRECTORY(tests) +@@ -461,6 +460,7 @@ ADD_CUSTOM_TARGET(INFO_BIN ALL + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) + ++IF(FALSE) + INSTALL_DOCUMENTATION(README CREDITS COPYING COPYING.LESSER COPYING.thirdparty + EXCEPTIONS-CLIENT COMPONENT Readme) + # MDEV-6526 these files are not installed anymore +@@ -471,6 +471,7 @@ IF(UNIX) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY COMPONENT Readme) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY Docs/README-wsrep COMPONENT Readme) + ENDIF() ++ENDIF() + + INCLUDE(CPack) + Index: head/databases/mariadb101-client/files/patch-client_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-client_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-client_CMakeLists.txt @@ -0,0 +1,57 @@ +--- client/CMakeLists.txt.orig 2015-12-23 15:33:29 UTC ++++ client/CMakeLists.txt +@@ -38,11 +38,12 @@ IF(UNIX) + SET_TARGET_PROPERTIES(mysql PROPERTIES ENABLE_EXPORTS TRUE) + ENDIF(UNIX) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test) + SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS") + TARGET_LINK_LIBRARIES(mysqltest mysqlclient pcre pcreposix) + SET_TARGET_PROPERTIES(mysqltest PROPERTIES ENABLE_EXPORTS TRUE) +- ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysqlcheck mysqlcheck.c) + TARGET_LINK_LIBRARIES(mysqlcheck mysqlclient) +@@ -54,21 +55,25 @@ MYSQL_ADD_EXECUTABLE(mysqlimport mysqlim + SET_SOURCE_FILES_PROPERTIES(mysqlimport.c PROPERTIES COMPILE_FLAGS "-DTHREADS") + TARGET_LINK_LIBRARIES(mysqlimport mysqlclient) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c COMPONENT Server) + TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient) + ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c) + TARGET_LINK_LIBRARIES(mysqlshow mysqlclient) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c) + TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc) + TARGET_LINK_LIBRARIES(mysqlbinlog mysqlclient) + + MYSQL_ADD_EXECUTABLE(mysqladmin mysqladmin.cc) +-TARGET_LINK_LIBRARIES(mysqladmin mysqlclient) ++tARGET_LINK_LIBRARIES(mysqladmin mysqlclient) + + MYSQL_ADD_EXECUTABLE(mysqlslap mysqlslap.c) + SET_SOURCE_FILES_PROPERTIES(mysqlslap.c PROPERTIES COMPILE_FLAGS "-DTHREADS") +@@ -80,10 +85,12 @@ IF(WIN32) + ENDIF(WIN32) + + # async_example is just a code example, do not install it. ++IF(FALSE) + ADD_EXECUTABLE(async_example async_example.c) + TARGET_LINK_LIBRARIES(async_example mysqlclient) ++ENDIF() + +-SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin async_example ++SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap + PROPERTIES HAS_CXX TRUE) + + ADD_DEFINITIONS(-DHAVE_DLOPEN) Index: head/databases/mariadb101-client/files/patch-cmake_jemalloc.cmake =================================================================== --- head/databases/mariadb101-client/files/patch-cmake_jemalloc.cmake +++ head/databases/mariadb101-client/files/patch-cmake_jemalloc.cmake @@ -0,0 +1,18 @@ +# Upstreamed https://github.com/MariaDB/server/pull/140 + +--- cmake/jemalloc.cmake.orig 2015-12-23 15:33:29 UTC ++++ cmake/jemalloc.cmake +@@ -12,7 +12,12 @@ MACRO(JEMALLOC_TRY_STATIC) + ENDMACRO() + + MACRO(JEMALLOC_TRY_DYNAMIC) +- SET(libname jemalloc) ++ IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND ++ CMAKE_SYSTEM_VERSION STRGREATER "10.0") ++ SET(libname c) ++ ELSE() ++ SET(libname jemalloc) ++ ENDIF() + SET(what system) + CHECK_LIBRARY_EXISTS(${libname} malloc_stats_print "" HAVE_DYNAMIC_JEMALLOC) + ENDMACRO() Index: head/databases/mariadb101-client/files/patch-extra_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-extra_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-extra_CMakeLists.txt @@ -0,0 +1,34 @@ +--- extra/CMakeLists.txt.orig 2015-12-23 15:33:29 UTC ++++ extra/CMakeLists.txt +@@ -46,6 +46,7 @@ ADD_CUSTOM_TARGET(GenError + DEPENDS + ${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c) + TARGET_LINK_LIBRARIES(my_print_defaults mysys) + +@@ -88,18 +89,23 @@ IF(WITH_INNOBASE_STORAGE_ENGINE OR WITH_ + ) + ENDIF() + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(innochecksum innochecksum.cc ${INNOBASE_SOURCES}) + TARGET_LINK_LIBRARIES(innochecksum mysys mysys_ssl) + ADD_DEPENDENCIES(innochecksum GenError) + ENDIF() ++ENDIF() + + MYSQL_ADD_EXECUTABLE(replace replace.c COMPONENT Server) + TARGET_LINK_LIBRARIES(replace mysys) ++ENDIF() + + IF(UNIX) ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(resolve_stack_dump resolve_stack_dump.c) + TARGET_LINK_LIBRARIES(resolve_stack_dump mysys) + + MYSQL_ADD_EXECUTABLE(mysql_waitpid mysql_waitpid.c COMPONENT Client) + TARGET_LINK_LIBRARIES(mysql_waitpid mysys) + ENDIF() ++ENDIF() Index: head/databases/mariadb101-client/files/patch-extra_yassl_taocrypt_src_integer.cpp =================================================================== --- head/databases/mariadb101-client/files/patch-extra_yassl_taocrypt_src_integer.cpp +++ head/databases/mariadb101-client/files/patch-extra_yassl_taocrypt_src_integer.cpp @@ -0,0 +1,11 @@ +--- extra/yassl/taocrypt/src/integer.cpp.orig 2014-04-15 14:02:39.000000000 +0300 ++++ extra/yassl/taocrypt/src/integer.cpp 2014-05-16 17:00:15.000000000 +0300 +@@ -75,7 +75,7 @@ + CPP_TYPENAME AlignedAllocator::pointer AlignedAllocator::allocate( + size_type n, const void *) + { +- if (n > this->max_size()) ++ if (n > AlignedAllocator::max_size()) + return 0; + if (n == 0) + return 0; Index: head/databases/mariadb101-client/files/patch-include_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-include_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-include_CMakeLists.txt @@ -0,0 +1,22 @@ +--- include/CMakeLists.txt.orig 2015-12-23 15:33:29 UTC ++++ include/CMakeLists.txt +@@ -66,13 +66,18 @@ INSTALL(FILES ${HEADERS} DESTINATION ${I + 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") ++INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development ++ FILES_MATCHING PATTERN "*.h" ++ PATTERN "psi_abi*" EXCLUDE ++) + + 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() Index: head/databases/mariadb101-client/files/patch-include_my_compare.h =================================================================== --- head/databases/mariadb101-client/files/patch-include_my_compare.h +++ head/databases/mariadb101-client/files/patch-include_my_compare.h @@ -0,0 +1,11 @@ +--- include/my_compare.h.orig 2015-12-23 15:33:29 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 32 /* Max segments for key */ + + #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6) Index: head/databases/mariadb101-client/files/patch-libmysql_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-libmysql_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-libmysql_CMakeLists.txt @@ -0,0 +1,11 @@ +--- libmysql/CMakeLists.txt.orig 2015-12-23 15:33:29 UTC ++++ libmysql/CMakeLists.txt +@@ -441,6 +441,8 @@ IF(NOT DISABLE_SHARED) + # libtool compatability + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) + SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") ++ ELSEIF(CMAKE_SYSTEM_NAME MATCHES "DragonFly") ++ SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") + ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX") + SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0") + ELSE() Index: head/databases/mariadb101-client/files/patch-libservices_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-libservices_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-libservices_CMakeLists.txt @@ -0,0 +1,9 @@ +--- libservices/CMakeLists.txt.orig 2015-12-23 15:33:29 UTC ++++ libservices/CMakeLists.txt +@@ -34,4 +34,6 @@ SET(MYSQLSERVICES_SOURCES + logger_service.c) + + ADD_CONVENIENCE_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES}) ++IF(FALSE) + INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development) ++ENDIF() Index: head/databases/mariadb101-client/files/patch-man_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-man_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-man_CMakeLists.txt @@ -0,0 +1,16 @@ +--- man/CMakeLists.txt.orig 2015-12-23 15:33:29 UTC ++++ man/CMakeLists.txt +@@ -32,9 +32,13 @@ SET(MAN1_DEVEL mysql_config.1) + SET(MAN1_TEST mysql-stress-test.pl.1 mysql-test-run.pl.1 mysql_client_test.1 + mysqltest_embedded.1 mysql_client_test_embedded.1) + ++IF(FALSE) + INSTALL(FILES ${MAN1_SERVER} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesServer) + INSTALL(FILES ${MAN8_SERVER} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPagesServer) ++ENDIF() + INSTALL(FILES ${MAN1_CLIENT} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesClient) + INSTALL(FILES ${MAN1_DEVEL} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesDevelopment) ++IF(FALSE) + INSTALL(FILES ${MAN1_TEST} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesTest) ++ENDIF() + Index: head/databases/mariadb101-client/files/patch-mysys_my_default.c =================================================================== --- head/databases/mariadb101-client/files/patch-mysys_my_default.c +++ head/databases/mariadb101-client/files/patch-mysys_my_default.c @@ -0,0 +1,61 @@ +--- mysys/my_default.c.orig 2015-12-23 15:33:31 UTC ++++ mysys/my_default.c +@@ -90,7 +90,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; + +@@ -784,7 +784,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 +@@ -802,6 +802,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++; +@@ -1066,7 +1074,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); + } + } + } +@@ -1222,13 +1231,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 + Index: head/databases/mariadb101-client/files/patch-pcre_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-pcre_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-pcre_CMakeLists.txt @@ -0,0 +1,11 @@ +--- pcre/CMakeLists.txt.orig 2015-12-23 15:33:31 UTC ++++ pcre/CMakeLists.txt +@@ -508,6 +508,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 Index: head/databases/mariadb101-client/files/patch-scripts_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-scripts_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-scripts_CMakeLists.txt @@ -0,0 +1,69 @@ +--- scripts/CMakeLists.txt.orig 2015-12-23 15:33:31 UTC ++++ scripts/CMakeLists.txt +@@ -73,6 +73,7 @@ IF(UNIX) + ) + ENDIF() + ++IF(FALSE) + INSTALL(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/mysql_system_tables.sql + ${CMAKE_CURRENT_SOURCE_DIR}/mysql_system_tables_data.sql +@@ -84,6 +85,7 @@ INSTALL(FILES + ${FIX_PRIVILEGES_SQL} + DESTINATION ${INSTALL_MYSQLSHAREDIR} COMPONENT Server + ) ++ENDIF() + + # TCMalloc hacks + IF(MALLOC_LIB) +@@ -136,6 +138,7 @@ ENDIF() + SET(HOSTNAME "hostname") + SET(MYSQLD_USER "mysql") + ++IF(FALSE) + # Required for mysqlbug until autotools are deprecated, once done remove these + # and expand default cmake variables + SET(CC ${CMAKE_C_COMPILER}) +@@ -170,6 +173,7 @@ INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DI + DESTINATION ${INSTALL_BINDIR} + COMPONENT Server + ) ++ENDIF() + + ENDIF(UNIX) + +@@ -195,6 +199,7 @@ ELSE() + SET(localstatedir ${MYSQL_DATADIR}) + ENDIF() + ++IF() + IF(UNIX) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql_install_db.sh + ${CMAKE_CURRENT_BINARY_DIR}/mysql_install_db ESCAPE_QUOTES @ONLY) +@@ -208,6 +213,7 @@ INSTALL_SCRIPT( + COMPONENT Server + ) + ENDIF() ++ENDIF() + + SET(prefix "${CMAKE_INSTALL_PREFIX}") + IF(INSTALL_SYSCONFDIR) +@@ -286,18 +292,8 @@ ELSE() + SET(BIN_SCRIPTS + msql2mysql + mysql_config +- mysql_fix_extensions +- mysql_setpermission +- mysql_secure_installation +- mysql_zap + mysqlaccess +- mysql_convert_table_format + mysql_find_rows +- mytop +- mysqlhotcopy +- mysqldumpslow +- mysqld_multi +- mysqld_safe + ${WSREP_BINARIES} + ${SYSTEMD_SCRIPTS} + ) Index: head/databases/mariadb101-client/files/patch-scripts_mysql_config.sh =================================================================== --- head/databases/mariadb101-client/files/patch-scripts_mysql_config.sh +++ head/databases/mariadb101-client/files/patch-scripts_mysql_config.sh @@ -0,0 +1,12 @@ +--- scripts/mysql_config.sh.orig 2016-01-14 20:12:38 UTC ++++ scripts/mysql_config.sh +@@ -106,7 +106,9 @@ fi + + # Create options + libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@" ++libs="$libs -L%%LOCALBASE%%/lib " + embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@" ++embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib " + + include="-I$pkgincludedir" + if [ "$basedir" != "/usr" ]; then Index: head/databases/mariadb101-client/files/patch-sql_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-sql_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-sql_CMakeLists.txt @@ -0,0 +1,14 @@ +--- sql/CMakeLists.txt.orig 2015-12-23 15:33:31 UTC ++++ sql/CMakeLists.txt +@@ -275,9 +275,9 @@ RUN_BISON( + ) + + # Gen_lex_hash +-IF(NOT CMAKE_CROSSCOMPILING) ++ + ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) +-ENDIF() ++ + + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h Index: head/databases/mariadb101-client/files/patch-support-files_CMakeLists.txt =================================================================== --- head/databases/mariadb101-client/files/patch-support-files_CMakeLists.txt +++ head/databases/mariadb101-client/files/patch-support-files_CMakeLists.txt @@ -0,0 +1,45 @@ +--- support-files/CMakeLists.txt.orig 2015-12-23 15:33:33 UTC ++++ support-files/CMakeLists.txt +@@ -41,15 +41,18 @@ ELSE() + SET(inst_location ${INSTALL_SUPPORTFILESDIR}) + ENDIF() + ++IF(FALSE) + FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small wsrep) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${inifile}.cnf.sh + ${CMAKE_CURRENT_BINARY_DIR}/${inifile}.${ini_file_extension} @ONLY) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${inifile}.${ini_file_extension} + DESTINATION ${inst_location} COMPONENT IniFiles) + ENDFOREACH() ++ENDIF() + + IF(UNIX) + SET(prefix ${CMAKE_INSTALL_PREFIX}) ++ IF(FALSE) + FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure wsrep_notify) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh + ${CMAKE_CURRENT_BINARY_DIR}/${script} @ONLY ) +@@ -60,12 +63,14 @@ IF(UNIX) + INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles) + INSTALL(DIRECTORY policy DESTINATION ${inst_location} COMPONENT SupportFiles) + ENDIF() ++ ENDIF() + + 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) + + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) +- ++ ++IF(FALSE) + SET(bindir ${INSTALL_BINDIRABS}) + SET(sbindir ${INSTALL_SBINDIRABS}) + SET(scriptdir ${INSTALL_SCRIPTDIRABS}) +@@ -115,6 +120,7 @@ IF(UNIX) + INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mysql.server + DESTINATION ${INSTALL_SYSCONFDIR}/init.d + RENAME mysql COMPONENT SupportFiles) ++ ENDIF() + + INSTALL(FILES rpm/my.cnf DESTINATION ${INSTALL_SYSCONFDIR} + COMPONENT Common) Index: head/databases/mariadb101-client/files/pkg-message.in =================================================================== --- head/databases/mariadb101-client/files/pkg-message.in +++ head/databases/mariadb101-client/files/pkg-message.in @@ -0,0 +1,7 @@ +************************************************************************ + +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. + +************************************************************************ Index: head/databases/mariadb101-client/pkg-plist =================================================================== --- head/databases/mariadb101-client/pkg-plist +++ head/databases/mariadb101-client/pkg-plist @@ -0,0 +1,109 @@ +bin/msql2mysql +bin/mysql +bin/mysql_find_rows +bin/mysqlaccess +bin/mysqladmin +bin/mysqlbinlog +bin/mysqlcheck +bin/mysqldump +bin/mysqlimport +bin/mysqlshow +bin/mysqlslap +bin/mysql_config +include/mysql/auth_dialog_client.h +include/mysql/big_endian.h +include/mysql/byte_order_generic.h +include/mysql/byte_order_generic_x86.h +include/mysql/byte_order_generic_x86_64.h +include/mysql/client_plugin.h +include/mysql/decimal.h +include/mysql/errmsg.h +include/mysql/handler_ername.h +include/mysql/handler_state.h +include/mysql/keycache.h +include/mysql/little_endian.h +include/mysql/m_ctype.h +include/mysql/m_string.h +include/mysql/ma_dyncol.h +include/mysql/my_alloc.h +include/mysql/my_attribute.h +include/mysql/my_byteorder.h +include/mysql/my_compiler.h +include/mysql/my_config.h +include/mysql/my_dbug.h +include/mysql/my_decimal_limits.h +include/mysql/my_dir.h +include/mysql/my_getopt.h +include/mysql/my_global.h +include/mysql/my_list.h +include/mysql/my_net.h +include/mysql/my_pthread.h +include/mysql/my_sys.h +include/mysql/my_valgrind.h +include/mysql/my_xml.h +include/mysql/mysql.h +include/mysql/mysql_com.h +include/mysql/mysql_com_server.h +include/mysql/mysql_embed.h +include/mysql/mysql_time.h +include/mysql/mysql_version.h +include/mysql/mysqld_ername.h +include/mysql/mysqld_error.h +include/mysql/plugin.h +include/mysql/plugin_audit.h +include/mysql/plugin_auth.h +include/mysql/plugin_auth_common.h +include/mysql/plugin_encryption.h +include/mysql/plugin_ftparser.h +include/mysql/plugin_password_validation.h +include/mysql/psi/mysql_file.h +include/mysql/psi/mysql_idle.h +include/mysql/psi/mysql_socket.h +include/mysql/psi/mysql_stage.h +include/mysql/psi/mysql_statement.h +include/mysql/psi/mysql_table.h +include/mysql/psi/mysql_thread.h +include/mysql/psi/psi.h +include/mysql/service_debug_sync.h +include/mysql/service_encryption.h +include/mysql/service_encryption_scheme.h +include/mysql/service_kill_statement.h +include/mysql/service_logger.h +include/mysql/service_md5.h +include/mysql/service_my_snprintf.h +include/mysql/service_progress_report.h +include/mysql/service_sha1.h +include/mysql/service_thd_alloc.h +include/mysql/service_thd_autoinc.h +include/mysql/service_thd_error_context.h +include/mysql/service_thd_specifics.h +include/mysql/service_thd_timezone.h +include/mysql/service_thd_wait.h +include/mysql/service_wsrep.h +include/mysql/services.h +include/mysql/sql_common.h +include/mysql/sql_state.h +include/mysql/sslopt-case.h +include/mysql/sslopt-longopts.h +include/mysql/sslopt-vars.h +include/mysql/typelib.h +lib/mysql/libmysqlclient.a +lib/mysql/libmysqlclient.so +lib/mysql/libmysqlclient.so.18 +lib/mysql/libmysqlclient_r.a +lib/mysql/libmysqlclient_r.so +lib/mysql/libmysqlclient_r.so.18 +man/man1/msql2mysql.1.gz +man/man1/mysql.1.gz +man/man1/mysql_config.1.gz +man/man1/mysql_find_rows.1.gz +man/man1/mysql_plugin.1.gz +man/man1/mysql_waitpid.1.gz +man/man1/mysqlaccess.1.gz +man/man1/mysqladmin.1.gz +man/man1/mysqlbinlog.1.gz +man/man1/mysqlcheck.1.gz +man/man1/mysqldump.1.gz +man/man1/mysqlimport.1.gz +man/man1/mysqlshow.1.gz +man/man1/mysqlslap.1.gz Index: head/databases/mariadb101-server/Makefile =================================================================== --- head/databases/mariadb101-server/Makefile +++ head/databases/mariadb101-server/Makefile @@ -0,0 +1,163 @@ +# $FreeBSD$ + +PORTNAME?= mariadb +PORTVERSION= 10.1.11 +CATEGORIES= databases ipv6 +MASTER_SITES= http://ftp.osuosl.org/pub/${SITESDIR}/ \ + 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}/ +PKGNAMESUFFIX?= 101-server + +MAINTAINER= brnrd@FreeBSD.org +COMMENT?= Multithreaded SQL database (server) + +LICENSE= GPLv2 + +SUB_FILES= pkg-message +PKGMESSAGE= ${WRKDIR}/pkg-message + +SLAVEDIRS= databases/mariadb101-client +USES= bison:build cmake cpe execinfo shebangfix +USE_LDCONFIG= ${PREFIX}/lib/mysql +SHEBANG_FILES= scripts/*.sh +SITESDIR= mariadb/mariadb-${PORTVERSION}/source + +OPTIONS_DEFINE= FASTMTX +OPTIONS_SINGLE= GSSAPI +OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT +OPTIONS_DEFAULT= GSSAPI_BASE + +FASTMTX_DESC= Replace mutexes with spinlocks + +.if !defined(CLIENT_ONLY) +# MySQL-Server options +OPTIONS_DEFINE+= MAXKEY +OPTIONS_DEFAULT+= MAXKEY SPHINX SPIDER +OPTIONS_GROUP= ENGINES +OPTIONS_GROUP_ENGINES= INNOBASE MROONGA OQGRAPH SPHINX SPIDER TOKUDB + +ENGINES_DESC= Optional MariaDB storage engines +INNOBASE_DESC= Build InnoDB engine next to XtraDB +MAXKEY_DESC= Change max key length from 1000 to 4000 +MROONGA_DESC= Mroonga Full Text Search engine +OQGRAPH_DESC= Open Query Graph Computation engine (Requires GCC) +SPHINX_DESC= SphinxSE engine +SPIDER_DESC= Partitioning and XA-transactions engine +TOKUDB_DESC= Fractal tree index tree data structure engine +.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" \ + -DWITH_UNIT_TESTS=0 \ + -DWITH_LIBWRAP=1 \ + -DWITH_SSL=${OPENSSLBASE} \ + -DKRB5_CONFIG=${KRB5CONFIG} \ + -DEXECINFO_ROOT=${LOCALBASE} \ + -DCOMPILATION_COMMENT="FreeBSD Ports" + +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[02-9]-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ + mysql[0-9]*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \ + percona[0-9]*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* + +USE_OPENSSL= yes +FASTMTX_CMAKE_ON= -DWITH_FAST_MUTEXES=1 + +.if defined(CLIENT_ONLY) +# MySQL-Client part +USES+= readline +.else +# MySQL-Server part +USE_MYSQL= yes +WANT_MYSQL_VER= 101m +OPTIONS_SUB= yes +USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin +USE_RC_SUBR= mysql-server +USERS= mysql +GROUPS= mysql +CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" \ + -DCMAKE_SKIP_BUILD_RPATH:BOOL=YES \ + -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 + +.for ENGINE in ${OPTIONS_GROUP_ENGINES} +${ENGINE}_CMAKE_OFF= -DWITHOUT_${ENGINE}=1 +.endfor + +MAXKEY_EXTRA_PATCHES+= ${FILESDIR}/extra-patch-include_my__compare.h +OQGRAPH_LIB_DEPENDS= libboost_system.so:${PORTSDIR}/devel/boost-libs \ + libJudy.so:${PORTSDIR}/devel/judy +# Currently OQGraph does not build using clang. +# See See https://mariadb.atlassian.net/browse/MDEV-8051. +OQGRAPH_USE= gcc=yes +TOKUDB_LIB_DEPENDS= libsnappy.so:${PORTSDIR}/archivers/snappy + +post-install: +# Remove programs to avoid conflict with mariadb101-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) + +.include + +.if defined(WITH_OPENSSL_PORT) && ${PORT_OPTIONS:MGSSAPI_BASE} +IGNORE= GSSAPI_BASE is not compatible with OpenSSL from ports. Use other GSSAPI options or OpenSSL from base system +.endif + +.include + +.if ${OPSYS} == DragonFly +CMAKE_ARGS+= -DWITHOUT_TOKUDB +.endif + +.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000012 +CMAKE_ARGS+= -DWITH_JEMALLOC="system" +.else +CMAKE_ARGS+= -DWITH_JEMALLOC="no" +.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 + +.include Index: head/databases/mariadb101-server/distinfo =================================================================== --- head/databases/mariadb101-server/distinfo +++ head/databases/mariadb101-server/distinfo @@ -0,0 +1,2 @@ +SHA256 (mariadb-10.1.11.tar.gz) = cd32927370343b4f14bcc6073bca163623c27843ae7bc59c8c6a9ebeda0325ce +SIZE (mariadb-10.1.11.tar.gz) = 55184229 Index: head/databases/mariadb101-server/files/extra-patch-include_my__compare.h =================================================================== --- head/databases/mariadb101-server/files/extra-patch-include_my__compare.h +++ head/databases/mariadb101-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) Index: head/databases/mariadb101-server/files/mysql-server.in =================================================================== --- head/databases/mariadb101-server/files/mysql-server.in +++ head/databases/mariadb101-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" Index: head/databases/mariadb101-server/files/patch-CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-CMakeLists.txt @@ -0,0 +1,20 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- CMakeLists.txt.orig 2015-10-15 15:43:35 UTC ++++ CMakeLists.txt +@@ -452,6 +452,7 @@ ADD_CUSTOM_TARGET(INFO_BIN ALL + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) + ++IF(FALSE) + INSTALL_DOCUMENTATION(README CREDITS COPYING COPYING.LESSER COPYING.thirdparty + EXCEPTIONS-CLIENT COMPONENT Readme) + # MDEV-6526 these files are not installed anymore +@@ -462,6 +463,7 @@ IF(UNIX) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY COMPONENT Readme) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY Docs/README-wsrep COMPONENT Readme) + ENDIF() ++ENDIF() + + INCLUDE(CPack) + Index: head/databases/mariadb101-server/files/patch-client_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-client_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-client_CMakeLists.txt @@ -0,0 +1,72 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- client/CMakeLists.txt.orig 2015-10-15 15:43:35 UTC ++++ client/CMakeLists.txt +@@ -30,6 +30,7 @@ INCLUDE_DIRECTORIES( + COPY_OPENSSL_DLLS(copy_openssl_client) + + ADD_DEFINITIONS(${SSL_DEFINES}) ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc + ${CMAKE_SOURCE_DIR}/sql/sql_string.cc) + TARGET_LINK_LIBRARIES(mysql mysqlclient) +@@ -37,6 +38,7 @@ IF(UNIX) + TARGET_LINK_LIBRARIES(mysql ${MY_READLINE_LIBRARY}) + SET_TARGET_PROPERTIES(mysql PROPERTIES ENABLE_EXPORTS TRUE) + ENDIF(UNIX) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test) + SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS") +@@ -44,6 +46,7 @@ TARGET_LINK_LIBRARIES(mysqltest mysqlcli + SET_TARGET_PROPERTIES(mysqltest PROPERTIES ENABLE_EXPORTS TRUE) + + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysqlcheck mysqlcheck.c) + TARGET_LINK_LIBRARIES(mysqlcheck mysqlclient) + +@@ -53,17 +56,21 @@ TARGET_LINK_LIBRARIES(mysqldump mysqlcli + MYSQL_ADD_EXECUTABLE(mysqlimport mysqlimport.c) + SET_SOURCE_FILES_PROPERTIES(mysqlimport.c PROPERTIES COMPILE_FLAGS "-DTHREADS") + TARGET_LINK_LIBRARIES(mysqlimport mysqlclient) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c COMPONENT Server) + TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient) + ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c) + TARGET_LINK_LIBRARIES(mysqlshow mysqlclient) ++ENDIF() + + MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c) + TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient) + ++IF(FALSE) + MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc) + TARGET_LINK_LIBRARIES(mysqlbinlog mysqlclient) + +@@ -73,17 +80,20 @@ TARGET_LINK_LIBRARIES(mysqladmin mysqlcl + MYSQL_ADD_EXECUTABLE(mysqlslap mysqlslap.c) + SET_SOURCE_FILES_PROPERTIES(mysqlslap.c PROPERTIES COMPILE_FLAGS "-DTHREADS") + TARGET_LINK_LIBRARIES(mysqlslap mysqlclient) ++ENDIF() + + # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". + IF(WIN32) + MYSQL_ADD_EXECUTABLE(echo echo.c COMPONENT Junk) + ENDIF(WIN32) + ++IF(FALSE) + # async_example is just a code example, do not install it. + ADD_EXECUTABLE(async_example async_example.c) + TARGET_LINK_LIBRARIES(async_example mysqlclient) ++ENDIF() + +-SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin async_example ++SET_TARGET_PROPERTIES (mysql_upgrade mysql_plugin + PROPERTIES HAS_CXX TRUE) + + ADD_DEFINITIONS(-DHAVE_DLOPEN) Index: head/databases/mariadb101-server/files/patch-cmake_jemalloc.cmake =================================================================== --- head/databases/mariadb101-server/files/patch-cmake_jemalloc.cmake +++ head/databases/mariadb101-server/files/patch-cmake_jemalloc.cmake @@ -0,0 +1,24 @@ +Fix jemalloc detection on FreeBSD 10.x +Upstream https://github.com/MariaDB/server/pull/140 + +--- cmake/jemalloc.cmake.orig 2015-12-23 15:33:29 UTC ++++ cmake/jemalloc.cmake +@@ -12,9 +12,16 @@ MACRO(JEMALLOC_TRY_STATIC) + ENDMACRO() + + MACRO(JEMALLOC_TRY_DYNAMIC) +- SET(libname jemalloc) + SET(what system) +- CHECK_LIBRARY_EXISTS(${libname} malloc_stats_print "" HAVE_DYNAMIC_JEMALLOC) ++ IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND ++ CMAKE_SYSTEM_VERSION STRGREATER "10.0") ++ # Since FreeBSD 10.0 jemalloc is in base libc ++ SET(libname c) ++ SET(HAVE_DYNAMIC_JEMALLOC ON) ++ ELSE() ++ SET(libname jemalloc) ++ CHECK_LIBRARY_EXISTS(${libname} malloc_stats_print "" HAVE_DYNAMIC_JEMALLOC) ++ ENDIF() + ENDMACRO() + + MACRO (CHECK_JEMALLOC) Index: head/databases/mariadb101-server/files/patch-extra_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-extra_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-extra_CMakeLists.txt @@ -0,0 +1,13 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- extra/CMakeLists.txt.orig 2015-10-15 15:43:36 UTC ++++ extra/CMakeLists.txt +@@ -91,6 +91,8 @@ 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() ++ENDIF() Index: head/databases/mariadb101-server/files/patch-extra_yassl_taocrypt_src_integer.cpp =================================================================== --- head/databases/mariadb101-server/files/patch-extra_yassl_taocrypt_src_integer.cpp +++ head/databases/mariadb101-server/files/patch-extra_yassl_taocrypt_src_integer.cpp @@ -0,0 +1 @@ +# Intentionally empty Index: head/databases/mariadb101-server/files/patch-include_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-include_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-include_CMakeLists.txt @@ -0,0 +1,26 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- include/CMakeLists.txt.orig 2015-10-15 15:43:36 UTC ++++ include/CMakeLists.txt +@@ -62,17 +62,21 @@ SET(HEADERS + handler_ername.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() Index: head/databases/mariadb101-server/files/patch-libmysql_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-libmysql_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-libmysql_CMakeLists.txt @@ -0,0 +1,41 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- libmysql/CMakeLists.txt.orig 2015-10-15 15:43:37 UTC ++++ libmysql/CMakeLists.txt +@@ -410,7 +410,7 @@ SET(LIBS clientlib dbug strings vio mysy + + # Merge several convenience libraries into one big mysqlclient + # and link them together into shared library. +-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development) ++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development NOINSTALL) + + # Visual Studio users need debug static library for debug projects + IF(MSVC) +@@ -418,6 +418,7 @@ IF(MSVC) + INSTALL_DEBUG_TARGET(clientlib DESTINATION ${INSTALL_LIBDIR}/debug) + ENDIF() + ++IF(FALSE) + IF(UNIX) + MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME) + SET(DOT_VERSION ".${VERSION}") +@@ -432,11 +433,13 @@ IF(UNIX) + ENDMACRO() + INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development) + ENDIF() ++ENDIF() + + IF(NOT DISABLE_SHARED) + MERGE_LIBRARIES(libmysql SHARED ${LIBS} + EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_5_1_EXTRA} ${CLIENT_API_5_5_EXTRA} +- COMPONENT SharedLibraries) ++ COMPONENT SharedLibraries NOINSTALL) ++IF(FALSE) + IF(UNIX) + # libtool compatability + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) +@@ -484,3 +487,4 @@ IF(NOT DISABLE_SHARED) + ENDFOREACH() + ENDIF() + ENDIF() ++ENDIF() Index: head/databases/mariadb101-server/files/patch-libservices_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-libservices_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-libservices_CMakeLists.txt @@ -0,0 +1,11 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- libservices/CMakeLists.txt.orig 2015-10-15 15:43:37 UTC ++++ libservices/CMakeLists.txt +@@ -34,4 +34,6 @@ SET(MYSQLSERVICES_SOURCES + logger_service.c) + + ADD_CONVENIENCE_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES}) ++IF(FALSE) + INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development) ++ENDIF() Index: head/databases/mariadb101-server/files/patch-man_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-man_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-man_CMakeLists.txt @@ -0,0 +1,14 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- man/CMakeLists.txt.orig 2015-10-15 15:43:37 UTC ++++ man/CMakeLists.txt +@@ -34,7 +34,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() Index: head/databases/mariadb101-server/files/patch-mysys_my__default.c =================================================================== --- head/databases/mariadb101-server/files/patch-mysys_my__default.c +++ head/databases/mariadb101-server/files/patch-mysys_my__default.c @@ -0,0 +1,63 @@ +Obey hier(7) + +--- mysys/my_default.c.orig 2015-10-15 15:43:45 UTC ++++ mysys/my_default.c +@@ -90,7 +90,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; + +@@ -784,7 +784,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 +@@ -802,6 +802,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++; +@@ -1066,7 +1074,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); + } + } + } +@@ -1222,13 +1231,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 + Index: head/databases/mariadb101-server/files/patch-pcre_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-pcre_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-pcre_CMakeLists.txt @@ -0,0 +1,13 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- pcre/CMakeLists.txt.orig 2015-10-15 15:43:45 UTC ++++ pcre/CMakeLists.txt +@@ -513,6 +513,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 Index: head/databases/mariadb101-server/files/patch-scripts_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-scripts_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-scripts_CMakeLists.txt @@ -0,0 +1 @@ +# Intentionally empty Index: head/databases/mariadb101-server/files/patch-scripts_mysql__config.sh =================================================================== --- head/databases/mariadb101-server/files/patch-scripts_mysql__config.sh +++ head/databases/mariadb101-server/files/patch-scripts_mysql__config.sh @@ -0,0 +1,12 @@ +--- scripts/mysql_config.sh.orig 2016-01-14 20:12:38 UTC ++++ scripts/mysql_config.sh +@@ -106,7 +106,9 @@ fi + + # Create options + libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@" ++libs="$libs -L%%LOCALBASE%%/lib " + embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@" ++embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib " + + include="-I$pkgincludedir" + if [ "$basedir" != "/usr" ]; then Index: head/databases/mariadb101-server/files/patch-scripts_mysqld__safe.sh =================================================================== --- head/databases/mariadb101-server/files/patch-scripts_mysqld__safe.sh +++ head/databases/mariadb101-server/files/patch-scripts_mysqld__safe.sh @@ -0,0 +1,26 @@ +Obey hier(7) + +--- scripts/mysqld_safe.sh.orig 2015-10-15 15:43:45 UTC ++++ scripts/mysqld_safe.sh +@@ -558,10 +558,10 @@ fi + + if test -z "$MYSQL_HOME" + then +- if test -r "$MY_BASEDIR_VERSION/my.cnf" && test -r "$DATADIR/my.cnf" ++ if test -r "$MY_BASEDIR_VERSION/etc/my.cnf" && test -r "$DATADIR/my.cnf" + then + log_error "WARNING: Found two instances of my.cnf - +-$MY_BASEDIR_VERSION/my.cnf and ++$MY_BASEDIR_VERSION/etc/my.cnf and + $DATADIR/my.cnf + IGNORING $DATADIR/my.cnf" + +@@ -570,7 +570,7 @@ IGNORING $DATADIR/my.cnf" + then + log_error "WARNING: Found $DATADIR/my.cnf + The data directory is a deprecated location for my.cnf, please move it to +-$MY_BASEDIR_VERSION/my.cnf" ++$MY_BASEDIR_VERSION/etc/my.cnf" + MYSQL_HOME=$DATADIR + else + MYSQL_HOME=$MY_BASEDIR_VERSION Index: head/databases/mariadb101-server/files/patch-sql_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-sql_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-sql_CMakeLists.txt @@ -0,0 +1,30 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- sql/CMakeLists.txt.orig 2015-10-15 15:43:45 UTC ++++ sql/CMakeLists.txt +@@ -340,6 +340,7 @@ ADD_CUSTOM_TARGET(distclean + VERBATIM + ) + ++IF(FALSE) + IF(INSTALL_LAYOUT STREQUAL "STANDALONE") + + # Copy db.opt into data/test/ +@@ -383,6 +384,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) +@@ -425,7 +427,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() Index: head/databases/mariadb101-server/files/patch-sql_sql__trigger.cc =================================================================== --- head/databases/mariadb101-server/files/patch-sql_sql__trigger.cc +++ head/databases/mariadb101-server/files/patch-sql_sql__trigger.cc @@ -0,0 +1,52 @@ +Fix clang build error + +--- sql/sql_trigger.cc.orig 2015-10-15 15:43:47 UTC ++++ sql/sql_trigger.cc +@@ -192,32 +192,32 @@ static File_option triggers_file_paramet + { + { + { C_STRING_WITH_LEN("triggers") }, +- my_offsetof(class Table_triggers_list, definitions_list), ++ static_cast(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(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(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(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(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(my_offsetof(class Table_triggers_list, db_cl_names)), + FILE_OPTIONS_STRLIST + }, + { { 0, 0 }, 0, FILE_OPTIONS_STRING } +@@ -226,7 +226,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(my_offsetof(class Table_triggers_list, definition_modes_list)), + FILE_OPTIONS_ULLLIST + }; + Index: head/databases/mariadb101-server/files/patch-sql_sql__view.cc =================================================================== --- head/databases/mariadb101-server/files/patch-sql_sql__view.cc +++ head/databases/mariadb101-server/files/patch-sql_sql__view.cc @@ -0,0 +1,65 @@ +Fix clang build error + +--- sql/sql_view.cc.orig 2015-10-15 15:43:47 UTC ++++ sql/sql_view.cc +@@ -720,46 +720,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(my_offsetof(TABLE_LIST, select_stmt)), + FILE_OPTIONS_ESTRING}, + {{ C_STRING_WITH_LEN("md5")}, +- my_offsetof(TABLE_LIST, md5), ++ static_cast(my_offsetof(TABLE_LIST, md5)), + FILE_OPTIONS_STRING}, + {{ C_STRING_WITH_LEN("updatable")}, +- my_offsetof(TABLE_LIST, updatable_view), ++ static_cast(my_offsetof(TABLE_LIST, updatable_view)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("algorithm")}, +- my_offsetof(TABLE_LIST, algorithm), ++ static_cast(my_offsetof(TABLE_LIST, algorithm)), + FILE_OPTIONS_VIEW_ALGO}, + {{ C_STRING_WITH_LEN("definer_user")}, +- my_offsetof(TABLE_LIST, definer.user), ++ static_cast(my_offsetof(TABLE_LIST, definer.user)), + FILE_OPTIONS_STRING}, + {{ C_STRING_WITH_LEN("definer_host")}, +- my_offsetof(TABLE_LIST, definer.host), ++ static_cast(my_offsetof(TABLE_LIST, definer.host)), + FILE_OPTIONS_STRING}, + {{ C_STRING_WITH_LEN("suid")}, +- my_offsetof(TABLE_LIST, view_suid), ++ static_cast(my_offsetof(TABLE_LIST, view_suid)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("with_check_option")}, +- my_offsetof(TABLE_LIST, with_check), ++ static_cast(my_offsetof(TABLE_LIST, with_check)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("timestamp")}, +- my_offsetof(TABLE_LIST, timestamp), ++ static_cast(my_offsetof(TABLE_LIST, timestamp)), + FILE_OPTIONS_TIMESTAMP}, + {{ C_STRING_WITH_LEN("create-version")}, +- my_offsetof(TABLE_LIST, file_version), ++ static_cast(my_offsetof(TABLE_LIST, file_version)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("source")}, +- my_offsetof(TABLE_LIST, source), ++ static_cast(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(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(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(my_offsetof(TABLE_LIST, view_body_utf8)), + FILE_OPTIONS_ESTRING}, + {{ C_STRING_WITH_LEN("mariadb-version")}, + my_offsetof(TABLE_LIST, mariadb_version), Index: head/databases/mariadb101-server/files/patch-sql_sys__vars.cc =================================================================== --- head/databases/mariadb101-server/files/patch-sql_sys__vars.cc +++ head/databases/mariadb101-server/files/patch-sql_sys__vars.cc @@ -0,0 +1,40 @@ +Fix clang build error + +--- sql/sys_vars.cc.orig 2015-10-15 15:43:47 UTC ++++ sql/sys_vars.cc +@@ -1040,7 +1040,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", +@@ -2214,7 +2214,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)); + +@@ -2229,7 +2229,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)); + +@@ -3424,7 +3424,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( Index: head/databases/mariadb101-server/files/patch-storage_connect_json.cpp =================================================================== --- head/databases/mariadb101-server/files/patch-storage_connect_json.cpp +++ head/databases/mariadb101-server/files/patch-storage_connect_json.cpp @@ -0,0 +1 @@ +# Intentionally empty Index: head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuFeatureDetection.cmake =================================================================== --- head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuFeatureDetection.cmake +++ head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_cmake__modules_TokuFeatureDetection.cmake @@ -0,0 +1,19 @@ +Fix failing backtrace detection + +--- storage/tokudb/PerconaFT/cmake_modules/TokuFeatureDetection.cmake.orig 2015-10-15 15:43:51 UTC ++++ storage/tokudb/PerconaFT/cmake_modules/TokuFeatureDetection.cmake +@@ -87,13 +87,7 @@ if (NOT HAVE_DLSYM_WITHOUT_DL) + endif () + check_function_exists(backtrace HAVE_BACKTRACE_WITHOUT_EXECINFO) + if (NOT HAVE_BACKTRACE_WITHOUT_EXECINFO) +- set(CMAKE_REQUIRED_LIBRARIES execinfo) +- check_function_exists(backtrace HAVE_BACKTRACE_WITH_EXECINFO) +- if (HAVE_BACKTRACE_WITH_EXECINFO) +- list(APPEND EXTRA_SYSTEM_LIBS execinfo) +- else () +- message(FATAL_ERROR "Cannot find backtrace(), even with -lexecinfo.") +- endif () ++ list(APPEND EXTRA_SYSTEM_LIBS execinfo) + endif () + + if(HAVE_CLOCK_REALTIME) Index: head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_portability_memory.cc =================================================================== --- head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_portability_memory.cc +++ head/databases/mariadb101-server/files/patch-storage_tokudb_PerconaFT_portability_memory.cc @@ -0,0 +1,16 @@ +Fix build error + +--- storage/tokudb/PerconaFT/portability/memory.cc.orig 2015-10-15 15:43:52 UTC ++++ storage/tokudb/PerconaFT/portability/memory.cc +@@ -94,11 +94,6 @@ PATENT RIGHTS GRANT: + #include + #include + #include +-#if defined(HAVE_MALLOC_H) +-# include +-#elif defined(HAVE_SYS_MALLOC_H) +-# include +-#endif + #include + #include + #include "memory.h" Index: head/databases/mariadb101-server/files/patch-support-files_CMakeLists.txt =================================================================== --- head/databases/mariadb101-server/files/patch-support-files_CMakeLists.txt +++ head/databases/mariadb101-server/files/patch-support-files_CMakeLists.txt @@ -0,0 +1,14 @@ +Fix up missing WITHOUT_DOCS, WITHOUT_CLIENT options + +--- support-files/CMakeLists.txt.orig 2015-10-15 15:44:15 UTC ++++ support-files/CMakeLists.txt +@@ -64,7 +64,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 ${prefix}/${INSTALL_BINDIR}) + SET(sbindir ${prefix}/${INSTALL_SBINDIR}) Index: head/databases/mariadb101-server/files/pkg-message.in =================================================================== --- head/databases/mariadb101-server/files/pkg-message.in +++ head/databases/mariadb101-server/files/pkg-message.in @@ -0,0 +1,15 @@ +************************************************************************ + +Remember to run mysql_upgrade (with the optional --datadir= 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 + +************************************************************************ Index: head/databases/mariadb101-server/pkg-descr =================================================================== --- head/databases/mariadb101-server/pkg-descr +++ head/databases/mariadb101-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/ Index: head/databases/mariadb101-server/pkg-plist =================================================================== --- head/databases/mariadb101-server/pkg-plist +++ head/databases/mariadb101-server/pkg-plist @@ -0,0 +1,190 @@ +bin/aria_chk +bin/aria_dump_log +bin/aria_ftdump +bin/aria_pack +bin/aria_read_log +bin/innochecksum +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 +bin/mysql_plugin +bin/mysql_secure_installation +bin/mysql_setpermission +bin/mysql_tzinfo_to_sql +bin/mysql_upgrade +bin/mysql_zap +bin/mysqlbug +bin/mysqld_multi +bin/mysqld_safe +bin/mysqldumpslow +bin/mysqlhotcopy +bin/mysqltest +bin/mysqltest_embedded +@comment bin/mytop +bin/perror +bin/replace +bin/resolve_stack_dump +bin/resolveip +bin/wsrep_sst_common +bin/wsrep_sst_mysqldump +bin/wsrep_sst_rsync +bin/wsrep_sst_xtrabackup +bin/wsrep_sst_xtrabackup-v2 +include/mysql/private/embedded_priv.h +lib/mysql/libmysqld.a +lib/mysql/libmysqld.so +lib/mysql/libmysqld.so.18 +lib/mysql/plugin/adt_null.so +lib/mysql/plugin/auth_0x0100.so +lib/mysql/plugin/auth_gssapi.so +lib/mysql/plugin/auth_gssapi_client.so +lib/mysql/plugin/auth_pam.so +lib/mysql/plugin/auth_socket.so +lib/mysql/plugin/auth_test_plugin.so +lib/mysql/plugin/daemon_example.ini +lib/mysql/plugin/debug_key_management.so +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_innodb.so +%%MROONGA%%lib/mysql/plugin/ha_mroonga.so +%%OQGRAPH%%lib/mysql/plugin/ha_oqgraph.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/mysql_clear_password.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/innochecksum.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/mysql_zap.1.gz +man/man1/mysqlbug.1.gz +man/man1/mysqld_multi.1.gz +man/man1/mysqld_safe.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/man8/mysqld.8.gz +%%DATADIR%%/binary-configure +%%DATADIR%%/charsets/Index.xml +%%DATADIR%%/charsets/README +%%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/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/swe7.xml +%%DATADIR%%/czech/errmsg.sys +%%DATADIR%%/danish/errmsg.sys +%%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%%/install_spider.sql +%%DATADIR%%/italian/errmsg.sys +%%DATADIR%%/japanese/errmsg.sys +%%DATADIR%%/korean/errmsg.sys +%%DATADIR%%/magic +%%DATADIR%%/maria_add_gis_sp.sql +%%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%%/mysqld_multi.server +%%DATADIR%%/norwegian-ny/errmsg.sys +%%DATADIR%%/norwegian/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%%/wsrep.cnf +%%DATADIR%%/wsrep_notify