Ravenports generated: 11 Oct 2020 21:37
[ravenports.git] / bucket_1F / mysql80
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               mysql80
4 VERSION=                8.0.21
5 KEYWORDS=               databases
6 VARIANTS=               standard
7 SDESC[standard]=        Multithreaded SQL database (server)
8 HOMEPAGE=               https://www.mysql.com/
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            MYSQL/MySQL-8.0
13 DISTFILE[1]=            mysql-boost-8.0.21.tar.gz:main
14 DF_INDEX=               1
15 SPKGS[standard]=        complete
16                         server
17                         client
18
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
26                         PERFSCHEMA
27 OPT_ON[all]=            PERFORMANCE
28
29 BUILD_DEPENDS=          libedit:single:standard
30 BUILDRUN_DEPENDS=       libevent:single:standard
31                         lz4:complete:standard
32 B_DEPS[linux]=          patchelf:primary:standard
33 EXRUN[client]=          libedit:single:standard
34                         zlib:complete:standard
35                         openssl-devel:single:standard
36
37 USERS=                  mysql
38 GROUPS=                 mysql
39 USERGROUP_SPKG=         server
40
41 USES=                   bison cmake perl:run shebangfix zlib cpe execinfo
42                         ssl:openssl-devel pkgconfig c++:server,client
43                         cclibs:server,client
44
45 DISTNAME=               mysql-8.0.21
46
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
54 LICENSE_SCHEME=         multi
55
56 CMAKE_BUILD_TYPE=       Release
57 CPE_PRODUCT=            mysql
58 CPE_VENDOR=             oracle
59 FPC_EQUIVALENT=         databases/mysql80-server
60 SHEBANG_FILES=          scripts/*.pl
61
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
66                         RPCGEN=
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
72
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
94                         -DWITH_LZ4=system
95                         -DWITH_ZLIB=system
96                         -DWITH_SSL={{OPENSSLBASE}}
97                         -DINSTALL_MYSQLTESTDIR=0
98                         -DZLIB_INCLUDE_DIR={{LOCALBASE}}/include
99
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
103
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
107
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
111
112 [PERFORMANCE].DESCRIPTION=              Enable "Performance Schema" (High RAM usage)
113 [PERFORMANCE].SUB_LIST_OFF=             PERFSCHEMRC="--skip-performance-schema"
114 [PERFORMANCE].SUB_LIST_ON=              PERFSCHEMRC=""
115
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
119
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"
125
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
129
130 post-patch:
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
138
139 post-install:
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)
168
169 post-extract:
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}/
173
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.
177
178 MySQL, the most popular Open Source SQL database management system, is
179 developed, distributed, and supported by Oracle Corporation.
180
181 This package contains the MySQL server components.
182
183
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.
187
188 This package contains the MySQL client.
189
190
191 [FILE:104:distinfo]
192 37231a123372a95f409857364dc1deb196b6f2c0b1fe60cc8382c7686b487f11    278292192 mysql-boost-8.0.21.tar.gz
193
194
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
200 bin/
201  comp_err
202  ibd2sdi
203  innochecksum
204  my_print_defaults
205  myisam_ftdump
206  myisamchk
207  myisamlog
208  myisampack
209  mysql_secure_installation
210  mysql_tzinfo_to_sql
211  mysql_upgrade
212  mysqld_multi
213  mysqld_safe
214  mysqldumpslow
215  mysqlrouter
216  mysqlrouter_keyring
217  mysqlrouter_passwd
218  mysqlrouter_plugin_info
219  mysqltest
220  mysqlxtest
221  perror
222  zlib_decompress
223 lib/
224  libmysqlharness.so.1
225  libmysqlrouter.so.1
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
231 lib/mysql/plugin/
232  adt_null.so
233  auth.so
234  auth_test_plugin.so
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
281  daemon_example.ini
282  ddl_rewriter.so
283  ha_mock.so
284  keyring_file.so
285  keyring_udf.so
286  libdaemon_example.so
287  libtest_framework.so
288  libtest_services.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
300  libtest_sql_lock.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
306  libtest_sql_stmt.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
311  locking_service.so
312  mypluglib.so
313  mysql_clone.so
314  mysql_no_login.so
315  pfs_example_plugin_employee.so
316  qa_auth_client.so
317  qa_auth_interface.so
318  qa_auth_server.so
319  replication_observers_example_plugin.so
320  rewrite_example.so
321  rewriter.so
322  semisync_master.so
323  semisync_slave.so
324  test_security_context.so
325  test_services_host_application_signal.so
326  test_services_plugin_registry.so
327  test_udf_services.so
328  udf_example.so
329  validate_password.so
330  version_token.so
331 lib/mysqlrouter/
332  http_auth_backend.so
333  http_auth_realm.so
334  http_server.so
335  keepalive.so
336  metadata_cache.so
337  mysql_protocol.so
338  rest_api.so
339  rest_metadata_cache.so
340  rest_router.so
341  rest_routing.so
342  router_protobuf.so
343  routing.so
344 lib/private/
345  libprotobuf-lite.so.3.11.4
346  libprotobuf.so.3.11.4
347 libexec/mysqld
348 share/man/man1/
349  ibd2sdi.1.gz
350  innochecksum.1.gz
351  my_print_defaults.1.gz
352  myisam_ftdump.1.gz
353  myisamchk.1.gz
354  myisamlog.1.gz
355  myisampack.1.gz
356  mysql.server.1.gz
357  mysql_secure_installation.1.gz
358  mysql_ssl_rsa_setup.1.gz
359  mysql_tzinfo_to_sql.1.gz
360  mysql_upgrade.1.gz
361  mysqld_multi.1.gz
362  mysqld_safe.1.gz
363  mysqldumpslow.1.gz
364  mysqlman.1.gz
365  mysqlrouter.1.gz
366  mysqlrouter_passwd.1.gz
367  mysqlrouter_plugin_info.1.gz
368  perror.1.gz
369 share/man/man8/mysqld.8.gz
370 share/mysql/
371  dictionary.txt
372  innodb_memcached_config.sql
373  install_rewriter.sql
374  messages_to_clients.txt
375  messages_to_error_log.txt
376  mysql-log-rotate
377  mysql.server
378  mysqld_multi.server
379  uninstall_rewriter.sql
380 share/mysql/bulgarian/errmsg.sys
381 share/mysql/charsets/
382  Index.xml
383  README
384  armscii8.xml
385  ascii.xml
386  cp1250.xml
387  cp1251.xml
388  cp1256.xml
389  cp1257.xml
390  cp850.xml
391  cp852.xml
392  cp866.xml
393  dec8.xml
394  geostd8.xml
395  greek.xml
396  hebrew.xml
397  hp8.xml
398  keybcs2.xml
399  koi8r.xml
400  koi8u.xml
401  latin1.xml
402  latin2.xml
403  latin5.xml
404  latin7.xml
405  macce.xml
406  macroman.xml
407  swe7.xml
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
435
436
437 [FILE:792:manifests/plist.client]
438 bin/
439  mysql
440  mysql_config
441  mysql_config_editor
442  mysql_ssl_rsa_setup
443  mysqladmin
444  mysqlbinlog
445  mysqlcheck
446  mysqldump
447  mysqlimport
448  mysqlpump
449  mysqlshow
450  mysqlslap
451 include/mysql/
452  errmsg.h
453  field_types.h
454  my_command.h
455  my_compress.h
456  my_list.h
457  mysql.h
458  mysql_com.h
459  mysql_time.h
460  mysql_version.h
461  mysqld_error.h
462  mysqlx_ername.h
463  mysqlx_error.h
464  mysqlx_version.h
465 include/mysql/mysql/
466  client_plugin.h
467  plugin_auth_common.h
468  udf_registration_types.h
469 lib/mysql/
470  libmysqlclient.a
471  libmysqlclient.so
472  libmysqlclient.so.21
473 lib/pkgconfig/mysqlclient.pc
474 share/aclocal/mysql.m4
475 share/man/man1/
476  comp_err.1.gz
477  mysql.1.gz
478  mysql_config.1.gz
479  mysql_config_editor.1.gz
480  mysqladmin.1.gz
481  mysqlbinlog.1.gz
482  mysqlcheck.1.gz
483  mysqldump.1.gz
484  mysqlimport.1.gz
485  mysqlpump.1.gz
486  mysqlshow.1.gz
487  mysqlslap.1.gz
488
489
490 [FILE:1146:patches/patch-CMakeLists.txt]
491 --- CMakeLists.txt.orig 2020-06-16 16:31:03 UTC
492 +++ CMakeLists.txt
493 @@ -1501,7 +1501,6 @@ ADD_SUBDIRECTORY(share)
494  ADD_SUBDIRECTORY(libservices)
495  
496  IF(NOT WITHOUT_SERVER)
497 -  ADD_SUBDIRECTORY(testclients)
498    ADD_SUBDIRECTORY(sql)
499  ENDIF()
500  
501 @@ -1525,8 +1524,6 @@ ENDIF()
502  ADD_SUBDIRECTORY(scripts)
503  
504  IF(NOT WITHOUT_SERVER)
505 -  ADD_SUBDIRECTORY(mysql-test)
506 -  ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
507    ADD_SUBDIRECTORY(support-files)
508    IF(WITH_INTERNAL)
509      ADD_SUBDIRECTORY(internal)
510 @@ -1628,7 +1625,6 @@ ELSE()
511    SET(CPACK_GENERATOR "TGZ")
512  ENDIF() 
513  ADD_SUBDIRECTORY(packaging/WiX)
514 -ADD_SUBDIRECTORY(packaging/solaris)
515  
516  # Produce separate tarballs for each INSTALL COMPONENT
517  IF(PACK_SEPARATE_COMPONENTS)
518 @@ -1644,6 +1640,7 @@ ENDIF()
519  #
520  # RPM installs documentation directly from the source tree
521  #
522 +IF(FALSE)
523  IF(NOT INSTALL_LAYOUT MATCHES "RPM")
524    INSTALL(FILES
525      README
526 @@ -1671,6 +1668,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
527      PATTERN "README.build" EXCLUDE
528    )
529  ENDIF()
530 +ENDIF()
531  
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.
534
535
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")
541  
542  SET(ROUTER_INSTALL_BINDIR_STANDALONE      "bin")
543 -IF(LINUX)
544 -  SET(ROUTER_INSTALL_LIBDIR_STANDALONE    "lib/mysqlrouter/private")
545 -ELSE()
546    SET(ROUTER_INSTALL_LIBDIR_STANDALONE    "lib")
547 -ENDIF()
548  IF(WIN32)
549    SET(ROUTER_INSTALL_PLUGINDIR_STANDALONE "lib")
550  ELSE()
551
552
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)
557  
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
563 -          COMPONENT Test)
564 -      ELSE()
565 -        INSTALL_DEBUG_TARGET(${target}
566 -          DESTINATION ${INSTALL_PLUGINDIR}/debug
567 -          COMPONENT ${INSTALL_COMPONENT})
568 -      ENDIF()
569      ENDIF()
570    ELSE()
571      IF(WITHOUT_${plugin})
572
573
574 [FILE:1016:patches/patch-cmake_ssl.cmake]
575 --- cmake/ssl.cmake.orig        2020-06-16 16:31:03 UTC
576 +++ cmake/ssl.cmake
577 @@ -222,13 +222,10 @@ MACRO (MYSQL_CHECK_SSL)
578          OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
579          )
580      ENDIF()
581 -    IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
582 -       ADD_DEFINITIONS(-DHAVE_TLSv13)
583 -    ENDIF()
584      IF(OPENSSL_INCLUDE_DIR AND
585         OPENSSL_LIBRARY   AND
586         CRYPTO_LIBRARY      AND
587 -       OPENSSL_MAJOR_VERSION STREQUAL "1"
588 +       OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
589        )
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}")
599      IF(LINUX)
600        GET_FILENAME_COMPONENT(CRYPTO_EXT "${CRYPTO_LIBRARY}" EXT)
601
602
603 [FILE:505:patches/patch-configure.cmake]
604 --- configure.cmake.orig        2020-06-16 16:31:03 UTC
605 +++ configure.cmake
606 @@ -584,6 +584,7 @@ int main(int ac, char **av)
607  HAVE_SYS_GETTID)
608  
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);
616  }"
617  HAVE_PTHREAD_GETTHREADID_NP)
618 +set(CMAKE_REQUIRED_LIBRARIES "")
619  
620  # Check for pthread_threadid_np()
621  CHECK_C_SOURCE_COMPILES("
622
623
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
627 @@ -49,7 +49,7 @@
628    But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
629  */
630  
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 */
634  
635  #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24 + 6 + 6)
636
637
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();
643  #else
644  #ifdef HAVE_INTEGER_PTHREAD_SELF
645 +#  ifdef __DragonFly__
646 +  return syscall(SYS_lwp_gettid);
647 +#  else
648    /* Unknown platform, fallback. */
649    return pthread_self();
650 +#  endif
651  #else
652    /* Feature not available. */
653    return 0;
654
655
656 [FILE:480:patches/patch-include_myisam.h]
657 --- include/myisam.h.orig       2020-06-16 16:31:03 UTC
658 +++ include/myisam.h
659 @@ -59,7 +59,7 @@
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.
662  */
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 */
666  
667  #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH + MI_MAX_KEY_SEG * 6 + 8 + 8)
668
669
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)
674  ENDIF()
675  
676  # LDAP authentication SASL client plugin
677 -ADD_SUBDIRECTORY(authentication_ldap)
678  
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()
682  
683  IF(UNIX)
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}")
688    ELSE()
689      SET(OS_SHARED_LIB_VERSION
690
691
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;
696  
697  /* Which directories are searched for options (and in which order) */
698  
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;
703  
704 @@ -912,6 +912,14 @@ static int search_default_file_with_ext(
705        return 1; /* Ignore wrong files */
706    }
707  
708 +  if (strstr(name, "/etc") == name)
709 +  {
710 +    fprintf(stderr,
711 +             "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
712 +             name,name);
713 +      goto err;
714 +  }
715 +
716    while (mysql_file_getline(buff, sizeof(buff) - 1, fp, is_login_file)) {
717      line++;
718      /* Ignore comment and empty lines */
719 @@ -1231,7 +1239,8 @@ void my_print_default_files(const char *
720              end[(strlen(end) - 1)] = ' ';
721            else
722              strxmov(end, conf_file, *ext, " ", NullS);
723 -          fputs(name, stdout);
724 +          if (strstr(name, "/etc") != name)
725 +            fputs(name, stdout);
726          }
727        }
728      }
729 @@ -1571,13 +1580,8 @@ static const char **init_default_directo
730  
731  #else
732  
733 -  errors += add_directory(alloc, "/etc/", dirs);
734 -  errors += add_directory(alloc, "/etc/mysql/", dirs);
735 -
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);
742  
743  #endif
744  
745 @@ -1641,7 +1645,7 @@ int check_file_permissions(const char *f
746  #if !defined(_WIN32)
747    MY_STAT stat_info;
748  
749 -  if (!my_stat(file_name, &stat_info, MYF(0))) return 1;
750 +  if (!my_stat(file_name, &stat_info, MYF(0))) return 0;
751    /*
752      Ignore .mylogin.cnf file if not exclusively readable/writable
753      by current user.
754
755
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
759 @@ -25,6 +25,8 @@
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 */
764 +#undef test
765  #include <stdio.h>
766  #include <stdlib.h>
767  #include <string.h>
768
769
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()
774  ENDIF()
775  
776  SET(CMAKE_INSTALL_RPATH)
777 -IF(INSTALL_LAYOUT STREQUAL "STANDALONE"
778 -    OR INSTALL_LAYOUT STREQUAL "SVR4")
779 +IF(FALSE)
780    # rpath for lib/mysqlrouter/ plugins that want to find lib/
781    IF(LINUX)
782      SET(RPATH_PLUGIN_TO_LIB "${RPATH_ORIGIN}/private")
783
784
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
788 @@ -37,6 +37,10 @@
789  #include <unistd.h>
790  #endif
791  
792 +#ifndef TABDLY
793 +#define TABDLY 0
794 +#endif
795 +
796  class HARNESS_EXPORT Tty {
797   public:
798    using fd_type = int;
799
800
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
804 @@ -32,6 +32,9 @@
805  #include <ifaddrs.h>
806  #include <net/if.h>
807  #endif
808 +#ifdef __DragonFly__
809 +#include <netinet/in.h>
810 +#endif
811  #else
812  #include <windows.h>
813  #include <winsock2.h>  // gethostname
814
815
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
820  
821    return {path_name};
822  #else
823 -#error unsupported OS
824 +  // don't use this
825 +  std::string path_name;
826 +  path_name.resize(1025);
827 +  return {path_name};
828  #endif
829  }
830  
831
832
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
836 @@ -29,6 +29,9 @@
837  #include <chrono>
838  #include <condition_variable>
839  #include <mutex>
840 +#ifdef __DragonFly__
841 +#include <sys/socket.h>
842 +#endif
843  
844  #include "context.h"
845  #include "mysql_router_thread.h"
846
847
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}")
853  ENDIF()
854  
855 -IF(FREEBSD)
856 -  SET (PERL_PATH "/usr/local/bin/perl")
857 -ELSE()
858 -  SET (PERL_PATH "/usr/bin/perl")
859 -ENDIF()
860 +  SET (PERL_PATH "@LOCALBASE@/bin/perl")
861  
862  IF(UNIX)
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")
866    ENDIF()
867  
868 -  IF(NOT FIND_PROC)
869 -    # BSD style
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")
874        SET( FIND_PROC
875          "ps -uaxww | grep -v mysqld_safe | grep -- $MYSQLD | grep $PID > /dev/null")
876 -    ENDIF()
877    ENDIF()
878  
879    IF(NOT FIND_PROC)
880 @@ -267,7 +258,7 @@ SET(pkglibdir ${prefix}/${INSTALL_LIBDIR
881  SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
882  SET(localstatedir ${MYSQL_DATADIR})
883  
884 -IF(SOLARIS)
885 +IF(TRUE)
886    SET(RPATH_OPTION " -R$pkglibdir")
887  ENDIF()
888  
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 " ) 
895          ELSE()
896            SET(${var} "${${var}}-l${lib} " )
897          ENDIF()
898 @@ -334,21 +327,10 @@ ELSE()
899    GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME)
900  ENDIF()
901  
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}")
916 -  ENDIF()
917 -ENDIF()
918  
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
927          )
928      ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in)
929        CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in
930
931
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()
936  IF(LINUX)
937    LIST(APPEND SQL_SHARED_SOURCES
938      resourcegroups/platform/thread_attrs_api_linux.cc)
939 -ELSEIF(APPLE)
940 +ELSEIF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
941    LIST(APPEND SQL_SHARED_SOURCES
942      resourcegroups/platform/thread_attrs_api_apple.cc)
943 -ELSEIF(FREEBSD)
944 +ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
945    LIST(APPEND SQL_SHARED_SOURCES
946      resourcegroups/platform/thread_attrs_api_freebsd.cc)
947  ELSEIF(SOLARIS)
948
949
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; }
955  
956  uint32_t num_vcpus_using_config() {
957 +#ifdef __APPLE__
958    int name[2] = {CTL_HW, HW_AVAILCPU};
959 +#else
960 +  int name[2] = {CTL_HW, HW_NCPU};
961 +#endif
962    int ncpu;
963  
964    size_t size = sizeof(ncpu);
965
966
967 [FILE:1992:patches/patch-sql_sys__vars.cc]
968 --- sql/sys_vars.cc.orig        2020-06-16 16:31:03 UTC
969 +++ sql/sys_vars.cc
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));
976  
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 "
981      "aborting the read",
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));
987  
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));
996  
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));
1004  
1005  static Sys_var_plugin Sys_default_storage_engine(
1006
1007
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>
1018 +#endif
1019  
1020  #include <stdint.h>
1021  
1022
1023
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.
1030    */
1031 +#ifndef MAP_NORESERVE
1032 +#define MAP_NORESERVE  0
1033 +#endif
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,
1037
1038
1039 [FILE:2182:files/my.cnf.sample.in]
1040 [client]
1041 port                            = 3306
1042 socket                          = /tmp/mysql.sock
1043
1044 [mysql]
1045 prompt                          = \u@\h [\d]>\_
1046 no_auto_rehash
1047
1048 [mysqld]
1049 user                            = mysql
1050 port                            = 3306
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%%
1058 log-bin                         = mysql-bin
1059 log-output                      = TABLE
1060 master-info-repository          = TABLE
1061 relay-log-info-repository       = TABLE
1062 relay-log-recovery              = 1
1063 slow-query-log                  = 1
1064 server-id                       = 1
1065 sync_binlog                     = 1
1066 sync_relay_log                  = 1
1067 binlog_cache_size               = 16M
1068 expire_logs_days                = 30
1069 default_password_lifetime       = 0
1070 enforce-gtid-consistency        = 1
1071 gtid-mode                       = ON
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
1096 skip-symbolic-links
1097
1098 [mysqldump]
1099 max_allowed_packet              = 256M
1100 quote_names
1101 quick
1102
1103
1104 [FILE:2478:files/mysql-server.in]
1105 #!/bin/sh
1106 #
1107 # PROVIDE: mysql
1108 # REQUIRE: LOGIN
1109 # KEYWORD: shutdown
1110
1111 #
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).
1130 #
1131
1132 . /etc/rc.subr
1133
1134 name="mysql"
1135 rcvar=mysql_enable
1136
1137 load_rc_config $name
1138
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"}
1147 fi
1148 if [ ! -z "${mysql_optfile}" ]; then
1149 mysql_extra="--defaults-extra-file=${mysql_optfile}"
1150 fi
1151
1152 mysql_user="mysql"
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}"
1163
1164 mysql_create_auth_tables()
1165 {
1166         eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
1167 }
1168
1169 mysql_prestart()
1170 {
1171         if [ ! -d "${mysql_dbdir}/mysql/." ]; then
1172                 mysql_create_auth_tables || return 1
1173         fi
1174         if checkyesno mysql_limits; then
1175                 eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
1176         else
1177                 return 0
1178         fi
1179 }
1180
1181 mysql_poststart()
1182 {
1183         local timeout=15
1184         while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
1185                 timeout=$(( timeout - 1 ))
1186                 sleep 1
1187         done
1188         return 0
1189 }
1190
1191 run_rc_command "$1"
1192
1193
1194 [FILE:576:files/pkg-message-server.in]
1195 *****************************************************************************
1196
1197 Remember to run mysql_upgrade the first time you start the MySQL server
1198 after an upgrade from an earlier version.
1199
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
1203
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.
1207
1208 *****************************************************************************
1209
1210
1211 [FILE:28:files/special.mk]
1212 ETCDIR= ${PREFIX}/etc/mysql
1213