diff --git a/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake b/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake index 713c197992bc..f8c13ec7c398 100644 --- a/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake +++ b/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake @@ -1,20 +1,20 @@ --- cmake/build_configurations/compiler_options.cmake.orig 2016-08-25 11:52:06 UTC +++ cmake/build_configurations/compiler_options.cmake -@@ -29,7 +29,7 @@ IF(UNIX) +@@ -43,7 +43,7 @@ IF(UNIX) # Default GCC flags IF(CMAKE_COMPILER_IS_GNUCC) -- SET(COMMON_C_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") -+ SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") +- SET(COMMON_C_FLAGS "-fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") ++ SET(COMMON_C_FLAGS "-fno-omit-frame-pointer -fno-strict-aliasing") # Disable inline optimizations for valgrind testing to avoid false positives IF(WITH_VALGRIND) - SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}") -@@ -42,7 +42,7 @@ IF(UNIX) - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") + STRING_PREPEND(COMMON_C_FLAGS "-fno-inline ") +@@ -68,7 +68,7 @@ IF(UNIX) + ENDIF() ENDIF() IF(CMAKE_COMPILER_IS_GNUCXX) -- SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") -+ SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") +- SET(COMMON_CXX_FLAGS "-fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") ++ SET(COMMON_CXX_FLAGS "-fno-omit-frame-pointer -fno-strict-aliasing") # GCC 6 has C++14 as default, set it explicitly to the old default. EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GXX_VERSION) diff --git a/databases/mysql57-server/Makefile b/databases/mysql57-server/Makefile index 1af690f7166a..0b35f4507a2c 100644 --- a/databases/mysql57-server/Makefile +++ b/databases/mysql57-server/Makefile @@ -1,198 +1,200 @@ # Created by: Mahdi Mokhtari PORTNAME?= mysql -PORTVERSION= 5.7.33 +PORTVERSION= 5.7.34 PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-5.7 PKGNAMESUFFIX?= 57-server DISTNAME= ${PORTNAME}-boost-${PORTVERSION} MAINTAINER= joneum@FreeBSD.org COMMENT?= Multithreaded SQL database (server) LICENSE= GPLv2 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} SLAVEDIRS= databases/mysql57-client USES= bison:build cmake:noninja compiler:c11 compiler:c++11-lib \ cpe groff:run libedit localbase perl5 shebangfix ssl USE_PERL5= run MY_DBDIR= /var/db/mysql MY_SECDIR= /var/db/mysql_secure MY_TMPDIR= /var/db/mysql_tmpdir LIB_DEPENDS+= libcurl.so:ftp/curl \ libevent.so:devel/libevent \ liblz4.so:archivers/liblz4 \ libprotobuf.so:devel/protobuf CMAKE_BUILD_TYPE= Release +CXXFLAGS+= -DNDEBUG + CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="${INFO_PATH}" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="man" \ -DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ -DWITH_BOOST="${WRKSRC}/boost" \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LZ4=system \ -DWITH_ZLIB=system \ -DWITH_PROTOBUF=system \ -DWITH_CURL=system \ -DINSTALL_MYSQLTESTDIR=0 \ -DWITH_DEBUG=0 SHEBANG_FILES= scripts/*.pl* scripts/*.sh .ifdef USE_MYSQL .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif SUB_LIST= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} OPTIONS_SUB= YES # MySQL-Server part .if !defined(CLIENT_ONLY) USES+= mysql:57 CONFLICTS_INSTALL= mysql5[0-68-9]-server-* \ mysql[0-46-9][0-9]-server-* \ mysqlwsrep* \ mariadb[0-9][0-9]-server-* \ percona[0-9][0-9]-server-* USE_RC_SUBR= mysql-server SUB_FILES= my.cnf.sample pkg-message USERS= mysql GROUPS= mysql USE_CXXSTD= c++11 USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin MMAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \ mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \ mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" OPTIONS_GROUP+= STORAGE OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) ARCHIVE_DESC= Compile "Archive Storage" statically in server BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server EXAMPLE_DESC= Compile "Example Storage" statically in server FEDERATED_DESC= Compile "Federated Storage" statically in server INNOBASE_DESC= Compile "InnoDB Storage" statically in server PARTITION_DESC= Compile "Partitioning support Storage" statically in server PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 OPTIONS_GROUP+= FEATURES FEATURES_DESC= Default features knobs OPTIONS_GROUP_FEATURES= PERFSCHM PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) OPTIONS_DEFAULT+= PERFSCHM PERFSCHM_SUB_LIST+= PERFSCHEMRC="" PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" FEDERATED_SUB_LIST+= FEDER="--federated" FEDERATED_SUB_LIST_OFF+= FEDER="" # issue 220865: Currently there's no source to be built with server-side support. # But this keeps the pkg-plist not overlaping CMAKE_ARGS+= -DWITH_AUTHENTICATION_LDAP=0 .endif .include .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057 SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS="" .else SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment " .endif .include .if ${SSL_DEFAULT} == base CMAKE_ARGS+= -DWITH_SSL=system .else CMAKE_ARGS+= -DWITH_SSL=${OPENSSLBASE} .endif .if ${CHOSEN_COMPILER_TYPE} == gcc CXXFLAGS+= -fpermissive .endif # mysql57-server fails to compile with llvm11, which was imported to current in r364284 # without a version increase (1300109 = r364274). # Until a proper fix is provided, simply use llvm from ports, which probably could be # a backport of amongst other tings: # https://github.com/mysql/mysql-server/commit/08f46b3c00ee70e7ed7825daeb91df2289f80f50 .if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300109 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} .endif .if ${ARCH} == powerpc LLD_UNSAFE= yes .endif post-extract: @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h post-patch: @${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt # issue 220865: MySQL developers forgot that FreeBSD != Linux @${REINPLACE_CMD} -e 's|%%FREEBSD_LOCAL_LIB%%|${LOCALBASE}/lib|g' \ ${WRKSRC}/configure.cmake .if !defined(CLIENT_ONLY) post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring ${MKDIR} ${STAGEDIR}${MY_SECDIR} ${MKDIR} ${STAGEDIR}${MY_TMPDIR} .endif .include diff --git a/databases/mysql57-server/distinfo b/databases/mysql57-server/distinfo index 8821daa19afd..1eab4b5543c1 100644 --- a/databases/mysql57-server/distinfo +++ b/databases/mysql57-server/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1612332815 -SHA256 (mysql-boost-5.7.33.tar.gz) = cfcaf6f37a055d808fe1472eb0359864e2227aa0206c55c4e1961bab2ecc304b -SIZE (mysql-boost-5.7.33.tar.gz) = 52912380 +TIMESTAMP = 1621509617 +SHA256 (mysql-boost-5.7.34.tar.gz) = 5bc2c7c0bb944b5bb219480dde3c1caeb049e7351b5bba94c3b00ac207929c7b +SIZE (mysql-boost-5.7.34.tar.gz) = 52891142 diff --git a/databases/mysql57-server/files/patch-cmake_build__configurations_compiler__options.cmake b/databases/mysql57-server/files/patch-cmake_build__configurations_compiler__options.cmake new file mode 100644 index 000000000000..f8c13ec7c398 --- /dev/null +++ b/databases/mysql57-server/files/patch-cmake_build__configurations_compiler__options.cmake @@ -0,0 +1,20 @@ +--- cmake/build_configurations/compiler_options.cmake.orig 2016-08-25 11:52:06 UTC ++++ cmake/build_configurations/compiler_options.cmake +@@ -43,7 +43,7 @@ IF(UNIX) + + # Default GCC flags + IF(CMAKE_COMPILER_IS_GNUCC) +- SET(COMMON_C_FLAGS "-fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") ++ SET(COMMON_C_FLAGS "-fno-omit-frame-pointer -fno-strict-aliasing") + # Disable inline optimizations for valgrind testing to avoid false positives + IF(WITH_VALGRIND) + STRING_PREPEND(COMMON_C_FLAGS "-fno-inline ") +@@ -68,7 +68,7 @@ IF(UNIX) + ENDIF() + ENDIF() + IF(CMAKE_COMPILER_IS_GNUCXX) +- SET(COMMON_CXX_FLAGS "-fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") ++ SET(COMMON_CXX_FLAGS "-fno-omit-frame-pointer -fno-strict-aliasing") + # GCC 6 has C++14 as default, set it explicitly to the old default. + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion + OUTPUT_VARIABLE GXX_VERSION) diff --git a/databases/mysql57-server/files/patch-rapid_plugin_group__replication_src_recovery_state_transfer.cc b/databases/mysql57-server/files/patch-rapid_plugin_group__replication_src_recovery_state_transfer.cc new file mode 100644 index 000000000000..42d191ec2da4 --- /dev/null +++ b/databases/mysql57-server/files/patch-rapid_plugin_group__replication_src_recovery_state_transfer.cc @@ -0,0 +1,20 @@ +--- rapid/plugin/group_replication/src/recovery_state_transfer.cc.orig 2021-03-26 06:58:52 UTC ++++ rapid/plugin/group_replication/src/recovery_state_transfer.cc +@@ -711,6 +711,7 @@ int Recovery_state_transfer::purge_recovery_slave_thre + donor_connection_interface.initialize_channel(const_cast(""), + 0, + NULL, NULL, ++ false, + NULL, + NULL, + NULL, +@@ -718,8 +719,7 @@ int Recovery_state_transfer::purge_recovery_slave_thre + NULL, + NULL, + NULL, +- NULL, +- NULL, ++ false, + DEFAULT_THREAD_PRIORITY, + 1, false, true, true); + diff --git a/databases/mysql57-server/files/patch-sql_binlog.cc b/databases/mysql57-server/files/patch-sql_binlog.cc new file mode 100644 index 000000000000..7367bc283603 --- /dev/null +++ b/databases/mysql57-server/files/patch-sql_binlog.cc @@ -0,0 +1,24 @@ +--- sql/binlog.cc.orig 2021-03-26 06:58:52 UTC ++++ sql/binlog.cc +@@ -9973,8 +9973,8 @@ void MYSQL_BIN_LOG::report_missing_purged_gtids(const + + char* missing_gtids= NULL; + char* slave_executed_gtids= NULL; +- gtid_missing.to_string(&missing_gtids, NULL); +- slave_executed_gtid_set->to_string(&slave_executed_gtids, NULL); ++ gtid_missing.to_string(&missing_gtids, false); ++ slave_executed_gtid_set->to_string(&slave_executed_gtids, false); + + /* + Log the information about the missing purged GTIDs to the error log +@@ -10045,8 +10045,8 @@ void MYSQL_BIN_LOG::report_missing_gtids(const Gtid_se + Gtid_set gtid_missing(slave_executed_gtid_set->get_sid_map()); + gtid_missing.add_gtid_set(slave_executed_gtid_set); + gtid_missing.remove_gtid_set(previous_gtid_set); +- gtid_missing.to_string(&missing_gtids, NULL); +- slave_executed_gtid_set->to_string(&slave_executed_gtids, NULL); ++ gtid_missing.to_string(&missing_gtids, false); ++ slave_executed_gtid_set->to_string(&slave_executed_gtids, false); + + String tmp_uuid; + uchar name[]= "slave_uuid"; diff --git a/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc b/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc index 44325de6c602..ca63b9f31439 100644 --- a/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc +++ b/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc @@ -1,11 +1,11 @@ ---- sql/locks/shared_spin_lock.cc.orig 2020-12-10 03:01:55 UTC +--- sql/locks/shared_spin_lock.cc.orig 2021-05-20 11:22:55 UTC +++ sql/locks/shared_spin_lock.cc -@@ -239,7 +239,7 @@ lock::Shared_spin_lock &lock::Shared_spin_lock::try_or - { - this->spin_exclusive_lock(); - } +@@ -242,7 +242,7 @@ lock::Shared_spin_lock &lock::Shared_spin_lock::try_or + #if defined(__APPLE__) + my_atomic_store64(&this->m_exclusive_owner, reinterpret_cast(self)); + #else - my_atomic_store64(&this->m_exclusive_owner, self); + my_atomic_store64(&this->m_exclusive_owner, reinterpret_cast(self)); + #endif return (*this); } - diff --git a/databases/mysql57-server/files/patch-storage_innobase_fsp_fsp0fsp.cc b/databases/mysql57-server/files/patch-storage_innobase_fsp_fsp0fsp.cc new file mode 100644 index 000000000000..8d2627e75010 --- /dev/null +++ b/databases/mysql57-server/files/patch-storage_innobase_fsp_fsp0fsp.cc @@ -0,0 +1,11 @@ +--- storage/innobase/fsp/fsp0fsp.cc.orig 2021-03-26 06:58:52 UTC ++++ storage/innobase/fsp/fsp0fsp.cc +@@ -1281,7 +1281,7 @@ fsp_header_decode_encryption_info( + + if (elen == MY_AES_BAD_DATA) { + my_free(master_key); +- return(NULL); ++ return(false); + } + + /* Check checksum bytes. */