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