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.21.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
32 B_DEPS[linux]= patchelf:primary:standard
33 EXRUN[client]= libedit:single:standard
34 zlib:complete:standard
35 openssl-devel:single:standard
39 USERGROUP_SPKG= server
41 USES= bison cmake perl:run shebangfix zlib cpe execinfo
42 ssl:openssl-devel pkgconfig c++:server,client
45 DISTNAME= mysql-8.0.21
47 LICENSE= GPLv2:server CUSTOM1:server
48 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
49 LICENSE_NAME= CUSTOM1:"MySQL Router License"
50 LICENSE_FILE= GPLv2:{{WRKSRC}}/README
51 CUSTOM1:{{WRKSRC}}/router/LICENSE.router
52 LICENSE_AWK= TERMS:"^\/\*$$"
53 LICENSE_SOURCE= TERMS:{{WRKSRC}}/include/mysql.h
56 CMAKE_BUILD_TYPE= Release
59 FPC_EQUIVALENT= databases/mysql80-server
60 SHEBANG_FILES= scripts/*.pl
62 INSTALL_REQ_TOOLCHAIN= yes
63 PLIST_SUB= MY_DBDIR=/var/db/mysql
64 MY_SECDIR=/var/db/mysql_secure
65 MY_TMPDIR=/var/db/mysql_tmpdir
67 RC_SUBR= mysql-server:server
68 SUB_FILES= my.cnf.sample
69 SUB_LIST= MY_DBDIR=/var/db/mysql
70 MY_SECDIR=/var/db/mysql_secure
71 MY_TMPDIR=/var/db/mysql_tmpdir
73 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
100 [PERFSCHEMA].DESCRIPTION= Provide "Performance Schema Storage" engine
101 [PERFSCHEMA].CMAKE_ARGS_OFF= -DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=1
102 [PERFSCHEMA].CMAKE_ARGS_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
104 [EXAMPLE].DESCRIPTION= Provide "Example Storage" engine
105 [EXAMPLE].CMAKE_ARGS_OFF= -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
106 [EXAMPLE].CMAKE_ARGS_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1
108 [BLACKHOLE].DESCRIPTION= Provide "Blackhole Storage" engine
109 [BLACKHOLE].CMAKE_ARGS_OFF= -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1
110 [BLACKHOLE].CMAKE_ARGS_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1
112 [PERFORMANCE].DESCRIPTION= Enable "Performance Schema" (High RAM usage)
113 [PERFORMANCE].SUB_LIST_OFF= PERFSCHEMRC="--skip-performance-schema"
114 [PERFORMANCE].SUB_LIST_ON= PERFSCHEMRC=""
116 [ARCHIVE].DESCRIPTION= Provide "Archive Storage" engine
117 [ARCHIVE].CMAKE_ARGS_OFF= -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1
118 [ARCHIVE].CMAKE_ARGS_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1
120 [FEDERATED].DESCRIPTION= Provide "Federated Storage" engine
121 [FEDERATED].CMAKE_ARGS_OFF= -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
122 [FEDERATED].CMAKE_ARGS_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1
123 [FEDERATED].SUB_LIST_OFF= FEDER=""
124 [FEDERATED].SUB_LIST_ON= FEDER="--federated"
126 [INNOBASE].DESCRIPTION= Provide "InnoDB Storage" engine
127 [INNOBASE].CMAKE_ARGS_OFF= -DWITHOUT_INNOBASE_STORAGE_ENGINE=1
128 [INNOBASE].CMAKE_ARGS_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1
131 ${REINPLACE_CMD} -e 's|@LOCALBASE@|${LOCALBASE}|' \
132 -e 's|@OPENSSLLIB@|${OPENSSLLIB}|' \
133 ${WRKSRC}/scripts/CMakeLists.txt
134 ${RM} ${WRKSRC}/cmake/os/FreeBSD.cmake
135 # current_path not supported by DragonFly
136 ${REINPLACE_CMD} -e '/mock_server/d' \
137 ${WRKSRC}/router/src/CMakeLists.txt
140 ${MKDIR} ${STAGEDIR}${PREFIX}/etc/mysql/keyring \
141 ${STAGEDIR}/var/db/mysql_secure \
142 ${STAGEDIR}/var/db/mysql_tmpdir
143 ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample \
144 ${STAGEDIR}${ETCDIR}/my.cnf.sample
145 ${MV} ${STAGEDIR}${PREFIX}/share/doc/mysql/sample_mysqlrouter.conf \
146 ${STAGEDIR}${ETCDIR}/mysqlrouter.conf.sample
147 ${RM} ${STAGEDIR}${MANPREFIX}/man/man1/zlib_decompress.1 \
148 ${STAGEDIR}${MANPREFIX}/man/man1/lz4_decompress.1
149 ${RM} ${STAGEDIR}${PREFIX}/*.router
150 ${RMDIR} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/debug
151 ${RMDIR} ${STAGEDIR}${PREFIX}/run
152 ${RM} -r ${STAGEDIR}${PREFIX}/share/doc
153 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/lib*.so
154 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/*.so
155 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmysql*.so.1
156 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libprotobuf-lite.so.*
157 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/mysqld
158 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysqlrouter/*.so
159 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/private/libprotobuf*
160 # Linux doesn't like -R flags
161 ${SED} -i'' -e 's| -R| -Wl,-rpath,|g' \
162 ${STAGEDIR}${PREFIX}/bin/mysql_config
163 list=$$(cd ${STAGEDIR}${PREFIX}/bin && ${LS} * | ${AWK} \
164 '{ if ($$1 != "mysql_config" && $$1 != "mysqld_mult" && \
165 $$1 != "mysqld_safe" && $$1 != "mysqldumpslow" && \
166 $$1 != "mysqld_multi") print}'); \
167 (cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} $$list)
170 ${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h
171 # group replication requires rpcgen (uncomment to disable)
172 # ${MV} ${WRKSRC}/plugin/group_replication ${WRKDIR}/
174 [FILE:294:descriptions/desc.server]
175 MySQL is a very fast, multi-threaded, multi-user and robust SQL
176 (Structured Query Language) database server.
178 MySQL, the most popular Open Source SQL database management system, is
179 developed, distributed, and supported by Oracle Corporation.
181 This package contains the MySQL server components.
184 [FILE:150:descriptions/desc.client]
185 MySQL is a very fast, multi-threaded, multi-user and robust SQL
186 (Structured Query Language) database server.
188 This package contains the MySQL client.
192 37231a123372a95f409857364dc1deb196b6f2c0b1fe60cc8382c7686b487f11 278292192 mysql-boost-8.0.21.tar.gz
195 [FILE:5802:manifests/plist.server]
196 @sample etc/mysql/my.cnf.sample
197 @sample etc/mysql/mysqlrouter.conf.sample
198 %%ONLY-LINUX%%lib/mysql/plugin/auth_socket.so
199 %%RPCGEN%%lib/mysql/plugin/group_replication.so
209 mysql_secure_installation
218 mysqlrouter_plugin_info
226 libmysqlrouter_http.so.1
227 libmysqlrouter_http_auth_backend.so.1
228 libmysqlrouter_http_auth_realm.so.1
229 libprotobuf-lite.so.3.11.4
230 lib/mysql/libmysqlservices.a
235 component_audit_api_message_emit.so
236 component_example_component1.so
237 component_example_component2.so
238 component_example_component3.so
239 component_log_filter_dragnet.so
240 component_log_sink_json.so
241 component_log_sink_syseventlog.so
242 component_log_sink_test.so
243 component_mysqlbackup.so
244 component_mysqlx_global_reset.so
245 component_pfs_example.so
246 component_pfs_example_component_population.so
247 component_test_audit_api_message.so
248 component_test_backup_lock_service.so
249 component_test_component_deinit.so
250 component_test_host_application_signal.so
251 component_test_mysql_current_thread_reader.so
252 component_test_mysql_runtime_error.so
253 component_test_pfs_notification.so
254 component_test_pfs_resource_group.so
255 component_test_status_var_service.so
256 component_test_status_var_service_int.so
257 component_test_status_var_service_reg_only.so
258 component_test_status_var_service_str.so
259 component_test_status_var_service_unreg_only.so
260 component_test_string_service.so
261 component_test_string_service_charset.so
262 component_test_string_service_long.so
263 component_test_sys_var_service.so
264 component_test_sys_var_service_int.so
265 component_test_sys_var_service_same.so
266 component_test_sys_var_service_str.so
267 component_test_system_variable_source.so
268 component_test_udf_registration.so
269 component_test_udf_services.so
270 component_udf_reg_3_func.so
271 component_udf_reg_avg_func.so
272 component_udf_reg_int_func.so
273 component_udf_reg_int_same_func.so
274 component_udf_reg_only_3_func.so
275 component_udf_reg_real_func.so
276 component_udf_unreg_3_func.so
277 component_udf_unreg_int_func.so
278 component_udf_unreg_real_func.so
279 component_validate_password.so
280 connection_control.so
289 libtest_services_threaded.so
290 libtest_session_attach.so
291 libtest_session_detach.so
292 libtest_session_in_thd.so
293 libtest_session_info.so
294 libtest_sql_2_sessions.so
295 libtest_sql_all_col_types.so
296 libtest_sql_cmds_1.so
297 libtest_sql_commit.so
298 libtest_sql_complex.so
299 libtest_sql_errors.so
301 libtest_sql_processlist.so
302 libtest_sql_replication.so
303 libtest_sql_reset_connection.so
304 libtest_sql_shutdown.so
305 libtest_sql_sqlmode.so
307 libtest_sql_stored_procedures_functions.so
308 libtest_sql_views_triggers.so
309 libtest_x_sessions_deinit.so
310 libtest_x_sessions_init.so
315 pfs_example_plugin_employee.so
319 replication_observers_example_plugin.so
324 test_security_context.so
325 test_services_host_application_signal.so
326 test_services_plugin_registry.so
339 rest_metadata_cache.so
345 libprotobuf-lite.so.3.11.4
346 libprotobuf.so.3.11.4
351 my_print_defaults.1.gz
357 mysql_secure_installation.1.gz
358 mysql_ssl_rsa_setup.1.gz
359 mysql_tzinfo_to_sql.1.gz
366 mysqlrouter_passwd.1.gz
367 mysqlrouter_plugin_info.1.gz
369 share/man/man8/mysqld.8.gz
372 innodb_memcached_config.sql
374 messages_to_clients.txt
375 messages_to_error_log.txt
379 uninstall_rewriter.sql
380 share/mysql/bulgarian/errmsg.sys
381 share/mysql/charsets/
408 share/mysql/czech/errmsg.sys
409 share/mysql/danish/errmsg.sys
410 share/mysql/dutch/errmsg.sys
411 share/mysql/english/errmsg.sys
412 share/mysql/estonian/errmsg.sys
413 share/mysql/french/errmsg.sys
414 share/mysql/german/errmsg.sys
415 share/mysql/greek/errmsg.sys
416 share/mysql/hungarian/errmsg.sys
417 share/mysql/italian/errmsg.sys
418 share/mysql/japanese/errmsg.sys
419 share/mysql/korean/errmsg.sys
420 share/mysql/norwegian/errmsg.sys
421 share/mysql/norwegian-ny/errmsg.sys
422 share/mysql/polish/errmsg.sys
423 share/mysql/portuguese/errmsg.sys
424 share/mysql/romanian/errmsg.sys
425 share/mysql/russian/errmsg.sys
426 share/mysql/serbian/errmsg.sys
427 share/mysql/slovak/errmsg.sys
428 share/mysql/spanish/errmsg.sys
429 share/mysql/swedish/errmsg.sys
430 share/mysql/ukrainian/errmsg.sys
431 @dir var/lib/mysqlrouter
432 @dir(mysql,mysql,0750) %%MY_SECDIR%%
433 @dir(mysql,mysql,0750) %%MY_TMPDIR%%
434 @dir(mysql,mysql,0750) etc/mysql/keyring
437 [FILE:792:manifests/plist.client]
468 udf_registration_types.h
473 lib/pkgconfig/mysqlclient.pc
474 share/aclocal/mysql.m4
479 mysql_config_editor.1.gz
490 [FILE:1146:patches/patch-CMakeLists.txt]
491 --- CMakeLists.txt.orig 2020-06-16 16:31:03 UTC
493 @@ -1501,7 +1501,6 @@ ADD_SUBDIRECTORY(share)
494 ADD_SUBDIRECTORY(libservices)
496 IF(NOT WITHOUT_SERVER)
497 - ADD_SUBDIRECTORY(testclients)
498 ADD_SUBDIRECTORY(sql)
501 @@ -1525,8 +1524,6 @@ ENDIF()
502 ADD_SUBDIRECTORY(scripts)
504 IF(NOT WITHOUT_SERVER)
505 - ADD_SUBDIRECTORY(mysql-test)
506 - ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
507 ADD_SUBDIRECTORY(support-files)
509 ADD_SUBDIRECTORY(internal)
510 @@ -1628,7 +1625,6 @@ ELSE()
511 SET(CPACK_GENERATOR "TGZ")
513 ADD_SUBDIRECTORY(packaging/WiX)
514 -ADD_SUBDIRECTORY(packaging/solaris)
516 # Produce separate tarballs for each INSTALL COMPONENT
517 IF(PACK_SEPARATE_COMPONENTS)
518 @@ -1644,6 +1640,7 @@ ENDIF()
520 # RPM installs documentation directly from the source tree
523 IF(NOT INSTALL_LAYOUT MATCHES "RPM")
526 @@ -1671,6 +1668,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
527 PATTERN "README.build" EXCLUDE
532 # Now that we're done with all ADD_SUBDIRECTORY and thus all feature tests,
533 # we can safely enable ASan on Clang/Win32 if needed.
536 [FILE:467:patches/patch-cmake_install__layout.cmake]
537 --- cmake/install_layout.cmake.orig 2020-06-16 16:31:03 UTC
538 +++ cmake/install_layout.cmake
539 @@ -379,11 +379,7 @@ SET(ROUTER_INSTALL_LOGDIR_STANDALONE
540 SET(ROUTER_INSTALL_RUNTIMEDIR_STANDALONE "run")
542 SET(ROUTER_INSTALL_BINDIR_STANDALONE "bin")
544 - SET(ROUTER_INSTALL_LIBDIR_STANDALONE "lib/mysqlrouter/private")
546 SET(ROUTER_INSTALL_LIBDIR_STANDALONE "lib")
549 SET(ROUTER_INSTALL_PLUGINDIR_STANDALONE "lib")
553 [FILE:595:patches/patch-cmake_plugin.cmake]
554 --- cmake/plugin.cmake.orig 2020-06-16 16:31:03 UTC
555 +++ cmake/plugin.cmake
556 @@ -230,15 +230,6 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg)
558 # For testing purposes, we need
559 # <...>/lib/plugin/debug/authentication_ldap_sasl_client.so
560 - IF(ARG_CLIENT_ONLY)
561 - INSTALL_DEBUG_TARGET(${target}
562 - DESTINATION ${INSTALL_PLUGINDIR}/debug
565 - INSTALL_DEBUG_TARGET(${target}
566 - DESTINATION ${INSTALL_PLUGINDIR}/debug
567 - COMPONENT ${INSTALL_COMPONENT})
571 IF(WITHOUT_${plugin})
574 [FILE:1016:patches/patch-cmake_ssl.cmake]
575 --- cmake/ssl.cmake.orig 2020-06-16 16:31:03 UTC
577 @@ -222,13 +222,10 @@ MACRO (MYSQL_CHECK_SSL)
578 OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
581 - IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
582 - ADD_DEFINITIONS(-DHAVE_TLSv13)
584 IF(OPENSSL_INCLUDE_DIR AND
587 - OPENSSL_MAJOR_VERSION STREQUAL "1"
588 + OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
590 SET(OPENSSL_FOUND TRUE)
591 FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
592 @@ -332,7 +329,7 @@ ENDMACRO()
593 # or INSTALL_LIBDIR (Mac)
594 # or INSTALL_PRIV_LIBDIR (Linux)
595 MACRO(MYSQL_CHECK_SSL_DLLS)
596 - IF (WITH_SSL_PATH AND (APPLE OR WIN32 OR LINUX_STANDALONE OR LINUX_RPM))
597 + IF (WITH_SSL_PATH AND (APPLE OR WIN32))
598 MESSAGE(STATUS "WITH_SSL_PATH ${WITH_SSL_PATH}")
600 GET_FILENAME_COMPONENT(CRYPTO_EXT "${CRYPTO_LIBRARY}" EXT)
603 [FILE:505:patches/patch-configure.cmake]
604 --- configure.cmake.orig 2020-06-16 16:31:03 UTC
606 @@ -584,6 +584,7 @@ int main(int ac, char **av)
609 # Check for pthread_getthreadid_np()
610 +set(CMAKE_REQUIRED_LIBRARIES pthread)
611 CHECK_C_SOURCE_COMPILES("
612 #include <pthread_np.h>
613 int main(int ac, char **av)
614 @@ -592,6 +593,7 @@ int main(int ac, char **av)
615 return (tid != 0 ? 0 : 1);
617 HAVE_PTHREAD_GETTHREADID_NP)
618 +set(CMAKE_REQUIRED_LIBRARIES "")
620 # Check for pthread_threadid_np()
621 CHECK_C_SOURCE_COMPILES("
624 [FILE:427:patches/patch-include_my__compare.h]
625 --- include/my_compare.h.orig 2020-06-16 16:31:03 UTC
626 +++ include/my_compare.h
628 But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
631 -#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
632 +#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
633 #define HA_MAX_KEY_SEG 16 /* Max segments for key */
635 #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24 + 6 + 6)
638 [FILE:419:patches/patch-include_my__thread__os__id.h]
639 --- include/my_thread_os_id.h.orig 2020-06-16 16:31:03 UTC
640 +++ include/my_thread_os_id.h
641 @@ -84,8 +84,12 @@ static inline my_thread_os_id_t my_threa
642 return pthread_getthreadid_np();
644 #ifdef HAVE_INTEGER_PTHREAD_SELF
645 +# ifdef __DragonFly__
646 + return syscall(SYS_lwp_gettid);
648 /* Unknown platform, fallback. */
649 return pthread_self();
652 /* Feature not available. */
656 [FILE:480:patches/patch-include_myisam.h]
657 --- include/myisam.h.orig 2020-06-16 16:31:03 UTC
660 The following defines can be increased if necessary.
661 But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
663 -#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
664 +#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
665 #define MI_MAX_KEY_SEG 16 /* Max segments for key */
667 #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH + MI_MAX_KEY_SEG * 6 + 8 + 8)
670 [FILE:622:patches/patch-libmysql_CMakeLists.txt]
671 --- libmysql/CMakeLists.txt.orig 2020-06-16 16:31:03 UTC
672 +++ libmysql/CMakeLists.txt
673 @@ -243,7 +243,6 @@ IF(WIN32)
676 # LDAP authentication SASL client plugin
677 -ADD_SUBDIRECTORY(authentication_ldap)
679 # Merge several convenience libraries into one big mysqlclient
680 MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
681 @@ -306,7 +305,7 @@ ENDIF()
684 # libtool compatability
685 - IF(FREEBSD OR APPLE)
686 + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly|Linux|SunOS" OR APPLE)
687 SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
689 SET(OS_SHARED_LIB_VERSION
692 [FILE:1958:patches/patch-mysys_my__default.cc]
693 --- mysys/my_default.cc.orig 2020-06-16 16:31:03 UTC
694 +++ mysys/my_default.cc
695 @@ -204,7 +204,7 @@ bool no_defaults = false;
697 /* Which directories are searched for options (and in which order) */
699 -#define MAX_DEFAULT_DIRS 6
700 +#define MAX_DEFAULT_DIRS 7
701 #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
702 static const char **default_directories = nullptr;
704 @@ -912,6 +912,14 @@ static int search_default_file_with_ext(
705 return 1; /* Ignore wrong files */
708 + if (strstr(name, "/etc") == name)
711 + "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
716 while (mysql_file_getline(buff, sizeof(buff) - 1, fp, is_login_file)) {
718 /* Ignore comment and empty lines */
719 @@ -1231,7 +1239,8 @@ void my_print_default_files(const char *
720 end[(strlen(end) - 1)] = ' ';
722 strxmov(end, conf_file, *ext, " ", NullS);
723 - fputs(name, stdout);
724 + if (strstr(name, "/etc") != name)
725 + fputs(name, stdout);
729 @@ -1571,13 +1580,8 @@ static const char **init_default_directo
733 - errors += add_directory(alloc, "/etc/", dirs);
734 - errors += add_directory(alloc, "/etc/mysql/", dirs);
736 -#if defined(DEFAULT_SYSCONFDIR)
737 - if (DEFAULT_SYSCONFDIR[0])
738 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
739 -#endif /* DEFAULT_SYSCONFDIR */
740 + errors += add_directory(alloc, "/usr/local/etc/", dirs);
741 + errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs);
745 @@ -1641,7 +1645,7 @@ int check_file_permissions(const char *f
749 - if (!my_stat(file_name, &stat_info, MYF(0))) return 1;
750 + if (!my_stat(file_name, &stat_info, MYF(0))) return 0;
752 Ignore .mylogin.cnf file if not exclusively readable/writable
756 [FILE:435:patches/patch-plugin_password__validation_validate__password.cc]
757 --- plugin/password_validation/validate_password.cc.orig 2020-06-16 16:31:03 UTC
758 +++ plugin/password_validation/validate_password.cc
760 #include <mysql/plugin_validate_password.h>
761 #include <mysql/service_my_plugin_log.h>
762 #include <mysql/service_mysql_string.h>
763 +/* solve clash between libc++ bitset::test() and test macro from my_global.h */
770 [FILE:381:patches/patch-router_cmake_set__rpath.cmake]
771 --- router/cmake/set_rpath.cmake.orig 2020-06-16 16:31:03 UTC
772 +++ router/cmake/set_rpath.cmake
773 @@ -27,8 +27,7 @@ ELSE()
776 SET(CMAKE_INSTALL_RPATH)
777 -IF(INSTALL_LAYOUT STREQUAL "STANDALONE"
778 - OR INSTALL_LAYOUT STREQUAL "SVR4")
780 # rpath for lib/mysqlrouter/ plugins that want to find lib/
782 SET(RPATH_PLUGIN_TO_LIB "${RPATH_ORIGIN}/private")
785 [FILE:287:patches/patch-router_src_harness_include_mysql_harness_tty.h]
786 --- router/src/harness/include/mysql/harness/tty.h.orig 2020-06-16 16:31:03 UTC
787 +++ router/src/harness/include/mysql/harness/tty.h
796 class HARNESS_EXPORT Tty {
801 [FILE:317:patches/patch-router_src_harness_src_socket__operations.cc]
802 --- router/src/harness/src/socket_operations.cc.orig 2020-06-16 16:31:03 UTC
803 +++ router/src/harness/src/socket_operations.cc
808 +#ifdef __DragonFly__
809 +#include <netinet/in.h>
813 #include <winsock2.h> // gethostname
816 [FILE:356:patches/patch-router_src_harness_src_stdx_io_file__handle.cc]
817 --- router/src/harness/src/stdx/io/file_handle.cc.orig 2020-06-16 16:31:03 UTC
818 +++ router/src/harness/src/stdx/io/file_handle.cc
819 @@ -275,7 +275,10 @@ file_handle::current_path() const noexce
823 -#error unsupported OS
825 + std::string path_name;
826 + path_name.resize(1025);
827 + return {path_name};
833 [FILE:308:patches/patch-router_src_routing_src_connection.h]
834 --- router/src/routing/src/connection.h.orig 2020-06-16 16:31:03 UTC
835 +++ router/src/routing/src/connection.h
838 #include <condition_variable>
840 +#ifdef __DragonFly__
841 +#include <sys/socket.h>
845 #include "mysql_router_thread.h"
848 [FILE:2951:patches/patch-scripts_CMakeLists.txt]
849 --- scripts/CMakeLists.txt.orig 2020-06-16 16:31:03 UTC
850 +++ scripts/CMakeLists.txt
851 @@ -202,11 +202,7 @@ IF(MY_COMPILER_IS_GNU_OR_CLANG)
852 STRING(REGEX REPLACE "-std=c..[0-9]+" "" CXXFLAGS "${CXXFLAGS}")
856 - SET (PERL_PATH "/usr/local/bin/perl")
858 - SET (PERL_PATH "/usr/bin/perl")
860 + SET (PERL_PATH "@LOCALBASE@/bin/perl")
863 # SHELL_PATH, FIND_PROC, CHECK_PID are used by mysqld_safe
864 @@ -225,14 +221,9 @@ IF(UNIX)
865 "ps -p $PID | grep -v mysqld_safe | grep -- $MYSQLD > /dev/null")
870 - EXECUTE_PROCESS(COMMAND ps -uaxww
871 - OUTPUT_QUIET ERROR_QUIET RESULT_VARIABLE result)
872 - IF(result MATCHES 0)
873 +IF(NOT FIND_PROC AND CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD")
875 "ps -uaxww | grep -v mysqld_safe | grep -- $MYSQLD | grep $PID > /dev/null")
880 @@ -267,7 +258,7 @@ SET(pkglibdir ${prefix}/${INSTALL_LIBDIR
881 SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
882 SET(localstatedir ${MYSQL_DATADIR})
886 SET(RPATH_OPTION " -R$pkglibdir")
889 @@ -311,6 +302,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
890 GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
891 STRING(REGEX REPLACE "^lib" "" lib "${lib}")
892 SET(${var} "${${var}}-l${lib} " )
893 + ELSEIF(lib STREQUAL "-pthread")
894 + SET(${var} "${${var}}-pthread " )
896 SET(${var} "${${var}}-l${lib} " )
898 @@ -334,21 +327,10 @@ ELSE()
899 GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME)
902 +STRING(REPLACE "-lssl" "-L@OPENSSLLIB@ -lssl" CLIENT_LIBS "${CLIENT_LIBS}")
903 SET(CONFIG_CLIENT_LIBS "${CLIENT_LIBS}")
904 SET(CONFIG_LIBS_PRIVATE "${CLIENT_LIBS}")
905 SET(CONFIG_REQUIRES_PRIVATE "")
906 -# ssl.cmake should have used pkg-config rather than cmake to locate ssl
907 -IF (WITH_SSL STREQUAL "system")
908 - # We have implemented "system" for other platforms as well, but those
909 - # are non-native packages.
910 - IF(LINUX OR SOLARIS OR FREEBSD)
911 - SET(CONFIG_REQUIRES_PRIVATE "openssl")
912 - STRING(REPLACE "-lssl" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}")
913 - STRING(REPLACE "-lcrypto" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}")
914 - STRING(REGEX REPLACE "[ ]+" " " CONFIG_LIBS_PRIVATE
915 - "${CONFIG_LIBS_PRIVATE}")
919 MESSAGE(STATUS "CONFIG_CLIENT_LIBS ${CONFIG_CLIENT_LIBS}")
920 MESSAGE(STATUS "CONFIG_LIBS_PRIVATE ${CONFIG_LIBS_PRIVATE}")
921 @@ -414,7 +396,7 @@ ELSE()
922 FOREACH(file ${BIN_SCRIPTS})
923 IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
924 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
925 - ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY
926 + ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY
928 ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in)
929 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in
932 [FILE:538:patches/patch-sql_CMakeLists.txt]
933 --- sql/CMakeLists.txt.orig 2020-06-16 16:31:03 UTC
934 +++ sql/CMakeLists.txt
935 @@ -653,10 +653,10 @@ ENDIF()
937 LIST(APPEND SQL_SHARED_SOURCES
938 resourcegroups/platform/thread_attrs_api_linux.cc)
940 +ELSEIF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
941 LIST(APPEND SQL_SHARED_SOURCES
942 resourcegroups/platform/thread_attrs_api_apple.cc)
944 +ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
945 LIST(APPEND SQL_SHARED_SOURCES
946 resourcegroups/platform/thread_attrs_api_freebsd.cc)
950 [FILE:450:patches/patch-sql_resourcegroups_platform_thread__attrs__api__apple.cc]
951 --- sql/resourcegroups/platform/thread_attrs_api_apple.cc.orig 2020-06-16 16:31:03 UTC
952 +++ sql/resourcegroups/platform/thread_attrs_api_apple.cc
953 @@ -85,7 +85,11 @@ bool set_thread_priority(int, my_thread_
954 uint32_t num_vcpus_using_affinity() { return 0; }
956 uint32_t num_vcpus_using_config() {
958 int name[2] = {CTL_HW, HW_AVAILCPU};
960 + int name[2] = {CTL_HW, HW_NCPU};
964 size_t size = sizeof(ncpu);
967 [FILE:1992:patches/patch-sql_sys__vars.cc]
968 --- sql/sys_vars.cc.orig 2020-06-16 16:31:03 UTC
970 @@ -2142,7 +2142,7 @@ static Sys_var_ulong Sys_interactive_tim
971 "The number of seconds the server waits for activity on an interactive "
972 "connection before closing it",
973 SESSION_VAR(net_interactive_timeout), CMD_LINE(REQUIRED_ARG),
974 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
975 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
977 static Sys_var_ulong Sys_join_buffer_size(
978 "join_buffer_size", "The size of the buffer that is used for full joins",
979 @@ -2932,7 +2932,7 @@ static Sys_var_ulong Sys_net_read_timeou
980 "Number of seconds to wait for more data from a connection before "
982 SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
983 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
984 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
985 NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
986 ON_UPDATE(fix_net_read_timeout));
988 @@ -2953,7 +2953,7 @@ static Sys_var_ulong Sys_net_write_timeo
989 "Number of seconds to wait for a block to be written to a connection "
990 "before aborting the write",
991 SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
992 - VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
993 + VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
994 NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
995 ON_UPDATE(fix_net_write_timeout));
997 @@ -4781,7 +4781,7 @@ static Sys_var_ulong Sys_net_wait_timeou
998 "The number of seconds the server waits for activity on a "
999 "connection before closing it",
1000 SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG),
1001 - VALID_RANGE(1, IF_WIN(INT_MAX32 / 1000, LONG_TIMEOUT)),
1002 + VALID_RANGE(1, INT_MAX32 / 1000),
1003 DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
1005 static Sys_var_plugin Sys_default_storage_engine(
1008 [FILE:450:patches/patch-storage_innobase_include_srv0mon.h]
1009 --- storage/innobase/include/srv0mon.h.orig 2020-06-16 16:31:03 UTC
1010 +++ storage/innobase/include/srv0mon.h
1011 @@ -40,6 +40,10 @@ Foundation, Inc., 51 Franklin St, Fifth
1012 /* Required for FreeBSD so that INT64_MAX is defined. */
1013 #define __STDC_LIMIT_MACROS
1014 #endif /* __STDC_LIMIT_MACROS */
1015 +#ifdef __DragonFly__
1016 +/* The hack above doen't work for dragonfly, stdint.h already imported */
1017 +#include <machine/int_limits.h>
1024 [FILE:482:patches/patch-storage_myisam_mi__dynrec.cc]
1025 --- storage/myisam/mi_dynrec.cc.orig 2020-06-16 16:31:03 UTC
1026 +++ storage/myisam/mi_dynrec.cc
1027 @@ -92,6 +92,9 @@ bool mi_dynmap_file(MI_INFO *info, my_of
1028 mapping. When swap space is not reserved one might get SIGSEGV
1029 upon a write if no physical memory is available.
1031 +#ifndef MAP_NORESERVE
1032 +#define MAP_NORESERVE 0
1034 info->s->file_map = (uchar *)my_mmap(
1035 nullptr, (size_t)size,
1036 info->s->mode == O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE,
1039 [FILE:2182:files/my.cnf.sample.in]
1042 socket = /tmp/mysql.sock
1045 prompt = \u@\h [\d]>\_
1051 socket = /tmp/mysql.sock
1052 bind-address = 127.0.0.1
1053 basedir = %%PREFIX%%
1054 datadir = %%MY_DBDIR%%
1055 tmpdir = %%MY_TMPDIR%%
1056 slave-load-tmpdir = %%MY_TMPDIR%%
1057 secure-file-priv = %%MY_SECDIR%%
1060 master-info-repository = TABLE
1061 relay-log-info-repository = TABLE
1062 relay-log-recovery = 1
1067 binlog_cache_size = 16M
1068 expire_logs_days = 30
1069 default_password_lifetime = 0
1070 enforce-gtid-consistency = 1
1072 safe-user-create = 1
1073 lower_case_table_names = 1
1074 explicit-defaults-for-timestamp = 1
1075 myisam-recover-options = BACKUP,FORCE
1076 open_files_limit = 32768
1077 table_open_cache = 16384
1078 table_definition_cache = 8192
1079 net_retry_count = 16384
1080 key_buffer_size = 256M
1081 max_allowed_packet = 64M
1082 query_cache_type = 0
1083 query_cache_size = 0
1084 long_query_time = 0.5
1085 innodb_buffer_pool_size = 1G
1086 innodb_data_home_dir = %%MY_DBDIR%%
1087 innodb_log_group_home_dir = %%MY_DBDIR%%
1088 innodb_data_file_path = ibdata1:128M:autoextend
1089 innodb_temp_data_file_path = ibtmp1:128M:autoextend
1090 innodb_flush_method = O_DIRECT
1091 innodb_log_file_size = 256M
1092 innodb_log_buffer_size = 16M
1093 innodb_write_io_threads = 8
1094 innodb_read_io_threads = 8
1095 innodb_autoinc_lock_mode = 2
1099 max_allowed_packet = 256M
1104 [FILE:2478:files/mysql-server.in]
1112 # Add the following line to /etc/rc.conf to enable mysql:
1113 # mysql_enable (bool): Set to "NO" by default.
1114 # Set it to "YES" to enable MySQL.
1115 # mysql_limits (bool): Set to "NO" by default.
1116 # Set it to yes to run `limits -e -U mysql`
1117 # just before mysql starts.
1118 # mysql_dbdir (str): Default to "%%MY_DBDIR%%"
1119 # Base database directory.
1120 # mysql_confdir (str): Default to "%%ETCDIR%%"
1121 # Base configuration directory.
1122 # mysql_optfile (str): Server-specific option file.
1123 # Set it in the rc.conf or default behaviour of
1124 # `mysqld_safe` itself, will be picking
1125 # ${mysql_confdir}/my.cnf if it exists.
1126 # mysql_pidfile (str): Custum PID file path and name.
1127 # Default to "${mysql_dbdir}/${hostname}.pid".
1128 # mysql_args (str): Custom additional arguments to be passed
1129 # to mysqld_safe (default empty).
1137 load_rc_config $name
1139 : ${mysql_enable="NO"}
1140 : ${mysql_limits="NO"}
1141 : ${mysql_dbdir="%%MY_DBDIR%%"}
1142 : ${mysql_confdir="%%ETCDIR%%"}
1143 if [ -f "${mysql_confdir}/my.cnf" ]; then
1144 : ${mysql_optfile="${mysql_confdir}/my.cnf"}
1145 elif [ -f "${mysql_dbdir}/my.cnf" ]; then
1146 : ${mysql_optfile="${mysql_dbdir}/my.cnf"}
1148 if [ ! -z "${mysql_optfile}" ]; then
1149 mysql_extra="--defaults-extra-file=${mysql_optfile}"
1153 mysql_limits_args="-e -U ${mysql_user}"
1154 : ${hostname:=`/bin/hostname`}
1155 pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
1156 command="/usr/sbin/daemon"
1157 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%%"
1158 procname="%%PREFIX%%/libexec/mysqld"
1159 start_precmd="${name}_prestart"
1160 start_postcmd="${name}_poststart"
1161 mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
1162 mysql_install_db_args="${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --mysqld-file=${procname} --user=${mysql_user}"
1164 mysql_create_auth_tables()
1166 eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
1171 if [ ! -d "${mysql_dbdir}/mysql/." ]; then
1172 mysql_create_auth_tables || return 1
1174 if checkyesno mysql_limits; then
1175 eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
1184 while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
1185 timeout=$(( timeout - 1 ))
1194 [FILE:576:files/pkg-message-server.in]
1195 *****************************************************************************
1197 Remember to run mysql_upgrade the first time you start the MySQL server
1198 after an upgrade from an earlier version.
1200 Initial password for first time use of MySQL is saved in $HOME/.mysql_secret
1201 ie. when you want to use "mysql -u root -p" first you should see password
1202 in /root/.mysql_secret
1204 MySQL57 has a default %%ETCDIR%%/my.cnf,
1205 remember to replace it wit your own
1206 or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
1208 *****************************************************************************
1211 [FILE:28:files/special.mk]
1212 ETCDIR= ${PREFIX}/etc/mysql