1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Multithreaded SQL database (server)
8 HOMEPAGE= https://www.mysql.com/
12 SITES[main]= MYSQL/MySQL-8.0
13 DISTFILE[1]= mysql-boost-8.0.26.tar.gz:main
15 SPKGS[standard]= complete
19 OPTIONS_AVAILABLE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE
20 PERFSCHEMA PERFORMANCE
21 OPTIONS_STANDARD= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE
22 PERFSCHEMA PERFORMANCE
23 OPTGROUP_UNLIMITED= STORAGE
24 OPTDESCR[STORAGE]= Storage engines statically compiled into server
25 OPTGROUP[STORAGE]= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE
27 OPT_ON[all]= PERFORMANCE
29 BUILD_DEPENDS= libedit:single:standard
30 BUILDRUN_DEPENDS= libevent:single:standard
31 B_DEPS[linux]= patchelf:primary:standard
32 EXRUN[client]= libedit:single:standard
33 zlib:complete:standard
34 openssl-devel:single:standard
38 USERGROUP_SPKG= server
40 USES= bison cmake perl:run shebangfix zlib cpe lz4
41 execinfo ssl:openssl-devel pkgconfig
42 c++:server,client cclibs:server,client
44 DISTNAME= mysql-8.0.26
46 LICENSE= GPLv2:server CUSTOM1:server
47 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
48 LICENSE_NAME= CUSTOM1:"MySQL Router License"
49 LICENSE_FILE= GPLv2:{{WRKSRC}}/README
50 CUSTOM1:{{WRKSRC}}/router/LICENSE.router
51 LICENSE_AWK= TERMS:"^\/\*$$"
52 LICENSE_SOURCE= TERMS:{{WRKSRC}}/include/mysql.h
55 CMAKE_BUILD_TYPE= Release
58 FPC_EQUIVALENT= databases/mysql80-server
59 SHEBANG_FILES= scripts/*.pl
61 INSTALL_REQ_TOOLCHAIN= yes
62 PLIST_SUB= MY_DBDIR=/var/db/mysql
63 MY_SECDIR=/var/db/mysql_secure
64 MY_TMPDIR=/var/db/mysql_tmpdir
66 RC_SUBR= mysql-server:server
67 SUB_FILES= my.cnf.sample
68 SUB_LIST= MY_DBDIR=/var/db/mysql
69 MY_SECDIR=/var/db/mysql_secure
70 MY_TMPDIR=/var/db/mysql_tmpdir
72 CFLAGS= -Wno-deprecated-declarations
74 CMAKE_ARGS= -DINSTALL_PKGCONFIGDIR="{{LOCALBASE}}/lib/pkgconfig"
75 -DINSTALL_DOCDIR="share/doc/mysql"
76 -DINSTALL_DOCREADMEDIR="share/doc/mysql"
77 -DINSTALL_INCLUDEDIR="include/mysql"
78 -DINSTALL_INFODIR="share/info"
79 -DINSTALL_LIBDIR="lib/mysql"
80 -DINSTALL_MANDIR="share/man"
81 -DINSTALL_MYSQLDATADIR="/var/db/mysql"
82 -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring"
83 -DINSTALL_MYSQLSHAREDIR="share/mysql"
84 -DINSTALL_MYSQLTESTDIR="share/mysql/tests"
85 -DINSTALL_PLUGINDIR="lib/mysql/plugin"
86 -DINSTALL_SBINDIR="libexec"
87 -DINSTALL_SECURE_FILE_PRIVDIR="/var/db/mysql_secure"
88 -DINSTALL_SHAREDIR="share"
89 -DINSTALL_SUPPORTFILESDIR="share/mysql"
90 -DMYSQL_KEYRINGDIR="etc/mysql/keyring"
91 -DWITH_BOOST="{{WRKSRC}}/boost"
92 -DWITH_EDITLINE=system
93 -DWITH_LIBEVENT=system
96 -DWITH_SSL={{OPENSSLBASE}}
97 -DINSTALL_MYSQLTESTDIR=0
98 -DZLIB_INCLUDE_DIR={{LOCALBASE}}/include
99 -DWITH_UNIT_TESTS:BOOL=OFF
101 [PERFSCHEMA].DESCRIPTION= Provide "Performance Schema Storage" engine
102 [PERFSCHEMA].CMAKE_ARGS_OFF= -DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=1
103 [PERFSCHEMA].CMAKE_ARGS_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
105 [EXAMPLE].DESCRIPTION= Provide "Example Storage" engine
106 [EXAMPLE].CMAKE_ARGS_OFF= -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
107 [EXAMPLE].CMAKE_ARGS_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1
109 [BLACKHOLE].DESCRIPTION= Provide "Blackhole Storage" engine
110 [BLACKHOLE].CMAKE_ARGS_OFF= -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1
111 [BLACKHOLE].CMAKE_ARGS_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1
113 [PERFORMANCE].DESCRIPTION= Enable "Performance Schema" (High RAM usage)
114 [PERFORMANCE].SUB_LIST_OFF= PERFSCHEMRC="--skip-performance-schema"
115 [PERFORMANCE].SUB_LIST_ON= PERFSCHEMRC=""
117 [ARCHIVE].DESCRIPTION= Provide "Archive Storage" engine
118 [ARCHIVE].CMAKE_ARGS_OFF= -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1
119 [ARCHIVE].CMAKE_ARGS_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1
121 [FEDERATED].DESCRIPTION= Provide "Federated Storage" engine
122 [FEDERATED].CMAKE_ARGS_OFF= -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
123 [FEDERATED].CMAKE_ARGS_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1
124 [FEDERATED].SUB_LIST_OFF= FEDER=""
125 [FEDERATED].SUB_LIST_ON= FEDER="--federated"
127 [INNOBASE].DESCRIPTION= Provide "InnoDB Storage" engine
128 [INNOBASE].CMAKE_ARGS_OFF= -DWITHOUT_INNOBASE_STORAGE_ENGINE=1
129 [INNOBASE].CMAKE_ARGS_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1
132 ${REINPLACE_CMD} -e 's|@LOCALBASE@|${LOCALBASE}|' \
133 -e 's|@OPENSSLLIB@|${OPENSSLLIB}|g' \
134 ${WRKSRC}/scripts/CMakeLists.txt
135 ${RM} ${WRKSRC}/cmake/os/FreeBSD.cmake
136 # current_path not supported by DragonFly
137 ${REINPLACE_CMD} -e '/mock_server/d' \
138 ${WRKSRC}/router/src/CMakeLists.txt
141 ${MKDIR} ${STAGEDIR}${PREFIX}/etc/mysql/keyring \
142 ${STAGEDIR}/var/db/mysql_secure \
143 ${STAGEDIR}/var/db/mysql_tmpdir
144 ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample \
145 ${STAGEDIR}${ETCDIR}/my.cnf.sample
146 ${MV} ${STAGEDIR}${PREFIX}/share/doc/mysql/sample_mysqlrouter.conf \
147 ${STAGEDIR}${ETCDIR}/mysqlrouter.conf.sample
148 ${RM} ${STAGEDIR}${MANPREFIX}/man/man1/zlib_decompress.1 \
149 ${STAGEDIR}${MANPREFIX}/man/man1/lz4_decompress.1
150 ${RM} ${STAGEDIR}${PREFIX}/*.router
151 ${RMDIR} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/debug
152 ${RMDIR} ${STAGEDIR}${PREFIX}/run
153 ${RM} -r ${STAGEDIR}${PREFIX}/share/doc
154 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/lib*.so
155 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/*.so
156 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmysql*.so.1
157 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libprotobuf-lite.so.*
158 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/mysqld
159 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysqlrouter/*.so
160 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/private/libprotobuf*
161 # Linux doesn't like -R flags
162 ${SED} -i'' -e 's| -R| -Wl,-rpath,|g' \
163 ${STAGEDIR}${PREFIX}/bin/mysql_config
164 list=$$(cd ${STAGEDIR}${PREFIX}/bin && ${LS} * | ${AWK} \
165 '{ if ($$1 != "mysql_config" && $$1 != "mysqld_mult" && \
166 $$1 != "mysqld_safe" && $$1 != "mysqldumpslow" && \
167 $$1 != "mysqld_multi") print}'); \
168 (cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} $$list)
171 ${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h
173 [FILE:294:descriptions/desc.server]
174 MySQL is a very fast, multi-threaded, multi-user and robust SQL
175 (Structured Query Language) database server.
177 MySQL, the most popular Open Source SQL database management system, is
178 developed, distributed, and supported by Oracle Corporation.
180 This package contains the MySQL server components.
183 [FILE:150:descriptions/desc.client]
184 MySQL is a very fast, multi-threaded, multi-user and robust SQL
185 (Structured Query Language) database server.
187 This package contains the MySQL client.
191 209442c1001c37bcbc001845e1dc623d654cefb555b47b528742a53bf21c0b4d 291285918 mysql-boost-8.0.26.tar.gz
194 [FILE:6201:manifests/plist.server]
195 @sample etc/mysql/my.cnf.sample
196 @sample etc/mysql/mysqlrouter.conf.sample
197 %%ONLY-LINUX%%lib/mysql/plugin/auth_socket.so
198 %%RPCGEN%%lib/mysql/plugin/group_replication.so
208 mysql_keyring_encryption_test
209 mysql_migrate_keyring
210 mysql_secure_installation
219 mysqlrouter_plugin_info
224 etc/logrotate.d/mysqlrouter-log-rotate
227 libmysqlharness_stdx.so.1
228 libmysqlharness_tls.so.1
230 libmysqlrouter_http.so.1
231 libmysqlrouter_http_auth_backend.so.1
232 libmysqlrouter_http_auth_realm.so.1
233 libmysqlrouter_io_component.so.1
234 libprotobuf-lite.so.3.11.4
235 lib/mysql/libmysqlservices.a
240 component_audit_api_message_emit.so
241 component_example_component1.so
242 component_example_component2.so
243 component_example_component3.so
244 component_keyring_file.so
245 component_log_filter_dragnet.so
246 component_log_sink_json.so
247 component_log_sink_syseventlog.so
248 component_log_sink_test.so
249 component_mysqlbackup.so
250 component_mysqlx_global_reset.so
251 component_pfs_example.so
252 component_pfs_example_component_population.so
253 component_query_attributes.so
254 component_reference_cache.so
255 component_test_audit_api_message.so
256 component_test_backup_lock_service.so
257 component_test_component_deinit.so
258 component_test_host_application_signal.so
259 component_test_mysql_current_thread_reader.so
260 component_test_mysql_runtime_error.so
261 component_test_mysql_system_variable_set.so
262 component_test_pfs_notification.so
263 component_test_pfs_resource_group.so
264 component_test_status_var_service.so
265 component_test_status_var_service_int.so
266 component_test_status_var_service_reg_only.so
267 component_test_status_var_service_str.so
268 component_test_status_var_service_unreg_only.so
269 component_test_string_service.so
270 component_test_string_service_charset.so
271 component_test_string_service_long.so
272 component_test_sys_var_service.so
273 component_test_sys_var_service_int.so
274 component_test_sys_var_service_same.so
275 component_test_sys_var_service_str.so
276 component_test_system_variable_source.so
277 component_test_table_access.so
278 component_test_udf_registration.so
279 component_test_udf_services.so
280 component_udf_reg_3_func.so
281 component_udf_reg_avg_func.so
282 component_udf_reg_int_func.so
283 component_udf_reg_int_same_func.so
284 component_udf_reg_only_3_func.so
285 component_udf_reg_real_func.so
286 component_udf_unreg_3_func.so
287 component_udf_unreg_int_func.so
288 component_udf_unreg_real_func.so
289 component_validate_password.so
290 connection_control.so
299 libtest_services_threaded.so
300 libtest_session_attach.so
301 libtest_session_detach.so
302 libtest_session_in_thd.so
303 libtest_session_info.so
304 libtest_sql_2_sessions.so
305 libtest_sql_all_col_types.so
306 libtest_sql_cmds_1.so
307 libtest_sql_commit.so
308 libtest_sql_complex.so
309 libtest_sql_errors.so
311 libtest_sql_processlist.so
312 libtest_sql_replication.so
313 libtest_sql_reset_connection.so
314 libtest_sql_shutdown.so
315 libtest_sql_sleep_is_connected.so
316 libtest_sql_sqlmode.so
318 libtest_sql_stored_procedures_functions.so
319 libtest_sql_views_triggers.so
320 libtest_x_sessions_deinit.so
321 libtest_x_sessions_init.so
326 pfs_example_plugin_employee.so
330 replication_observers_example_plugin.so
337 test_security_context.so
338 test_services_host_application_signal.so
339 test_services_plugin_registry.so
352 rest_metadata_cache.so
359 libprotobuf-lite.so.3.11.4
360 libprotobuf.so.3.11.4
365 my_print_defaults.1.gz
371 mysql_secure_installation.1.gz
372 mysql_ssl_rsa_setup.1.gz
373 mysql_tzinfo_to_sql.1.gz
380 mysqlrouter_passwd.1.gz
381 mysqlrouter_plugin_info.1.gz
383 share/man/man8/mysqld.8.gz
387 messages_to_clients.txt
388 messages_to_error_log.txt
392 uninstall_rewriter.sql
393 share/mysql/bulgarian/errmsg.sys
394 share/mysql/charsets/
421 share/mysql/czech/errmsg.sys
422 share/mysql/danish/errmsg.sys
423 share/mysql/dutch/errmsg.sys
424 share/mysql/english/errmsg.sys
425 share/mysql/estonian/errmsg.sys
426 share/mysql/french/errmsg.sys
427 share/mysql/german/errmsg.sys
428 share/mysql/greek/errmsg.sys
429 share/mysql/hungarian/errmsg.sys
430 share/mysql/italian/errmsg.sys
431 share/mysql/japanese/errmsg.sys
432 share/mysql/korean/errmsg.sys
433 share/mysql/norwegian/errmsg.sys
434 share/mysql/norwegian-ny/errmsg.sys
435 share/mysql/polish/errmsg.sys
436 share/mysql/portuguese/errmsg.sys
437 share/mysql/romanian/errmsg.sys
438 share/mysql/russian/errmsg.sys
439 share/mysql/serbian/errmsg.sys
440 share/mysql/slovak/errmsg.sys
441 share/mysql/spanish/errmsg.sys
442 share/mysql/swedish/errmsg.sys
443 share/mysql/ukrainian/errmsg.sys
444 @dir var/lib/mysqlrouter
445 @dir(mysql,mysql,0750) %%MY_SECDIR%%
446 @dir(mysql,mysql,0750) %%MY_TMPDIR%%
447 @dir(mysql,mysql,0750) etc/mysql/keyring
450 [FILE:792:manifests/plist.client]
481 udf_registration_types.h
486 lib/pkgconfig/mysqlclient.pc
487 share/aclocal/mysql.m4
492 mysql_config_editor.1.gz
503 [FILE:1146:patches/patch-CMakeLists.txt]
504 --- CMakeLists.txt.orig 2021-07-01 07:53:49 UTC
506 @@ -1755,7 +1755,6 @@ ADD_SUBDIRECTORY(share)
507 ADD_SUBDIRECTORY(libservices)
509 IF(NOT WITHOUT_SERVER)
510 - ADD_SUBDIRECTORY(testclients)
511 ADD_SUBDIRECTORY(sql)
514 @@ -1809,8 +1808,6 @@ ENDIF()
515 ADD_SUBDIRECTORY(scripts)
517 IF(NOT WITHOUT_SERVER)
518 - ADD_SUBDIRECTORY(mysql-test)
519 - ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
520 ADD_SUBDIRECTORY(support-files)
522 ADD_SUBDIRECTORY(internal)
523 @@ -1912,7 +1909,6 @@ ELSE()
524 SET(CPACK_GENERATOR "TGZ")
526 ADD_SUBDIRECTORY(packaging/WiX)
527 -ADD_SUBDIRECTORY(packaging/solaris)
529 # Produce separate tarballs for each INSTALL COMPONENT
530 IF(PACK_SEPARATE_COMPONENTS)
531 @@ -1928,6 +1924,7 @@ ENDIF()
533 # RPM installs documentation directly from the source tree
536 IF(NOT INSTALL_LAYOUT MATCHES "RPM")
539 @@ -1955,6 +1952,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
540 PATTERN "README.build" EXCLUDE
545 # Now that we're done with all ADD_SUBDIRECTORY and thus all feature tests,
546 # we can safely enable ASan on Clang/Win32 if needed.
549 [FILE:848:patches/patch-cmake_install__layout.cmake]
550 --- cmake/install_layout.cmake.orig 2021-07-01 07:53:49 UTC
551 +++ cmake/install_layout.cmake
552 @@ -375,19 +375,15 @@ SET(ROUTER_INSTALL_LOGDIR_STANDALONE
553 SET(ROUTER_INSTALL_RUNTIMEDIR_STANDALONE "run")
555 SET(ROUTER_INSTALL_BINDIR_STANDALONE "bin")
557 - SET(ROUTER_INSTALL_LIBDIR_STANDALONE "lib/mysqlrouter/private")
559 SET(ROUTER_INSTALL_LIBDIR_STANDALONE "lib")
562 SET(ROUTER_INSTALL_PLUGINDIR_STANDALONE "lib")
564 SET(ROUTER_INSTALL_PLUGINDIR_STANDALONE "lib/mysqlrouter")
566 -SET(ROUTER_INSTALL_LOGROTATEDIR_STANDALONE ".")
567 +SET(ROUTER_INSTALL_LOGROTATEDIR_STANDALONE "etc/logrotate.d")
568 SET(ROUTER_INSTALL_LOGROTATEFILE_STANDALONE "mysqlrouter-log-rotate")
569 -SET(ROUTER_INSTALL_DOCDIR_STANDALONE "docs")
570 +SET(ROUTER_INSTALL_DOCDIR_STANDALONE "share/doc/mysql")
576 [FILE:595:patches/patch-cmake_plugin.cmake]
577 --- cmake/plugin.cmake.orig 2021-07-01 07:53:49 UTC
578 +++ cmake/plugin.cmake
579 @@ -245,15 +245,6 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg)
581 # For testing purposes, we need
582 # <...>/lib/plugin/debug/authentication_ldap_sasl_client.so
583 - IF(ARG_CLIENT_ONLY)
584 - INSTALL_DEBUG_TARGET(${target}
585 - DESTINATION ${INSTALL_PLUGINDIR}/debug
588 - INSTALL_DEBUG_TARGET(${target}
589 - DESTINATION ${INSTALL_PLUGINDIR}/debug
590 - COMPONENT ${INSTALL_COMPONENT})
594 IF(WITHOUT_${plugin})
597 [FILE:1016:patches/patch-cmake_ssl.cmake]
598 --- cmake/ssl.cmake.orig 2021-07-01 07:53:49 UTC
600 @@ -226,13 +226,10 @@ MACRO (MYSQL_CHECK_SSL)
601 OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
604 - IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
605 - ADD_DEFINITIONS(-DHAVE_TLSv13)
607 IF(OPENSSL_INCLUDE_DIR AND
610 - OPENSSL_MAJOR_VERSION STREQUAL "1"
611 + OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
613 SET(OPENSSL_FOUND TRUE)
614 FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
615 @@ -336,7 +333,7 @@ ENDMACRO()
616 # or INSTALL_LIBDIR (Mac)
617 # or INSTALL_PRIV_LIBDIR (Linux)
618 MACRO(MYSQL_CHECK_SSL_DLLS)
619 - IF (WITH_SSL_PATH AND (APPLE OR WIN32 OR LINUX_STANDALONE OR LINUX_RPM))
620 + IF (WITH_SSL_PATH AND (APPLE OR WIN32))
621 MESSAGE(STATUS "WITH_SSL_PATH ${WITH_SSL_PATH}")
623 GET_FILENAME_COMPONENT(CRYPTO_EXT "${CRYPTO_LIBRARY}" EXT)
626 [FILE:505:patches/patch-configure.cmake]
627 --- configure.cmake.orig 2021-07-01 07:53:49 UTC
629 @@ -582,6 +582,7 @@ int main(int ac, char **av)
632 # Check for pthread_getthreadid_np()
633 +set(CMAKE_REQUIRED_LIBRARIES pthread)
634 CHECK_C_SOURCE_COMPILES("
635 #include <pthread_np.h>
636 int main(int ac, char **av)
637 @@ -590,6 +591,7 @@ int main(int ac, char **av)
638 return (tid != 0 ? 0 : 1);
640 HAVE_PTHREAD_GETTHREADID_NP)
641 +set(CMAKE_REQUIRED_LIBRARIES "")
643 # Check for pthread_threadid_np()
644 CHECK_C_SOURCE_COMPILES("
647 [FILE:427:patches/patch-include_my__compare.h]
648 --- include/my_compare.h.orig 2021-07-01 07:53:49 UTC
649 +++ include/my_compare.h
651 But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
654 -#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
655 +#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
656 #define HA_MAX_KEY_SEG 16 /* Max segments for key */
658 #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24 + 6 + 6)
661 [FILE:419:patches/patch-include_my__thread__os__id.h]
662 --- include/my_thread_os_id.h.orig 2021-07-01 07:53:49 UTC
663 +++ include/my_thread_os_id.h
664 @@ -84,8 +84,12 @@ static inline my_thread_os_id_t my_threa
665 return pthread_getthreadid_np();
667 #ifdef HAVE_INTEGER_PTHREAD_SELF
668 +# ifdef __DragonFly__
669 + return syscall(SYS_lwp_gettid);
671 /* Unknown platform, fallback. */
672 return pthread_self();
675 /* Feature not available. */
679 [FILE:480:patches/patch-include_myisam.h]
680 --- include/myisam.h.orig 2021-07-01 07:53:49 UTC
683 The following defines can be increased if necessary.
684 But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
686 -#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
687 +#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
688 #define MI_MAX_KEY_SEG 16 /* Max segments for key */
690 #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH + MI_MAX_KEY_SEG * 6 + 8 + 8)
693 [FILE:1039:patches/patch-libmysql_CMakeLists.txt]
694 --- libmysql/CMakeLists.txt.orig 2021-07-01 07:53:49 UTC
695 +++ libmysql/CMakeLists.txt
696 @@ -243,7 +243,7 @@ IF(WIN32)
697 SET(HAVE_WIN32_DNS_SRV 1 PARENT_SCOPE)
699 MESSAGE(STATUS "Found Win32 DNS SRV APIs")
701 +ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly")
703 SET(HAVE_UNIX_DNS_SRV 1 PARENT_SCOPE)
704 MESSAGE(STATUS "BSD built in DNS SRV APIs")
705 @@ -271,7 +271,6 @@ IF(WIN32)
708 # LDAP authentication SASL client plug-in
709 -ADD_SUBDIRECTORY(authentication_ldap)
711 # authentication kerberos client plug-in
712 ADD_SUBDIRECTORY(authentication_kerberos)
713 @@ -315,10 +314,6 @@ ENDIF()
716 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
717 - IF(NOT FREEBSD AND NOT APPLE)
718 - STRING_APPEND(OS_SHARED_LIB_VERSION
719 - ".${SHARED_LIB_MINOR_VERSION}.${SHARED_LIB_PATCH_VERSION}")
721 # Name of shared library is libmysqlclient on Unix
722 SET(UNIX_OUTPUT_NAME OUTPUT_NAME mysqlclient)
723 SET(UNIX_VERSION VERSION "${OS_SHARED_LIB_VERSION}")
726 [FILE:247:patches/patch-libmysql_dns__srv.cc]
727 --- libmysql/dns_srv.cc.orig 2021-07-01 07:53:49 UTC
728 +++ libmysql/dns_srv.cc
731 #ifdef HAVE_UNIX_DNS_SRV
734 +#if defined __FreeBSD__ | defined __DragonFly__
735 #include <netinet/in.h>
740 [FILE:1964:patches/patch-mysys_my__default.cc]
741 --- mysys/my_default.cc.orig 2021-07-01 07:53:49 UTC
742 +++ mysys/my_default.cc
743 @@ -204,7 +204,7 @@ bool no_defaults = false;
745 /* Which directories are searched for options (and in which order) */
747 -#define MAX_DEFAULT_DIRS 6
748 +#define MAX_DEFAULT_DIRS 7
749 #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
750 static const char **default_directories = nullptr;
752 @@ -915,6 +915,14 @@ static int search_default_file_with_ext(
753 return 1; /* Ignore wrong files */
756 + if (strstr(name, "/etc") == name)
759 + "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
765 auto fileline = mysql_file_getline(buff, sizeof(buff), fp, is_login_file);
766 char *linebuff = fileline.get();
767 @@ -1300,7 +1308,8 @@ void my_print_default_files(const char *
768 end[(strlen(end) - 1)] = ' ';
770 strxmov(end, conf_file, *ext, " ", NullS);
771 - fputs(name, stdout);
772 + if (strstr(name, "/etc") != name)
773 + fputs(name, stdout);
777 @@ -1640,13 +1649,8 @@ static const char **init_default_directo
781 - errors += add_directory(alloc, "/etc/", dirs);
782 - errors += add_directory(alloc, "/etc/mysql/", dirs);
784 -#if defined(DEFAULT_SYSCONFDIR)
785 - if (DEFAULT_SYSCONFDIR[0])
786 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
787 -#endif /* DEFAULT_SYSCONFDIR */
788 + errors += add_directory(alloc, "/usr/local/etc/", dirs);
789 + errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs);
793 @@ -1710,7 +1714,7 @@ int check_file_permissions(const char *f
797 - if (!my_stat(file_name, &stat_info, MYF(0))) return 1;
798 + if (!my_stat(file_name, &stat_info, MYF(0))) return 0;
800 Ignore .mylogin.cnf file if not exclusively readable/writable
804 [FILE:435:patches/patch-plugin_password__validation_validate__password.cc]
805 --- plugin/password_validation/validate_password.cc.orig 2021-07-01 07:53:49 UTC
806 +++ plugin/password_validation/validate_password.cc
808 #include <mysql/plugin_validate_password.h>
809 #include <mysql/service_my_plugin_log.h>
810 #include <mysql/service_mysql_string.h>
811 +/* solve clash between libc++ bitset::test() and test macro from my_global.h */
818 [FILE:381:patches/patch-router_cmake_set__rpath.cmake]
819 --- router/cmake/set_rpath.cmake.orig 2021-07-01 07:53:49 UTC
820 +++ router/cmake/set_rpath.cmake
821 @@ -27,8 +27,7 @@ ELSE()
824 SET(CMAKE_INSTALL_RPATH)
825 -IF(INSTALL_LAYOUT STREQUAL "STANDALONE"
826 - OR INSTALL_LAYOUT STREQUAL "SVR4")
828 # rpath for lib/mysqlrouter/ plugins that want to find lib/
830 SET(RPATH_PLUGIN_TO_LIB "${RPATH_ORIGIN}/private")
833 [FILE:360:patches/patch-router_src_harness_include_mysql_harness_net__ts_impl_netif.h]
834 --- router/src/harness/include/mysql/harness/net_ts/impl/netif.h.orig 2021-07-01 07:53:49 UTC
835 +++ router/src/harness/include/mysql/harness/net_ts/impl/netif.h
839 #if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \
840 + defined(__DragonFly__) || \
842 #define HAVE_IFADDRS_H
846 [FILE:454:patches/patch-router_src_harness_include_mysql_harness_net__ts_internet.h]
847 --- router/src/harness/include/mysql/harness/net_ts/internet.h.orig 2021-07-01 07:53:49 UTC
848 +++ router/src/harness/include/mysql/harness/net_ts/internet.h
850 #include <arpa/inet.h> // inet_ntop
851 #include <netdb.h> // getaddrinfo
852 #include <netinet/in.h> // in_addr_t
853 +#include <sys/types.h> // u_int32_t
854 #include <netinet/ip6.h> // in6_addr_t
855 #include <netinet/tcp.h> // TCP_NODELAY
856 #include <sys/ioctl.h> // ioctl
859 [FILE:287:patches/patch-router_src_harness_include_mysql_harness_tty.h]
860 --- router/src/harness/include/mysql/harness/tty.h.orig 2021-07-01 07:53:49 UTC
861 +++ router/src/harness/include/mysql/harness/tty.h
870 class HARNESS_EXPORT Tty {
875 [FILE:356:patches/patch-router_src_harness_src_stdx_io_file__handle.cc]
876 --- router/src/harness/src/stdx/io/file_handle.cc.orig 2021-07-01 07:53:49 UTC
877 +++ router/src/harness/src/stdx/io/file_handle.cc
878 @@ -288,7 +288,10 @@ file_handle::current_path() const noexce
882 -#error unsupported OS
884 + std::string path_name;
885 + path_name.resize(1025);
886 + return {path_name};
892 [FILE:2975:patches/patch-scripts_CMakeLists.txt]
893 --- scripts/CMakeLists.txt.orig 2021-07-01 07:53:49 UTC
894 +++ scripts/CMakeLists.txt
895 @@ -214,11 +214,7 @@ IF(MY_COMPILER_IS_GNU_OR_CLANG)
896 STRING(REGEX REPLACE "-std=c..[0-9]+" "" CXXFLAGS "${CXXFLAGS}")
900 - SET (PERL_PATH "/usr/local/bin/perl")
902 - SET (PERL_PATH "/usr/bin/perl")
904 + SET (PERL_PATH "@LOCALBASE@/bin/perl")
907 # SHELL_PATH, FIND_PROC, CHECK_PID are used by mysqld_safe
908 @@ -237,14 +233,9 @@ IF(UNIX)
909 "ps -p $PID | grep -v mysqld_safe | grep -- $MYSQLD > /dev/null")
914 - EXECUTE_PROCESS(COMMAND ps -uaxww
915 - OUTPUT_QUIET ERROR_QUIET RESULT_VARIABLE result)
916 - IF(result MATCHES 0)
917 +IF(NOT FIND_PROC AND CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD")
919 "ps -uaxww | grep -v mysqld_safe | grep -- $MYSQLD | grep $PID > /dev/null")
924 @@ -280,7 +271,7 @@ SET(pkglibdir ${prefix}/${INSTALL_LIBDIR
925 SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
926 SET(localstatedir ${MYSQL_DATADIR})
930 SET(RPATH_OPTION " -R$pkglibdir")
933 @@ -324,6 +315,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
934 GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
935 STRING(REGEX REPLACE "^lib" "" lib "${lib}")
936 SET(${var} "${${var}}-l${lib} " )
937 + ELSEIF(lib STREQUAL "-pthread")
938 + SET(${var} "${${var}}-pthread " )
940 SET(${var} "${${var}}-l${lib} " )
942 @@ -347,21 +340,10 @@ ELSE()
943 GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME)
946 +STRING(REPLACE "-lssl" "-L@OPENSSLLIB@ -Wl,-rpath,@OPENSSLLIB@ -lssl" CLIENT_LIBS "${CLIENT_LIBS}")
947 SET(CONFIG_CLIENT_LIBS "${CLIENT_LIBS}")
948 SET(CONFIG_LIBS_PRIVATE "${CLIENT_LIBS}")
949 SET(CONFIG_REQUIRES_PRIVATE "")
950 -# ssl.cmake should have used pkg-config rather than cmake to locate ssl
951 -IF (WITH_SSL STREQUAL "system")
952 - # We have implemented "system" for other platforms as well, but those
953 - # are non-native packages.
954 - IF(LINUX OR SOLARIS OR FREEBSD)
955 - SET(CONFIG_REQUIRES_PRIVATE "openssl")
956 - STRING(REPLACE "-lssl" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}")
957 - STRING(REPLACE "-lcrypto" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}")
958 - STRING(REGEX REPLACE "[ ]+" " " CONFIG_LIBS_PRIVATE
959 - "${CONFIG_LIBS_PRIVATE}")
963 MESSAGE(STATUS "CONFIG_CLIENT_LIBS ${CONFIG_CLIENT_LIBS}")
964 MESSAGE(STATUS "CONFIG_LIBS_PRIVATE ${CONFIG_LIBS_PRIVATE}")
965 @@ -427,7 +409,7 @@ ELSE()
966 FOREACH(file ${BIN_SCRIPTS})
967 IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
968 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
969 - ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY
970 + ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY
972 ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in)
973 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in
976 [FILE:538:patches/patch-sql_CMakeLists.txt]
977 --- sql/CMakeLists.txt.orig 2021-07-01 07:53:49 UTC
978 +++ sql/CMakeLists.txt
979 @@ -687,10 +687,10 @@ ENDIF()
981 LIST(APPEND SQL_SHARED_SOURCES
982 resourcegroups/platform/thread_attrs_api_linux.cc)
984 +ELSEIF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
985 LIST(APPEND SQL_SHARED_SOURCES
986 resourcegroups/platform/thread_attrs_api_apple.cc)
988 +ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
989 LIST(APPEND SQL_SHARED_SOURCES
990 resourcegroups/platform/thread_attrs_api_freebsd.cc)
994 [FILE:450:patches/patch-sql_resourcegroups_platform_thread__attrs__api__apple.cc]
995 --- sql/resourcegroups/platform/thread_attrs_api_apple.cc.orig 2021-07-01 07:53:49 UTC
996 +++ sql/resourcegroups/platform/thread_attrs_api_apple.cc
997 @@ -85,7 +85,11 @@ bool set_thread_priority(int, my_thread_
998 uint32_t num_vcpus_using_affinity() { return 0; }
1000 uint32_t num_vcpus_using_config() {
1002 int name[2] = {CTL_HW, HW_AVAILCPU};
1004 + int name[2] = {CTL_HW, HW_NCPU};
1008 size_t size = sizeof(ncpu);
1011 [FILE:1992:patches/patch-sql_sys__vars.cc]
1012 --- sql/sys_vars.cc.orig 2021-07-01 07:53:49 UTC
1014 @@ -2171,7 +2171,7 @@ static Sys_var_ulong Sys_interactive_tim
1015 "The number of seconds the server waits for activity on an interactive "
1016 "connection before closing it",
1017 SESSION_VAR(net_interactive_timeout), CMD_LINE(REQUIRED_ARG),
1018 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
1019 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
1021 static Sys_var_ulong Sys_join_buffer_size(
1022 "join_buffer_size", "The size of the buffer that is used for full joins",
1023 @@ -3018,7 +3018,7 @@ static Sys_var_ulong Sys_net_read_timeou
1024 "Number of seconds to wait for more data from a connection before "
1025 "aborting the read",
1026 SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
1027 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
1028 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
1029 NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
1030 ON_UPDATE(fix_net_read_timeout));
1032 @@ -3039,7 +3039,7 @@ static Sys_var_ulong Sys_net_write_timeo
1033 "Number of seconds to wait for a block to be written to a connection "
1034 "before aborting the write",
1035 SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
1036 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
1037 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
1038 NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
1039 ON_UPDATE(fix_net_write_timeout));
1041 @@ -5010,7 +5010,7 @@ static Sys_var_ulong Sys_net_wait_timeou
1042 "The number of seconds the server waits for activity on a "
1043 "connection before closing it",
1044 SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG),
1045 - VALID_RANGE(1, IF_WIN(INT_MAX32 / 1000, LONG_TIMEOUT)),
1046 + VALID_RANGE(1, INT_MAX32 / 1000),
1047 DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
1049 static Sys_var_plugin Sys_default_storage_engine(
1052 [FILE:450:patches/patch-storage_innobase_include_srv0mon.h]
1053 --- storage/innobase/include/srv0mon.h.orig 2021-07-01 07:53:49 UTC
1054 +++ storage/innobase/include/srv0mon.h
1055 @@ -40,6 +40,10 @@ Foundation, Inc., 51 Franklin St, Fifth
1056 /* Required for FreeBSD so that INT64_MAX is defined. */
1057 #define __STDC_LIMIT_MACROS
1058 #endif /* __STDC_LIMIT_MACROS */
1059 +#ifdef __DragonFly__
1060 +/* The hack above doen't work for dragonfly, stdint.h already imported */
1061 +#include <machine/int_limits.h>
1068 [FILE:482:patches/patch-storage_myisam_mi__dynrec.cc]
1069 --- storage/myisam/mi_dynrec.cc.orig 2021-07-01 07:53:49 UTC
1070 +++ storage/myisam/mi_dynrec.cc
1071 @@ -92,6 +92,9 @@ bool mi_dynmap_file(MI_INFO *info, my_of
1072 mapping. When swap space is not reserved one might get SIGSEGV
1073 upon a write if no physical memory is available.
1075 +#ifndef MAP_NORESERVE
1076 +#define MAP_NORESERVE 0
1078 info->s->file_map = (uchar *)my_mmap(
1079 nullptr, (size_t)size,
1080 info->s->mode == O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE,
1083 [FILE:2182:files/my.cnf.sample.in]
1086 socket = /tmp/mysql.sock
1089 prompt = \u@\h [\d]>\_
1095 socket = /tmp/mysql.sock
1096 bind-address = 127.0.0.1
1097 basedir = %%PREFIX%%
1098 datadir = %%MY_DBDIR%%
1099 tmpdir = %%MY_TMPDIR%%
1100 slave-load-tmpdir = %%MY_TMPDIR%%
1101 secure-file-priv = %%MY_SECDIR%%
1104 master-info-repository = TABLE
1105 relay-log-info-repository = TABLE
1106 relay-log-recovery = 1
1111 binlog_cache_size = 16M
1112 expire_logs_days = 30
1113 default_password_lifetime = 0
1114 enforce-gtid-consistency = 1
1116 safe-user-create = 1
1117 lower_case_table_names = 1
1118 explicit-defaults-for-timestamp = 1
1119 myisam-recover-options = BACKUP,FORCE
1120 open_files_limit = 32768
1121 table_open_cache = 16384
1122 table_definition_cache = 8192
1123 net_retry_count = 16384
1124 key_buffer_size = 256M
1125 max_allowed_packet = 64M
1126 query_cache_type = 0
1127 query_cache_size = 0
1128 long_query_time = 0.5
1129 innodb_buffer_pool_size = 1G
1130 innodb_data_home_dir = %%MY_DBDIR%%
1131 innodb_log_group_home_dir = %%MY_DBDIR%%
1132 innodb_data_file_path = ibdata1:128M:autoextend
1133 innodb_temp_data_file_path = ibtmp1:128M:autoextend
1134 innodb_flush_method = O_DIRECT
1135 innodb_log_file_size = 256M
1136 innodb_log_buffer_size = 16M
1137 innodb_write_io_threads = 8
1138 innodb_read_io_threads = 8
1139 innodb_autoinc_lock_mode = 2
1143 max_allowed_packet = 256M
1148 [FILE:2478:files/mysql-server.in]
1156 # Add the following line to /etc/rc.conf to enable mysql:
1157 # mysql_enable (bool): Set to "NO" by default.
1158 # Set it to "YES" to enable MySQL.
1159 # mysql_limits (bool): Set to "NO" by default.
1160 # Set it to yes to run `limits -e -U mysql`
1161 # just before mysql starts.
1162 # mysql_dbdir (str): Default to "%%MY_DBDIR%%"
1163 # Base database directory.
1164 # mysql_confdir (str): Default to "%%ETCDIR%%"
1165 # Base configuration directory.
1166 # mysql_optfile (str): Server-specific option file.
1167 # Set it in the rc.conf or default behaviour of
1168 # `mysqld_safe` itself, will be picking
1169 # ${mysql_confdir}/my.cnf if it exists.
1170 # mysql_pidfile (str): Custum PID file path and name.
1171 # Default to "${mysql_dbdir}/${hostname}.pid".
1172 # mysql_args (str): Custom additional arguments to be passed
1173 # to mysqld_safe (default empty).
1181 load_rc_config $name
1183 : ${mysql_enable="NO"}
1184 : ${mysql_limits="NO"}
1185 : ${mysql_dbdir="%%MY_DBDIR%%"}
1186 : ${mysql_confdir="%%ETCDIR%%"}
1187 if [ -f "${mysql_confdir}/my.cnf" ]; then
1188 : ${mysql_optfile="${mysql_confdir}/my.cnf"}
1189 elif [ -f "${mysql_dbdir}/my.cnf" ]; then
1190 : ${mysql_optfile="${mysql_dbdir}/my.cnf"}
1192 if [ ! -z "${mysql_optfile}" ]; then
1193 mysql_extra="--defaults-extra-file=${mysql_optfile}"
1197 mysql_limits_args="-e -U ${mysql_user}"
1198 : ${hostname:=`/bin/hostname`}
1199 pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
1200 command="/usr/sbin/daemon"
1201 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%%"
1202 procname="%%PREFIX%%/libexec/mysqld"
1203 start_precmd="${name}_prestart"
1204 start_postcmd="${name}_poststart"
1205 mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
1206 mysql_install_db_args="${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --mysqld-file=${procname} --user=${mysql_user}"
1208 mysql_create_auth_tables()
1210 eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
1215 if [ ! -d "${mysql_dbdir}/mysql/." ]; then
1216 mysql_create_auth_tables || return 1
1218 if checkyesno mysql_limits; then
1219 eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
1228 while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
1229 timeout=$(( timeout - 1 ))
1238 [FILE:576:files/pkg-message-server.in]
1239 *****************************************************************************
1241 Remember to run mysql_upgrade the first time you start the MySQL server
1242 after an upgrade from an earlier version.
1244 Initial password for first time use of MySQL is saved in $HOME/.mysql_secret
1245 ie. when you want to use "mysql -u root -p" first you should see password
1246 in /root/.mysql_secret
1248 MySQL57 has a default %%ETCDIR%%/my.cnf,
1249 remember to replace it wit your own
1250 or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
1252 *****************************************************************************
1255 [FILE:28:files/special.mk]
1256 ETCDIR= ${PREFIX}/etc/mysql