1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
8 SDESC[standard]= Multithreaded SQL database (server)
9 HOMEPAGE= https://www.mysql.com/
13 SITES[main]= MYSQL/MySQL-8.0
14 DISTFILE[1]= mysql-boost-8.0.22.tar.gz:main
16 SPKGS[standard]= complete
20 OPTIONS_AVAILABLE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE
21 PERFSCHEMA PERFORMANCE
22 OPTIONS_STANDARD= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE
23 PERFSCHEMA PERFORMANCE
24 OPTGROUP_UNLIMITED= STORAGE
25 OPTDESCR[STORAGE]= Storage engines statically compiled into server
26 OPTGROUP[STORAGE]= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE
28 OPT_ON[all]= PERFORMANCE
30 BUILD_DEPENDS= libedit:single:standard
31 BUILDRUN_DEPENDS= libevent:single:standard
33 B_DEPS[linux]= patchelf:primary:standard
34 EXRUN[client]= libedit:single:standard
35 zlib:complete:standard
36 openssl-devel:single:standard
40 USERGROUP_SPKG= server
42 USES= bison cmake perl:run shebangfix zlib cpe execinfo
43 ssl:openssl-devel pkgconfig c++:server,client
46 DISTNAME= mysql-8.0.22
48 LICENSE= GPLv2:server CUSTOM1:server
49 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
50 LICENSE_NAME= CUSTOM1:"MySQL Router License"
51 LICENSE_FILE= GPLv2:{{WRKSRC}}/README
52 CUSTOM1:{{WRKSRC}}/router/LICENSE.router
53 LICENSE_AWK= TERMS:"^\/\*$$"
54 LICENSE_SOURCE= TERMS:{{WRKSRC}}/include/mysql.h
57 CMAKE_BUILD_TYPE= Release
60 FPC_EQUIVALENT= databases/mysql80-server
61 SHEBANG_FILES= scripts/*.pl
63 INSTALL_REQ_TOOLCHAIN= yes
64 PLIST_SUB= MY_DBDIR=/var/db/mysql
65 MY_SECDIR=/var/db/mysql_secure
66 MY_TMPDIR=/var/db/mysql_tmpdir
68 RC_SUBR= mysql-server:server
69 SUB_FILES= my.cnf.sample
70 SUB_LIST= MY_DBDIR=/var/db/mysql
71 MY_SECDIR=/var/db/mysql_secure
72 MY_TMPDIR=/var/db/mysql_tmpdir
74 CFLAGS= -Wno-deprecated-declarations
75 CMAKE_ARGS= -DINSTALL_PKGCONFIGDIR="{{LOCALBASE}}/lib/pkgconfig"
76 -DINSTALL_DOCDIR="share/doc/mysql"
77 -DINSTALL_DOCREADMEDIR="share/doc/mysql"
78 -DINSTALL_INCLUDEDIR="include/mysql"
79 -DINSTALL_INFODIR="share/info"
80 -DINSTALL_LIBDIR="lib/mysql"
81 -DINSTALL_MANDIR="share/man"
82 -DINSTALL_MYSQLDATADIR="/var/db/mysql"
83 -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring"
84 -DINSTALL_MYSQLSHAREDIR="share/mysql"
85 -DINSTALL_MYSQLTESTDIR="share/mysql/tests"
86 -DINSTALL_PLUGINDIR="lib/mysql/plugin"
87 -DINSTALL_SBINDIR="libexec"
88 -DINSTALL_SECURE_FILE_PRIVDIR="/var/db/mysql_secure"
89 -DINSTALL_SHAREDIR="share"
90 -DINSTALL_SUPPORTFILESDIR="share/mysql"
91 -DMYSQL_KEYRINGDIR="etc/mysql/keyring"
92 -DWITH_BOOST="{{WRKSRC}}/boost"
93 -DWITH_EDITLINE=system
94 -DWITH_LIBEVENT=system
97 -DWITH_SSL={{OPENSSLBASE}}
98 -DINSTALL_MYSQLTESTDIR=0
99 -DZLIB_INCLUDE_DIR={{LOCALBASE}}/include
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 ba765f74367c638d7cd1c546c05c14382fd997669bcd9680278e907f8d7eb484 285934450 mysql-boost-8.0.22.tar.gz
194 [FILE:5902: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_secure_installation
217 mysqlrouter_plugin_info
222 etc/logrotate.d/mysqlrouter-log-rotate
226 libmysqlrouter_http.so.1
227 libmysqlrouter_http_auth_backend.so.1
228 libmysqlrouter_http_auth_realm.so.1
232 libmysqlharness_stdx.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_log_filter_dragnet.so
245 component_log_sink_json.so
246 component_log_sink_syseventlog.so
247 component_log_sink_test.so
248 component_mysqlbackup.so
249 component_mysqlx_global_reset.so
250 component_pfs_example.so
251 component_pfs_example_component_population.so
252 component_test_audit_api_message.so
253 component_test_backup_lock_service.so
254 component_test_component_deinit.so
255 component_test_host_application_signal.so
256 component_test_mysql_current_thread_reader.so
257 component_test_mysql_runtime_error.so
258 component_test_pfs_notification.so
259 component_test_pfs_resource_group.so
260 component_test_status_var_service.so
261 component_test_status_var_service_int.so
262 component_test_status_var_service_reg_only.so
263 component_test_status_var_service_str.so
264 component_test_status_var_service_unreg_only.so
265 component_test_string_service.so
266 component_test_string_service_charset.so
267 component_test_string_service_long.so
268 component_test_sys_var_service.so
269 component_test_sys_var_service_int.so
270 component_test_sys_var_service_same.so
271 component_test_sys_var_service_str.so
272 component_test_system_variable_source.so
273 component_test_udf_registration.so
274 component_test_udf_services.so
275 component_udf_reg_3_func.so
276 component_udf_reg_avg_func.so
277 component_udf_reg_int_func.so
278 component_udf_reg_int_same_func.so
279 component_udf_reg_only_3_func.so
280 component_udf_reg_real_func.so
281 component_udf_unreg_3_func.so
282 component_udf_unreg_int_func.so
283 component_udf_unreg_real_func.so
284 component_validate_password.so
285 connection_control.so
294 libtest_services_threaded.so
295 libtest_session_attach.so
296 libtest_session_detach.so
297 libtest_session_in_thd.so
298 libtest_session_info.so
299 libtest_sql_2_sessions.so
300 libtest_sql_all_col_types.so
301 libtest_sql_cmds_1.so
302 libtest_sql_commit.so
303 libtest_sql_complex.so
304 libtest_sql_errors.so
306 libtest_sql_processlist.so
307 libtest_sql_replication.so
308 libtest_sql_reset_connection.so
309 libtest_sql_shutdown.so
310 libtest_sql_sqlmode.so
312 libtest_sql_stored_procedures_functions.so
313 libtest_sql_views_triggers.so
314 libtest_x_sessions_deinit.so
315 libtest_x_sessions_init.so
320 pfs_example_plugin_employee.so
324 replication_observers_example_plugin.so
329 test_security_context.so
330 test_services_host_application_signal.so
331 test_services_plugin_registry.so
344 rest_metadata_cache.so
350 libprotobuf-lite.so.3.11.4
351 libprotobuf.so.3.11.4
356 my_print_defaults.1.gz
362 mysql_secure_installation.1.gz
363 mysql_ssl_rsa_setup.1.gz
364 mysql_tzinfo_to_sql.1.gz
371 mysqlrouter_passwd.1.gz
372 mysqlrouter_plugin_info.1.gz
374 share/man/man8/mysqld.8.gz
378 messages_to_clients.txt
379 messages_to_error_log.txt
383 uninstall_rewriter.sql
384 share/mysql/bulgarian/errmsg.sys
385 share/mysql/charsets/
412 share/mysql/czech/errmsg.sys
413 share/mysql/danish/errmsg.sys
414 share/mysql/dutch/errmsg.sys
415 share/mysql/english/errmsg.sys
416 share/mysql/estonian/errmsg.sys
417 share/mysql/french/errmsg.sys
418 share/mysql/german/errmsg.sys
419 share/mysql/greek/errmsg.sys
420 share/mysql/hungarian/errmsg.sys
421 share/mysql/italian/errmsg.sys
422 share/mysql/japanese/errmsg.sys
423 share/mysql/korean/errmsg.sys
424 share/mysql/norwegian/errmsg.sys
425 share/mysql/norwegian-ny/errmsg.sys
426 share/mysql/polish/errmsg.sys
427 share/mysql/portuguese/errmsg.sys
428 share/mysql/romanian/errmsg.sys
429 share/mysql/russian/errmsg.sys
430 share/mysql/serbian/errmsg.sys
431 share/mysql/slovak/errmsg.sys
432 share/mysql/spanish/errmsg.sys
433 share/mysql/swedish/errmsg.sys
434 share/mysql/ukrainian/errmsg.sys
435 @dir var/lib/mysqlrouter
436 @dir(mysql,mysql,0750) %%MY_SECDIR%%
437 @dir(mysql,mysql,0750) %%MY_TMPDIR%%
438 @dir(mysql,mysql,0750) etc/mysql/keyring
441 [FILE:792:manifests/plist.client]
472 udf_registration_types.h
477 lib/pkgconfig/mysqlclient.pc
478 share/aclocal/mysql.m4
483 mysql_config_editor.1.gz
494 [FILE:1146:patches/patch-CMakeLists.txt]
495 --- CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
497 @@ -1568,7 +1568,6 @@ ADD_SUBDIRECTORY(share)
498 ADD_SUBDIRECTORY(libservices)
500 IF(NOT WITHOUT_SERVER)
501 - ADD_SUBDIRECTORY(testclients)
502 ADD_SUBDIRECTORY(sql)
505 @@ -1592,8 +1591,6 @@ ENDIF()
506 ADD_SUBDIRECTORY(scripts)
508 IF(NOT WITHOUT_SERVER)
509 - ADD_SUBDIRECTORY(mysql-test)
510 - ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
511 ADD_SUBDIRECTORY(support-files)
513 ADD_SUBDIRECTORY(internal)
514 @@ -1695,7 +1692,6 @@ ELSE()
515 SET(CPACK_GENERATOR "TGZ")
517 ADD_SUBDIRECTORY(packaging/WiX)
518 -ADD_SUBDIRECTORY(packaging/solaris)
520 # Produce separate tarballs for each INSTALL COMPONENT
521 IF(PACK_SEPARATE_COMPONENTS)
522 @@ -1711,6 +1707,7 @@ ENDIF()
524 # RPM installs documentation directly from the source tree
527 IF(NOT INSTALL_LAYOUT MATCHES "RPM")
530 @@ -1738,6 +1735,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
531 PATTERN "README.build" EXCLUDE
536 # Now that we're done with all ADD_SUBDIRECTORY and thus all feature tests,
537 # we can safely enable ASan on Clang/Win32 if needed.
540 [FILE:848:patches/patch-cmake_install__layout.cmake]
541 --- cmake/install_layout.cmake.orig 2020-09-23 12:37:48 UTC
542 +++ cmake/install_layout.cmake
543 @@ -375,19 +375,15 @@ SET(ROUTER_INSTALL_LOGDIR_STANDALONE
544 SET(ROUTER_INSTALL_RUNTIMEDIR_STANDALONE "run")
546 SET(ROUTER_INSTALL_BINDIR_STANDALONE "bin")
548 - SET(ROUTER_INSTALL_LIBDIR_STANDALONE "lib/mysqlrouter/private")
550 SET(ROUTER_INSTALL_LIBDIR_STANDALONE "lib")
553 SET(ROUTER_INSTALL_PLUGINDIR_STANDALONE "lib")
555 SET(ROUTER_INSTALL_PLUGINDIR_STANDALONE "lib/mysqlrouter")
557 -SET(ROUTER_INSTALL_LOGROTATEDIR_STANDALONE ".")
558 +SET(ROUTER_INSTALL_LOGROTATEDIR_STANDALONE "etc/logrotate.d")
559 SET(ROUTER_INSTALL_LOGROTATEFILE_STANDALONE "mysqlrouter-log-rotate")
560 -SET(ROUTER_INSTALL_DOCDIR_STANDALONE "docs")
561 +SET(ROUTER_INSTALL_DOCDIR_STANDALONE "share/doc/mysql")
567 [FILE:595:patches/patch-cmake_plugin.cmake]
568 --- cmake/plugin.cmake.orig 2020-09-23 12:37:48 UTC
569 +++ cmake/plugin.cmake
570 @@ -245,15 +245,6 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg)
572 # For testing purposes, we need
573 # <...>/lib/plugin/debug/authentication_ldap_sasl_client.so
574 - IF(ARG_CLIENT_ONLY)
575 - INSTALL_DEBUG_TARGET(${target}
576 - DESTINATION ${INSTALL_PLUGINDIR}/debug
579 - INSTALL_DEBUG_TARGET(${target}
580 - DESTINATION ${INSTALL_PLUGINDIR}/debug
581 - COMPONENT ${INSTALL_COMPONENT})
585 IF(WITHOUT_${plugin})
588 [FILE:1016:patches/patch-cmake_ssl.cmake]
589 --- cmake/ssl.cmake.orig 2020-09-23 12:37:48 UTC
591 @@ -222,13 +222,10 @@ MACRO (MYSQL_CHECK_SSL)
592 OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
595 - IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
596 - ADD_DEFINITIONS(-DHAVE_TLSv13)
598 IF(OPENSSL_INCLUDE_DIR AND
601 - OPENSSL_MAJOR_VERSION STREQUAL "1"
602 + OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
604 SET(OPENSSL_FOUND TRUE)
605 FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
606 @@ -332,7 +329,7 @@ ENDMACRO()
607 # or INSTALL_LIBDIR (Mac)
608 # or INSTALL_PRIV_LIBDIR (Linux)
609 MACRO(MYSQL_CHECK_SSL_DLLS)
610 - IF (WITH_SSL_PATH AND (APPLE OR WIN32 OR LINUX_STANDALONE OR LINUX_RPM))
611 + IF (WITH_SSL_PATH AND (APPLE OR WIN32))
612 MESSAGE(STATUS "WITH_SSL_PATH ${WITH_SSL_PATH}")
614 GET_FILENAME_COMPONENT(CRYPTO_EXT "${CRYPTO_LIBRARY}" EXT)
617 [FILE:505:patches/patch-configure.cmake]
618 --- configure.cmake.orig 2020-09-23 12:37:48 UTC
620 @@ -584,6 +584,7 @@ int main(int ac, char **av)
623 # Check for pthread_getthreadid_np()
624 +set(CMAKE_REQUIRED_LIBRARIES pthread)
625 CHECK_C_SOURCE_COMPILES("
626 #include <pthread_np.h>
627 int main(int ac, char **av)
628 @@ -592,6 +593,7 @@ int main(int ac, char **av)
629 return (tid != 0 ? 0 : 1);
631 HAVE_PTHREAD_GETTHREADID_NP)
632 +set(CMAKE_REQUIRED_LIBRARIES "")
634 # Check for pthread_threadid_np()
635 CHECK_C_SOURCE_COMPILES("
638 [FILE:427:patches/patch-include_my__compare.h]
639 --- include/my_compare.h.orig 2020-09-23 12:37:48 UTC
640 +++ include/my_compare.h
642 But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
645 -#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
646 +#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
647 #define HA_MAX_KEY_SEG 16 /* Max segments for key */
649 #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24 + 6 + 6)
652 [FILE:419:patches/patch-include_my__thread__os__id.h]
653 --- include/my_thread_os_id.h.orig 2020-09-23 12:37:48 UTC
654 +++ include/my_thread_os_id.h
655 @@ -84,8 +84,12 @@ static inline my_thread_os_id_t my_threa
656 return pthread_getthreadid_np();
658 #ifdef HAVE_INTEGER_PTHREAD_SELF
659 +# ifdef __DragonFly__
660 + return syscall(SYS_lwp_gettid);
662 /* Unknown platform, fallback. */
663 return pthread_self();
666 /* Feature not available. */
670 [FILE:480:patches/patch-include_myisam.h]
671 --- include/myisam.h.orig 2020-09-23 12:37:48 UTC
674 The following defines can be increased if necessary.
675 But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
677 -#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
678 +#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
679 #define MI_MAX_KEY_SEG 16 /* Max segments for key */
681 #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH + MI_MAX_KEY_SEG * 6 + 8 + 8)
684 [FILE:946:patches/patch-libmysql_CMakeLists.txt]
685 --- libmysql/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
686 +++ libmysql/CMakeLists.txt
687 @@ -241,7 +241,7 @@ IF(WIN32)
688 SET(HAVE_WIN32_DNS_SRV 1 PARENT_SCOPE)
690 MESSAGE(STATUS "Found Win32 DNS SRV APIs")
692 +ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly")
694 SET(HAVE_UNIX_DNS_SRV 1 PARENT_SCOPE)
695 MESSAGE(STATUS "BSD built in DNS SRV APIs")
696 @@ -269,7 +269,6 @@ IF(WIN32)
699 # LDAP authentication SASL client plugin
700 -ADD_SUBDIRECTORY(authentication_ldap)
702 # Merge several convenience libraries into one big mysqlclient
703 MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
704 @@ -332,7 +331,7 @@ ENDIF()
707 # libtool compatability
708 - IF(FREEBSD OR APPLE)
709 + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly|Linux|SunOS" OR APPLE)
710 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
712 SET(OS_SHARED_LIB_VERSION
715 [FILE:247:patches/patch-libmysql_dns__srv.cc]
716 --- libmysql/dns_srv.cc.orig 2020-09-23 12:37:48 UTC
717 +++ libmysql/dns_srv.cc
720 #ifdef HAVE_UNIX_DNS_SRV
723 +#if defined __FreeBSD__ | defined __DragonFly__
724 #include <netinet/in.h>
729 [FILE:1958:patches/patch-mysys_my__default.cc]
730 --- mysys/my_default.cc.orig 2020-09-23 12:37:48 UTC
731 +++ mysys/my_default.cc
732 @@ -204,7 +204,7 @@ bool no_defaults = false;
734 /* Which directories are searched for options (and in which order) */
736 -#define MAX_DEFAULT_DIRS 6
737 +#define MAX_DEFAULT_DIRS 7
738 #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
739 static const char **default_directories = nullptr;
741 @@ -912,6 +912,14 @@ static int search_default_file_with_ext(
742 return 1; /* Ignore wrong files */
745 + if (strstr(name, "/etc") == name)
748 + "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
753 while (mysql_file_getline(buff, sizeof(buff) - 1, fp, is_login_file)) {
755 /* Ignore comment and empty lines */
756 @@ -1231,7 +1239,8 @@ void my_print_default_files(const char *
757 end[(strlen(end) - 1)] = ' ';
759 strxmov(end, conf_file, *ext, " ", NullS);
760 - fputs(name, stdout);
761 + if (strstr(name, "/etc") != name)
762 + fputs(name, stdout);
766 @@ -1571,13 +1580,8 @@ static const char **init_default_directo
770 - errors += add_directory(alloc, "/etc/", dirs);
771 - errors += add_directory(alloc, "/etc/mysql/", dirs);
773 -#if defined(DEFAULT_SYSCONFDIR)
774 - if (DEFAULT_SYSCONFDIR[0])
775 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
776 -#endif /* DEFAULT_SYSCONFDIR */
777 + errors += add_directory(alloc, "/usr/local/etc/", dirs);
778 + errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs);
782 @@ -1641,7 +1645,7 @@ int check_file_permissions(const char *f
786 - if (!my_stat(file_name, &stat_info, MYF(0))) return 1;
787 + if (!my_stat(file_name, &stat_info, MYF(0))) return 0;
789 Ignore .mylogin.cnf file if not exclusively readable/writable
793 [FILE:435:patches/patch-plugin_password__validation_validate__password.cc]
794 --- plugin/password_validation/validate_password.cc.orig 2020-09-23 12:37:48 UTC
795 +++ plugin/password_validation/validate_password.cc
797 #include <mysql/plugin_validate_password.h>
798 #include <mysql/service_my_plugin_log.h>
799 #include <mysql/service_mysql_string.h>
800 +/* solve clash between libc++ bitset::test() and test macro from my_global.h */
807 [FILE:381:patches/patch-router_cmake_set__rpath.cmake]
808 --- router/cmake/set_rpath.cmake.orig 2020-09-23 12:37:48 UTC
809 +++ router/cmake/set_rpath.cmake
810 @@ -27,8 +27,7 @@ ELSE()
813 SET(CMAKE_INSTALL_RPATH)
814 -IF(INSTALL_LAYOUT STREQUAL "STANDALONE"
815 - OR INSTALL_LAYOUT STREQUAL "SVR4")
817 # rpath for lib/mysqlrouter/ plugins that want to find lib/
819 SET(RPATH_PLUGIN_TO_LIB "${RPATH_ORIGIN}/private")
822 [FILE:360:patches/patch-router_src_harness_include_mysql_harness_net__ts_impl_netif.h]
823 --- router/src/harness/include/mysql/harness/net_ts/impl/netif.h.orig 2020-09-23 12:37:48 UTC
824 +++ router/src/harness/include/mysql/harness/net_ts/impl/netif.h
828 #if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \
829 + defined(__DragonFly__) || \
831 #define HAVE_IFADDRS_H
835 [FILE:454:patches/patch-router_src_harness_include_mysql_harness_net__ts_internet.h]
836 --- router/src/harness/include/mysql/harness/net_ts/internet.h.orig 2020-11-09 00:30:01 UTC
837 +++ router/src/harness/include/mysql/harness/net_ts/internet.h
839 #include <arpa/inet.h> // inet_ntop
840 #include <netdb.h> // getaddrinfo
841 #include <netinet/in.h> // in_addr_t
842 +#include <sys/types.h> // u_int32_t
843 #include <netinet/ip6.h> // in6_addr_t
844 #include <netinet/tcp.h> // TCP_NODELAY
845 #include <sys/ioctl.h> // ioctl
848 [FILE:287:patches/patch-router_src_harness_include_mysql_harness_tty.h]
849 --- router/src/harness/include/mysql/harness/tty.h.orig 2020-09-23 12:37:48 UTC
850 +++ router/src/harness/include/mysql/harness/tty.h
859 class HARNESS_EXPORT Tty {
864 [FILE:356:patches/patch-router_src_harness_src_stdx_io_file__handle.cc]
865 --- router/src/harness/src/stdx/io/file_handle.cc.orig 2020-09-23 12:37:48 UTC
866 +++ router/src/harness/src/stdx/io/file_handle.cc
867 @@ -288,7 +288,10 @@ file_handle::current_path() const noexce
871 -#error unsupported OS
873 + std::string path_name;
874 + path_name.resize(1025);
875 + return {path_name};
881 [FILE:2975:patches/patch-scripts_CMakeLists.txt]
882 --- scripts/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
883 +++ scripts/CMakeLists.txt
884 @@ -202,11 +202,7 @@ IF(MY_COMPILER_IS_GNU_OR_CLANG)
885 STRING(REGEX REPLACE "-std=c..[0-9]+" "" CXXFLAGS "${CXXFLAGS}")
889 - SET (PERL_PATH "/usr/local/bin/perl")
891 - SET (PERL_PATH "/usr/bin/perl")
893 + SET (PERL_PATH "@LOCALBASE@/bin/perl")
896 # SHELL_PATH, FIND_PROC, CHECK_PID are used by mysqld_safe
897 @@ -225,14 +221,9 @@ IF(UNIX)
898 "ps -p $PID | grep -v mysqld_safe | grep -- $MYSQLD > /dev/null")
903 - EXECUTE_PROCESS(COMMAND ps -uaxww
904 - OUTPUT_QUIET ERROR_QUIET RESULT_VARIABLE result)
905 - IF(result MATCHES 0)
906 +IF(NOT FIND_PROC AND CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD")
908 "ps -uaxww | grep -v mysqld_safe | grep -- $MYSQLD | grep $PID > /dev/null")
913 @@ -268,7 +259,7 @@ SET(pkglibdir ${prefix}/${INSTALL_LIBDIR
914 SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
915 SET(localstatedir ${MYSQL_DATADIR})
919 SET(RPATH_OPTION " -R$pkglibdir")
922 @@ -312,6 +303,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
923 GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
924 STRING(REGEX REPLACE "^lib" "" lib "${lib}")
925 SET(${var} "${${var}}-l${lib} " )
926 + ELSEIF(lib STREQUAL "-pthread")
927 + SET(${var} "${${var}}-pthread " )
929 SET(${var} "${${var}}-l${lib} " )
931 @@ -335,21 +328,10 @@ ELSE()
932 GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME)
935 +STRING(REPLACE "-lssl" "-L@OPENSSLLIB@ -Wl,-rpath,@OPENSSLLIB@ -lssl" CLIENT_LIBS "${CLIENT_LIBS}")
936 SET(CONFIG_CLIENT_LIBS "${CLIENT_LIBS}")
937 SET(CONFIG_LIBS_PRIVATE "${CLIENT_LIBS}")
938 SET(CONFIG_REQUIRES_PRIVATE "")
939 -# ssl.cmake should have used pkg-config rather than cmake to locate ssl
940 -IF (WITH_SSL STREQUAL "system")
941 - # We have implemented "system" for other platforms as well, but those
942 - # are non-native packages.
943 - IF(LINUX OR SOLARIS OR FREEBSD)
944 - SET(CONFIG_REQUIRES_PRIVATE "openssl")
945 - STRING(REPLACE "-lssl" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}")
946 - STRING(REPLACE "-lcrypto" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}")
947 - STRING(REGEX REPLACE "[ ]+" " " CONFIG_LIBS_PRIVATE
948 - "${CONFIG_LIBS_PRIVATE}")
952 MESSAGE(STATUS "CONFIG_CLIENT_LIBS ${CONFIG_CLIENT_LIBS}")
953 MESSAGE(STATUS "CONFIG_LIBS_PRIVATE ${CONFIG_LIBS_PRIVATE}")
954 @@ -415,7 +397,7 @@ ELSE()
955 FOREACH(file ${BIN_SCRIPTS})
956 IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
957 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
958 - ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY
959 + ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY
961 ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in)
962 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in
965 [FILE:538:patches/patch-sql_CMakeLists.txt]
966 --- sql/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
967 +++ sql/CMakeLists.txt
968 @@ -653,10 +653,10 @@ ENDIF()
970 LIST(APPEND SQL_SHARED_SOURCES
971 resourcegroups/platform/thread_attrs_api_linux.cc)
973 +ELSEIF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
974 LIST(APPEND SQL_SHARED_SOURCES
975 resourcegroups/platform/thread_attrs_api_apple.cc)
977 +ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
978 LIST(APPEND SQL_SHARED_SOURCES
979 resourcegroups/platform/thread_attrs_api_freebsd.cc)
983 [FILE:450:patches/patch-sql_resourcegroups_platform_thread__attrs__api__apple.cc]
984 --- sql/resourcegroups/platform/thread_attrs_api_apple.cc.orig 2020-09-23 12:37:48 UTC
985 +++ sql/resourcegroups/platform/thread_attrs_api_apple.cc
986 @@ -85,7 +85,11 @@ bool set_thread_priority(int, my_thread_
987 uint32_t num_vcpus_using_affinity() { return 0; }
989 uint32_t num_vcpus_using_config() {
991 int name[2] = {CTL_HW, HW_AVAILCPU};
993 + int name[2] = {CTL_HW, HW_NCPU};
997 size_t size = sizeof(ncpu);
1000 [FILE:1992:patches/patch-sql_sys__vars.cc]
1001 --- sql/sys_vars.cc.orig 2020-09-23 12:37:48 UTC
1003 @@ -2168,7 +2168,7 @@ static Sys_var_ulong Sys_interactive_tim
1004 "The number of seconds the server waits for activity on an interactive "
1005 "connection before closing it",
1006 SESSION_VAR(net_interactive_timeout), CMD_LINE(REQUIRED_ARG),
1007 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
1008 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
1010 static Sys_var_ulong Sys_join_buffer_size(
1011 "join_buffer_size", "The size of the buffer that is used for full joins",
1012 @@ -3005,7 +3005,7 @@ static Sys_var_ulong Sys_net_read_timeou
1013 "Number of seconds to wait for more data from a connection before "
1014 "aborting the read",
1015 SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
1016 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
1017 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
1018 NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
1019 ON_UPDATE(fix_net_read_timeout));
1021 @@ -3026,7 +3026,7 @@ static Sys_var_ulong Sys_net_write_timeo
1022 "Number of seconds to wait for a block to be written to a connection "
1023 "before aborting the write",
1024 SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
1025 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
1026 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
1027 NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
1028 ON_UPDATE(fix_net_write_timeout));
1030 @@ -4896,7 +4896,7 @@ static Sys_var_ulong Sys_net_wait_timeou
1031 "The number of seconds the server waits for activity on a "
1032 "connection before closing it",
1033 SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG),
1034 - VALID_RANGE(1, IF_WIN(INT_MAX32 / 1000, LONG_TIMEOUT)),
1035 + VALID_RANGE(1, INT_MAX32 / 1000),
1036 DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
1038 static Sys_var_plugin Sys_default_storage_engine(
1041 [FILE:450:patches/patch-storage_innobase_include_srv0mon.h]
1042 --- storage/innobase/include/srv0mon.h.orig 2020-09-23 12:37:48 UTC
1043 +++ storage/innobase/include/srv0mon.h
1044 @@ -40,6 +40,10 @@ Foundation, Inc., 51 Franklin St, Fifth
1045 /* Required for FreeBSD so that INT64_MAX is defined. */
1046 #define __STDC_LIMIT_MACROS
1047 #endif /* __STDC_LIMIT_MACROS */
1048 +#ifdef __DragonFly__
1049 +/* The hack above doen't work for dragonfly, stdint.h already imported */
1050 +#include <machine/int_limits.h>
1057 [FILE:482:patches/patch-storage_myisam_mi__dynrec.cc]
1058 --- storage/myisam/mi_dynrec.cc.orig 2020-09-23 12:37:48 UTC
1059 +++ storage/myisam/mi_dynrec.cc
1060 @@ -92,6 +92,9 @@ bool mi_dynmap_file(MI_INFO *info, my_of
1061 mapping. When swap space is not reserved one might get SIGSEGV
1062 upon a write if no physical memory is available.
1064 +#ifndef MAP_NORESERVE
1065 +#define MAP_NORESERVE 0
1067 info->s->file_map = (uchar *)my_mmap(
1068 nullptr, (size_t)size,
1069 info->s->mode == O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE,
1072 [FILE:2182:files/my.cnf.sample.in]
1075 socket = /tmp/mysql.sock
1078 prompt = \u@\h [\d]>\_
1084 socket = /tmp/mysql.sock
1085 bind-address = 127.0.0.1
1086 basedir = %%PREFIX%%
1087 datadir = %%MY_DBDIR%%
1088 tmpdir = %%MY_TMPDIR%%
1089 slave-load-tmpdir = %%MY_TMPDIR%%
1090 secure-file-priv = %%MY_SECDIR%%
1093 master-info-repository = TABLE
1094 relay-log-info-repository = TABLE
1095 relay-log-recovery = 1
1100 binlog_cache_size = 16M
1101 expire_logs_days = 30
1102 default_password_lifetime = 0
1103 enforce-gtid-consistency = 1
1105 safe-user-create = 1
1106 lower_case_table_names = 1
1107 explicit-defaults-for-timestamp = 1
1108 myisam-recover-options = BACKUP,FORCE
1109 open_files_limit = 32768
1110 table_open_cache = 16384
1111 table_definition_cache = 8192
1112 net_retry_count = 16384
1113 key_buffer_size = 256M
1114 max_allowed_packet = 64M
1115 query_cache_type = 0
1116 query_cache_size = 0
1117 long_query_time = 0.5
1118 innodb_buffer_pool_size = 1G
1119 innodb_data_home_dir = %%MY_DBDIR%%
1120 innodb_log_group_home_dir = %%MY_DBDIR%%
1121 innodb_data_file_path = ibdata1:128M:autoextend
1122 innodb_temp_data_file_path = ibtmp1:128M:autoextend
1123 innodb_flush_method = O_DIRECT
1124 innodb_log_file_size = 256M
1125 innodb_log_buffer_size = 16M
1126 innodb_write_io_threads = 8
1127 innodb_read_io_threads = 8
1128 innodb_autoinc_lock_mode = 2
1132 max_allowed_packet = 256M
1137 [FILE:2478:files/mysql-server.in]
1145 # Add the following line to /etc/rc.conf to enable mysql:
1146 # mysql_enable (bool): Set to "NO" by default.
1147 # Set it to "YES" to enable MySQL.
1148 # mysql_limits (bool): Set to "NO" by default.
1149 # Set it to yes to run `limits -e -U mysql`
1150 # just before mysql starts.
1151 # mysql_dbdir (str): Default to "%%MY_DBDIR%%"
1152 # Base database directory.
1153 # mysql_confdir (str): Default to "%%ETCDIR%%"
1154 # Base configuration directory.
1155 # mysql_optfile (str): Server-specific option file.
1156 # Set it in the rc.conf or default behaviour of
1157 # `mysqld_safe` itself, will be picking
1158 # ${mysql_confdir}/my.cnf if it exists.
1159 # mysql_pidfile (str): Custum PID file path and name.
1160 # Default to "${mysql_dbdir}/${hostname}.pid".
1161 # mysql_args (str): Custom additional arguments to be passed
1162 # to mysqld_safe (default empty).
1170 load_rc_config $name
1172 : ${mysql_enable="NO"}
1173 : ${mysql_limits="NO"}
1174 : ${mysql_dbdir="%%MY_DBDIR%%"}
1175 : ${mysql_confdir="%%ETCDIR%%"}
1176 if [ -f "${mysql_confdir}/my.cnf" ]; then
1177 : ${mysql_optfile="${mysql_confdir}/my.cnf"}
1178 elif [ -f "${mysql_dbdir}/my.cnf" ]; then
1179 : ${mysql_optfile="${mysql_dbdir}/my.cnf"}
1181 if [ ! -z "${mysql_optfile}" ]; then
1182 mysql_extra="--defaults-extra-file=${mysql_optfile}"
1186 mysql_limits_args="-e -U ${mysql_user}"
1187 : ${hostname:=`/bin/hostname`}
1188 pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
1189 command="/usr/sbin/daemon"
1190 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%%"
1191 procname="%%PREFIX%%/libexec/mysqld"
1192 start_precmd="${name}_prestart"
1193 start_postcmd="${name}_poststart"
1194 mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
1195 mysql_install_db_args="${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --mysqld-file=${procname} --user=${mysql_user}"
1197 mysql_create_auth_tables()
1199 eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
1204 if [ ! -d "${mysql_dbdir}/mysql/." ]; then
1205 mysql_create_auth_tables || return 1
1207 if checkyesno mysql_limits; then
1208 eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
1217 while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
1218 timeout=$(( timeout - 1 ))
1227 [FILE:576:files/pkg-message-server.in]
1228 *****************************************************************************
1230 Remember to run mysql_upgrade the first time you start the MySQL server
1231 after an upgrade from an earlier version.
1233 Initial password for first time use of MySQL is saved in $HOME/.mysql_secret
1234 ie. when you want to use "mysql -u root -p" first you should see password
1235 in /root/.mysql_secret
1237 MySQL57 has a default %%ETCDIR%%/my.cnf,
1238 remember to replace it wit your own
1239 or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
1241 *****************************************************************************
1244 [FILE:28:files/special.mk]
1245 ETCDIR= ${PREFIX}/etc/mysql