Index: databases/mysql56-client/Makefile =================================================================== --- databases/mysql56-client/Makefile (revision 430902) +++ databases/mysql56-client/Makefile (working copy) @@ -2,10 +2,16 @@ # $FreeBSD$ PORTNAME= mysql +PORTREVISION?= 0 PKGNAMESUFFIX= 56-client COMMENT= Multithreaded SQL database (client) +LICENSE+= LGPL21 + +BROKEN_powerpc64= Does not build +BROKEN_sparc64= Does not build: reports unsupported compiler + MASTERDIR= ${.CURDIR}/../mysql56-server PKGMESSAGE= ${.CURDIR}/pkg-message @@ -13,12 +19,13 @@ PLIST= ${.CURDIR}/pkg-plist CONFLICTS_INSTALL= mysql5[0-57-9]-client-* \ - mariadb*-client-* \ - percona*-client-* + mysql[0-46-9][0-9]-client-* \ + mariadb[0-9][0-9]-client-* \ + percona[0-9][0-9]-client-* CMAKE_ARGS+= -DWITHOUT_SERVER=1 -USE_LDCONFIG= ${PREFIX}/lib/mysql +USE_LDCONFIG+= ${PREFIX}/lib/mysql MMAN1= comp_err.1 msql2mysql.1 mysql.1 mysql_config.1 mysql_config_editor.1 mysql_find_rows.1 \ mysql_waitpid.1 mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 \ Index: databases/mysql56-client/files/patch-CMakeLists.txt =================================================================== --- databases/mysql56-client/files/patch-CMakeLists.txt (revision 430902) +++ databases/mysql56-client/files/patch-CMakeLists.txt (working copy) @@ -1,6 +1,6 @@ ---- CMakeLists.txt.orig 2016-03-03 16:35:33.000000000 +0100 -+++ CMakeLists.txt 2016-04-19 17:30:13.343558770 +0200 -@@ -475,8 +475,8 @@ ENDIF() +--- CMakeLists.txt.orig 2016-11-28 13:36:22 UTC ++++ CMakeLists.txt +@@ -481,8 +481,8 @@ ENDIF() ADD_SUBDIRECTORY(extra) ADD_SUBDIRECTORY(client) @@ -10,7 +10,7 @@ IF(UNIX) ADD_SUBDIRECTORY(man) -@@ -546,18 +546,17 @@ ELSE() +@@ -552,18 +552,17 @@ ELSE() SET(CPACK_GENERATOR "TGZ") ENDIF() ADD_SUBDIRECTORY(packaging/WiX) @@ -30,7 +30,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") INSTALL(FILES COPYING LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} -@@ -579,6 +578,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") +@@ -585,6 +584,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") PATTERN "sp-imp-spec.txt" EXCLUDE ) ENDIF() Index: databases/mysql56-client/files/patch-extra_CMakeLists.txt =================================================================== --- databases/mysql56-client/files/patch-extra_CMakeLists.txt (revision 430902) +++ databases/mysql56-client/files/patch-extra_CMakeLists.txt (working copy) @@ -1,6 +1,14 @@ ---- extra/CMakeLists.txt.orig 2016-03-03 16:35:33.000000000 +0100 -+++ extra/CMakeLists.txt 2016-04-19 17:37:34.634528313 +0200 -@@ -60,6 +60,7 @@ IF (WIN32 AND WITH_SSL_PATH AND HAVE_CRY +--- extra/CMakeLists.txt.orig 2016-11-28 13:36:22 UTC ++++ extra/CMakeLists.txt +@@ -35,6 +35,7 @@ ENDIF() + + ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/include/mysqld_error.h + ${PROJECT_BINARY_DIR}/sql/share/english/errmsg.sys ++ COMMAND mkdir -p ${PROJECT_BINARY_DIR}/sql/share/ + COMMAND comp_err + --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets + --out-dir=${PROJECT_BINARY_DIR}/sql/share/ +@@ -60,6 +61,7 @@ IF (WIN32 AND WITH_SSL_PATH AND HAVE_CRY ENDIF() @@ -8,7 +16,7 @@ MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c) TARGET_LINK_LIBRARIES(my_print_defaults mysys mysys_ssl) SET_TARGET_PROPERTIES(my_print_defaults PROPERTIES LINKER_LANGUAGE CXX) -@@ -96,10 +97,13 @@ IF(WITH_INNOBASE_STORAGE_ENGINE) +@@ -96,10 +98,13 @@ IF(WITH_INNOBASE_STORAGE_ENGINE) MYSQL_ADD_EXECUTABLE(innochecksum innochecksum.cc ${INNOBASE_SOURCES}) TARGET_LINK_LIBRARIES(innochecksum mysys mysys_ssl) ENDIF() Index: databases/mysql56-client/files/patch-man_CMakeLists.txt =================================================================== --- databases/mysql56-client/files/patch-man_CMakeLists.txt (revision 430902) +++ databases/mysql56-client/files/patch-man_CMakeLists.txt (working copy) @@ -1,13 +1,15 @@ ---- man/CMakeLists.txt.orig 2011-10-22 14:08:32.000000000 +0200 -+++ man/CMakeLists.txt 2011-10-22 14:22:42.000000000 +0200 -@@ -15,10 +15,6 @@ +--- man/CMakeLists.txt.orig 2016-11-28 13:36:22 UTC ++++ man/CMakeLists.txt +@@ -14,11 +14,7 @@ + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Copy man pages - FILE(GLOB MAN1_FILES *.1) +-FILE(GLOB MAN1_FILES *.1) -FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1) -FILE(GLOB MAN1_NDB ndb*.1) -FILE(GLOB MAN8_FILES *.8) -FILE(GLOB MAN8_NDB ndb*.8) ++FILE(GLOB MAN1_FILES comp_err.1 msql2mysql.1 mysql.1 mysql_config.1 mysql_config_editor.1 mysql_find_rows.1 mysql_waitpid.1 mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlshow.1 mysqlslap.1) IF(MAN1_FILES) IF(MAN1_EXCLUDE) LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE}) Index: databases/mysql56-client/files/patch-mysys_ssl_my_default.cc =================================================================== --- databases/mysql56-client/files/patch-mysys_ssl_my_default.cc (revision 430902) +++ databases/mysql56-client/files/patch-mysys_ssl_my_default.cc (working copy) @@ -1,6 +1,6 @@ ---- mysys_ssl/my_default.cc.orig 2013-01-22 17:54:49.000000000 +0100 -+++ mysys_ssl/my_default.cc 2013-02-13 11:08:15.000000000 +0100 -@@ -119,7 +119,7 @@ +--- mysys_ssl/my_default.cc.orig 2016-11-28 13:36:22 UTC ++++ mysys_ssl/my_default.cc +@@ -110,7 +110,7 @@ static my_bool defaults_already_read= FA /* Which directories are searched for options (and in which order) */ @@ -9,18 +9,48 @@ #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */ static const char **default_directories = NULL; -@@ -1395,7 +1395,10 @@ +@@ -903,6 +903,14 @@ static int search_default_file_with_ext( + return 1; /* Ignore wrong files */ + } - #if defined(DEFAULT_SYSCONFDIR) - if (DEFAULT_SYSCONFDIR[0]) ++ if (strstr(name, "/etc") == name) + { - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); -+ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs); ++ fprintf(stderr, ++ "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n", ++ name,name); ++ goto err; + } - #endif /* DEFAULT_SYSCONFDIR */ ++ + while (mysql_file_getline(buff, sizeof(buff) - 1, fp, is_login_file)) + { + line++; +@@ -1241,7 +1249,8 @@ void my_print_default_files(const char * + end[(strlen(end)-1)] = ' '; + else + strxmov(end, conf_file, *ext , " ", NullS); +- fputs(name, stdout); ++ if (strstr(name, "/etc") != name) ++ fputs(name, stdout); + } + } + } +@@ -1400,13 +1409,8 @@ static const char **init_default_directo + #else + +- errors += add_directory(alloc, "/etc/", dirs); +- errors += add_directory(alloc, "/etc/mysql/", dirs); +- +-#if defined(DEFAULT_SYSCONFDIR) +- if (DEFAULT_SYSCONFDIR[0]) +- errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); +-#endif /* DEFAULT_SYSCONFDIR */ ++ errors += add_directory(alloc, "/usr/local/etc/", dirs); ++ errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs); + #endif -@@ -1466,7 +1469,7 @@ + +@@ -1477,7 +1481,7 @@ int check_file_permissions(const char *f MY_STAT stat_info; if (!my_stat(file_name,&stat_info,MYF(0))) Index: databases/mysql56-client/files/patch-scripts_CMakeLists.txt =================================================================== --- databases/mysql56-client/files/patch-scripts_CMakeLists.txt (revision 430902) +++ databases/mysql56-client/files/patch-scripts_CMakeLists.txt (working copy) @@ -1,6 +1,6 @@ ---- scripts/CMakeLists.txt.orig 2013-01-22 17:54:49.000000000 +0100 -+++ scripts/CMakeLists.txt 2013-02-13 14:14:11.000000000 +0100 -@@ -71,6 +71,7 @@ +--- scripts/CMakeLists.txt.orig 2016-11-28 13:36:22 UTC ++++ scripts/CMakeLists.txt +@@ -71,6 +71,7 @@ IF(UNIX) ) ENDIF() @@ -8,7 +8,7 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mysql_system_tables.sql ${CMAKE_CURRENT_SOURCE_DIR}/mysql_system_tables_data.sql -@@ -80,6 +81,7 @@ +@@ -80,6 +81,7 @@ INSTALL(FILES ${FIX_PRIVILEGES_SQL} DESTINATION ${INSTALL_MYSQLSHAREDIR} COMPONENT Server ) @@ -16,7 +16,7 @@ # TCMalloc hacks IF(MALLOC_LIB) -@@ -139,6 +141,7 @@ +@@ -168,6 +170,7 @@ ENDIF() SET(HOSTNAME "hostname") SET(MYSQLD_USER "mysql") @@ -24,7 +24,7 @@ # Required for mysqlbug until autotools are deprecated, once done remove these # and expand default cmake variables SET(CC ${CMAKE_C_COMPILER}) -@@ -175,6 +178,7 @@ +@@ -204,6 +207,7 @@ INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DI DESTINATION ${INSTALL_BINDIR} COMPONENT Server ) @@ -32,7 +32,7 @@ ENDIF(UNIX) -@@ -199,6 +203,7 @@ +@@ -228,6 +232,7 @@ ELSE() SET(localstatedir ${MYSQL_DATADIR}) ENDIF() @@ -40,15 +40,15 @@ IF(UNIX) SET(EXT) ELSE() -@@ -213,6 +218,7 @@ +@@ -242,6 +247,7 @@ INSTALL_SCRIPT( DESTINATION ${DEST} COMPONENT Server ) +ENDIF() - SET(prefix "${CMAKE_INSTALL_PREFIX}") -@@ -264,6 +270,8 @@ + SET(sysconfdir ${prefix}) +@@ -298,6 +304,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE) STRING(REGEX REPLACE "^lib" "" lib "${lib}") SET(${var} "${${var}}-l${lib} " ) @@ -57,7 +57,7 @@ ELSE() SET(${var} "${${var}}-l${lib} " ) ENDIF() -@@ -316,17 +324,9 @@ +@@ -353,17 +361,9 @@ ELSE() SET(BIN_SCRIPTS msql2mysql mysql_config @@ -75,7 +75,7 @@ ) FOREACH(file ${BIN_SCRIPTS}) IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) -@@ -350,6 +350,7 @@ +@@ -387,6 +387,7 @@ ELSE() ) ENDFOREACH() @@ -83,7 +83,7 @@ # Input files with pl.in extension - drop the extension completely SET(PLIN_FILES mysql_secure_installation) FOREACH(file ${PLIN_FILES}) -@@ -362,6 +363,7 @@ +@@ -399,6 +400,7 @@ ELSE() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() ENDIF() Index: databases/mysql56-client/files/patch-support-files_CMakeLists.txt =================================================================== --- databases/mysql56-client/files/patch-support-files_CMakeLists.txt (revision 430902) +++ databases/mysql56-client/files/patch-support-files_CMakeLists.txt (working copy) @@ -1,6 +1,6 @@ ---- support-files/CMakeLists.txt.orig 2013-01-22 17:54:50.000000000 +0100 -+++ support-files/CMakeLists.txt 2013-02-13 11:13:32.000000000 +0100 -@@ -44,14 +44,17 @@ +--- support-files/CMakeLists.txt.orig 2016-11-28 13:36:22 UTC ++++ support-files/CMakeLists.txt +@@ -44,14 +44,17 @@ ELSE() SET(inst_location ${INSTALL_SUPPORTFILESDIR}) ENDIF() @@ -18,7 +18,7 @@ FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh ${CMAKE_CURRENT_BINARY_DIR}/${script} @ONLY ) -@@ -68,8 +71,10 @@ +@@ -68,8 +71,10 @@ IF(UNIX) IF(INSTALL_SUPPORTFILESDIR) INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles) ENDIF() @@ -29,7 +29,7 @@ CONFIGURE_FILE(MySQL-shared-compat.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/MySQL-shared-compat.spec @ONLY) CONFIGURE_FILE(mysql.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/mysql.spec @ONLY) -@@ -94,3 +99,4 @@ +@@ -94,3 +99,4 @@ IF(UNIX) PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) ENDIF() Index: databases/mysql56-server/Makefile =================================================================== --- databases/mysql56-server/Makefile (revision 430902) +++ databases/mysql56-server/Makefile (working copy) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME?= mysql -PORTVERSION= 5.6.34 +PORTVERSION= 5.6.35 PORTREVISION?= 0 CATEGORIES= databases ipv6 MASTER_SITES= MYSQL/MySQL-5.6 @@ -11,28 +11,50 @@ MAINTAINER= ale@FreeBSD.org COMMENT?= Multithreaded SQL database (server) -BROKEN_powerpc64= Does not build +LICENSE= GPLv2 SLAVEDIRS= databases/mysql56-client -USES= cmake shebangfix +USES= bison:build cmake:outsource compiler:c11 compiler:c++11-lib \ + cpe libedit localbase perl5 shebangfix ssl -CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \ +USE_PERL5= run + +MY_DBDIR= /var/db/mysql +MY_SECDIR= /var/db/mysql_secure +MY_TMPDIR= /var/db/mysql_tmpdir + +LIB_DEPENDS+= libevent.so:devel/libevent2 \ + liblz4.so:archivers/liblz4 + +CMAKE_BUILD_TYPE= Release + +CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ + -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ + -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ + -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="info" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="man" \ - -DINSTALL_MYSQLDATADIR="/var/db/mysql" \ + -DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ + -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ + -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SQLBENCHDIR="share/mysql" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ + -DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ + -DWITH_BOOST="${WRKSRC}/boost" \ -DWITH_EDITLINE=system \ - -DWITH_LIBWRAP=1 + -DWITH_LIBEVENT=system \ + -DWITH_LZ4=system \ + -DWITH_ZLIB=system \ + -DINSTALL_MYSQLTESTDIR=0 SHEBANG_FILES= scripts/*.pl* scripts/*.sh @@ -40,23 +62,32 @@ .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif +SUB_LIST= MY_DBDIR=${MY_DBDIR} \ + MY_SECDIR=${MY_SECDIR} \ + MY_TMPDIR=${MY_TMPDIR} + +PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ + MY_SECDIR=${MY_SECDIR} \ + MY_TMPDIR=${MY_TMPDIR} + # MySQL-Server part .if !defined(CLIENT_ONLY) -USE_MYSQL= yes -WANT_MYSQL_VER= 56 +USES+= mysql:56 -USES+= perl5 -USE_PERL5= run - CONFLICTS_INSTALL= mysql5[0-57-9]-server-* \ - mariadb*-server-* \ - percona*-server-* + mysql[0-46-9][0-9]-server-* \ + mariadb[0-9][0-9]-server-* \ + percona[0-9][0-9]-server-* USE_RC_SUBR= mysql-server +SUB_FILES= my.cnf.sample + USERS= mysql GROUPS= mysql +USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin + MMAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \ @@ -65,15 +96,58 @@ mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" + +OPTIONS_GROUP= STORAGE +OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA +OPTIONS_SUB= YES +STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) +ARCHIVE_DESC= Compile "Archive Storage" statically in server +BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server +EXAMPLE_DESC= Compile "Example Storage" statically in server +FEDERATED_DESC= Compile "Federated Storage" statically in server +INNOBASE_DESC= Compile "InnoDB Storage" statically in server +PARTITION_DESC= Compile "Partitioning support Storage" statically in server +PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server + +ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 +BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 +EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 +FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 +INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 +PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 +PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 + +OPTIONS_GROUP+= FEATURES +OPTIONS_GROUP_FEATURES= PERFSCHM +FEATURES_DESC= Default features knobs +PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) +OPTIONS_DEFAULT+= PERFSCHM + +PERFSCHM_SUB_LIST+= PERFSCHEMRC="" +PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" +.endif + +.include + +.if ${SSL_DEFAULT} == base +CMAKE_ARGS+= -DWITH_SSL=system .else -USES+= libedit +CMAKE_ARGS+= -DWITH_SSL=${OPENSSLBASE} .endif post-patch: @${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt -.include +.if !defined(CLIENT_ONLY) +post-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample + ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring + ${MKDIR} ${STAGEDIR}${MY_SECDIR} + ${MKDIR} ${STAGEDIR}${MY_TMPDIR} +.endif + .if ${ARCH} == "armv6" EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config.h.cmake .endif Index: databases/mysql56-server/distinfo =================================================================== --- databases/mysql56-server/distinfo (revision 430902) +++ databases/mysql56-server/distinfo (working copy) @@ -1,3 +1,3 @@ -TIMESTAMP = 1477038469 -SHA256 (mysql-5.6.34.tar.gz) = ee90bafec6af3abe2715ccb0b3cc9345ed8d1cce025d41e6ec2b2b7a7d820823 -SIZE (mysql-5.6.34.tar.gz) = 32094762 +TIMESTAMP = 1484753208 +SHA256 (mysql-5.6.35.tar.gz) = dddcba169b98844d7c65346cbd791c853edf942d78440381685087b84aa35020 +SIZE (mysql-5.6.35.tar.gz) = 32167628 Index: databases/mysql56-server/files/my.cnf.sample.in =================================================================== --- databases/mysql56-server/files/my.cnf.sample.in (nonexistent) +++ databases/mysql56-server/files/my.cnf.sample.in (working copy) @@ -0,0 +1,63 @@ +# $FreeBSD$ + +[client] +port = 3306 +socket = /tmp/mysql.sock + +[mysql] +prompt = \u@\h [\d]>\_ +no_auto_rehash + +[mysqld] +user = mysql +port = 3306 +socket = /tmp/mysql.sock +bind-address = 127.0.0.1 +basedir = %%PREFIX%% +datadir = %%MY_DBDIR%% +tmpdir = %%MY_TMPDIR%% +slave-load-tmpdir = %%MY_TMPDIR%% +secure-file-priv = %%MY_SECDIR%% +log-bin = mysql-bin +log-output = TABLE +master-info-repository = TABLE +relay-log-info-repository = TABLE +relay-log-recovery = 1 +slow-query-log = 1 +server-id = 1 +sync_binlog = 1 +sync_relay_log = 1 +binlog_cache_size = 16M +expire_logs_days = 30 +log-slave-updates = 1 +enforce-gtid-consistency = 1 +gtid-mode = ON +safe-user-create = 1 +lower_case_table_names = 1 +explicit-defaults-for-timestamp = 1 +myisam-recover-options = BACKUP,FORCE +open_files_limit = 32768 +table_open_cache = 16384 +table_definition_cache = 8192 +net_retry_count = 16384 +key_buffer_size = 256M +max_allowed_packet = 64M +query_cache_type = 0 +query_cache_size = 0 +long_query_time = 0.5 +innodb_buffer_pool_size = 1G +innodb_data_home_dir = %%MY_DBDIR%% +innodb_log_group_home_dir = %%MY_DBDIR%% +innodb_data_file_path = ibdata1:128M:autoextend +innodb_flush_method = O_DIRECT +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_write_io_threads = 8 +innodb_read_io_threads = 8 +innodb_autoinc_lock_mode = 2 +skip-symbolic-links + +[mysqldump] +max_allowed_packet = 256M +quote_names +quick Index: databases/mysql56-server/files/mysql-server.in =================================================================== --- databases/mysql56-server/files/mysql-server.in (revision 430902) +++ databases/mysql56-server/files/mysql-server.in (working copy) @@ -14,10 +14,12 @@ # mysql_limits (bool): Set to "NO" by default. # Set it to yes to run `limits -e -U mysql` # just before mysql starts. -# mysql_dbdir (str): Default to "/var/db/mysql" +# mysql_dbdir (str): Default to "%%MY_DBDIR%%" # Base database directory. +# mysql_confdir (str): Default to "%%ETCDIR%%" +# Base configuration directory. # mysql_optfile (str): Server-specific option file. -# Default to "${mysql_dbdir}/my.cnf". +# Default to "${mysql_confdir}/my.cnf". # mysql_pidfile (str): Custum PID file path and name. # Default to "${mysql_dbdir}/${hostname}.pid". # mysql_args (str): Custom additional arguments to be passed @@ -33,8 +35,13 @@ : ${mysql_enable="NO"} : ${mysql_limits="NO"} -: ${mysql_dbdir="/var/db/mysql"} +: ${mysql_dbdir="%%MY_DBDIR%%"} +: ${mysql_confdir="%%ETCDIR%%"} +if [ -f "${mysql_dbdir}/my.cnf" ]; then : ${mysql_optfile="${mysql_dbdir}/my.cnf"} +else +: ${mysql_optfile="${mysql_confdir}/my.cnf"} +fi mysql_user="mysql" mysql_limits_args="-e -U ${mysql_user}" @@ -41,12 +48,12 @@ : ${hostname:=`/bin/hostname`} pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"} command="/usr/sbin/daemon" -command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_optfile} --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}" +command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_optfile} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --pid-file=${pidfile} --user=${mysql_user} ${mysql_args} %%PERFSCHEMRC%%" procname="%%PREFIX%%/libexec/mysqld" start_precmd="${name}_prestart" start_postcmd="${name}_poststart" mysql_install_db="%%PREFIX%%/bin/mysql_install_db" -mysql_install_db_args="--basedir=%%PREFIX%% --defaults-extra-file=${mysql_optfile} --datadir=${mysql_dbdir} --force" +mysql_install_db_args="--defaults-extra-file=${mysql_optfile} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --user=${mysql_user} --force" mysql_create_auth_tables() { @@ -56,7 +63,18 @@ mysql_prestart() { - if [ ! -d "${mysql_dbdir}/mysql/." ]; then + if [ -f "${mysql_dbdir}/my.cnf" ]; then + echo "" + echo "Please keep in mind that the default location for my.cnf has changed" + echo "from \"%%MY_DBDIR%%/my.cnf\" to \"%%ETCDIR%%/my.cnf\". " + echo "Please merge your existing my.cnf with the new default and move" + echo "it to \"%%ETCDIR%%/my.cnf\"." + echo "If you do not want to move your my.cnf to the new location then" + echo "you must set \"mysql_optfile\" in /etc/rc.conf to \"/var/db/mysql/my.cnf\"." + echo "" + fi + + if [ ! -d "${mysql_dbdir}/mysql" ]; then mysql_create_auth_tables || return 1 fi if checkyesno mysql_limits; then Index: databases/mysql56-server/files/patch-mysys_ssl_my_default.cc =================================================================== --- databases/mysql56-server/files/patch-mysys_ssl_my_default.cc (revision 430902) +++ databases/mysql56-server/files/patch-mysys_ssl_my_default.cc (working copy) @@ -1,6 +1,6 @@ ---- mysys_ssl/my_default.cc.orig 2013-01-22 17:54:49.000000000 +0100 -+++ mysys_ssl/my_default.cc 2013-02-13 11:08:15.000000000 +0100 -@@ -119,7 +119,7 @@ +--- mysys_ssl/my_default.cc.orig 2016-11-28 13:36:22 UTC ++++ mysys_ssl/my_default.cc +@@ -110,7 +110,7 @@ static my_bool defaults_already_read= FA /* Which directories are searched for options (and in which order) */ @@ -9,18 +9,48 @@ #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */ static const char **default_directories = NULL; -@@ -1395,7 +1395,10 @@ +@@ -903,6 +903,14 @@ static int search_default_file_with_ext( + return 1; /* Ignore wrong files */ + } - #if defined(DEFAULT_SYSCONFDIR) - if (DEFAULT_SYSCONFDIR[0]) ++ if (strstr(name, "/etc") == name) + { - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); -+ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs); ++ fprintf(stderr, ++ "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n", ++ name,name); ++ goto err; + } - #endif /* DEFAULT_SYSCONFDIR */ ++ + while (mysql_file_getline(buff, sizeof(buff) - 1, fp, is_login_file)) + { + line++; +@@ -1241,7 +1249,8 @@ void my_print_default_files(const char * + end[(strlen(end)-1)] = ' '; + else + strxmov(end, conf_file, *ext , " ", NullS); +- fputs(name, stdout); ++ if (strstr(name, "/etc") != name) ++ fputs(name, stdout); + } + } + } +@@ -1400,13 +1409,8 @@ static const char **init_default_directo + #else + +- errors += add_directory(alloc, "/etc/", dirs); +- errors += add_directory(alloc, "/etc/mysql/", dirs); +- +-#if defined(DEFAULT_SYSCONFDIR) +- if (DEFAULT_SYSCONFDIR[0]) +- errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); +-#endif /* DEFAULT_SYSCONFDIR */ ++ errors += add_directory(alloc, "/usr/local/etc/", dirs); ++ errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs); + #endif -@@ -1466,7 +1469,7 @@ + +@@ -1477,7 +1481,7 @@ int check_file_permissions(const char *f MY_STAT stat_info; if (!my_stat(file_name,&stat_info,MYF(0))) Index: databases/mysql56-server/pkg-message =================================================================== --- databases/mysql56-server/pkg-message (revision 430902) +++ databases/mysql56-server/pkg-message (working copy) @@ -1,6 +1,19 @@ -************************************************************************ +***************************************************************************** Remember to run mysql_upgrade the first time you start the MySQL server after an upgrade from an earlier version. -************************************************************************ +Initial password for first time use of MySQL is saved in $HOME/.mysql_secret +ie. when you want to use "mysql -u root -p" first you should see password +in /root/.mysql_secret + +***************************************************************************** + +***************************************************************************** + +Please keep in mind that the default location for my.cnf will be changed +from "/var/db/mysql/my.cnf" to "/usr/local/etc/mysql/my.cnf" in the near +future. If you do not want to move your my.cnf to the new location then +you must set "mysql_optfile" in /etc/rc.conf to "/var/db/mysql/my.cnf". + +***************************************************************************** Index: databases/mysql56-server/pkg-plist =================================================================== --- databases/mysql56-server/pkg-plist (revision 430902) +++ databases/mysql56-server/pkg-plist (working copy) @@ -27,8 +27,10 @@ lib/mysql/plugin/adt_null.so lib/mysql/plugin/auth.so lib/mysql/plugin/auth_test_plugin.so +lib/mysql/plugin/connection_control.so lib/mysql/plugin/daemon_example.ini lib/mysql/plugin/libdaemon_example.so +%%EXAMPLE%%lib/mysql/plugin/ha_example.so lib/mysql/plugin/mypluglib.so lib/mysql/plugin/mysql_no_login.so lib/mysql/plugin/qa_auth_client.so @@ -130,3 +132,7 @@ %%DATADIR%%/spanish/errmsg.sys %%DATADIR%%/swedish/errmsg.sys %%DATADIR%%/ukrainian/errmsg.sys +@sample(root,wheel,0644) %%ETCDIR%%/my.cnf.sample +@dir(mysql,mysql,0750) %%ETCDIR%%/keyring +@dir(mysql,mysql,0750) %%MY_SECDIR%% +@dir(mysql,mysql,0750) %%MY_TMPDIR%%