pkgsrc/databases/mysql51-client/Makefile.common

143 lines
4.2 KiB
Text
Raw Normal View History

# $NetBSD: Makefile.common,v 1.37 2018/02/01 23:14:55 jperkin Exp $
#
# used by databases/mysql51-client/Makefile
# used by databases/mysql51-server/Makefile
Updated databases/mysql51-{client,server} to 5.1.73 ------------------------------------------------------------ The ChangeLog since 5.1.72 is too huge, so the beginning some lines are listed here: ------------------------------------------------------------ timestamp: Fri 2013-11-01 16:39:19 +0100 message: Bug#17617945 BUFFER OVERFLOW IN GET_MERGE_MANY_BUFFS_COST WITH SMALL SORT_BUFFER_SIZE get_cost_calc_buff_size() could return wrong value for the size of imerge_cost_buff. ------------------------------------------------------------ timestamp: Thu 2013-10-31 22:53:56 +0000 message: BUG#17662398: REMOVE DUPLICATE TEST CASES Remove duplicate test cases. ------------------------------------------------------------ timestamp: Thu 2013-10-31 23:02:44 +0530 message: Bug #12917164 DROP USER CAN'T DROP USERS WITH LEGACY UPPER CASE HOST NAME ANYMORE Description: It is not possible to drop users with host names with upper case letters in them. i.e DROP USER 'root'@'Tmp_Host_Name'; is failing with error. Analysis: Since the fix 11748570 we came up with lower case hostnames as standard. But in the current bug the hostname is created by mysql_install_db script is still having upper case hostnames. So, if we have the hostname with upper case letters like(Tmp_Host_Name) then we will have as it is stored in the mysql.user table. In this case if use "'DROP USER 'root'@'Tmp_Host_Name';" it gives error because we do compare with the lower case of hostname since the 11748570 fix. Fix: We need to convert the hostname to lower case before storing into the mysql.user table when we run the mysql_install_db script. ------------------------------------------------------------
2017-04-13 15:44:49 +02:00
DISTNAME= mysql-5.1.73
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.1/}
MAINTAINER= pkgsrc-users@NetBSD.org
2017-09-03 10:53:04 +02:00
HOMEPAGE= https://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_PIDFILE process ID file
MYSQL_USER?= mysql
MYSQL_GROUP?= mysql
MYSQL_DATADIR?= ${VARBASE}/mysql
MYSQL_PIDFILE?= ${MYSQL_DATADIR}/${HOST}.pid
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
Changes 5.1.71: Functionality Added or Changed * comp_err now checks to make sure that new errors are not being added to MySQL 5.1 or 5.5 because the set of errors for these series is frozen. Bugs Fixed * InnoDB: During an insert buffer merge, InnoDB would invoke lock_rec_restore_from_page_infimum() on a potentially invalid record pointer. * InnoDB: The page_zip_validate() consistency check would fail after compressing a page, in page_zip_compress(). This problem was caused by page_zip_decompress(), which would fail to set heap_no correctly when a record contained no user data bytes. A record with no user data bytes occurs when, for example, a primary key is an empty string and all secondary index fields are NULL or an empty string. * InnoDB: The pthread_mutex, commit_threads_m, which was initialized but never used, has been removed from the code base. * Partitioning: When dropping a partitioned table, the table's .par file was deleted first, before the table definition or data. This meant that, if the server failed during the drop operation, the table could be left in an inconsistent state in which it could neither be accessed nor dropped. * Shared-compatibility conflict errors occurred for RPM install operations, even if no shared-compatibility RPMs were already installed. * A user variable referenced during execution of a prepared statement is set to memory that is freed at the end of execution. A second execution of the statement could result in Valgrind warnings when accessing this memory. * Misoptimization of left expressions in prepared statements could cause a server exit. * Subsequent to Prepared statement needs to be re-prepared errors, inserts into DECIMAL columns caused a server exit. * Assigning the result of a subquery to a user variable raised an assertion when the outer query included DISTINCT and GROUP BY.
2013-08-04 12:20:24 +02:00
CONFIGURE_ARGS+= --localstatedir=${MYSQL_DATADIR}
CONFIGURE_ARGS+= --without-libwrap
CONFIG_SHELL= ${TOOLS_PATH.bash}
2016-02-25 12:46:20 +01:00
CFLAGS.IRIX+= -DIRIX5 -DNEEDS_BSTRING_H
# libgen is incorrectly detected
2016-02-25 12:46:20 +01:00
CONFIGURE_ENV.IRIX+= ac_cv_lib_gen_p2open="no"
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
Changes 5.1.71: Functionality Added or Changed * comp_err now checks to make sure that new errors are not being added to MySQL 5.1 or 5.5 because the set of errors for these series is frozen. Bugs Fixed * InnoDB: During an insert buffer merge, InnoDB would invoke lock_rec_restore_from_page_infimum() on a potentially invalid record pointer. * InnoDB: The page_zip_validate() consistency check would fail after compressing a page, in page_zip_compress(). This problem was caused by page_zip_decompress(), which would fail to set heap_no correctly when a record contained no user data bytes. A record with no user data bytes occurs when, for example, a primary key is an empty string and all secondary index fields are NULL or an empty string. * InnoDB: The pthread_mutex, commit_threads_m, which was initialized but never used, has been removed from the code base. * Partitioning: When dropping a partitioned table, the table's .par file was deleted first, before the table definition or data. This meant that, if the server failed during the drop operation, the table could be left in an inconsistent state in which it could neither be accessed nor dropped. * Shared-compatibility conflict errors occurred for RPM install operations, even if no shared-compatibility RPMs were already installed. * A user variable referenced during execution of a prepared statement is set to memory that is freed at the end of execution. A second execution of the statement could result in Valgrind warnings when accessing this memory. * Misoptimization of left expressions in prepared statements could cause a server exit. * Subsequent to Prepared statement needs to be re-prepared errors, inserts into DECIMAL columns caused a server exit. * Assigning the result of a subquery to a user variable raised an assertion when the outer query included DISTINCT and GROUP BY.
2013-08-04 12:20:24 +02:00
CONFIGURE_ARGS+= --with-zlib-dir=${BUILDLINK_PREFIX.zlib}
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
2016-02-25 12:46:20 +01:00
CONFIGURE_ENV.NetBSD+= ac_cv_func_gethostbyname_r="no"
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.
2016-02-25 12:46:20 +01:00
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
CONFIGURE_ENV+= ac_cv_func_pthread_setschedparam=no
CONFIGURE_ENV+= ac_cv_func_pthread_attr_setschedparam=no
.endif
USE_LANGUAGES= c c++03
USE_TOOLS+= autoconf bash autoheader gmake perl:run
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/mysql
# reset the platform diff on SunOS unless it's a GNU diff
# which is required by the MySQL build
.if ${OPSYS} == "SunOS" && empty(TOOLS_PLATFORM.diff:Mgdiff)
TOOLS_PLATFORM.diff= # empty
.endif
Changes 5.1.71: Functionality Added or Changed * comp_err now checks to make sure that new errors are not being added to MySQL 5.1 or 5.5 because the set of errors for these series is frozen. Bugs Fixed * InnoDB: During an insert buffer merge, InnoDB would invoke lock_rec_restore_from_page_infimum() on a potentially invalid record pointer. * InnoDB: The page_zip_validate() consistency check would fail after compressing a page, in page_zip_compress(). This problem was caused by page_zip_decompress(), which would fail to set heap_no correctly when a record contained no user data bytes. A record with no user data bytes occurs when, for example, a primary key is an empty string and all secondary index fields are NULL or an empty string. * InnoDB: The pthread_mutex, commit_threads_m, which was initialized but never used, has been removed from the code base. * Partitioning: When dropping a partitioned table, the table's .par file was deleted first, before the table definition or data. This meant that, if the server failed during the drop operation, the table could be left in an inconsistent state in which it could neither be accessed nor dropped. * Shared-compatibility conflict errors occurred for RPM install operations, even if no shared-compatibility RPMs were already installed. * A user variable referenced during execution of a prepared statement is set to memory that is freed at the end of execution. A second execution of the statement could result in Valgrind warnings when accessing this memory. * Misoptimization of left expressions in prepared statements could cause a server exit. * Subsequent to Prepared statement needs to be re-prepared errors, inserts into DECIMAL columns caused a server exit. * Assigning the result of a subquery to a user variable raised an assertion when the outer query included DISTINCT and GROUP BY.
2013-08-04 12:20:24 +02:00
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
2016-02-25 12:46:20 +01:00
SUBST_CLASSES.Darwin+= dylib
SUBST_STAGE.dylib= pre-configure
SUBST_FILES.dylib= configure
SUBST_SED.dylib= -e "s|\\\$$shrext_cmds|\\.dylib|g"
pre-configure:
${RM} -f ${WRKSRC}/configure~
cd ${WRKSRC} && autoconf && autoheader
.include "../../mk/curses.buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"