head 1.4; access; symbols pkgsrc-2024Q2:1.3.0.38 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.36 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.34 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.32 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.30 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.28 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.26 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.24 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.22 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.20 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.18 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.16 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.14 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.12 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.10 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.8 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.6 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.2 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.4 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.2.0.14 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.12 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.10 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.8 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.6 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.4 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.2 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.1.0.14 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.12 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.8 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.6 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.4 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.2 pkgsrc-2016Q3-base:1.1; locks; strict; comment @# @; 1.4 date 2024.08.05.06.30.30; author wiz; state dead; branches; next 1.3; commitid bBHFyVW9uHUXcBkF; 1.3 date 2019.10.14.20.19.29; author adam; state Exp; branches; next 1.2; commitid mlwwAvuckvsahSGB; 1.2 date 2018.01.16.16.29.42; author adam; state Exp; branches; next 1.1; commitid ltBwAcA6kHTvr7nA; 1.1 date 2016.09.16.06.49.11; author adam; state Exp; branches; next ; commitid bzWTDZHvVHlQStmz; desc @@ 1.4 log @mysql* 5.6, 5.7: remove As proposed on pkgsrc-users on July 26. These versions are unsupported by upstream since 2018 and 2020 respectively. @ text @$NetBSD: patch-client_CMakeLists.txt,v 1.3 2019/10/14 20:19:29 adam Exp $ Split configuration between mysql-client and mysql-server. --- client/CMakeLists.txt.orig 2019-09-27 07:00:15.000000000 +0000 +++ client/CMakeLists.txt @@@@ -38,17 +38,21 @@@@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compil ## Subdirectory with common client code. ADD_SUBDIRECTORY(base) +IF(WITHOUT_SERVER) ## Subdirectory for mysqlpump code. ADD_SUBDIRECTORY(dump) +ENDIF() INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) ADD_DEFINITIONS(${SSL_DEFINES}) +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc) TARGET_LINK_LIBRARIES(mysql mysqlclient) IF(UNIX) TARGET_LINK_LIBRARIES(mysql ${EDITLINE_LIBRARY}) ENDIF(UNIX) +ENDIF() IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_upgrade @@@@ -61,14 +65,17 @@@@ TARGET_LINK_LIBRARIES(mysql_upgrade mysq ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema) ENDIF() +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test) SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS") TARGET_LINK_LIBRARIES(mysqltest mysqlclient regex) ADD_DEPENDENCIES(mysqltest GenError) +ENDIF() ADD_CONVENIENCE_LIBRARY(mysqlcheck_core check/mysqlcheck_core.cc) TARGET_LINK_LIBRARIES(mysqlcheck_core mysqlclient) +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqlcheck check/mysqlcheck.cc) TARGET_LINK_LIBRARIES(mysqlcheck mysqlcheck_core) @@@@ -81,10 +88,14 @@@@ TARGET_LINK_LIBRARIES(mysqlimport mysqlc MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c) TARGET_LINK_LIBRARIES(mysqlshow mysqlclient) +ENDIF() +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c) TARGET_LINK_LIBRARIES(mysql_plugin mysqlclient) +ENDIF() +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc) ADD_COMPILE_FLAGS( mysqlbinlog.cc @@@@ -101,9 +112,12 @@@@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc) TARGET_LINK_LIBRARIES(mysql_config_editor ${FORCE_SSL_SOLARIS} mysqlclient) +ENDIF() +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_secure_installation mysql_secure_installation.cc) TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient) +ENDIF() IF(UNIX AND NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_install_db @@@@ -116,23 +130,30 @@@@ IF(UNIX AND NOT WITHOUT_SERVER) ADD_DEPENDENCIES(mysql_install_db GenBootstrapPriv GenSysSchema) ENDIF() +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc) TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl) SET_TARGET_PROPERTIES(mysql_ssl_rsa_setup PROPERTIES LINKER_LANGUAGE CXX) +ENDIF() # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". IF(WIN32) MYSQL_ADD_EXECUTABLE(echo echo.c) ENDIF(WIN32) +IF(WITHOUT_SERVER) SET_TARGET_PROPERTIES ( - mysql_plugin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap PROPERTIES HAS_CXX TRUE) +ELSE() +SET_TARGET_PROPERTIES ( + mysql_plugin +PROPERTIES HAS_CXX TRUE) +ENDIF() ADD_DEFINITIONS(-DHAVE_DLOPEN) @ 1.3 log @mysql57: updated to 5.7.28 Changes in MySQL 5.7.28 Configuration Notes It is now possible to compile MySQL 5.7 using OpenSSL 1.1.1, enabling compilation support for MySQL 5.7 against OpenSSL even when OpenSSL 1.0.2 reaches End of Life status at the end of 2019. All MySQL 5.7 builds now use OpenSSL. MySQL no longer supports using yaSSL as the SSL library, and source distributions no longer include yaSSL. The WITH_SSL CMake option no longer permits bundled (use yaSSL) as a valid value, and the default option value has changed from bundled to system (use the version of OpenSSL installed on the host system). sys Schema Notes The sys.schema_unused_indexes view now filters out unique indexes. The sys.ps_is_consumer_enabled() function now produces an error rather than returning NULL if the argument is an unknown non-NULL consumer name. Previously, sys schema sources were maintained in a separate Git repository. sys schema sources now are included with and maintained within MySQL source distributions (under scripts/sys_schema). The sys.version view is deprecated and will be removed in a future MySQL version. Affected applications should be adjusted to use an alternative instead. For example, use the VERSION() function to retrieve the MySQL server version. Bugs Fixed InnoDB: An ALTER TABLE ... ENCRYPTION = 'Y' operation on a MyISAM table failed to raise an error indicating that the storage engine does not support encryption. The INPLACE algorithm did not check encryption support before updating metadata in the .frm file. To address this issue, an encryption support flag was added. The ALTER TABLE ... ENCRYPTION = 'Y' operation now checks the flag and reports an error if the storage engine does not support encryption. InnoDB: Delete marked rows were able to acquire an external read lock before a partial rollback was completed. The external read lock prevented conversion of an implicit lock to an explicit lock during the partial rollback, causing an assertion failure. InnoDB: A long running ALTER TABLE ... ADD INDEX operation with concurrent inserts caused semaphore waits. Replication: A deadlock involving three threads could occur if a START SLAVE statement was issued to start the SQL thread on a slave while the SQL thread was still in the process of being stopped, and a request for the slave status was made at the same time. The issue has now been fixed by releasing a lock earlier while the SQL thread is being stopped. Replication: A locking issue in the WAIT_FOR_EXECUTED_GTID_SET() function could cause the server to hang in certain circumstances. The issue has now been corrected. Replication: On a multi-threaded slave with GTIDs in use and MASTER_AUTO_POSITION set to ON, following an unexpected halt the slave would attempt relay log recovery, which failed if relay logs had been lost, preventing replication from starting. However, this step was unnecessary as GTID auto-positioning can be used to restore any missing transactions. In a recovery situation, the slave now checks first whether MASTER_AUTO_POSITION is set to ON, and if it is, skips relay log recovery. When generating C source from SQL scripts, Some utf8-encoded characters were split across lines. Thanks to Przemysław Skibiński for the patch. For Solaris, mysqld.cc contained a prototype for memcntl() that is no longer needed. The prototype has been removed. For Solaris, -DWITH_SSL=system did not work when compiling with GCC. MySQL builds configured with -DWITHOUT_SERVER=1 failed. For the keyring_aws plugin, some valid region values for the keyring_aws_region system variable were rejected. For debug builds, an assertion could be raised during UNION queries when computing the combined data type of a GEOMETRY column and SELECT * FROM (SELECT NULL). For authentication using an LDAP authentication plugin, if the user DN portion was empty and group mapping was configured, authentication assigned an incorrect user DN and skipped the user search. mysqlpump produced an error when run against a server older than MySQL 5.7. A possible integer overflow due to unsigned integer type casting could lead to later buffer overflow due to arbitrary size memory allocation. Attempted use of a freed object during MeCab plugin initialization caused a segmentation fault. For MySQL installed using RPM packages, an initialization script that tested server connectivity misbehaved if the client account authenticated using an LDAP authentication plugin. Improper locking during storage engine initialization could cause a server exit. On a GTID-enabled server, concurrent execution of DROP USER and a prepared statement that accessed a view could deadlock. A query with a WHERE clause whose predicate contained a numeric value in scientific notation was not handled correctly. VS2019 produced compilation errors with debug compilation selected due to use of the /ZI flag. Now /Z7 is used instead. The client library could dereference a null pointer while fetching result set metadata from the server. In READ UNCOMMITTED isolation level, a segmentation fault occurred under heavy load from memcached clients. An externally stored BLOB column that was being updated by one transaction was read by another transaction as having a NULL value and a non-zero data length. Arguments for the TIMESTAMPADD() function could be reversed for prepared statements. With the thread_pool plugin enabled, the sys.processlist and sys.session views displayed a thread name rather than the actual user name. The delete_latency column in the sys.schema_index_statistics view incorrectly referred to the SUM_TIMER_INSERT column of the Performance Schema table_io_waits_summary_by_index_usage table rather than the SUM_TIMER_DELETE column. In output from the sys.diagnostics() procedure, the latency column for the user_summary_by_file_io_type view was incorrectly displayed in raw picoseconds rather than as a formatted value. MySQL Enterprise Encryption functions could apply Diffie-Hellman (DH) methods to non-DH keys, resulting in unpredictable results or server exit. Password masking was incomplete for SHOW PROCESSLIST and some INFORMATION_SCHEMA and Performance Schema tables. The -DWITH_EXAMPLE_STORAGE_ENGINE=1 CMake option was ignored but should not have been. If -DWITH_EXAMPLE_STORAGE_ENGINE=0 is given, the EXAMPLE storage engine is built as a plugin. @ text @d1 1 a1 1 $NetBSD: patch-client_CMakeLists.txt,v 1.2 2018/01/16 16:29:42 adam Exp $ @ 1.2 log @mysql57: updated to 5.7.21 MySQL 5.7.21 Audit Log Notes * MySQL Enterprise Audit now supports compression and encryption of audit log files. Encryption is based on a user-defined password. To use this feature, the MySQL keyring must be enabled because audit logging uses it for password storage. MySQL Enterprise Audit also now supports logging in JSON format, in addition to the existing XML formats. For JSON format, functions are available that provide runtime log reading capabilities. For additional information, see MySQL Enterprise Audit. Configuration Notes * For RHEL, SLES, and Fedora RPMs, the default plugin directory for debug builds has been changed from /usr/lib64/mysql/plugin to /usr/lib64/mysql/plugin/debug. * The installation scripts for MySQL Enterprise Audit and MySQL Enterprise Firewall now create their associated tables in the mysql system database as InnoDB rather than MyISAM tables. * The hardcoded memory page size of 8KB for the memory-mapped transaction coordinator was too small for platforms such as ARM64 and PowerPC where the page size is much larger. The server now invokes a system call to get the page size of the current platform rather than using a hardcoded value. A consequence for the --log-tc-size option is that the minimum and default values are now 6 times the page size. Also, the value must be a multiple of the page size. Thanks to Alexey Kopytov for the patch. Performance Schema Notes * The Performance Schema setup_timers table is now deprecated, to be removed in MySQL 8.0, as is the TICK row in the performance_timers table. Pluggable Authentication * For the LDAP authentication plugins, handling of the group search attribute indicated by the authentication_ldap_sasl_group_search_attr and authentication_ldap_simple_group_search_attr system variables is more flexible. If the group search attribute is isMemberOf, LDAP authentication directly retrieves the user attribute isMemberOf value and assign it as group information. If the group search attribute is not isMemberOf, LDAP authentication searches for all groups where the user is a member. (The latter is the default behavior.) This behavior is based on how LDAP group information can be stored two ways: 1) A group entry can have an attribute named memberUid or member with a value that is a user name; 2) A user entry can have an attribute named isMemberOf with values that are group names. * The LDAP authentication plugins now permit the authentication string that provides user DN information to begin with a + character. In the absence of this character, the authentication string value is treated as is without modification, as it has been previously. If the authentication string begins with +, the plugin constructs the full user DN value from the account user name as the cn attribute value, together with the authentication string (with the + removed). The authentication string is stored as given in the mysql.user system table, with the full user DN constructed on the fly before authentication. * For the LDAP authentication plugins, the group search attribute was fixed and not configurable. Two new system variables now enable using custom group filters: authentication_ldap_sasl_group_search_filter and authentication_ldap_simple_group_search_filter. Security Notes * Incompatible Change: Passwords are now restricted to a maximum of 256 characters for the sha256_password authentication plugin, and for the PASSWORD() function when old_passwords=2. Also, the number of password hashing rounds is capped to limit CPU time used. * The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2n. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html. * This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. * MySQL now supports key migration between underlying keyring keystores. This enables DBAs to switch a MySQL installation from one keyring plugin to another. See Migrating Keys Between Keyring Keystores. * MySQL Enterprise Edition now includes a keyring plugin, keyring_encrypted_file, that is similar to the keyring_file plugin in its use of a local data file for key storage, but that also encrypts the file based on a user-defined password. See Using the keyring_encrypted_file Keyring Plugin. @ text @d1 1 a1 1 $NetBSD: patch-client_CMakeLists.txt,v 1.1 2016/09/16 06:49:11 adam Exp $ d5 1 a5 1 --- client/CMakeLists.txt.orig 2017-12-28 03:46:26.000000000 +0000 d7 1 a7 1 @@@@ -32,8 +32,10 @@@@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compil a15 3 ## We will need libeay32.dll and ssleay32.dll when running client executables. COPY_OPENSSL_DLLS(copy_openssl_client) @@@@ -41,11 +43,13 @@@@ COPY_OPENSSL_DLLS(copy_openssl_client) d29 1 a29 1 @@@@ -58,14 +62,17 @@@@ TARGET_LINK_LIBRARIES(mysql_upgrade mysq d47 1 a47 1 @@@@ -78,10 +85,14 @@@@ TARGET_LINK_LIBRARIES(mysqlimport mysqlc d62 1 a62 1 @@@@ -98,9 +109,12 @@@@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli d65 1 a65 1 TARGET_LINK_LIBRARIES(mysql_config_editor mysqlclient) d75 1 a75 1 @@@@ -113,23 +127,30 @@@@ IF(UNIX AND NOT WITHOUT_SERVER) @ 1.1 log @MySQL is a SQL (Structured Query Language) database server. SQL is the most popular database language in the world. MySQL is a client-server implementation that consists of a server daemon `mysqld' and many different client programs/libraries. The main goals of MySQL are speed and robustness. The base upon which MySQL is built is a set of routines that have been used in a highly demanding production environment for many years. While MySQL is still in development it already offers a rich and highly useful function set. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 --- client/CMakeLists.txt.orig 2016-03-28 18:06:12.000000000 +0000 d32 1 a32 1 @@@@ -58,16 +62,18 @@@@ TARGET_LINK_LIBRARIES(mysql_upgrade mysq d40 1 a48 3 - MYSQL_ADD_EXECUTABLE(mysqldump mysqldump.c ../sql-common/my_user.c) TARGET_LINK_LIBRARIES(mysqldump mysqlclient) d50 1 a50 1 @@@@ -77,10 +83,14 @@@@ TARGET_LINK_LIBRARIES(mysqlimport mysqlc d65 1 a65 1 @@@@ -97,9 +107,12 @@@@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli d78 1 a78 1 @@@@ -112,23 +125,30 @@@@ IF(UNIX AND NOT WITHOUT_SERVER) @