8126461db0
Changes in MySQL 5.6.45: Functionality Added or Changed Microsoft Windows: A new warning message now reminds DBAs that connections made using the MySQL named pipe on Windows has limited the permissions a connector can request on the named pipe. Previously, the named_pipe_full_access_group system variable was set to a value that maps to the built-in Windows Everyone group (SID S-1-1-0) by default. However, this group is not ideal and should be replaced with a group that restricts its membership for connectors that are unable to request fewer permissions on the MySQL named pipe. The new warning is written to the error log at startup if the string value assigned to named_pipe_full_access_group is '*everyone*' (or the Windows System Language equivalent) and named pipes are enabled. In addition, the warning is written to the error log and raised to the client if the system variable is reset to the Everyone group at runtime. Bugs Fixed InnoDB: A query that scanned the primary key of a table did not return the expected result. InnoDB: A full-text cache lock taken when data is synchronized was not released if the full-text cache size exceeded the full-text cache size limit. InnoDB: Client sessions using different auto_increment_increment values while performing concurrent insert operations could cause a duplicate key error. Replication: In query log events in the binary log, the thread ID used for the execution of DROP TABLE and DELETE statements was identified incorrectly or not at all. On a multi-threaded replication slave, where temporary tables were involved (which require the correct thread ID as they are session specific), this omission resulted in errors when using mysqlbinlog to replay the binary log for point-in-time recovery. The thread ID is now set correctly. Installing from RPM packages could result in an error log with incorrect permissions. Enabling audit log encryption could cause a server exit. MySQL Installer did not install OpenSSL DLL dependencies if the Development component was not selected. The parser could leak memory for certain multiple-statement queries. MySQL does not support OpenSSL session tickets, but did not set the SSL_OP_NO_TICKET flag to inform OpenSSL of that. The flag is now set. UpdateXML() did not always free memory properly in certain cases. Empty values in the name column of the mysql.plugin system table caused the server to exit during startup. Some PROXY grants were not replicated to slaves, causing incorrect replication. If an INSTALL PLUGIN statement contained invalid UTF-8 characters in the shared library name, it caused the server to hang (or to raise an assertion in debug builds).
140 lines
4.4 KiB
Text
140 lines
4.4 KiB
Text
# $NetBSD: Makefile.common,v 1.52 2019/08/06 06:55:15 adam Exp $
|
|
#
|
|
# used by databases/mysql56-client/Makefile
|
|
# used by databases/mysql56-server/Makefile
|
|
|
|
DISTNAME= mysql-5.6.45
|
|
CATEGORIES= databases
|
|
MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.6/}
|
|
|
|
MAINTAINER?= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= https://www.mysql.com/
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
DISTINFO_FILE?= ${.CURDIR}/../../databases/mysql56-client/distinfo
|
|
PATCHDIR?= ${.CURDIR}/../../databases/mysql56-client/patches
|
|
|
|
USE_CMAKE= yes
|
|
USE_LANGUAGES= c c++
|
|
USE_TOOLS+= bash gmake perl:run
|
|
USE_GCC_RUNTIME= yes
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.include "options.mk"
|
|
|
|
# MYSQL_USER username of the database administrator
|
|
# MYSQL_GROUP group of the database administrator
|
|
# MYSQL_DATADIR home directory (location of the databases)
|
|
# MYSQL_PIDFILE process ID file
|
|
# MYSQL_CHARSET default character set
|
|
# MYSQL_EXTRA_CHARSET additional character set to be compiled in
|
|
MYSQL_USER?= mysql
|
|
MYSQL_GROUP?= mysql
|
|
MYSQL_DATADIR?= ${VARBASE}/mysql
|
|
MYSQL_PIDFILE?= ${MYSQL_DATADIR}/${HOST}.pid
|
|
MYSQL_CHARSET?= latin1
|
|
MYSQL_COLLATION?= latin1_swedish_ci
|
|
MYSQL_EXTRA_CHARSET?= all
|
|
|
|
PKG_USERS_VARS+= MYSQL_USER
|
|
PKG_GROUPS_VARS+= MYSQL_GROUP
|
|
|
|
CONFIG_SHELL= ${TOOLS_PATH.bash}
|
|
|
|
CFLAGS.IRIX+= -DIRIX5 -DNEEDS_BSTRING_H
|
|
|
|
BUILD_DEFS+= VARBASE
|
|
|
|
# paths
|
|
CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_INFODIR="info"
|
|
CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}"
|
|
CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql"
|
|
CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR="share/mysql/test"
|
|
CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin"
|
|
CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin"
|
|
CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin"
|
|
CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench"
|
|
CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql"
|
|
CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR}
|
|
|
|
CMAKE_ARGS+= -DWITH_ZLIB="system"
|
|
CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET}
|
|
CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION}
|
|
CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET:Q}
|
|
|
|
# MySQL 5 depends on builtin functions enabled with i486 and later with GCC.
|
|
.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386"
|
|
GNU_ARCH.i386= i486
|
|
CFLAGS+= -march=i486
|
|
.endif
|
|
|
|
# Ensure the correct DTrace ABI is used.
|
|
.if !empty(ABI)
|
|
CMAKE_ARGS+= -DDTRACE_FLAGS="-${ABI}"
|
|
.endif
|
|
|
|
CPPFLAGS+= -Dunix
|
|
CFLAGS+= -DUSE_OLD_FUNCTIONS # 3.23.x compat
|
|
CFLAGS+= -D__STDC_FORMAT_MACROS=1 # always defined too late
|
|
|
|
.if ${OPSYS} != "Interix"
|
|
CFLAGS+= -fPIC -DPIC
|
|
CXXFLAGS+= -fPIC -DPIC
|
|
.endif
|
|
|
|
CMAKE_ARGS.SunOS+= -DFORCE_UNSUPPORTED_COMPILER=YES
|
|
|
|
# Force HAVE_CURSES_H on Solaris since the configure script is broken
|
|
# and does not properly detect this, breaking the build later on. Also
|
|
# explicitly disable epoll support as it is Linux-specific.
|
|
CMAKE_ARGS.SunOS+= -DHAVE_SYS_EPOLL_H=NO
|
|
CMAKE_ARGS.SunOS+= -DEVENT__HAVE_EPOLL=NO
|
|
CFLAGS.SunOS+= -DHAVE_CURSES_H
|
|
CXXFLAGS.SunOS+= -DHAVE_CURSES_H
|
|
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
|
|
.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "pth")
|
|
CFLAGS+= -DSIGNALS_DONT_BREAK_READ
|
|
CXXFLAGS+= -DSIGNALS_DONT_BREAK_READ
|
|
.endif
|
|
|
|
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/mysql
|
|
|
|
SUBST_CLASSES+= scr
|
|
SUBST_STAGE.scr= pre-configure
|
|
SUBST_FILES.scr= scripts/mysql_install_db.sh
|
|
SUBST_FILES.scr+= scripts/mysql_secure_installation.sh
|
|
SUBST_FILES.scr+= scripts/mysqld_safe.sh
|
|
SUBST_FILES.scr+= support-files/mysql.server.sh
|
|
SUBST_SED.scr= -e "s,chown,${CHOWN},g"
|
|
SUBST_SED.scr+= -e "s,/bin/sh,${RCD_SCRIPTS_SHELL},g"
|
|
SUBST_SED.scr+= -e "s,@SHELL_PATH@,${RCD_SCRIPTS_SHELL},g"
|
|
SUBST_MESSAGE.scr= Fixing scripts.
|
|
|
|
SUBST_CLASSES+= fixpaths
|
|
SUBST_STAGE.fixpaths= post-install
|
|
SUBST_FILES.fixpaths= ${DESTDIR}${PREFIX}/bin/mysqlbug
|
|
SUBST_FILES.fixpaths+= ${DESTDIR}${PREFIX}/share/doc/mysql/INFO_BIN
|
|
SUBST_SED.fixpaths= -e "s,${WRAPPER_BINDIR}/gcc,${CCPATH},g"
|
|
SUBST_SED.fixpaths+= -e "s,${WRAPPER_BINDIR}/g++,${CXXPATH},g"
|
|
|
|
# Don't use the base system "libedit" under NetBSD because MySQL expects
|
|
# an incompatible prototype for "rl_completion_entry_function".
|
|
.if ${OPSYS} == "NetBSD"
|
|
USE_BUILTIN.editline= no
|
|
.endif
|
|
|
|
.include "../../mk/readline.buildlink3.mk"
|
|
.if ${READLINE_TYPE} == "readline"
|
|
CMAKE_ARGS+= -DWITH_READLINE="system"
|
|
.else
|
|
CMAKE_ARGS+= -DWITH_EDITLINE="system"
|
|
.endif
|
|
|
|
.include "../../mk/curses.buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|