pkgsrc/databases/mysql56-server/Makefile

97 lines
3.2 KiB
Makefile
Raw Normal View History

2020-08-31 20:06:29 +02:00
# $NetBSD: Makefile,v 1.44 2020/08/31 18:06:56 wiz Exp $
PKGNAME= ${DISTNAME:S/-/-server-/}
2020-08-31 20:06:29 +02:00
PKGREVISION= 1
COMMENT= MySQL 5, a free SQL database (server)
CONFLICTS= mysql3-server-[0-9]*
.include "../../databases/mysql56-client/Makefile.common"
CMAKE_ARGS+= -DWITH_LIBWRAP=ON
2013-04-01 03:18:00 +02:00
CMAKE_ARGS+= -DINSTALL_INFODIR=${PKGINFODIR}
.if !empty(PKG_OPTIONS:Membedded-server)
CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER=ON
PLIST.embedded= yes
.else
CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER=OFF
# We only need readline to placate the configure script if we don't build
# the embedded server as it is the only binary linked against "readline".
BUILDLINK_DEPMETHOD.readline= build
.endif
# ndb-cluster does not configure with cmake
#.if !empty(PKG_OPTIONS:Mndb-cluster)
#CMAKE_ARGS+= -DWITH_NDBCLUSTER_STORAGE_ENGINE=ON
#REPLACE_PERL+= storage/ndb/tools/ndb_error_reporter
#REPLACE_PERL+= storage/ndb/tools/ndb_size.pl
#PLIST.ndb= yes
#.endif
PLIST_VARS+= embedded ndb auth_socket
.if ${OPSYS} == "Linux"
PLIST.auth_socket= yes
.endif
PTHREAD_OPTS+= require
CONF_FILES+= share/mysql/my-default.cnf ${PKG_SYSCONFDIR}/my.cnf
PKG_GROUPS= ${MYSQL_GROUP}
PKG_USERS= ${MYSQL_USER}:${MYSQL_GROUP}
PKG_GECOS.${MYSQL_USER}= MySQL database administrator
PKG_HOME.${MYSQL_USER}= ${MYSQL_DATADIR}
PKG_SHELL.${MYSQL_USER}= ${SH}
RCD_SCRIPTS= mysqld
SMF_NAME= mysql
SMF_METHODS= ${RCD_SCRIPTS}
FILES_SUBST+= HOSTNAME_CMD=${HOSTNAME_CMD:Q}
FILES_SUBST+= MYSQL_DATADIR=${MYSQL_DATADIR}
FILES_SUBST+= MYSQL_USER=${MYSQL_USER} MYSQL_GROUP=${MYSQL_GROUP}
FILES_SUBST+= MYSQL_PIDFILE=${MYSQL_PIDFILE}
MESSAGE_SUBST+= MYSQL_DATADIR=${MYSQL_DATADIR}
MESSAGE_SUBST+= MYSQL_USER=${MYSQL_USER} MYSQL_GROUP=${MYSQL_GROUP}
BUILD_DEFS+= MYSQL_DATADIR
REPLACE_PERL+= sql-bench/*.sh
REPLACE_PERL+= mysql-test/lib/v1/mysql-test-run.pl
REPLACE_PERL+= mysql-test/mysql-stress-test.pl
REPLACE_PERL+= mysql-test/mysql-test-run.pl
REPLACE_PERL+= mysql-test/std_data/checkDBI_DBD-mysql.pl
REPLACE_PERL+= mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl
REPLACE_PERL+= mysql-test/suite/funcs_1/lib/DataGen_local.pl
REPLACE_PERL+= mysql-test/suite/funcs_1/lib/DataGen_modify.pl
REPLACE_PERL+= mysql-test/suite/funcs_2/lib/gen_charset_utf8.pl
2016-09-08 11:38:08 +02:00
REPLACE_PERL+= mysql-test/suite/opt_trace/validate_json.pl
REPLACE_PERL+= mysql-test/suite/rpl/extension/bhs.pl
REPLACE_PERL+= mysql-test/suite/rpl/extension/checksum.pl
Changes 5.6.20: Security Fix: The linked OpenSSL library for the MySQL 5.6 Commercial Server has been updated from version 1.0.1g to version 1.0.1h. Versions of OpenSSL prior to and including 1.0.1g are reported to be vulnerable to CVE-2014-0224. This change does not affect the Oracle-produced MySQL Community build of MySQL Server 5.6, which uses the yaSSL library instead. DTrace Support MySQL now includes DTrace support on Oracle Linux 6 or higher with UEK kernel. If DTrace is present, server builds will detect it with no special CMake options required. For information about using DTrace on MySQL, see Tracing mysqld Using DTrace. InnoDB Notes Important Change: Redo log writes for large, externally stored BLOB fields could overwrite the most recent checkpoint. The 5.6.20 patch limits the size of redo log BLOB writes to 10% of the redo log file size. The 5.7.5 patch addresses the bug without imposing a limitation. For MySQL 5.5, the bug remains a known limitation. As a result of the redo log BLOB write limit introduced for MySQL 5.6, innodb_log_file_size should be set to a value greater than 10 times the largest BLOB data size found in the rows of your tables plus the length of other variable length fields (VARCHAR, VARBINARY, and TEXT type fields). Failing to do so could result in “Row size too large” errors. No action is required if your innodb_log_file_size setting is already sufficiently large or your tables contain no BLOB data. Functionality Added or Changed Replication: The new system variable binlog_impossible_mode controls what happens if the server cannot write to the binary log, for example, due to a file error. For backward compatibility, the default for binlog_impossible_mode is IGNORE_ERROR, meaning the server logs the error, halts logging, and continues updates to the database. Setting this variable to ABORT_SERVER makes the server halt logging and shut down if it cannot write to the binary log. CMake support was updated to handle CMake version 3. New Debian7, Ubuntu12.04, and Ubuntu14.04 distribution support that was introduced with 5.6.17 now comes with the platform-specific packaging source placed under the packaging directory, in the deb-precise, deb-wheezy, and deb-trusty directories. Support for LinuxThreads has been removed from the source code. LinuxThreads was superseded by NPTL in Linux 2.6. By default, mysql_install_db creates a my.cnf file in the installation base directory using a template. This may be undesireable for some deployments. To enable this behavior to be suppressed, mysql_install_db now supports a --keep-my-cnf option to preserve any existing my.cnf file and not create a new my.cnf file. The mysqlhotcopy utility is now deprecated and will be removed in a future version of MySQL. Among the reasons for this: It works only for the MyISAM and ARCHIVE storage engines; it works on Unix but not Windows. Alternatives include mysqldump and MySQL Enterprise Backup. The timed_mutexes system variable has no effect and is deprecated. Bugs Fixed
2014-08-10 17:11:57 +02:00
REPLACE_SH+= mysql-test/suite/rpl/t/rpl_loaddata_symlink-master.sh
REPLACE_SH+= mysql-test/suite/rpl/t/rpl_loaddata_symlink-slave.sh
REPLACE_SH+= mysql-test/suite/rpl/t/rpl_misc_functions-slave.sh
REPLACE_SH+= mysql-test/t/long_tmpdir-master.sh
REPLACE_SH+= mysql-test/t/lowercase_mixed_tmpdir-master.sh
REPLACE_SH+= mysql-test/t/lowercase_mixed_tmpdir_innodb-master.sh
mysql56-{client,server}: updated to 5.6.43 Changes in MySQL 5.6.43: Functionality Added or Changed Microsoft Windows: The access control granted to clients on the named pipe created by the MySQL server now is set to the minimum necessary for successful communication on Windows. Newer MySQL client software can open named pipe connections without any additional configuration. If older client software cannot be upgraded immediately, the new named_pipe_full_access_group server system variable can be used to give a Windows group the necessary permissions to open a named pipe connection. Membership in the full-access group should be restricted and temporary. Bugs Fixed Replication: A patch to correct the handling of quotes for identifiers in ROLLBACK TO SAVEPOINT statements in the binary log was not correctly applied to subsequent MySQL versions. Replication: In some circumstances, the CHANGE MASTER TO statement could not be used on a replication slave if the master info log had been changed from a table (master_info_repository=TABLE) into a file (master_info_repository=FILE). Replication: The value returned by a SHOW SLAVE STATUS statement for the total combined size of all existing relay log files (Relay_Log_Space) could become much larger than the actual disk space used by the relay log files. The I/O thread did not lock the variable while it updated the value, so the SQL thread could automatically delete a relay log file and write a reduced value before the I/O thread finished updating the value. The I/O thread then wrote its original size calculation, ignoring the SQL thread's update and so adding back the space for the deleted file. The Relay_Log_Space value is now locked during updates to prevent concurrent updates and ensure an accurate calculation. Replication: If the relay log index file was temporarily locked for viewing by a backup process for a replication slave, and MySQL Server also attempted to access the file at that time for rename or delete operations, the backup completed with warnings, but MySQL Server experienced an unexpected halt. MySQL Server now retries the file access operation a number of times in case this or a similar scenario is the explanation and the file becomes available again before long. The server permitted creation of databases with the same name as redo log files, which could result in unexpected server behavior. Such names are no longer permitted as database names. When a subquery contained a UNION, the count of the number of subquery columns was calculated incorrectly. Comparing log file names as strings using the memcmp() function resulted in uninitialized memory read errors. The comparison now uses the strncmp() function. Thanks to Zsolt Parragi and Laurynas Biveinis for their contributions. The transformation of IN subquery predicates into semijoins was not handled correctly for a very large number of tables. Executing a prepared statement to do a multiple-row insert with large number of placeholders consumed excessive memory and could execute slowly. The parser accepted invalid SET statement syntax in trigger definitions that could result in a server exit. MyISAM index corruption could occur for bulk-insert and table-repair operations that involve the repair-by-sorting algorithm and many (more than 450 million) rows. A query employing a dynamic range and an index merge could use more memory than expected.
2019-02-05 21:06:06 +01:00
CHECK_INTERPRETER_SKIP+= share/mysql/test/std_data/dtrace.d
INSTALLATION_DIRS+= bin
mysql56: updated to 5.6.42 Changes in MySQL 5.6.42 Functionality Added or Changed * Previously, file I/O performed in the I/O cache in the mysys library was not instrumented, affecting in particular file I/O statistics reported by the Performance Schema about the binary log index file. Now, this I/O is instrumented and Performance Schema statistics are accurate. Thanks to Yura Sorokin for the contribution. * The zlib library version bundled with MySQL was raised from version 1.2.3 to version 1.2.11. MySQL implements compression with the help of the zlib library. * The zlib compressBound() function in zlib 1.2.11 returns a slightly higher estimate of the buffer size required to compress a given length of bytes than it did in zlib version 1.2.3. The compressBound() function is called by InnoDB functions that determine the maximum row size permitted when creating compressed InnoDB tables or inserting rows into compressed InnoDB tables. As a result, CREATE TABLE ... ROW_FORMAT=COMPRESSED or INSERT operations with row sizes very close to the maximum row size that were successful in earlier releases could now fail. Bugs Fixed * InnoDB: An ALTER TABLE operation that added a primary key produced a segmentation fault. * InnoDB: An assertion was raised during an OPTIMIZE TABLE operation. * InnoDB: A foreign key constraint name was duplicated during a rename table operation, causing a failure during later query execution. * InnoDB: The location of the Innodb Merge Temp File that reported by the wait/io/file/innodb/innodb_temp_file Performance Schema instrument was incorrect. * Replication: When FLUSH statements for specific log types (such as FLUSH SLOW LOGS) resulted in an error, the statements were still written to the binary log. This stopped replication because the error had occurred on the master, but did not occur on the slave. MySQL Server now checks on the outcome of these FLUSH statements, and if an error occurred, the statement is not written to the binary log. * Microsoft Windows: On Windows, uninstallation of the MySQL Server MSI package through MySQL Installer produced a spurious popup window. * Concurrent INSERT and SELECT statements on a MERGE table could result in a server exit. * MySQL Server and test RPM packages were missing perl-Data-Dumper as a dependency. * For the mysql client, the -b short option was associated with two long options, --no-beep and --binary-as-hex. The -b option now is associated only with --no-beep. * Very long table keys were handled incorrectly on replication slaves. * During server startup/shutdown, PID files could be mishandled. * For MEMORY tables, memory overflow errors could occur. * When converting from a BLOB (or TEXT) type to a smaller BLOB (or TEXT) type, no warning or error was reported informing about the truncation or data loss. Now an appropriate error is issued in strict SQL mode and a warning in nonstrict SQL mode. * Failure to create a temporary table during a MyISAM query could cause a server exit. Thanks to Facebook for the patch. * An attempted read of an uncommitted transaction raised an assertion. * ALTER TABLE ... REORGANIZE PARTITION ... could result in incorrect behavior if any partition other than the last was missing the VALUES LESS THAN part of the syntax. * yum update did not properly update from RHEL5 RPM packages to current packages. * It was possible for a subquery that used a unique key on a column allowing NULL to return multiple rows.
2018-11-22 12:53:33 +01:00
TEST_TARGET= test
.include "../../mk/compiler.mk"
.if !empty(PKGSRC_COMPILER:Msunpro)
CFLAGS+= -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__
CXXFLAGS+= -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__
.endif
BUILDLINK_AUTO_DIRS.mysql-client= no
.include "../../databases/mysql56-client/buildlink3.mk"
.include "../../security/tcp_wrappers/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"