pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/databases



Module Name:    pkgsrc
Committed By:   adam
Date:           Fri Feb 16 22:01:10 UTC 2024

Modified Files:
        pkgsrc/databases/mysql80-client: Makefile Makefile.common PLIST
            distinfo
        pkgsrc/databases/mysql80-client/patches: patch-CMakeLists.txt
            patch-cmake_zlib.cmake
        pkgsrc/databases/mysql80-server: Makefile

Log Message:
mysql80: updated to 8.0.36

Changes in MySQL 8.0.36

Audit Log Notes

In some cases, calling audit_log_read( audit_log_read_bookmark() ) led to an Out of memory error.

Compilation Notes

Microsoft Windows: MySQL did not compile correctly using Visual Studio 2022.

Improved the -DWITH_ZLIB=system check.

For compiling on Linux, changed the no-error=deprecated-declarations flag to no-deprecated-declarations for the OpenSSL 3 library.

Our thanks to karry zhang for the contribution.

Optimizer Notes

The hashing algorithm employed yielded poor performance when using a HASH field to check for uniqueness.

Packaging Notes

Important Change: The GnuPG build key (A8D3785C) used to sign MySQL downloadable packages has been updated. The previous GnuPG build key (3A79BD29) expired on 2023-12-14. For information about 
verifying the integrity and authenticity of MySQL downloadable packages using GnuPG signature checking, or to obtain a copy of our public GnuPG build key, see Signature Checking Using GnuPG.

Due to the GnuPG key update, systems configured to use repo.mysql.com may report a signature verification error when upgrading to MySQL 8.0.36 and higher or to MySQL 8.3.0 and higher using apt or 
yum. Use one of the following methods to resolve this issue:

Manually reinstall the MySQL APT or YUM repository setup package from https://dev.mysql.com/downloads/.

Download the MySQL GnuPG public key and add it your system GPG keyring.

Performance Schema Notes

When executing a stored program, the Performance Schema instrumentation caused some unnecessary overhead.

As of this release, all stored procedure micro instructions (statement/sp/%), except statement/sp/stmt, are disabled by default.

The performance of the Performance Schema statement instrumentation has been improved. Specifically, collecting MESSAGE_TEXT data is now more efficient.

Pluggable Authentication

Beginning with this release, the behavior of the AUTHENTICATION_PAM_LOG environment variable used in debugging the PAM authentication plugin is changed as follows:

Setting AUTHENTICATION_PAM_LOG to an arbitrary value (except as noted in the next item) no longer includes passwords in its diagnostic messages.

To include passwords in the diagnostic messages, set AUTHENTICATION_PAM_LOG=PAM_LOG_WITH_SECRET_INFO.

For more information, see PAM Authentication Debugging.

Functionality Added or Changed

Important Change: For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for MySQL Server has been updated to version 3.0.12. Issues fixed in OpenSSL version 3.0.12 are 
described at https://www.openssl.org/news/cl30.txt.

Bugs Fixed

InnoDB: The hash function used by the adaptive hash index (AHI) was improved to increase performance.

InnoDB: If change buffer entries are present during startup, a disabled innodb_validate_tablespace_paths option will no longer be enforced and instead the MySQL server will proceed to validate all 
tablespaces. Otherwise, secondary indexes could end up corrupted.

InnoDB: During concurrent DDL and DML operations, DDL could fail if the online log grew too large. Buffer handling was improved to prevent this issue.

Replication: An issue with calculating the current number of bytes used for Log_event events in Performance Schema memory instrumentation made it appear as though the sql/replica_sql thread on the 
replica grew endlessly and never decreased in size.

Replication: Stopping replication while replicating CREATE TABLE AS SELECT caused the server to exit.

Group Replication: A forced START GROUP_REPLICATION while a replication channel was in an error state could lead to an unplanned server exit.

For building Enterprise Linux 8 RPMs, the build scripts now point to a newer strip command (under /opt/rh/gcc-toolset-12), and they now check that the corresponding dwz tool is available.

In some cases, calling a loadable function installed by an improperly initialized plugin caused an unplanned shutdown.

Found and fixed an assertion failure at handler::ha_index_end() in handler.cc.

When the MYSQL_FIREWALL plugin was configured to use a custom schema, but failed to initialize properly during the server startup, subsequent errors and failures could occur.

Some nested queries with GROUP BY were not handled correctly.

References: This issue is a regression of:

In limited cases, passing data to the MD5() encryption function could halt the server.

Some subselects from views were not always handled correctly.

While performing an operation such as the bulk renaming of many tables, simultaneously executing a data definition statement similar to CREATE TABLE ... SELECT could stop the server unexpectedly.

UPDATE HISTOGRAM did not behave as expected in all cases.

UPDATE HISTOGRAM did not behave as expected in all cases.

EXPLAIN ANALYZE did not always produce the expected result.

An error occurred during subquery resolution.

References: This issue is a regression of:

Refreshing of used table information is now postponed to the start of the next execution, just after tables have been opened, and we know that all table objects are in a proper state.

Some HAVING queries did not produce expected results.

Some recursive CTEs did not function as expected.

Some queries using OVER (PARTITION ...) were not always executed successfully.

Some subqueries with ROLLUP were not always handled correctly.

Removed the CPACK_COMPONENT_GROUP_INFO_DISPLAY_NAME configuration option from the Windows installation MSI interface. Now the INFO_BIN and INFO_SRC files are always installed.

Some queries using windowing functions were not always handled correctly.

In debug builds, a case-altered column name could cause the server to exit.

MySQL Server installation packages contained two copies of the INFO_SRC file.

A SELECT statement within a prepared statement unexpectedly returned different results on successive executions.

References: This issue is a regression of:

Some SELECT DISTINCT queries were not always handled correctly.

Removed an assertion failure in sql/field.cc.

Sme queries having the form SELECT AVG(...) OVER (PARTITION BY ...) were not always handled correctly.

Upgrading MySQL using an official MySQL Yum or SUSE repository always enables the MySQL service. Now it enables the service only after installing, and preserves (and does not edit) the existing value 
while upgrading.

For a query with a derived condition pushdown where a column in the condition needs to be replaced, a matching item could not found, even when known to be present, when the replacement item was 
wrapped in a ROLLUP while the matching item was not.

References: This issue is a regression of:

Performing an arithmetic operation on the result over a window function in a stored procedure gave the correct result the first time the procedure was executed, but returned an incorrect result on 
all subsequent invocations.

References: See also:

MySQL did not build correctly using the musl version of libc.

Our thanks to Sam James for the contribution.

In some cases, selecting from a view leaked a small amount of memory.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 pkgsrc/databases/mysql80-client/Makefile
cvs rdiff -u -r1.10 -r1.11 pkgsrc/databases/mysql80-client/Makefile.common
cvs rdiff -u -r1.3 -r1.4 pkgsrc/databases/mysql80-client/PLIST
cvs rdiff -u -r1.11 -r1.12 pkgsrc/databases/mysql80-client/distinfo
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/databases/mysql80-client/patches/patch-CMakeLists.txt
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/databases/mysql80-client/patches/patch-cmake_zlib.cmake
cvs rdiff -u -r1.18 -r1.19 pkgsrc/databases/mysql80-server/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/databases/mysql80-client/Makefile
diff -u pkgsrc/databases/mysql80-client/Makefile:1.13 pkgsrc/databases/mysql80-client/Makefile:1.14
--- pkgsrc/databases/mysql80-client/Makefile:1.13       Wed Nov  8 13:18:27 2023
+++ pkgsrc/databases/mysql80-client/Makefile    Fri Feb 16 22:01:10 2024
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.13 2023/11/08 13:18:27 wiz Exp $
+# $NetBSD: Makefile,v 1.14 2024/02/16 22:01:10 adam Exp $
 
 PKGNAME=       ${DISTNAME:S/-/-client-/}
-PKGREVISION=   3
 COMMENT=       MySQL 8, a free SQL database (client)
 
 CONFLICTS=     mysql3-client-[0-9]* mariadb-client-[0-9]*

Index: pkgsrc/databases/mysql80-client/Makefile.common
diff -u pkgsrc/databases/mysql80-client/Makefile.common:1.10 pkgsrc/databases/mysql80-client/Makefile.common:1.11
--- pkgsrc/databases/mysql80-client/Makefile.common:1.10        Fri Dec  1 11:03:36 2023
+++ pkgsrc/databases/mysql80-client/Makefile.common     Fri Feb 16 22:01:10 2024
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.10 2023/12/01 11:03:36 nia Exp $
+# $NetBSD: Makefile.common,v 1.11 2024/02/16 22:01:10 adam Exp $
 #
 # used by databases/mysql80-client/Makefile
 # used by databases/mysql80-server/Makefile
 
-DISTNAME=      mysql-8.0.33
+DISTNAME=      mysql-8.0.36
 CATEGORIES=    databases
 MASTER_SITES=  https://cdn.mysql.com/Downloads/MySQL-8.0/
 DISTFILES=     mysql-boost-${PKGVERSION_NOREV}${EXTRACT_SUFX}

Index: pkgsrc/databases/mysql80-client/PLIST
diff -u pkgsrc/databases/mysql80-client/PLIST:1.3 pkgsrc/databases/mysql80-client/PLIST:1.4
--- pkgsrc/databases/mysql80-client/PLIST:1.3   Tue May 23 21:01:12 2023
+++ pkgsrc/databases/mysql80-client/PLIST       Fri Feb 16 22:01:10 2024
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2023/05/23 21:01:12 adam Exp $
+@comment $NetBSD: PLIST,v 1.4 2024/02/16 22:01:10 adam Exp $
 bin/mysql
 bin/mysql_client_test
 bin/mysql_config
@@ -29,7 +29,7 @@ include/mysql/mysqld_error.h
 lib/libmysqlclient.a
 lib/libmysqlclient.so
 lib/libmysqlclient.so.21
-lib/libmysqlclient.so.21.2.33
+lib/libmysqlclient.so.21.2.36
 lib/pkgconfig/mysqlclient.pc
 man/man1/comp_err.1
 man/man1/ibd2sdi.1

Index: pkgsrc/databases/mysql80-client/distinfo
diff -u pkgsrc/databases/mysql80-client/distinfo:1.11 pkgsrc/databases/mysql80-client/distinfo:1.12
--- pkgsrc/databases/mysql80-client/distinfo:1.11       Sun May 28 16:44:25 2023
+++ pkgsrc/databases/mysql80-client/distinfo    Fri Feb 16 22:01:10 2024
@@ -1,15 +1,15 @@
-$NetBSD: distinfo,v 1.11 2023/05/28 16:44:25 wiz Exp $
+$NetBSD: distinfo,v 1.12 2024/02/16 22:01:10 adam Exp $
 
-BLAKE2s (mysql-boost-8.0.33.tar.gz) = 6b64fb998afe1854c6a9168b82a11e4254d30d439d4730914863e86ea4ff9071
-SHA512 (mysql-boost-8.0.33.tar.gz) = 47f76819004c7c545d1b0b6b6646d8816899976f92d35c5564b1255b144b597ff7d3e674c721a45bcbb13cc0da3f4474fb29221c0e21d2ff91a1892cd42c636c
-Size (mysql-boost-8.0.33.tar.gz) = 438065679 bytes
-SHA1 (patch-CMakeLists.txt) = a1c3f95fab72031f4338a6b44b63551a6a388817
+BLAKE2s (mysql-boost-8.0.36.tar.gz) = c8833f108c824ea601c2b5984126a9dc9f52fc1838dc7f29056931bf6459209f
+SHA512 (mysql-boost-8.0.36.tar.gz) = a6c1c009a322b7e7aa2aa607573060414c847c77d48f44a24058ffb89673621f2ebbcc1a4448fa841a87ff721159cc8eaf44a57721c7dc233c130691c16a9d4a
+Size (mysql-boost-8.0.36.tar.gz) = 438154682 bytes
+SHA1 (patch-CMakeLists.txt) = b6867d0527e19f44734428ef54a51f178e045fd8
 SHA1 (patch-client_CMakeLists.txt) = 4fbaf94d43b6c58aa14712213c08b897bd6227cf
 SHA1 (patch-cmake_ldap.cmake) = 46f0df1109ca0886e0d0903a39e25278139f1849
 SHA1 (patch-cmake_os_SunOS.cmake) = 66a7d4386f07c68ae85a94d467465e6d1bec6b57
 SHA1 (patch-cmake_pkg-config.cmake) = 82498a310f8f428e26b722a40031bc1d6d272242
 SHA1 (patch-cmake_readline.cmake) = fb79ed969240ae2984098f72c2d3fb501154902c
-SHA1 (patch-cmake_zlib.cmake) = 963c2d5af00ed9df37ae261ae91a1ddae3415be9
+SHA1 (patch-cmake_zlib.cmake) = 375b61ecb5d533f9944f97e5e085792f997637b3
 SHA1 (patch-config.h.cmake) = e6debea316c5bb8338afb693d704007d45b3941f
 SHA1 (patch-configure.cmake) = b03de49ecb8d6ce58ef24f5dcd8f0a8c95eab592
 SHA1 (patch-include_CMakeLists.txt) = 289c1454d1b7e7fe8566187b3cefc722260993b6

Index: pkgsrc/databases/mysql80-client/patches/patch-CMakeLists.txt
diff -u pkgsrc/databases/mysql80-client/patches/patch-CMakeLists.txt:1.3 pkgsrc/databases/mysql80-client/patches/patch-CMakeLists.txt:1.4
--- pkgsrc/databases/mysql80-client/patches/patch-CMakeLists.txt:1.3    Tue May 23 21:01:12 2023
+++ pkgsrc/databases/mysql80-client/patches/patch-CMakeLists.txt        Fri Feb 16 22:01:10 2024
@@ -1,11 +1,27 @@
-$NetBSD: patch-CMakeLists.txt,v 1.3 2023/05/23 21:01:12 adam Exp $
+$NetBSD: patch-CMakeLists.txt,v 1.4 2024/02/16 22:01:10 adam Exp $
 
+HOMEBREW_HOME is provided by pkgsrc.
 Split configuration between mysql-client and mysql-server.
 Do not install documentation.
 
---- CMakeLists.txt.orig        2023-03-16 17:22:37.000000000 +0000
+--- CMakeLists.txt.orig        2023-12-12 18:09:36.000000000 +0000
 +++ CMakeLists.txt
-@@ -2185,11 +2185,12 @@ ENDIF()
+@@ -1697,14 +1697,6 @@ SET(SYSTEM_LIBRARIES
+   FIDO      # Homebrew  libfido2
+   )
+ 
+-IF(APPLE)
+-  # Homebrew default location is
+-  IF(APPLE_ARM)
+-    SET(HOMEBREW_HOME "/opt/homebrew/opt")
+-  ELSE()
+-    SET(HOMEBREW_HOME "/usr/local/opt")
+-  ENDIF()
+-ENDIF()
+ 
+ SET(WITH_SYSTEM_LIBS_DEFAULT OFF)
+ OPTION(WITH_SYSTEM_LIBS
+@@ -2207,11 +2199,12 @@ ENDIF()
  
  ADD_SUBDIRECTORY(client)
  ADD_SUBDIRECTORY(utilities)
@@ -20,7 +36,7 @@ Do not install documentation.
    ADD_SUBDIRECTORY(sql)
  ENDIF()
  
-@@ -2280,7 +2281,7 @@ IF(ENABLE_GCOV)
+@@ -2308,7 +2301,7 @@ IF(ENABLE_GCOV)
    INCLUDE(fastcov)
  ENDIF()
  
@@ -29,7 +45,7 @@ Do not install documentation.
    ADD_SUBDIRECTORY(man)
  ENDIF()
  
-@@ -2314,6 +2315,7 @@ SET_PROPERTY(DIRECTORY APPEND PROPERTY A
+@@ -2342,6 +2335,7 @@ SET_PROPERTY(DIRECTORY APPEND PROPERTY A
    "${CMAKE_BINARY_DIR}/library_output_directory"
    )
  
@@ -37,7 +53,7 @@ Do not install documentation.
  # Handle the "INFO_*" files.
  INCLUDE(${CMAKE_BINARY_DIR}/info_macros.cmake)
  # Source: This can be done during the cmake phase, all information is
-@@ -2327,7 +2329,6 @@ MY_ADD_CUSTOM_TARGET(INFO_SRC ALL
+@@ -2355,7 +2349,6 @@ MY_ADD_CUSTOM_TARGET(INFO_SRC ALL
    COMMENT "Generating Docs/INFO_SRC"
  )
  
@@ -45,7 +61,7 @@ Do not install documentation.
    # Show it by default in pushuild, but not for developers.
    IF(DEFINED ENV{PB2WORKDIR})
      OPTION(SHOW_BUILD_ID "Show mysqld build id as final target" ON)
-@@ -2438,7 +2439,7 @@ ENDIF()
+@@ -2466,7 +2459,7 @@ ENDIF()
  #
  # RPM installs documentation directly from the source tree
  #

Index: pkgsrc/databases/mysql80-client/patches/patch-cmake_zlib.cmake
diff -u pkgsrc/databases/mysql80-client/patches/patch-cmake_zlib.cmake:1.1 pkgsrc/databases/mysql80-client/patches/patch-cmake_zlib.cmake:1.2
--- pkgsrc/databases/mysql80-client/patches/patch-cmake_zlib.cmake:1.1  Tue May 23 21:01:12 2023
+++ pkgsrc/databases/mysql80-client/patches/patch-cmake_zlib.cmake      Fri Feb 16 22:01:10 2024
@@ -1,19 +1,19 @@
-$NetBSD: patch-cmake_zlib.cmake,v 1.1 2023/05/23 21:01:12 adam Exp $
+$NetBSD: patch-cmake_zlib.cmake,v 1.2 2024/02/16 22:01:10 adam Exp $
 
 Fix zlib detection.
 
---- cmake/zlib.cmake.orig      2023-05-23 08:13:52.000000000 +0000
+--- cmake/zlib.cmake.orig      2023-12-12 18:09:36.000000000 +0000
 +++ cmake/zlib.cmake
-@@ -60,6 +60,8 @@ FUNCTION(FIND_SYSTEM_ZLIB)
-       TARGET_INCLUDE_DIRECTORIES(zlib_interface SYSTEM INTERFACE
-         ${ZLIB_INCLUDE_DIR})
-     ENDIF()
+@@ -67,6 +67,8 @@ FUNCTION(FIND_SYSTEM_ZLIB)
+     SET(ZLIB_VERSION ${ZLIB_VERSION} PARENT_SCOPE)
+     # For EXTRACT_LINK_LIBRARIES
+     SET(zlib_SYSTEM_LINK_FLAGS "-lz" CACHE STRING "Link flag for zlib")
 +  ELSE()
 +    MESSAGE(FATAL_ERROR "Cannot find system zlib libraries.")
    ENDIF()
  ENDFUNCTION(FIND_SYSTEM_ZLIB)
  
-@@ -114,9 +116,7 @@ MACRO (MYSQL_CHECK_ZLIB)
+@@ -121,9 +123,7 @@ MACRO (MYSQL_CHECK_ZLIB)
      MYSQL_USE_BUNDLED_ZLIB()
    ELSEIF(WITH_ZLIB STREQUAL "system")
      FIND_SYSTEM_ZLIB()

Index: pkgsrc/databases/mysql80-server/Makefile
diff -u pkgsrc/databases/mysql80-server/Makefile:1.18 pkgsrc/databases/mysql80-server/Makefile:1.19
--- pkgsrc/databases/mysql80-server/Makefile:1.18       Wed Nov 15 18:14:41 2023
+++ pkgsrc/databases/mysql80-server/Makefile    Fri Feb 16 22:01:10 2024
@@ -1,15 +1,17 @@
-# $NetBSD: Makefile,v 1.18 2023/11/15 18:14:41 wiz Exp $
+# $NetBSD: Makefile,v 1.19 2024/02/16 22:01:10 adam Exp $
 
 PKGNAME=       ${DISTNAME:S/-/-server-/}
-PKGREVISION=   4
 COMMENT=       MySQL 8, a free SQL database (server)
 
 CONFLICTS=     mysql3-server-[0-9]*
 
 .include "../../databases/mysql80-client/Makefile.common"
 
-CMAKE_ARGS+=           -DINSTALL_INFODIR=${PKGINFODIR}
-CMAKE_ARGS+=           -DWITH_PROTOBUF="system"
+CMAKE_ARGS+=   -DINSTALL_INFODIR=${PKGINFODIR}
+CMAKE_ARGS+=   -DWITH_PROTOBUF="system"
+MAKE_ENV+=     DYLD_LIBRARY_PATH=${WRKSRC}/${CMAKE_BUILD_DIR}/library_output_directory
+# This is a hack for ${WRKSRC}/cmake/protobuf.cmake
+CMAKE_ARGS+=   -DHOMEBREW_HOME=${PREFIX}
 
 PLIST_VARS+=           auth_socket
 



Home | Main Index | Thread Index | Old Index