pkgsrc/databases/mysql56-client/Makefile.common
adam 8126461db0 mysql56: updated to 5.6.45
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).
2019-08-06 06:55:15 +00:00

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"