# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= mysql56 VERSION= 5.6.49 KEYWORDS= databases VARIANTS= standard SDESC[standard]= Multithreaded SQL database (server) HOMEPAGE= https://www.mysql.com/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= MYSQL/MySQL-5.6 DISTFILE[1]= mysql-5.6.49.zip:main DF_INDEX= 1 SPKGS[standard]= complete server client OPTIONS_AVAILABLE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA PERFORMANCE ALTSSL OPTIONS_STANDARD= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA PERFORMANCE ALTSSL OPTGROUP_UNLIMITED= STORAGE OPTDESCR[STORAGE]= Storage engines statically compiled into server OPTGROUP[STORAGE]= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA OPT_ON[sunos]= ALTSSL OPT_ON[all]= PERFORMANCE BUILD_DEPENDS= libevent:single:standard libedit:single:standard EXRUN[client]= libedit:single:standard USERS= mysql GROUPS= mysql USERGROUP_SPKG= server USES= bison cmake perl:run shebangfix execinfo zlib cpe c++:server,client DISTNAME= mysql-5.6.49 LICENSE= GPLv2:server LICENSE_TERMS= server:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv2:{{WRKSRC}}/README LICENSE_AWK= TERMS:"^\/\*$$" LICENSE_SOURCE= TERMS:{{WRKSRC}}/include/mysql.h LICENSE_SCHEME= solo CMAKE_BUILD_TYPE= Release CPE_PRODUCT= mysql CPE_VENDOR= oracle FPC_EQUIVALENT= databases/mysql56-server SHEBANG_FILES= scripts/*.pl* scripts/*.sh INSTALL_REQ_TOOLCHAIN= yes PLIST_SUB= MY_DBDIR=/var/db/mysql MY_SECDIR=/var/db/mysql_secure MY_TMPDIR=/var/db/mysql_tmpdir RC_SUBR= mysql-server:server SUB_FILES= my.cnf.sample SUB_LIST= MY_DBDIR=/var/db/mysql MY_SECDIR=/var/db/mysql_secure MY_TMPDIR=/var/db/mysql_tmpdir CFLAGS= -Wno-deprecated-declarations CMAKE_ARGS= -DINSTALL_DOCDIR="share/doc/mysql" -DINSTALL_DOCREADMEDIR="share/doc/mysql" -DINSTALL_INCLUDEDIR="include/mysql" -DINSTALL_INFODIR="share/info" -DINSTALL_LIBDIR="lib/mysql" -DINSTALL_MANDIR="share/man" -DINSTALL_MYSQLDATADIR="/var/db/mysql" -DINSTALL_MYSQLSHAREDIR="share/mysql" -DINSTALL_MYSQLTESTDIR="share/mysql/tests" -DINSTALL_PLUGINDIR="lib/mysql/plugin" -DINSTALL_SBINDIR="libexec" -DINSTALL_SCRIPTDIR="bin" -DINSTALL_SECURE_FILE_PRIVDIR="/var/db/mysql_secure" -DINSTALL_SHAREDIR="share" -DINSTALL_SUPPORTFILESDIR="share/mysql" -DWITH_EDITLINE=system -DWITH_LIBEVENT=system -DWITH_ZLIB=system -DWITH_SSL={{OPENSSLBASE}} -DWITH_EMBEDDED_SERVER="ON" -DINSTALL_MYSQLTESTDIR=0 [PERFSCHEMA].DESCRIPTION= Provide "Performance Schema Storage" engine [PERFSCHEMA].CMAKE_ARGS_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 [EXAMPLE].DESCRIPTION= Provide "Example Storage" engine [EXAMPLE].CMAKE_ARGS_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 [PARTITION].DESCRIPTION= Provide "Partitioning support Storage" engine [PARTITION].CMAKE_ARGS_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 [ALTSSL].DESCRIPTION= Use OpenSSL 1.0 instead of default SSL variant [ALTSSL].USES_OFF= ssl:build [ALTSSL].USES_ON= ssl:openssl,build [BLACKHOLE].DESCRIPTION= Provide "Blackhole Storage" engine [BLACKHOLE].CMAKE_ARGS_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 [PERFORMANCE].DESCRIPTION= Enable "Performance Schema" (High RAM use) [PERFORMANCE].SUB_LIST_OFF= PERFSCHEMRC="--skip-performance-schema" [PERFORMANCE].SUB_LIST_ON= PERFSCHEMRC="" [ARCHIVE].DESCRIPTION= Provide "Archive Storage" engine [ARCHIVE].CMAKE_ARGS_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 [FEDERATED].DESCRIPTION= Provide "Federated Storage" engine [FEDERATED].CMAKE_ARGS_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 [FEDERATED].SUB_LIST_OFF= FEDER="" [FEDERATED].SUB_LIST_ON= FEDER="--federated" [INNOBASE].DESCRIPTION= Provide "InnoDB Storage" engine [INNOBASE].CMAKE_ARGS_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 post-patch: ${REINPLACE_CMD} -e 's|/usr/bin/perl|${PREFIX}/bin/perl|' \ -e 's|/usr/local/bin/perl|${PREFIX}/bin/perl|' \ ${WRKSRC}/scripts/CMakeLists.txt post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/mysql/keyring \ ${STAGEDIR}/var/db/mysql_secure \ ${STAGEDIR}/var/db/mysql_tmpdir ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample \ ${STAGEDIR}${ETCDIR}/my.cnf.sample ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/lib*.so ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/*.so ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/mysqld # Linux doesn't like -R flags ${SED} -i'' -e 's| -R| -Wl,-rpath,|g' \ ${STAGEDIR}${PREFIX}/bin/mysql_config .for dossier in innochecksum my_print_defaults myisam_ftdump myisamchk \ myisamlog myisampack mysql_plugin mysql_tzinfo_to_sql mysql_upgrade \ mysqltest perror replace resolve_stack_dump resolveip mysql \ mysql_config_editor mysql_waitpid mysqladmin mysqlbinlog mysqlcheck \ mysqldump mysqlimport mysqlshow mysqlslap ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${dossier} .endfor post-extract: ${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h [FILE:294:descriptions/desc.server] MySQL is a very fast, multi-threaded, multi-user and robust SQL (Structured Query Language) database server. MySQL, the most popular Open Source SQL database management system, is developed, distributed, and supported by Oracle Corporation. This package contains the MySQL server components. [FILE:150:descriptions/desc.client] MySQL is a very fast, multi-threaded, multi-user and robust SQL (Structured Query Language) database server. This package contains the MySQL client. [FILE:95:distinfo] f5190312ed1003fa803ff016724df2de1d864cdc4a61e3d690c1b5864c2cec5b 42382131 mysql-5.6.49.zip [FILE:2991:manifests/plist.server] %%ONLY-LINUX%%lib/mysql/plugin/auth_socket.so %%ONLY-SUNOS%%share/mysql/solaris/postinstall-solaris bin/ innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_convert_table_format mysql_fix_extensions mysql_install_db mysql_plugin mysql_secure_installation mysql_setpermission mysql_tzinfo_to_sql mysql_upgrade mysql_zap mysqlbug mysqld_multi mysqld_safe mysqldumpslow mysqlhotcopy mysqltest perror replace resolve_stack_dump resolveip lib/mysql/libmysqld.a lib/mysql/plugin/ adt_null.so auth.so auth_test_plugin.so connection_control.so daemon_example.ini ha_example.so libdaemon_example.so mypluglib.so mysql_no_login.so qa_auth_client.so qa_auth_interface.so qa_auth_server.so semisync_master.so semisync_slave.so test_udf_services.so udf_example.so validate_password.so libexec/mysqld share/man/man1/ innochecksum.1.gz my_print_defaults.1.gz myisam_ftdump.1.gz myisamchk.1.gz myisamlog.1.gz myisampack.1.gz mysql.server.1.gz mysql_convert_table_format.1.gz mysql_find_rows.1.gz mysql_fix_extensions.1.gz mysql_install_db.1.gz mysql_plugin.1.gz mysql_secure_installation.1.gz mysql_setpermission.1.gz mysql_tzinfo_to_sql.1.gz mysql_upgrade.1.gz mysql_zap.1.gz mysqlbug.1.gz mysqld_multi.1.gz mysqld_safe.1.gz mysqldumpslow.1.gz mysqlhotcopy.1.gz mysqlman.1.gz perror.1.gz replace.1.gz resolve_stack_dump.1.gz resolveip.1.gz share/man/man8/mysqld.8.gz share/mysql/ binary-configure dictionary.txt errmsg-utf8.txt fill_help_tables.sql innodb_memcached_config.sql magic my-default.cnf mysql-log-rotate mysql.server mysql_security_commands.sql mysql_system_tables.sql mysql_system_tables_data.sql mysql_test_data_timezone.sql mysqld_multi.server share/mysql/bulgarian/errmsg.sys share/mysql/charsets/ Index.xml README armscii8.xml ascii.xml cp1250.xml cp1251.xml cp1256.xml cp1257.xml cp850.xml cp852.xml cp866.xml dec8.xml geostd8.xml greek.xml hebrew.xml hp8.xml keybcs2.xml koi8r.xml koi8u.xml latin1.xml latin2.xml latin5.xml latin7.xml macce.xml macroman.xml swe7.xml share/mysql/czech/errmsg.sys share/mysql/danish/errmsg.sys share/mysql/dutch/errmsg.sys share/mysql/english/errmsg.sys share/mysql/estonian/errmsg.sys share/mysql/french/errmsg.sys share/mysql/german/errmsg.sys share/mysql/greek/errmsg.sys share/mysql/hungarian/errmsg.sys share/mysql/italian/errmsg.sys share/mysql/japanese/errmsg.sys share/mysql/korean/errmsg.sys share/mysql/norwegian/errmsg.sys share/mysql/norwegian-ny/errmsg.sys share/mysql/polish/errmsg.sys share/mysql/portuguese/errmsg.sys share/mysql/romanian/errmsg.sys share/mysql/russian/errmsg.sys share/mysql/serbian/errmsg.sys share/mysql/slovak/errmsg.sys share/mysql/spanish/errmsg.sys share/mysql/swedish/errmsg.sys share/mysql/ukrainian/errmsg.sys @dir(mysql,mysql,0750) %%MY_SECDIR%% @dir(mysql,mysql,0750) %%MY_TMPDIR%% @dir(mysql,mysql,0750) etc/mysql/keyring @sample(root,wheel,0644) etc/mysql/my.cnf.sample [FILE:1855:manifests/plist.client] bin/ msql2mysql mysql mysql_config mysql_config_editor mysql_find_rows mysql_waitpid mysqlaccess mysqlaccess.conf mysqladmin mysqlbinlog mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap include/mysql/ big_endian.h byte_order_generic.h byte_order_generic_x86.h byte_order_generic_x86_64.h decimal.h errmsg.h keycache.h little_endian.h m_ctype.h m_string.h my_alloc.h my_attribute.h my_byteorder.h my_compiler.h my_config.h my_dbug.h my_dir.h my_getopt.h my_global.h my_list.h my_net.h my_pthread.h my_sys.h my_xml.h mysql.h mysql_com.h mysql_com_server.h mysql_embed.h mysql_time.h mysql_version.h mysqld_ername.h mysqld_error.h plugin.h plugin_audit.h plugin_ftparser.h plugin_validate_password.h sql_common.h sql_state.h sslopt-case.h sslopt-longopts.h sslopt-vars.h typelib.h include/mysql/mysql/ client_authentication.h client_plugin.h client_plugin.h.pp get_password.h innodb_priv.h plugin.h plugin_audit.h plugin_audit.h.pp plugin_auth.h plugin_auth.h.pp plugin_auth_common.h plugin_ftparser.h plugin_ftparser.h.pp plugin_validate_password.h service_my_plugin_log.h service_my_snprintf.h service_mysql_string.h service_thd_alloc.h service_thd_wait.h service_thread_scheduler.h services.h thread_pool_priv.h include/mysql/mysql/psi/ mysql_file.h mysql_idle.h mysql_socket.h mysql_stage.h mysql_statement.h mysql_table.h mysql_thread.h psi.h lib/mysql/ libmysqlclient.a libmysqlclient.so libmysqlclient.so.18 libmysqlclient_r.a libmysqlclient_r.so libmysqlclient_r.so.18 share/aclocal/mysql.m4 share/man/man1/ comp_err.1.gz msql2mysql.1.gz mysql.1.gz mysql_config.1.gz mysql_config_editor.1.gz mysql_waitpid.1.gz mysqlaccess.1.gz mysqladmin.1.gz mysqlbinlog.1.gz mysqlcheck.1.gz mysqldump.1.gz mysqlimport.1.gz mysqlshow.1.gz mysqlslap.1.gz [FILE:1046:patches/patch-CMakeLists.txt] --- CMakeLists.txt.orig 2020-06-02 05:32:03 UTC +++ CMakeLists.txt @@ -565,12 +565,10 @@ IF(UNIX) ENDIF() IF(NOT WITHOUT_SERVER) - ADD_SUBDIRECTORY(tests) ADD_SUBDIRECTORY(sql) OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF) IF(WITH_EMBEDDED_SERVER) ADD_SUBDIRECTORY(libmysqld) - ADD_SUBDIRECTORY(libmysqld/examples) ENDIF(WITH_EMBEDDED_SERVER) ENDIF() @@ -579,10 +577,7 @@ ENDIF() ADD_SUBDIRECTORY(scripts) IF(NOT WITHOUT_SERVER) - ADD_SUBDIRECTORY(mysql-test) - ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess) ADD_SUBDIRECTORY(support-files) - ADD_SUBDIRECTORY(sql-bench) IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt) ADD_SUBDIRECTORY(internal) ENDIF() @@ -641,6 +636,7 @@ ENDIF() # # RPM installs documentation directly from the source tree # +IF(FALSE) IF(NOT INSTALL_LAYOUT MATCHES "RPM") INSTALL(FILES README @@ -660,6 +656,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") PATTERN "sp-imp-spec.txt" EXCLUDE ) ENDIF() +ENDIF() INCLUDE(CPack) [FILE:804:patches/patch-cmake_os_SunOS.cmake] $NetBSD: patch-cmake_os_SunOS.cmake,v 1.2 2017/04/11 20:21:02 adam Exp $ Backport section from MySQL 5.7 to fix SunOS/gcc. --- cmake/os/SunOS.cmake.orig 2020-06-02 05:32:03 UTC +++ cmake/os/SunOS.cmake @@ -31,7 +31,13 @@ ENDIF() # We require SunStudio 12u2 (CC 5.11) IF(NOT FORCE_UNSUPPORTED_COMPILER) - IF(CMAKE_C_COMPILER_ID MATCHES "SunPro") + IF(CMAKE_COMPILER_IS_GNUCC) + EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion + OUTPUT_VARIABLE GCC_VERSION) + IF(GCC_VERSION VERSION_LESS 4.4) + MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!") + ENDIF() + ELSEIF(CMAKE_C_COMPILER_ID MATCHES "SunPro") # CC -V yields # CC: Studio 12.6 Sun C++ 5.15 SunOS_sparc Beta 2016/12/19 # CC: Studio 12.5 Sun C++ 5.14 SunOS_sparc Dodona 2016/04/04 [FILE:584:patches/patch-cmake_plugin.cmake] --- cmake/plugin.cmake.orig 2020-06-02 05:32:03 UTC +++ cmake/plugin.cmake @@ -219,9 +219,6 @@ MACRO(MYSQL_ADD_PLUGIN) MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR} COMPONENT ${INSTALL_COMPONENT}) - INSTALL_DEBUG_TARGET(${target} - DESTINATION ${INSTALL_PLUGINDIR}/debug - COMPONENT ${INSTALL_COMPONENT}) # Add installed files to list for RPMs FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n" [FILE:601:patches/patch-cmake_ssl.cmake] --- cmake/ssl.cmake.orig 2020-06-02 05:32:03 UTC +++ cmake/ssl.cmake @@ -189,13 +189,10 @@ MACRO (MYSQL_CHECK_SSL) OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}" ) ENDIF() - IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0") - ADD_DEFINITIONS(-DHAVE_TLSv13) - ENDIF() IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARY AND CRYPTO_LIBRARY AND - OPENSSL_MAJOR_VERSION STREQUAL "1" + OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1" ) SET(OPENSSL_FOUND TRUE) ELSE() [FILE:491:patches/patch-include_my_compare.h] --- include/my_compare.h.orig 2020-06-02 05:32:03 UTC +++ include/my_compare.h @@ -46,7 +46,7 @@ extern "C" { But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH. */ -#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */ +#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */ #define HA_MAX_KEY_SEG 16 /* Max segments for key */ #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6) [FILE:549:patches/patch-include_myisam.h] --- include/myisam.h.orig 2020-06-02 05:32:03 UTC +++ include/myisam.h @@ -56,7 +56,7 @@ extern "C" { The following defines can be increased if necessary. But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH. */ -#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */ +#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */ #define MI_MAX_KEY_SEG 16 /* Max segments for key */ #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8) [FILE:459:patches/patch-libmysql_CMakeLists.txt] --- libmysql/CMakeLists.txt.orig 2020-06-02 05:32:03 UTC +++ libmysql/CMakeLists.txt @@ -250,7 +250,7 @@ IF(NOT DISABLE_SHARED) TARGET_LINK_LIBRARIES(libmysql ${LIBS_TO_LINK}) IF(UNIX) # libtool compatability - IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly|Linux|SunOS" OR APPLE) SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") ELSE() SET(OS_SHARED_LIB_VERSION [FILE:321:patches/patch-libservices_CMakeLists.txt] --- libservices/CMakeLists.txt.orig 2020-06-02 05:32:03 UTC +++ libservices/CMakeLists.txt @@ -31,4 +31,6 @@ SET(MYSQLSERVICES_SOURCES mysql_string_service.c) ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES}) +IF(FALSE) INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development) +ENDIF() [FILE:1910:patches/patch-mysys_ssl_my_default.cc] --- mysys_ssl/my_default.cc.orig 2020-06-02 05:32:03 UTC +++ mysys_ssl/my_default.cc @@ -122,7 +122,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; @@ -915,6 +915,14 @@ static int search_default_file_with_ext( 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_getline(buff, sizeof(buff) - 1, fp, is_login_file)) { line++; @@ -1253,7 +1261,8 @@ void my_print_default_files(const char * end[(strlen(end)-1)] = ' '; else strxmov(end, conf_file, *ext , " ", NullS); - fputs(name, stdout); + if (strstr(name, "/etc") != name) + fputs(name, stdout); } } } @@ -1412,13 +1421,8 @@ static const char **init_default_directo #else - errors += add_directory(alloc, "/etc/", dirs); - errors += add_directory(alloc, "/etc/mysql/", dirs); - -#if defined(DEFAULT_SYSCONFDIR) - if (DEFAULT_SYSCONFDIR[0]) - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); -#endif /* DEFAULT_SYSCONFDIR */ + errors += add_directory(alloc, "/usr/local/etc/", dirs); + errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs); #endif @@ -1489,7 +1493,7 @@ int check_file_permissions(const char *f MY_STAT stat_info; if (!my_stat(file_name,&stat_info,MYF(0))) - return 1; + return 0; /* Ignore .mylogin.cnf file if not exclusively readable/writable by current user. [FILE:407:patches/patch-plugin_password__validation_validate__password.cc] --- plugin/password_validation/validate_password.cc.orig 2020-06-02 05:32:03 UTC +++ plugin/password_validation/validate_password.cc @@ -23,6 +23,8 @@ #include #include #include +/* solve clash between libc++ bitset::test() and test macro from my_global.h */ +#undef test #include #include // std::streamoff #include [FILE:1655:patches/patch-scripts_CMakeLists.txt] --- scripts/CMakeLists.txt.orig 2020-06-02 05:32:03 UTC +++ scripts/CMakeLists.txt @@ -148,13 +148,9 @@ IF(NOT FIND_PROC AND CMAKE_SYSTEM_NAME M "ps -p $PID | grep -v mysqld_safe | grep -- $MYSQLD > /dev/null") ENDIF() -IF(NOT FIND_PROC) - # BSD style - EXECUTE_PROCESS(COMMAND ps -uaxww OUTPUT_QUIET ERROR_QUIET RESULT_VARIABLE result) - IF(result MATCHES 0) +IF(NOT FIND_PROC AND CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD") SET( FIND_PROC "ps -uaxww | grep -v mysqld_safe | grep -- $MYSQLD | grep $PID > /dev/null") - ENDIF() ENDIF() IF(NOT FIND_PROC) @@ -264,7 +260,7 @@ SET(pkgplugindir ${prefix}/${INSTALL_PLU SET(localstatedir ${MYSQL_DATADIR}) SET(RPATH_OPTION "") -IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS") +IF(TRUE) SET(RPATH_OPTION "-R$pkglibdir") ENDIF() @@ -305,6 +301,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE) STRING(REGEX REPLACE "^lib" "" lib "${lib}") SET(${var} "${${var}}-l${lib} " ) + ELSEIF(lib STREQUAL "-pthread") + SET(${var} "${${var}}-pthread " ) ELSE() SET(${var} "${${var}}-l${lib} " ) ENDIF() @@ -375,7 +373,7 @@ ELSE() FOREACH(file ${BIN_SCRIPTS}) IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh - ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) + ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY) ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file} ${CMAKE_CURRENT_BINARY_DIR}/${file} COPYONLY) [FILE:777:patches/patch-scripts_mysqld__safe.sh] --- scripts/mysqld_safe.sh.orig 2020-06-02 05:32:03 UTC +++ scripts/mysqld_safe.sh @@ -460,10 +460,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" @@ -472,7 +472,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 [FILE:567:patches/patch-sql_CMakeLists.txt] --- sql/CMakeLists.txt.orig 2020-06-02 05:32:03 UTC +++ sql/CMakeLists.txt @@ -459,6 +459,7 @@ ADD_CUSTOM_TARGET(distclean IF(INSTALL_LAYOUT STREQUAL "STANDALONE") +IF(FALSE) # Copy db.opt into data/test/ SET(DBOPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/db.opt ) INSTALL(FILES ${DBOPT_FILE} DESTINATION data/test COMPONENT DataFiles) @@ -503,6 +504,7 @@ ELSE() INSTALL(FILES ${DUMMY_FILE} DESTINATION data/mysql COMPONENT DataFiles) ENDIF() ENDIF() +ENDIF() ADD_CUSTOM_TARGET(show-dist-name COMMAND ${CMAKE_COMMAND} -E echo "${CPACK_PACKAGE_FILE_NAME}" [FILE:396:patches/patch-sql_mysqld.cc] --- sql/mysqld.cc.orig 2020-06-02 05:32:03 UTC +++ sql/mysqld.cc @@ -4375,7 +4375,7 @@ static void openssl_lock(int mode, opens static int init_ssl() { #ifdef HAVE_OPENSSL -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) CRYPTO_malloc_init(); #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ OPENSSL_malloc_init(); [FILE:2575:patches/patch-sql_sql__view.cc] --- sql/sql_view.cc.orig 2020-06-02 05:32:03 UTC +++ sql/sql_view.cc @@ -774,46 +774,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_ULONGLONG}, {{ 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}, {{NullS, 0}, 0, FILE_OPTIONS_STRING} [FILE:1845:patches/patch-sql_sql_trigger.cc] --- sql/sql_trigger.cc.orig 2020-06-02 05:32:03 UTC +++ sql/sql_trigger.cc @@ -199,32 +199,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 } @@ -233,7 +233,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 }; [FILE:1921:patches/patch-sql_sys__vars.cc] --- sql/sys_vars.cc.orig 2020-06-02 05:32:03 UTC +++ sql/sys_vars.cc @@ -1422,7 +1422,7 @@ static Sys_var_ulong Sys_interactive_tim "connection before closing it", SESSION_VAR(net_interactive_timeout), CMD_LINE(REQUIRED_ARG), - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1)); + VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1)); static Sys_var_ulong Sys_join_buffer_size( "join_buffer_size", @@ -2041,7 +2041,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)); @@ -2056,7 +2056,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)); @@ -3189,7 +3189,7 @@ static Sys_var_ulong Sys_net_wait_timeou "The number of seconds the server waits for activity on a " "connection before closing it", SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG), - VALID_RANGE(1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT)), + VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1)); static Sys_var_plugin Sys_default_storage_engine( [FILE:2182:files/my.cnf.sample.in] [client] port = 3306 socket = /tmp/mysql.sock [mysql] prompt = \u@\h [\d]>\_ no_auto_rehash [mysqld] user = mysql port = 3306 socket = /tmp/mysql.sock bind-address = 127.0.0.1 basedir = %%PREFIX%% datadir = %%MY_DBDIR%% tmpdir = %%MY_TMPDIR%% slave-load-tmpdir = %%MY_TMPDIR%% secure-file-priv = %%MY_SECDIR%% log-bin = mysql-bin log-output = TABLE master-info-repository = TABLE relay-log-info-repository = TABLE relay-log-recovery = 1 slow-query-log = 1 server-id = 1 sync_binlog = 1 sync_relay_log = 1 binlog_cache_size = 16M expire_logs_days = 30 default_password_lifetime = 0 enforce-gtid-consistency = 1 gtid-mode = ON safe-user-create = 1 lower_case_table_names = 1 explicit-defaults-for-timestamp = 1 myisam-recover-options = BACKUP,FORCE open_files_limit = 32768 table_open_cache = 16384 table_definition_cache = 8192 net_retry_count = 16384 key_buffer_size = 256M max_allowed_packet = 64M query_cache_type = 0 query_cache_size = 0 long_query_time = 0.5 innodb_buffer_pool_size = 1G innodb_data_home_dir = %%MY_DBDIR%% innodb_log_group_home_dir = %%MY_DBDIR%% innodb_data_file_path = ibdata1:128M:autoextend innodb_temp_data_file_path = ibtmp1:128M:autoextend innodb_flush_method = O_DIRECT innodb_log_file_size = 256M innodb_log_buffer_size = 16M innodb_write_io_threads = 8 innodb_read_io_threads = 8 innodb_autoinc_lock_mode = 2 skip-symbolic-links [mysqldump] max_allowed_packet = 256M quote_names quick [FILE:2478:files/mysql-server.in] #!/bin/sh # # PROVIDE: mysql # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable mysql: # mysql_enable (bool): Set to "NO" by default. # Set it to "YES" to enable MySQL. # mysql_limits (bool): Set to "NO" by default. # Set it to yes to run `limits -e -U mysql` # just before mysql starts. # mysql_dbdir (str): Default to "%%MY_DBDIR%%" # Base database directory. # mysql_confdir (str): Default to "%%ETCDIR%%" # Base configuration directory. # mysql_optfile (str): Server-specific option file. # Set it in the rc.conf or default behaviour of # `mysqld_safe` itself, will be picking # ${mysql_confdir}/my.cnf if it exists. # mysql_pidfile (str): Custum PID file path and name. # Default to "${mysql_dbdir}/${hostname}.pid". # mysql_args (str): Custom additional arguments to be passed # to mysqld_safe (default empty). # . /etc/rc.subr name="mysql" rcvar=mysql_enable load_rc_config $name : ${mysql_enable="NO"} : ${mysql_limits="NO"} : ${mysql_dbdir="%%MY_DBDIR%%"} : ${mysql_confdir="%%ETCDIR%%"} if [ -f "${mysql_confdir}/my.cnf" ]; then : ${mysql_optfile="${mysql_confdir}/my.cnf"} elif [ -f "${mysql_dbdir}/my.cnf" ]; then : ${mysql_optfile="${mysql_dbdir}/my.cnf"} fi if [ ! -z "${mysql_optfile}" ]; then mysql_extra="--defaults-extra-file=${mysql_optfile}" fi mysql_user="mysql" mysql_limits_args="-e -U ${mysql_user}" : ${hostname:=`/bin/hostname`} pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"} command="/usr/sbin/daemon" command_args="-c -f %%PREFIX%%/bin/mysqld_safe ${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --pid-file=${pidfile} --user=${mysql_user} ${mysql_args} %%FEDER%% %%PERFSCHEMRC%%" procname="%%PREFIX%%/libexec/mysqld" start_precmd="${name}_prestart" start_postcmd="${name}_poststart" mysql_install_db="%%PREFIX%%/bin/mysql_install_db" mysql_install_db_args="${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --mysqld-file=${procname} --user=${mysql_user}" mysql_create_auth_tables() { eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null } mysql_prestart() { if [ ! -d "${mysql_dbdir}/mysql/." ]; then mysql_create_auth_tables || return 1 fi if checkyesno mysql_limits; then eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null else return 0 fi } mysql_poststart() { local timeout=15 while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do timeout=$(( timeout - 1 )) sleep 1 done return 0 } run_rc_command "$1" [FILE:576:files/pkg-message-server.in] ***************************************************************************** Remember to run mysql_upgrade the first time you start the MySQL server after an upgrade from an earlier version. Initial password for first time use of MySQL is saved in $HOME/.mysql_secret ie. when you want to use "mysql -u root -p" first you should see password in /root/.mysql_secret MySQL57 has a default %%ETCDIR%%/my.cnf, remember to replace it wit your own or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf. ***************************************************************************** [FILE:28:files/special.mk] ETCDIR= ${PREFIX}/etc/mysql