58b5f7f125
Bugs Fixed Replication: When using statement-based or mixed binary logging format with --read-only=ON, it was not possible to modify temporary tables. MySQL Server upgrades performed using RPM packages failed when upgrading from MySQL 5.1 Community to MySQL 5.5 Community or MySQL 5.1 Commercial to MySQL 5.5 Commercial. A buffer overflow in the regex library was fixed. Certain arguments to NAME_CONST() could cause a server exit. Installing MySQL from a yum or zypper repository resulted in /var/log/mysqld.log being created with incorrect user and group permissions. If a stored function updated a view for which the view table had a trigger defined that updated another table, it could fail and report an error that an existing table did not exist. 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). For multibyte character sets, LOAD DATA could fail to allocate space correctly and ignore input rows as a result.
133 lines
4.1 KiB
Text
133 lines
4.1 KiB
Text
# $NetBSD: Makefile.common,v 1.53 2016/08/04 10:09:46 adam Exp $
|
|
#
|
|
# used by databases/mysql55-client/Makefile
|
|
# used by databases/mysql55-server/Makefile
|
|
|
|
DISTNAME= mysql-5.5.51
|
|
CATEGORIES= databases
|
|
MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.5/}
|
|
|
|
MAINTAINER?= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://www.mysql.com/
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
DISTINFO_FILE?= ${.CURDIR}/../../databases/mysql55-client/distinfo
|
|
PATCHDIR?= ${.CURDIR}/../../databases/mysql55-client/patches
|
|
|
|
USE_CMAKE= yes
|
|
USE_LANGUAGES= c c++
|
|
USE_TOOLS+= bash gmake perl:run
|
|
|
|
.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}
|
|
|
|
# always use our own readline, not MySQL bundled one
|
|
CMAKE_ARGS+= -DWITH_LIBEDIT=OFF
|
|
CMAKE_ARGS+= -DWITH_READLINE=OFF
|
|
CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET:Q}
|
|
CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION:Q}
|
|
CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET:Q}
|
|
BROKEN_READLINE_DETECTION= yes # At least on RHEL 5.6
|
|
|
|
# MySQL 5 depends on builtin functions enabled with i486 and later with GCC.
|
|
.if ${OPSYS} == "NetBSD" && !empty(MACHINE_ARCH:Mi386)
|
|
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
|
|
|
|
.if ${OPSYS} != "Interix"
|
|
CFLAGS+= -fPIC -DPIC
|
|
CXXFLAGS+= -fPIC -DPIC
|
|
.endif
|
|
|
|
# force HAVE_CURSES_H on Solaris since the configure script is broken
|
|
# and does not properly detect this, breaking the build later on.
|
|
CFLAGS.SunOS+= -DHAVE_CURSES_H
|
|
CXXFLAGS.SunOS+= -DHAVE_CURSES_H
|
|
|
|
# SCO OpenServer 5.0.7/3.2's readdir_r has 2 arguments and return struct dirent.
|
|
.if ${OS_VARIANT} == "SCOOSR5"
|
|
CMAKE_ARGS+= -DHAVE_READDIR_R=OFF
|
|
.endif
|
|
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
|
|
.if (defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "pth")) || \
|
|
${OS_VARIANT} == "SCOOSR5"
|
|
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 scripts/mysqld_safe.sh \
|
|
scripts/mysql_secure_installation.sh \
|
|
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_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"
|
|
|
|
.include "../../mk/readline.buildlink3.mk"
|
|
|
|
.if !empty(READLINE_TYPE:Mreadline)
|
|
CMAKE_ARGS+= -DREADLINE_FOUND=system
|
|
.endif
|
|
CMAKE_ARGS+= -DREADLINE_INCLUDE_DIR=${BUILDLINK_PREFIX.editlinereadline}/include/readline
|
|
|
|
.include "../../devel/zlib/buildlink3.mk"
|