sync with generation
[ravenports.git] / bucket_68 / mysql57
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               mysql57
4 VERSION=                5.7.18
5 KEYWORDS=               databases
6 VARIANTS=               standard
7 SDESC[standard]=        Multithreaded SQL database (server)
8 HOMEPAGE=               http://www.mysql.com/
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            MYSQL/MySQL-5.7
13 DISTFILE[1]=            mysql-boost-5.7.18.tar.gz:main
14 DF_INDEX=               1
15 SPKGS[standard]=        complete
16                         server
17                         client
18
19 OPTIONS_AVAILABLE=      ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA
20                         PERFORMANCE
21 OPTIONS_STANDARD=       ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA
22                         PERFORMANCE
23 OPTGROUP_UNLIMITED=     STORAGE
24 OPTDESCR[STORAGE]=      Storage engines statically compiled into server
25 OPTGROUP[STORAGE]=      ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA
26 OPT_ON[all]=            PERFORMANCE
27
28 BUILD_DEPENDS=          rpcgen:single:standard
29                         libedit:single:standard
30 BUILDRUN_DEPENDS=       libevent:single:standard
31                         lz4:complete:standard
32 EXRUN[client]=          libedit:single:standard
33                         zlib:complete:standard
34
35 USERS=                  mysql
36 GROUPS=                 mysql
37 USERGROUP_SPKG=         server
38
39 USES=                   bison cmake:outsource perl:run shebangfix ssl:build c++:server,client
40                         cclibs:server,client
41
42 DISTNAME=               mysql-5.7.18
43
44 LICENSE=                GPLv2:server
45 LICENSE_SCHEME=         solo
46 LICENSE_FILE=           GPLv2:{{WRKSRC}}/README
47 CMAKE_BUILD_TYPE=       Release
48 SHEBANG_FILES=          scripts/*.pl*
49                         scripts/*.sh
50
51 PLIST_SUB=              MY_DBDIR=/var/db/mysql
52                         MY_SECDIR=/var/db/mysql_secure
53                         MY_TMPDIR=/var/db/mysql_tmpdir
54 RC_SUBR=                mysql-server:server
55 SUB_FILES=              my.cnf.sample
56 SUB_LIST=               MY_DBDIR=/var/db/mysql
57                         MY_SECDIR=/var/db/mysql_secure
58                         MY_TMPDIR=/var/db/mysql_tmpdir
59
60 CFLAGS=                 -Wno-deprecated-declarations
61 CMAKE_ARGS=             -DINSTALL_PKGCONFIGDIR="{{LOCALBASE}}/lib/pkgconfig"
62                         -DINSTALL_DOCDIR="share/doc/mysql"
63                         -DINSTALL_DOCREADMEDIR="share/doc/mysql"
64                         -DINSTALL_INCLUDEDIR="include/mysql"
65                         -DINSTALL_INFODIR="share/info"
66                         -DINSTALL_LIBDIR="lib/mysql"
67                         -DINSTALL_MANDIR="share/man"
68                         -DINSTALL_MYSQLDATADIR="/var/db/mysql"
69                         -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring"
70                         -DINSTALL_MYSQLSHAREDIR="share/mysql"
71                         -DINSTALL_MYSQLTESTDIR="share/mysql/tests"
72                         -DINSTALL_PLUGINDIR="lib/mysql/plugin"
73                         -DINSTALL_SBINDIR="libexec"
74                         -DINSTALL_SCRIPTDIR="bin"
75                         -DINSTALL_SECURE_FILE_PRIVDIR="/var/db/mysql_secure"
76                         -DINSTALL_SHAREDIR="share"
77                         -DINSTALL_SUPPORTFILESDIR="share/mysql"
78                         -DMYSQL_KEYRINGDIR="etc/mysql/keyring"
79                         -DWITH_BOOST="{{WRKSRC}}/boost"
80                         -DWITH_EDITLINE=system
81                         -DWITH_LIBEVENT=system
82                         -DWITH_LZ4=system
83                         -DWITH_ZLIB=system
84                         -DWITH_SSL={{OPENSSLBASE}}
85                         -DWITH_EMBEDDED_SERVER="ON"
86                         -DINSTALL_MYSQLTESTDIR=0
87
88 [PERFSCHEMA].DESCRIPTION=               Provide "Performance Schema Storage" engine
89 [PERFSCHEMA].CMAKE_ARGS_ON=             -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
90
91 [EXAMPLE].DESCRIPTION=                  Provide "Example Storage" engine
92 [EXAMPLE].CMAKE_ARGS_ON=                -DWITH_EXAMPLE_STORAGE_ENGINE=1
93
94 [PARTITION].DESCRIPTION=                Provide "Partitioning support Storage" engine
95 [PARTITION].CMAKE_ARGS_ON=              -DWITH_PARTITION_STORAGE_ENGINE=1
96
97 [BLACKHOLE].DESCRIPTION=                Provide "Blackhole Storage" engine
98 [BLACKHOLE].CMAKE_ARGS_ON=              -DWITH_BLACKHOLE_STORAGE_ENGINE=1
99
100 [PERFORMANCE].DESCRIPTION=              Enable "Performance Schema" (High RAM usage)
101 [PERFORMANCE].SUB_LIST_OFF=             PERFSCHEMRC="--skip-performance-schema"
102 [PERFORMANCE].SUB_LIST_ON=              PERFSCHEMRC=""
103
104 [ARCHIVE].DESCRIPTION=                  Provide "Archive Storage" engine
105 [ARCHIVE].CMAKE_ARGS_ON=                -DWITH_ARCHIVE_STORAGE_ENGINE=1
106
107 [FEDERATED].DESCRIPTION=                Provide "Federated Storage" engine
108 [FEDERATED].CMAKE_ARGS_ON=              -DWITH_FEDERATED_STORAGE_ENGINE=1
109 [FEDERATED].SUB_LIST_OFF=               FEDER=""
110 [FEDERATED].SUB_LIST_ON=                FEDER="--federated"
111
112 [INNOBASE].DESCRIPTION=                 Provide "InnoDB Storage" engine
113 [INNOBASE].CMAKE_ARGS_ON=               -DWITH_INNOBASE_STORAGE_ENGINE=1
114
115 post-install:
116         ${MKDIR} ${STAGEDIR}${PREFIX}/etc/mysql/keyring \
117                 ${STAGEDIR}/var/db/mysql_secure \
118                 ${STAGEDIR}/var/db/mysql_tmpdir
119         ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample \
120                 ${STAGEDIR}${PREFIX}/etc/mysql/my.cnf.sample
121         ${RM} ${STAGEDIR}${MANPREFIX}/man/man1/zlib_decompress.1 \
122                 ${STAGEDIR}${MANPREFIX}/man/man1/lz4_decompress.1
123         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/lib*.so
124         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/*.so
125         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/mysqld
126         list=$$(cd ${STAGEDIR}${PREFIX}/bin && ${LS} * | ${AWK} \
127                 '{ if ($$1 != "mysql_config" && $$1 != "mysqld_mult" && \
128                 $$1 != "mysqld_safe" && $$1 != "mysqldumpslow" && \
129                 $$1 != "mysqld_multi") print}'); \
130         (cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} $$list)
131
132 post-extract:
133         @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h
134
135 [FILE:294:descriptions/desc.server]
136 MySQL is a very fast, multi-threaded, multi-user and robust SQL
137 (Structured Query Language) database server.
138
139 MySQL, the most popular Open Source SQL database management system, is
140 developed, distributed, and supported by Oracle Corporation.
141
142 This package contains the MySQL server components.
143
144
145 [FILE:150:descriptions/desc.client]
146 MySQL is a very fast, multi-threaded, multi-user and robust SQL
147 (Structured Query Language) database server.
148
149 This package contains the MySQL client.
150
151
152 [FILE:104:distinfo]
153 ae6f5e2cf7b936496cf60260cd7fd5a0862c21f48cd240448021c4ea067a0f0c     61612105 mysql-boost-5.7.18.tar.gz
154
155
156 [FILE:3573:manifests/plist.server]
157 @dir(mysql,mysql,0750) %%MY_SECDIR%%
158 @dir(mysql,mysql,0750) %%MY_TMPDIR%%
159 @dir(mysql,mysql,0750) etc/mysql/keyring
160 @sample(root,wheel,0644) etc/mysql/my.cnf.sample
161 bin/
162  innochecksum
163  lz4_decompress
164  my_print_defaults
165  myisam_ftdump
166  myisamchk
167  myisamlog
168  myisampack
169  mysql_install_db
170  mysql_plugin
171  mysql_secure_installation
172  mysql_tzinfo_to_sql
173  mysql_upgrade
174  mysqld_multi
175  mysqld_safe
176  mysqldumpslow
177  mysqltest
178  mysqlxtest
179  perror
180  replace
181  resolve_stack_dump
182  resolveip
183  zlib_decompress
184 lib/mysql/libmysqld.a
185 lib/mysql/plugin/
186  adt_null.so
187  auth.so
188  auth_test_plugin.so
189  connection_control.so
190  daemon_example.ini
191  group_replication.so
192  ha_example.so
193  keyring_file.so
194  keyring_udf.so
195  libdaemon_example.so
196  libtest_framework.so
197  libtest_services.so
198  libtest_services_threaded.so
199  libtest_session_detach.so
200  libtest_session_in_thd.so
201  libtest_session_info.so
202  libtest_sql_2_sessions.so
203  libtest_sql_all_col_types.so
204  libtest_sql_cmds_1.so
205  libtest_sql_commit.so
206  libtest_sql_complex.so
207  libtest_sql_errors.so
208  libtest_sql_lock.so
209  libtest_sql_processlist.so
210  libtest_sql_replication.so
211  libtest_sql_shutdown.so
212  libtest_sql_sqlmode.so
213  libtest_sql_stored_procedures_functions.so
214  libtest_sql_views_triggers.so
215  libtest_x_sessions_deinit.so
216  libtest_x_sessions_init.so
217  locking_service.so
218  mypluglib.so
219  mysql_no_login.so
220  mysqlx.so
221  qa_auth_client.so
222  qa_auth_interface.so
223  qa_auth_server.so
224  replication_observers_example_plugin.so
225  rewrite_example.so
226  rewriter.so
227  semisync_master.so
228  semisync_slave.so
229  test_security_context.so
230  test_udf_services.so
231  validate_password.so
232  version_token.so
233 libexec/mysqld
234 share/man/man1/
235  my_print_defaults.1.gz
236  innochecksum.1.gz
237  myisam_ftdump.1.gz
238  myisamchk.1.gz
239  myisamlog.1.gz
240  myisampack.1.gz
241  mysql.server.1.gz
242  mysql_install_db.1.gz
243  mysql_plugin.1.gz
244  mysql_secure_installation.1.gz
245  mysql_ssl_rsa_setup.1.gz
246  mysql-stress-test.pl.1.gz
247  mysql-test-run.pl.1.gz
248  mysql_tzinfo_to_sql.1.gz
249  mysql_upgrade.1.gz
250  mysqld_multi.1.gz
251  mysqld_safe.1.gz
252  mysqldumpslow.1.gz
253  mysqlman.1.gz
254  mysqltest.1.gz
255  mysqltest_embedded.1.gz
256  perror.1.gz
257  replace.1.gz
258  resolve_stack_dump.1.gz
259  resolveip.1.gz
260 share/man/man8/mysqld.8.gz
261 share/mysql/bulgarian/errmsg.sys
262 share/mysql/charsets/
263  Index.xml
264  README
265  armscii8.xml
266  ascii.xml
267  cp1250.xml
268  cp1251.xml
269  cp1256.xml
270  cp1257.xml
271  cp850.xml
272  cp852.xml
273  cp866.xml
274  dec8.xml
275  geostd8.xml
276  greek.xml
277  hebrew.xml
278  hp8.xml
279  keybcs2.xml
280  koi8r.xml
281  koi8u.xml
282  latin1.xml
283  latin2.xml
284  latin5.xml
285  latin7.xml
286  macce.xml
287  macroman.xml
288  swe7.xml
289 share/mysql/czech/errmsg.sys
290 share/mysql/danish/errmsg.sys
291 share/mysql/
292  dictionary.txt
293 share/mysql/dutch/errmsg.sys
294 share/mysql/english/errmsg.sys
295  errmsg-utf8.txt
296 share/mysql/estonian/errmsg.sys
297  fill_help_tables.sql
298 share/mysql/french/errmsg.sys
299 share/mysql/german/errmsg.sys
300 share/mysql/greek/errmsg.sys
301 share/mysql/hungarian/errmsg.sys
302  innodb_memcached_config.sql
303  install_rewriter.sql
304 share/mysql/italian/errmsg.sys
305 share/mysql/japanese/errmsg.sys
306 share/mysql/korean/errmsg.sys
307  magic
308  mysql-log-rotate
309  mysql.server
310  mysql_security_commands.sql
311  mysql_sys_schema.sql
312  mysql_system_tables.sql
313  mysql_system_tables_data.sql
314  mysql_test_data_timezone.sql
315  mysqld_multi.server
316 share/mysql/norwegian-ny/errmsg.sys
317 share/mysql/norwegian/errmsg.sys
318 share/mysql/polish/errmsg.sys
319 share/mysql/portuguese/errmsg.sys
320 share/mysql/romanian/errmsg.sys
321 share/mysql/russian/errmsg.sys
322 share/mysql/serbian/errmsg.sys
323 share/mysql/slovak/errmsg.sys
324 share/mysql/spanish/errmsg.sys
325 share/mysql/swedish/errmsg.sys
326 share/mysql/ukrainian/errmsg.sys
327  uninstall_rewriter.sql
328
329
330 [FILE:2559:manifests/plist.client]
331 bin/
332  mysql
333  mysql_config
334  mysql_config_editor
335  mysql_client_test
336  mysql_ssl_rsa_setup
337  mysqladmin
338  mysqlbinlog
339  mysqlcheck
340  mysqldump
341  mysqlimport
342  mysqlpump
343  mysqlshow
344  mysqlslap
345 include/mysql/
346  big_endian.h
347  binary_log_types.h
348  byte_order_generic.h
349  byte_order_generic_x86.h
350  decimal.h
351  errmsg.h
352  keycache.h
353  little_endian.h
354  m_ctype.h
355  m_string.h
356  my_alloc.h
357  my_byteorder.h
358  my_command.h
359  my_compiler.h
360  my_config.h
361  my_dbug.h
362  my_dir.h
363  my_getopt.h
364  my_global.h
365  my_list.h
366  my_sys.h
367  my_thread.h
368  my_thread_local.h
369  my_xml.h
370  mysql.h
371 include/mysql/mysql/
372  client_authentication.h
373  client_plugin.h
374  client_plugin.h.pp
375  com_data.h
376  get_password.h
377  group_replication_priv.h
378  innodb_priv.h
379  mysql_lex_string.h
380  plugin.h
381  plugin_audit.h
382  plugin_audit.h.pp
383  plugin_auth.h
384  plugin_auth.h.pp
385  plugin_auth_common.h
386  plugin_ftparser.h
387  plugin_ftparser.h.pp
388  plugin_group_replication.h
389  plugin_keyring.h
390  plugin_keyring.h.pp
391  plugin_trace.h
392  plugin_validate_password.h
393 include/mysql/mysql/psi/
394  mysql_file.h
395  mysql_idle.h
396  mysql_mdl.h
397  mysql_memory.h
398  mysql_ps.h
399  mysql_socket.h
400  mysql_sp.h
401  mysql_stage.h
402  mysql_statement.h
403  mysql_table.h
404  mysql_thread.h
405  mysql_transaction.h
406  psi.h
407  psi_base.h
408  psi_memory.h
409 include/mysql/mysql/
410  service_command.h
411  service_locking.h
412  service_my_plugin_log.h
413  service_my_snprintf.h
414  service_mysql_alloc.h
415  service_mysql_keyring.h
416  service_mysql_password_policy.h
417  service_mysql_string.h
418  service_parser.h
419  service_rpl_transaction_ctx.h
420  service_rpl_transaction_write_set.h
421  service_rules_table.h
422  service_security_context.h
423  service_srv_session.h
424  service_srv_session_info.h
425  service_ssl_wrapper.h
426  service_thd_alloc.h
427  service_thd_engine_lock.h
428  service_thd_wait.h
429  service_thread_scheduler.h
430  services.h
431  services.h.pp
432  thread_pool_priv.h
433  thread_type.h
434 include/mysql/
435  mysql_com.h
436  mysql_com_server.h
437  mysql_embed.h
438  mysql_time.h
439  mysql_version.h
440  mysqld_ername.h
441  mysqld_error.h
442  plugin.h
443  plugin_audit.h
444  plugin_ftparser.h
445  plugin_group_replication.h
446  plugin_keyring.h
447  plugin_validate_password.h
448  sql_common.h
449  sql_state.h
450  sslopt-case.h
451  sslopt-longopts.h
452  sslopt-vars.h
453  thr_cond.h
454  thr_mutex.h
455  thr_rwlock.h
456  typelib.h
457 lib/mysql/
458  libmysqlclient.a
459  libmysqlclient.so
460  libmysqlclient.so.20
461 lib/pkgconfig/mysqlclient.pc
462 share/aclocal/mysql.m4
463 share/man/man1/
464  comp_err.1.gz
465  mysql.1.gz
466  mysql_client_test.1.gz
467  mysql_client_test_embedded.1.gz
468  mysql_config.1.gz
469  mysql_config_editor.1.gz
470  mysqladmin.1.gz
471  mysqlbinlog.1.gz
472  mysqlcheck.1.gz
473  mysqldump.1.gz
474  mysqlimport.1.gz
475  mysqlpump.1.gz
476  mysqlshow.1.gz
477  mysqlslap.1.gz
478
479
480 [FILE:928:patches/patch-CMakeLists.txt]
481 --- CMakeLists.txt.orig 2016-11-28 13:32:52 UTC
482 +++ CMakeLists.txt
483 @@ -622,7 +622,6 @@ IF(NOT WITHOUT_SERVER)
484    OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF)
485    IF(WITH_EMBEDDED_SERVER) 
486     ADD_SUBDIRECTORY(libmysqld)
487 -   ADD_SUBDIRECTORY(libmysqld/examples)
488    ENDIF(WITH_EMBEDDED_SERVER)
489  ENDIF()
490  
491 @@ -680,7 +679,6 @@ ELSE()
492    SET(CPACK_GENERATOR "TGZ")
493  ENDIF() 
494  ADD_SUBDIRECTORY(packaging/WiX)
495 -ADD_SUBDIRECTORY(packaging/solaris)
496  
497  IF(UNIX)
498    INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL COMPONENT Info)
499 @@ -688,6 +686,7 @@ ENDIF()
500  #
501  # RPM installs documentation directly from the source tree
502  #
503 +IF(FALSE)
504  IF(NOT INSTALL_LAYOUT MATCHES "RPM")
505    INSTALL(FILES COPYING LICENSE.mysql 
506    DESTINATION ${INSTALL_DOCREADMEDIR} 
507 @@ -710,6 +709,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
508      PATTERN "sp-imp-spec.txt" EXCLUDE
509    )
510  ENDIF()
511 +ENDIF()
512  
513  INCLUDE(CPack)
514  
515
516
517 [FILE:566:patches/patch-cmake_plugin.cmake]
518 --- cmake/plugin.cmake.orig     2016-03-28 18:06:12 UTC
519 +++ cmake/plugin.cmake
520 @@ -237,9 +237,6 @@ MACRO(MYSQL_ADD_PLUGIN)
521      MYSQL_INSTALL_TARGETS(${target}
522        DESTINATION ${INSTALL_PLUGINDIR}
523        COMPONENT ${INSTALL_COMPONENT})
524 -    INSTALL_DEBUG_TARGET(${target}
525 -      DESTINATION ${INSTALL_PLUGINDIR}/debug
526 -      COMPONENT ${INSTALL_COMPONENT})
527      # Add installed files to list for RPMs
528      FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
529              "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
530
531
532 [FILE:435:patches/patch-cmake_ssl.cmake]
533 --- cmake/ssl.cmake.orig        2016-08-12 10:55:07 UTC
534 +++ cmake/ssl.cmake
535 @@ -179,6 +179,12 @@ MACRO (MYSQL_CHECK_SSL)
536         OPENSSL_MAJOR_VERSION STREQUAL "1"
537        )
538        SET(OPENSSL_FOUND TRUE)
539 +    ELSEIF(OPENSSL_INCLUDE_DIR AND
540 +       OPENSSL_LIBRARY   AND
541 +       CRYPTO_LIBRARY      AND
542 +       OPENSSL_MAJOR_VERSION STREQUAL "2"
543 +      )
544 +      SET(OPENSSL_FOUND TRUE)
545      ELSE()
546        SET(OPENSSL_FOUND FALSE)
547      ENDIF()
548
549
550 [FILE:491:patches/patch-include_my__compare.h]
551 --- include/my_compare.h.orig   2016-03-28 18:06:12 UTC
552 +++ include/my_compare.h
553 @@ -40,7 +40,7 @@ extern "C" {
554    But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
555  */
556  
557 -#define HA_MAX_KEY_LENGTH           1000        /* Max length in bytes */
558 +#define HA_MAX_KEY_LENGTH           4000        /* Max length in bytes */
559  #define HA_MAX_KEY_SEG              16          /* Max segments for key */
560  
561  #define HA_MAX_POSSIBLE_KEY_BUFF    (HA_MAX_KEY_LENGTH + 24+ 6+6)
562
563
564 [FILE:419:patches/patch-include_my__thread__os__id.h]
565 --- include/my_thread_os_id.h.orig      2016-03-28 18:06:12 UTC
566 +++ include/my_thread_os_id.h
567 @@ -75,8 +75,12 @@ static inline my_thread_os_id_t my_threa
568    return pthread_getthreadid_np();
569  #else
570  #ifdef HAVE_INTEGER_PTHREAD_SELF
571 +#  ifdef __DragonFly__
572 +  return syscall(SYS_lwp_gettid);
573 +#  else
574    /* Unknown platform, fallback. */
575    return pthread_self();
576 +#  endif
577  #else
578    /* Feature not available. */
579    return 0;
580
581
582 [FILE:549:patches/patch-include_myisam.h]
583 --- include/myisam.h.orig       2016-03-28 18:06:12 UTC
584 +++ include/myisam.h
585 @@ -45,7 +45,7 @@ extern "C" {
586    The following defines can be increased if necessary.
587    But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
588  */
589 -#define MI_MAX_KEY_LENGTH           1000            /* Max length in bytes */
590 +#define MI_MAX_KEY_LENGTH           4000            /* Max length in bytes */
591  #define MI_MAX_KEY_SEG              16              /* Max segments for key */
592  
593  #define MI_MAX_KEY_BUFF  (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8)
594
595
596 [FILE:428:patches/patch-libmysql_CMakeLists.txt]
597 --- libmysql/CMakeLists.txt.orig        2016-11-28 13:32:52 UTC
598 +++ libmysql/CMakeLists.txt
599 @@ -276,7 +276,7 @@ IF(NOT DISABLE_SHARED)
600      COMPONENT SharedLibraries)
601    IF(UNIX)
602      # libtool compatability
603 -    IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
604 +    IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly" OR APPLE)
605        SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
606      ELSE()
607        SET(OS_SHARED_LIB_VERSION
608
609
610 [FILE:334:patches/patch-libservices_CMakeLists.txt]
611 --- libservices/CMakeLists.txt.orig     2016-03-28 18:06:12 UTC
612 +++ libservices/CMakeLists.txt
613 @@ -35,4 +35,6 @@ SET(MYSQLSERVICES_SOURCES
614    mysql_keyring_service.c)
615  
616  ADD_CONVENIENCE_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
617 +IF(FALSE)
618  INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
619 +ENDIF()
620
621
622 [FILE:1910:patches/patch-mysys__ssl_my__default.cc]
623 --- mysys_ssl/my_default.cc.orig        2016-08-25 11:52:06 UTC
624 +++ mysys_ssl/my_default.cc
625 @@ -114,7 +114,7 @@ static my_bool defaults_already_read= FA
626  
627  /* Which directories are searched for options (and in which order) */
628  
629 -#define MAX_DEFAULT_DIRS 6
630 +#define MAX_DEFAULT_DIRS 7
631  #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1)  /* Terminate with NULL */
632  static const char **default_directories = NULL;
633  
634 @@ -914,6 +914,14 @@ static int search_default_file_with_ext(
635        return 1;                                 /* Ignore wrong files */
636    }
637  
638 +  if (strstr(name, "/etc") == name)
639 +  {
640 +    fprintf(stderr,
641 +             "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
642 +             name,name);
643 +      goto err;
644 +  }
645 +
646    while (mysql_file_getline(buff, sizeof(buff) - 1, fp, is_login_file))
647    {
648      line++;
649 @@ -1252,7 +1260,8 @@ void my_print_default_files(const char *
650              end[(strlen(end)-1)] = ' ';
651            else
652              strxmov(end, conf_file, *ext , " ",  NullS);
653 -          fputs(name, stdout);
654 +          if (strstr(name, "/etc") != name)
655 +            fputs(name, stdout);
656          }
657        }
658      }
659 @@ -1411,13 +1420,8 @@ static const char **init_default_directo
660  
661  #else
662  
663 -  errors += add_directory(alloc, "/etc/", dirs);
664 -  errors += add_directory(alloc, "/etc/mysql/", dirs);
665 -
666 -#if defined(DEFAULT_SYSCONFDIR)
667 -  if (DEFAULT_SYSCONFDIR[0])
668 -    errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
669 -#endif /* DEFAULT_SYSCONFDIR */
670 +  errors += add_directory(alloc, "/usr/local/etc/", dirs);
671 +  errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs);
672  
673  #endif
674  
675 @@ -1488,7 +1492,7 @@ int check_file_permissions(const char *f
676    MY_STAT stat_info;
677  
678    if (!my_stat(file_name,&stat_info,MYF(0)))
679 -    return 1;
680 +    return 0;
681    /*
682      Ignore .mylogin.cnf file if not exclusively readable/writable
683      by current user.
684
685
686 [FILE:430:patches/patch-plugin_password__validation_validate__password.cc]
687 --- plugin/password_validation/validate_password.cc.orig        2016-03-28 18:06:12 UTC
688 +++ plugin/password_validation/validate_password.cc
689 @@ -18,6 +18,8 @@
690  #include <mysql/plugin_validate_password.h>
691  #include <mysql/service_my_plugin_log.h>
692  #include <mysql/service_mysql_string.h>
693 +/* solve clash between libc++ bitset::test() and test macro from my_global.h */
694 +#undef test
695  #include <set>
696  #include <iostream>
697  #include <fstream>
698
699
700 [FILE:545:patches/patch-rapid_plugin_x_CMakeLists.txt]
701 --- rapid/plugin/x/CMakeLists.txt.orig  2017-03-18 07:45:14 UTC
702 +++ rapid/plugin/x/CMakeLists.txt
703 @@ -92,14 +92,14 @@ ELSE()
704      ${CMAKE_SOURCE_DIR}/include #temporary
705      ${CMAKE_CURRENT_SOURCE_DIR}/include/mysql
706      ${CMAKE_CURRENT_BINARY_DIR}/generated
707 -    ${SSL_INCLUDE_DIRS}
708 -    ${ZLIB_INCLUDE_DIR}
709 +    ${BOOST_INCLUDE_DIR}
710    )
711  
712    INCLUDE_DIRECTORIES(SYSTEM
713 -    ${BOOST_INCLUDE_DIR}
714      ${PROTOBUF_INCLUDE_DIRS}
715      ${LIBEVENT_INCLUDE_DIR}
716 +    ${SSL_INCLUDE_DIRS}
717 +    ${ZLIB_INCLUDE_DIR}
718    )
719  
720    IF(XPLUGIN_NO_LITE_PROTOBUF)
721
722
723 [FILE:678:patches/patch-rapid_plugin_x_mysqlx__configure.cmake]
724 --- rapid/plugin/x/mysqlx_configure.cmake.orig  2016-09-14 15:25:26 UTC
725 +++ rapid/plugin/x/mysqlx_configure.cmake
726 @@ -29,6 +29,7 @@ CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src
727  CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src/mysqlx_version.h.in
728                 ${CMAKE_CURRENT_BINARY_DIR}/generated/mysqlx_version.h )
729  
730 +IF(FALSE)
731  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/mysqlx_error.h
732          DESTINATION ${INSTALL_INCLUDEDIR}
733          COMPONENT Developement)
734 @@ -36,3 +37,4 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR
735  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/mysqlx_version.h
736          DESTINATION ${INSTALL_INCLUDEDIR}
737          COMPONENT Developement)
738 +ENDIF()
739
740
741 [FILE:631:patches/patch-rapid_unittest_gunit_xplugin_CMakeLists.txt]
742 --- rapid/unittest/gunit/xplugin/CMakeLists.txt.orig    2016-03-28 18:06:12 UTC
743 +++ rapid/unittest/gunit/xplugin/CMakeLists.txt
744 @@ -65,7 +65,6 @@ ENDIF()
745  ADD_DEFINITIONS(${GMOCK_CFLAGS} -DBOOST_ALL_NO_LIB -DBOOST_NO_AUTO_PTR -DUSE_MYSQLX_FULL_PROTO)
746  
747  INCLUDE_DIRECTORIES(SYSTEM
748 -    ${BOOST_INCLUDE_DIR}
749      ${PROTOBUF_INCLUDE_DIRS}
750      ${SSL_INCLUDE_DIRS}
751      ${LIBEVENT_INCLUDE_DIR}
752 @@ -75,6 +74,7 @@ INCLUDE_DIRECTORIES(SYSTEM
753  )
754  
755  INCLUDE_DIRECTORIES(
756 +  ${BOOST_INCLUDE_DIR}
757    ${CMAKE_SOURCE_DIR}/testing/include
758    ${PROJECT_SOURCE_DIR}/rapid/plugin/x/ngs/include
759    ${PROJECT_SOURCE_DIR}/rapid/plugin/x/ngs/include/ngs
760
761
762 [FILE:1179:patches/patch-scripts_CMakeLists.txt]
763 --- scripts/CMakeLists.txt.orig 2016-11-28 13:32:52 UTC
764 +++ scripts/CMakeLists.txt
765 @@ -313,7 +313,7 @@ SET(pkglibdir ${prefix}/${INSTALL_LIBDIR
766  SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
767  SET(localstatedir ${MYSQL_DATADIR})
768  
769 -IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
770 +IF(TRUE)
771    SET(RPATH_OPTION " -R$pkglibdir")
772  ENDIF()
773  
774 @@ -353,6 +353,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
775            GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
776            STRING(REGEX REPLACE "^lib" "" lib "${lib}")
777            SET(${var} "${${var}}-l${lib} " ) 
778 +        ELSEIF(lib STREQUAL "-pthread")
779 +          SET(${var} "${${var}}-pthread " ) 
780          ELSE()
781            SET(${var} "${${var}}-l${lib} " ) 
782          ENDIF()
783 @@ -477,7 +479,7 @@ ELSE()
784    FOREACH(file ${BIN_SCRIPTS})
785      IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
786        CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
787 -        ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY)
788 +        ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY)
789      ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file})
790        CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}
791           ${CMAKE_CURRENT_BINARY_DIR}/${file} COPYONLY)
792
793
794 [FILE:268:patches/patch-sql_CMakeLists.txt]
795 --- sql/CMakeLists.txt.orig     2016-08-25 11:52:06 UTC
796 +++ sql/CMakeLists.txt
797 @@ -24,6 +24,8 @@ INCLUDE_DIRECTORIES(
798    ${ZLIB_INCLUDE_DIR}
799    ${SSL_INCLUDE_DIRS}
800    ${CMAKE_BINARY_DIR}/sql
801 +  ${CMAKE_BINARY_DIR}/include
802 +  ${CMAKE_BINARY_DIR}
803    ${LZ4_INCLUDE_DIR}
804  )
805  
806
807
808 [FILE:1264:patches/patch-sql_conn__handler_socket__connection.cc]
809 --- sql/conn_handler/socket_connection.cc.orig  2017-03-18 07:45:14 UTC
810 +++ sql/conn_handler/socket_connection.cc
811 @@ -942,22 +942,25 @@ Channel_info* Mysqld_socket_listener::li
812      signal(SIGCHLD, SIG_DFL);
813      request_init(&req, RQ_DAEMON, m_libwrap_name, RQ_FILE,
814                   mysql_socket_getfd(connect_sock), NULL);
815 -    fromhost(&req);
816 +    void (*my_fromhost) (void *) = (void (*)(void *)) fromhost;
817 +    my_fromhost(&req);
818  
819 -    if (!hosts_access(&req))
820 +    int (*my_hosts_access) (void *) = (int (*) (void *)) hosts_access;
821 +    if (!my_hosts_access(&req))
822      {
823        /*
824          This may be stupid but refuse() includes an exit(0)
825          which we surely don't want...
826          clean_exit() - same stupid thing ...
827        */
828 +      char *(*my_eval_client) (void *) = (char *(*) (void *)) eval_client;
829        syslog(LOG_AUTH | m_deny_severity,
830 -             "refused connect from %s", eval_client(&req));
831 +             "refused connect from %s", my_eval_client(&req));
832  
833  #ifdef HAVE_LIBWRAP_PROTOTYPES
834        // Some distros have patched tcpd.h to have proper prototypes
835        if (req.sink)
836 -        (req.sink)(req.fd);
837 +        ((void (*)(int)) (req.sink))(req.fd);
838  #else
839        // Some distros have not patched tcpd.h
840        if (req.sink)
841
842
843 [FILE:2575:patches/patch-sql_sql__view.cc]
844 --- sql/sql_view.cc.orig        2016-03-28 18:06:12 UTC
845 +++ sql/sql_view.cc
846 @@ -773,46 +773,46 @@ static const int required_view_parameter
847  */
848  static File_option view_parameters[]=
849  {{{ C_STRING_WITH_LEN("query")},
850 -  my_offsetof(TABLE_LIST, select_stmt),
851 +  static_cast<int>(my_offsetof(TABLE_LIST, select_stmt)),
852    FILE_OPTIONS_ESTRING},
853   {{ C_STRING_WITH_LEN("md5")},
854 -  my_offsetof(TABLE_LIST, md5),
855 +  static_cast<int>(my_offsetof(TABLE_LIST, md5)),
856    FILE_OPTIONS_STRING},
857   {{ C_STRING_WITH_LEN("updatable")},
858 -  my_offsetof(TABLE_LIST, updatable_view),
859 +  static_cast<int>(my_offsetof(TABLE_LIST, updatable_view)),
860    FILE_OPTIONS_ULONGLONG},
861   {{ C_STRING_WITH_LEN("algorithm")},
862 -  my_offsetof(TABLE_LIST, algorithm),
863 +  static_cast<int>(my_offsetof(TABLE_LIST, algorithm)),
864    FILE_OPTIONS_ULONGLONG},
865   {{ C_STRING_WITH_LEN("definer_user")},
866 -  my_offsetof(TABLE_LIST, definer.user),
867 +  static_cast<int>(my_offsetof(TABLE_LIST, definer.user)),
868    FILE_OPTIONS_STRING},
869   {{ C_STRING_WITH_LEN("definer_host")},
870 -  my_offsetof(TABLE_LIST, definer.host),
871 +  static_cast<int>(my_offsetof(TABLE_LIST, definer.host)),
872    FILE_OPTIONS_STRING},
873   {{ C_STRING_WITH_LEN("suid")},
874 -  my_offsetof(TABLE_LIST, view_suid),
875 +  static_cast<int>(my_offsetof(TABLE_LIST, view_suid)),
876    FILE_OPTIONS_ULONGLONG},
877   {{ C_STRING_WITH_LEN("with_check_option")},
878 -  my_offsetof(TABLE_LIST, with_check),
879 +  static_cast<int>(my_offsetof(TABLE_LIST, with_check)),
880    FILE_OPTIONS_ULONGLONG},
881   {{ C_STRING_WITH_LEN("timestamp")},
882 -  my_offsetof(TABLE_LIST, timestamp),
883 +  static_cast<int>(my_offsetof(TABLE_LIST, timestamp)),
884    FILE_OPTIONS_TIMESTAMP},
885   {{ C_STRING_WITH_LEN("create-version")},
886 -  my_offsetof(TABLE_LIST, file_version),
887 +  static_cast<int>(my_offsetof(TABLE_LIST, file_version)),
888    FILE_OPTIONS_ULONGLONG},
889   {{ C_STRING_WITH_LEN("source")},
890 -  my_offsetof(TABLE_LIST, source),
891 +  static_cast<int>(my_offsetof(TABLE_LIST, source)),
892    FILE_OPTIONS_ESTRING},
893   {{(char*) STRING_WITH_LEN("client_cs_name")},
894 -  my_offsetof(TABLE_LIST, view_client_cs_name),
895 +  static_cast<int>(my_offsetof(TABLE_LIST, view_client_cs_name)),
896    FILE_OPTIONS_STRING},
897   {{(char*) STRING_WITH_LEN("connection_cl_name")},
898 -  my_offsetof(TABLE_LIST, view_connection_cl_name),
899 +  static_cast<int>(my_offsetof(TABLE_LIST, view_connection_cl_name)),
900    FILE_OPTIONS_STRING},
901   {{(char*) STRING_WITH_LEN("view_body_utf8")},
902 -  my_offsetof(TABLE_LIST, view_body_utf8),
903 +  static_cast<int>(my_offsetof(TABLE_LIST, view_body_utf8)),
904    FILE_OPTIONS_ESTRING},
905   {{NullS, 0},                  0,
906    FILE_OPTIONS_STRING}
907
908
909 [FILE:1921:patches/patch-sql_sys__vars.cc]
910 --- sql/sys_vars.cc.orig        2016-03-28 18:06:12 UTC
911 +++ sql/sys_vars.cc
912 @@ -1734,7 +1734,7 @@ static Sys_var_ulong Sys_interactive_tim
913         "connection before closing it",
914         SESSION_VAR(net_interactive_timeout),
915         CMD_LINE(REQUIRED_ARG),
916 -       VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
917 +       VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
918  
919  static Sys_var_ulong Sys_join_buffer_size(
920         "join_buffer_size",
921 @@ -2552,7 +2552,7 @@ static Sys_var_ulong Sys_net_read_timeou
922         "Number of seconds to wait for more data from a connection before "
923         "aborting the read",
924         SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
925 -       VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
926 +       VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
927         NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
928         ON_UPDATE(fix_net_read_timeout));
929  
930 @@ -2568,7 +2568,7 @@ static Sys_var_ulong Sys_net_write_timeo
931         "Number of seconds to wait for a block to be written to a connection "
932         "before aborting the write",
933         SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
934 -       VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
935 +       VALID_RANGE(1, INT_MAX32/1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
936         NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
937         ON_UPDATE(fix_net_write_timeout));
938  
939 @@ -4083,7 +4083,7 @@ static Sys_var_ulong Sys_net_wait_timeou
940         "The number of seconds the server waits for activity on a "
941         "connection before closing it",
942         SESSION_VAR(net_wait_timeout), CMD_LINE(REQUIRED_ARG),
943 -       VALID_RANGE(1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT)),
944 +       VALID_RANGE(1, INT_MAX32/1000),
945         DEFAULT(NET_WAIT_TIMEOUT), BLOCK_SIZE(1));
946  
947  static Sys_var_plugin Sys_default_storage_engine(
948
949
950 [FILE:440:patches/patch-storage_innobase_include_srv0mon.h]
951 --- storage/innobase/include/srv0mon.h.orig     2016-03-28 18:06:12 UTC
952 +++ storage/innobase/include/srv0mon.h
953 @@ -34,6 +34,10 @@ Created 12/15/2009   Jimmy Yang
954  /* Required for FreeBSD so that INT64_MAX is defined. */
955  #define __STDC_LIMIT_MACROS
956  #endif /* __STDC_LIMIT_MACROS */
957 +#ifdef __DragonFly__
958 +/* The hack above doen't work for dragonfly, stdint.h already imported */
959 +#include <machine/int_limits.h>
960 +#endif
961  
962  #include <stdint.h>
963  
964
965
966 [FILE:985:patches/patch-storage_myisam_mi__dynrec.c]
967 --- storage/myisam/mi_dynrec.c.orig     2016-03-28 18:06:12 UTC
968 +++ storage/myisam/mi_dynrec.c
969 @@ -65,18 +65,13 @@ my_bool mi_dynmap_file(MI_INFO *info, my
970      DBUG_RETURN(1);
971    }
972    /*
973 -    I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
974 -    MAP_NORESERVE
975 -      Do not reserve swap space for this mapping. When swap space is
976 -      reserved, one has the guarantee that it is possible to modify the
977 -      mapping. When swap space is not reserved one might get SIGSEGV
978 -      upon a write if no physical memory is available.
979 +    MAP_NORESERVE is unimplemented in FreeBSD
980    */
981    info->s->file_map= (uchar*)
982                    my_mmap(0, (size_t) size,
983                            info->s->mode==O_RDONLY ? PROT_READ :
984                            PROT_READ | PROT_WRITE,
985 -                          MAP_SHARED | MAP_NORESERVE,
986 +                          MAP_SHARED,
987                            info->dfile, 0L);
988    if (info->s->file_map == (uchar*) MAP_FAILED)
989    {
990
991
992 [FILE:2284:files/my.cnf.sample.in]
993 # $FreeBSD: head/databases/mysql57-server/files/my.cnf.sample.in 414707 2016-05-06 14:39:59Z riggs $
994
995 [client]
996 port                            = 3306
997 socket                          = /tmp/mysql.sock
998
999 [mysql]
1000 prompt                          = \u@\h [\d]>\_
1001 no_auto_rehash
1002
1003 [mysqld]
1004 user                            = mysql
1005 port                            = 3306
1006 socket                          = /tmp/mysql.sock
1007 bind-address                    = 127.0.0.1
1008 basedir                         = %%PREFIX%%
1009 datadir                         = %%MY_DBDIR%%
1010 tmpdir                          = %%MY_TMPDIR%%
1011 slave-load-tmpdir               = %%MY_TMPDIR%%
1012 secure-file-priv                = %%MY_SECDIR%%
1013 log-bin                         = mysql-bin
1014 log-output                      = TABLE
1015 master-info-repository          = TABLE
1016 relay-log-info-repository       = TABLE
1017 relay-log-recovery              = 1
1018 slow-query-log                  = 1
1019 server-id                       = 1
1020 sync_binlog                     = 1
1021 sync_relay_log                  = 1
1022 binlog_cache_size               = 16M
1023 expire_logs_days                = 30
1024 default_password_lifetime       = 0
1025 enforce-gtid-consistency        = 1
1026 gtid-mode                       = ON
1027 safe-user-create                = 1
1028 lower_case_table_names          = 1
1029 explicit-defaults-for-timestamp = 1
1030 myisam-recover-options          = BACKUP,FORCE
1031 open_files_limit                = 32768
1032 table_open_cache                = 16384
1033 table_definition_cache          = 8192
1034 net_retry_count                 = 16384
1035 key_buffer_size                 = 256M
1036 max_allowed_packet              = 64M
1037 query_cache_type                = 0
1038 query_cache_size                = 0
1039 long_query_time                 = 0.5
1040 innodb_buffer_pool_size         = 1G
1041 innodb_data_home_dir            = %%MY_DBDIR%%
1042 innodb_log_group_home_dir       = %%MY_DBDIR%%
1043 innodb_data_file_path           = ibdata1:128M:autoextend
1044 innodb_temp_data_file_path      = ibtmp1:128M:autoextend
1045 innodb_flush_method             = O_DIRECT
1046 innodb_log_file_size            = 256M
1047 innodb_log_buffer_size          = 16M
1048 innodb_write_io_threads         = 8
1049 innodb_read_io_threads          = 8
1050 innodb_autoinc_lock_mode        = 2
1051 skip-symbolic-links
1052
1053 [mysqldump]
1054 max_allowed_packet              = 256M
1055 quote_names
1056 quick
1057
1058
1059 [FILE:2582:files/mysql-server.in]
1060 #!/bin/sh
1061 #
1062 # $FreeBSD: head/databases/mysql57-server/files/mysql-server.in 434623 2017-02-22 17:25:22Z mmokhi $
1063 #
1064
1065 # PROVIDE: mysql
1066 # REQUIRE: LOGIN
1067 # KEYWORD: shutdown
1068
1069 #
1070 # Add the following line to /etc/rc.conf to enable mysql:
1071 # mysql_enable (bool):  Set to "NO" by default.
1072 #                       Set it to "YES" to enable MySQL.
1073 # mysql_limits (bool):  Set to "NO" by default.
1074 #                       Set it to yes to run `limits -e -U mysql`
1075 #                       just before mysql starts.
1076 # mysql_dbdir (str):    Default to "%%MY_DBDIR%%"
1077 #                       Base database directory.
1078 # mysql_confdir (str):  Default to "%%ETCDIR%%"
1079 #                       Base configuration directory.
1080 # mysql_optfile (str):  Server-specific option file.
1081 #                       Set it in the rc.conf or default behaviour of
1082 #                       `mysqld_safe` itself, will be picking
1083 #                       ${mysql_confdir}/my.cnf if it exists.
1084 # mysql_pidfile (str):  Custum PID file path and name.
1085 #                       Default to "${mysql_dbdir}/${hostname}.pid".
1086 # mysql_args (str):     Custom additional arguments to be passed
1087 #                       to mysqld_safe (default empty).
1088 #
1089
1090 . /etc/rc.subr
1091
1092 name="mysql"
1093 rcvar=mysql_enable
1094
1095 load_rc_config $name
1096
1097 : ${mysql_enable="NO"}
1098 : ${mysql_limits="NO"}
1099 : ${mysql_dbdir="%%MY_DBDIR%%"}
1100 : ${mysql_confdir="%%ETCDIR%%"}
1101 if [ -f "${mysql_confdir}/my.cnf" ]; then
1102 : ${mysql_optfile="${mysql_confdir}/my.cnf"}
1103 elif [ -f "${mysql_dbdir}/my.cnf" ]; then
1104 : ${mysql_optfile="${mysql_dbdir}/my.cnf"}
1105 fi
1106 if [ ! -z "${mysql_optfile}" ]; then
1107 mysql_extra="--defaults-extra-file=${mysql_optfile}"
1108 fi
1109
1110 mysql_user="mysql"
1111 mysql_limits_args="-e -U ${mysql_user}"
1112 : ${hostname:=`/bin/hostname`}
1113 pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
1114 command="/usr/sbin/daemon"
1115 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%%"
1116 procname="%%PREFIX%%/libexec/mysqld"
1117 start_precmd="${name}_prestart"
1118 start_postcmd="${name}_poststart"
1119 mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
1120 mysql_install_db_args="${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --mysqld-file=${procname} --user=${mysql_user}"
1121
1122 mysql_create_auth_tables()
1123 {
1124         eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
1125 }
1126
1127 mysql_prestart()
1128 {
1129         if [ ! -d "${mysql_dbdir}/mysql/." ]; then
1130                 mysql_create_auth_tables || return 1
1131         fi
1132         if checkyesno mysql_limits; then
1133                 eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
1134         else
1135                 return 0
1136         fi
1137 }
1138
1139 mysql_poststart()
1140 {
1141         local timeout=15
1142         while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
1143                 timeout=$(( timeout - 1 ))
1144                 sleep 1
1145         done
1146         return 0
1147 }
1148
1149 run_rc_command "$1"
1150
1151
1152 [FILE:576:files/pkg-message-server.in]
1153 *****************************************************************************
1154
1155 Remember to run mysql_upgrade the first time you start the MySQL server
1156 after an upgrade from an earlier version.
1157
1158 Initial password for first time use of MySQL is saved in $HOME/.mysql_secret
1159 ie. when you want to use "mysql -u root -p" first you should see password
1160 in /root/.mysql_secret
1161
1162 MySQL57 has a default %%ETCDIR%%/my.cnf,
1163 remember to replace it wit your own
1164 or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
1165
1166 *****************************************************************************
1167