pkgsrc/databases/mysql51-client/Makefile.common
taca fc9a437a7b Update MySQL package to 5.1.56.
Functionality added or changed:

* mysqldump --xml now displays comments from column definitions. (Bug #13618)

Bugs fixed:

* InnoDB Storage Engine: InnoDB returned values for ¡Èrows examined¡É
  in the query plan that were higher than expected. NULL values were
  treated in an inconsistent way. The inaccurate statistics could
  trigger ¡Èfalse positives¡É in combination with the MAX_JOIN_SIZE
  setting, because the queries did not really examine as many rows as
  reported. (Bug #30423)

* Partitioning: Trying to use the same column more than once in the
  partitioning key when partitioning a table by KEY caused mysqld to
  crash. Such duplication of key columns is now expressly disallowed,
  and fails with an appropriate error. (Bug #53354, Bug #57924)

* Replication: When using the statement-based logging format, INSERT
  ON DUPLICATE KEY UPDATE and INSERT IGNORE statements affecting
  transactional tables that did not fail were not written to the
  binary log if they did not insert any rows. (With statement-based
  logging, all successful statements should be logged, whether they do
  or do not cause any rows to be changed.) (Bug #59338)

* Replication: Formerly, STOP SLAVE stopped the slave I/O thread first
  and then stopped the slave SQL thread; thus, it was possible for the
  I/O thread to stop after replicating only part of a transaction
  which the SQL thread was executing, in wich case¡½if the transaction
  could not be rolled back safely¡½the SQL thread could hang.

  Now, STOP SLAVE stops the slave SQL thread first and then stops the
  I/O thread; this guarantees that the I/O thread can fetch any
  remaining events in the transaction that the SQL thread is
  executing, so that the SQL thread can finish the transaction if it
  cannot be rolled back safely. (Bug #58546)

* A query of the following form returned an incorrect result, where
  the values for col_name in the result set were entirely replaced
  with NULL values:

  SELECT DISTINCT col_name ... ORDER BY col_name DESC;
  (Bug #59308, Bug #11766241)

* DELETE or UPDATE statements could fail if they used DATE or DATETIME
  values with a year, month, or day part of zero. (Bug #59173)

* The ESCAPE clause for the LIKE operator allows only expressions that
  evaluate to a constant at execution time, but aggregrate functions
  were not being rejected. (Bug #59149)

* Memory leaks detected by Valgrind, some of which could cause
  incorrect query results, were corrected. (Bug #59110, Bug #11766075)

  mysqlslap failed to check for a NULL return from mysql_store_result()
  and crashed trying to process the result set. (Bug #59109)

* In debug builds, SUBSTRING_INDEX(FORMAT(...), FORMAT(...)) could
  cause a server crash. (Bug #58371)

* When mysqldadmin was run with the --sleep and --count options, it
  went into an infinite loop executing the specified command. (Bug
  #58221)

* Some string manipulating SQL functions use a shared string object
  intended to contain an immutable empty string. This object was used
  by the SQL function SUBSTRING_INDEX() to return an empty string when
  one argument was of the wrong datatype. If the string object was
  then modified by the SQL function INSERT(), undefined behavior
  ensued. (Bug #58165, Bug #11765225)

* Parsing nested regular expressions could lead to recursion resulting
  in a stack overflow crash. (Bug #58026, Bug #11765099)

* The mysql client went into an infinite loop if the standard input
  was a directory. (Bug #57450)

* The expression const1 BETWEEN const2 AND field was optimized
  incorrectly and produced incorrect results. (Bug #57030, Bug
  #11764215)

* Some RPM installation scripts used a hardcoded value for the data
  directory, which could result in a failed installation for users who
  have a nonstandard data directory location. The same was true for
  other configuration values such as the PID file name. (Bug #56581,
  Bug #11763817)

* On FreeBSD and OpenBSD, the server incorrectly checked the range of
  the system date, causing legal values to be rejected. (Bug #55755,
  Bug #11763089)

* When using ExtractValue() or UpdateXML(), if the XML to be read
  contained an incomplete XML comment, MySQL read beyond the end of
  the XML string when processing, leading to a crash of the
  server. (Bug #44332)
2011-03-08 14:06:43 +00:00

143 lines
3.9 KiB
Text

# $NetBSD: Makefile.common,v 1.18 2011/03/08 14:06:43 taca Exp $
#
# used by databases/mysql51-client/Makefile
# used by databases/mysql51-server/Makefile
#
DISTNAME= mysql-5.1.56
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.1/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.mysql.com/
LICENSE= gnu-gpl-v2
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
.include "../../mk/bsd.prefs.mk"
.include "options.mk"
EXTRACT_USING= bsdtar
# MYSQL_USER username of the database administrator
# MYSQL_GROUP group of the database administrator
# MYSQL_DATADIR home directory of the database administrator and
# location of the databases
MYSQL_USER?= mysql
MYSQL_GROUP?= mysql
MYSQL_DATADIR?= ${VARBASE}/mysql
PKG_USERS_VARS+= MYSQL_USER
PKG_GROUPS_VARS+= MYSQL_GROUP
# MYSQL_CHARSET default character set
# MYSQL_EXTRA_CHARSET additional character set to be compiled in.
#
MYSQL_CHARSET?= latin1
MYSQL_EXTRA_CHARSET?= all
CONFIGURE_ARGS+= --enable-thread-safe-client
CONFIGURE_ARGS+= --localstatedir=${MYSQL_DATADIR:Q}
CONFIGURE_ARGS+= --without-libwrap
CONFIG_SHELL= ${TOOLS_PATH.bash}
.if ${OPSYS} == "IRIX"
CFLAGS+= -DIRIX5 -DNEEDS_BSTRING_H
# libgen is incorrectly detected
CONFIGURE_ENV+= ac_cv_lib_gen_p2open="no"
.endif
BUILD_DEFS+= VARBASE
# We always use our own readline. Note that these --without-* settings
# are confusing, but they just mean "don't use the included readline
# or libedit".
#
CONFIGURE_ARGS+= --without-readline
CONFIGURE_ARGS+= --without-libedit
# Speed up production one-time builds; see "./configure --help" for
# more information on using or disabling this option.
CONFIGURE_ARGS+= --disable-dependency-tracking
CONFIGURE_ARGS+= --without-debug
CONFIGURE_ARGS+= --with-low-memory
CONFIGURE_ARGS+= --with-zlib-dir=${BUILDLINK_PREFIX.zlib:Q}
CONFIGURE_ARGS+= --with-charset=${MYSQL_CHARSET:Q}
CONFIGURE_ARGS+= --with-extra-charsets=${MYSQL_EXTRA_CHARSET:Q}
.if !empty(MACHINE_ARCH:Mi386) && ${OPSYS} != "Interix" && \
${OPSYS} != "SunOS" && ${OPSYS} != "Darwin"
CONFIGURE_ARGS+= --enable-assembler
.endif
#
# MySQL 5.1 depends on builtin functions which enabled with i486 and
# later with GCC.
#
.if ${OPSYS} == "NetBSD" && !empty(MACHINE_ARCH:Mi386)
GNU_ARCH.i386= i486
CFLAGS+= -march=i486
.endif
CONFIGURE_ENV+= mysql_cv_compress="yes"
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.
.if ${OPSYS} == "SunOS"
CFLAGS+= -DHAVE_CURSES_H
CXXFLAGS+= -DHAVE_CURSES_H
.endif
.include "../../mk/pthread.buildlink3.mk"
.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "pth")
CFLAGS+= -DSIGNALS_DONT_BREAK_READ
CXXFLAGS+= -DSIGNALS_DONT_BREAK_READ
CONFIGURE_ENV+= ac_cv_func_pthread_setschedparam=no
CONFIGURE_ENV+= ac_cv_func_pthread_attr_setschedparam=no
.endif
USE_LANGUAGES= c c++
USE_TOOLS+= autoconf bash autoheader gmake perl:run
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/mysql
SUBST_CLASSES= mk
SUBST_STAGE.mk= pre-configure
SUBST_FILES.mk= dbug/Makefile.in heap/Makefile.in \
mysys/Makefile.in strings/Makefile.in
SUBST_SED.mk= -e "/^install-exec:/s/install-pkglibLIBRARIES//"
SUBST_MESSAGE.mk= Fixing Makefiles.
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.
# Fix broken shared library detection under Mac OS X
.if ${OPSYS} == "Darwin"
SUBST_CLASSES+= dylib
SUBST_STAGE.dylib= pre-configure
SUBST_FILES.dylib= configure
SUBST_SED.dylib= -e "s|\\\$$shrext_cmds|\\.dylib|g"
.endif
pre-configure:
${RM} -f ${WRKSRC}/configure~
cd ${WRKSRC} && autoconf && autoheader
.include "../../devel/zlib/buildlink3.mk"