diff --git a/databases/percona57-client/files/patch-cmake_ssl.cmake b/databases/percona57-client/files/patch-cmake_ssl.cmake index 4dfe79fa311b..7a73266ce4c8 100644 --- a/databases/percona57-client/files/patch-cmake_ssl.cmake +++ b/databases/percona57-client/files/patch-cmake_ssl.cmake @@ -1,22 +1,23 @@ ---- cmake/ssl.cmake.orig 2019-11-09 00:33:40.000000000 +1000 -+++ cmake/ssl.cmake 2019-12-13 23:08:53.686402000 +1000 -@@ -193,7 +193,8 @@ MACRO (MYSQL_CHECK_SSL) +--- cmake/ssl.cmake.orig 2022-08-05 18:25:13 UTC ++++ cmake/ssl.cmake +@@ -246,7 +246,8 @@ MACRO (MYSQL_CHECK_SSL) ) SET(OPENSSL_VERSION ${OPENSSL_VERSION} CACHE INTERNAL "") - IF("${OPENSSL_VERSION}" VERSION_GREATER "1.1.0") + CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) + IF(HAVE_TLS1_3_VERSION) ADD_DEFINITIONS(-DHAVE_TLSv13) SET(HAVE_TLSv13 1) IF(SOLARIS) -@@ -202,8 +203,7 @@ MACRO (MYSQL_CHECK_SSL) +@@ -258,8 +259,7 @@ MACRO (MYSQL_CHECK_SSL) ENDIF() IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARY AND - CRYPTO_LIBRARY AND -- OPENSSL_MAJOR_VERSION STREQUAL "1" +- (OPENSSL_MAJOR_VERSION STREQUAL "1" OR OPENSSL_MAJOR_VERSION STREQUAL "3") + CRYPTO_LIBRARY ) SET(OPENSSL_FOUND TRUE) ELSE() + diff --git a/databases/percona57-server/Makefile b/databases/percona57-server/Makefile index 0da40791ff61..16a40a438210 100644 --- a/databases/percona57-server/Makefile +++ b/databases/percona57-server/Makefile @@ -1,179 +1,179 @@ PORTNAME?= percona -DISTVERSION= 5.7.37-40 +DISTVERSION= 5.7.39-42 PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= http://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${DISTVERSION}/source/tarball/:percona \ SF/boost/boost/1.59.0:boost PKGNAMESUFFIX?= 57-server DISTNAME= percona-server-${DISTVERSION} DISTFILES= percona-server-${DISTVERSION}${EXTRACT_SUFX}:percona \ boost_1_59_0${EXTRACT_SUFX}:boost MAINTAINER= fluffy@FreeBSD.org COMMENT?= Multithreaded SQL database (server) LICENSE?= GPLv2+ LICENSE_FILE= ${WRKSRC}/LICENSE CPE_VENDOR= percona CPE_PRODUCT= percona_server LIB_DEPENDS= libevent.so:devel/libevent \ liblz4.so:archivers/liblz4 \ libzstd.so:archivers/zstd SLAVEDIRS= databases/percona57-client \ databases/percona57-pam-for-mysql USES= bison:build cmake:insource,noninja compiler:c11 \ cpe libedit localbase perl5 shebangfix ssl MY_DBDIR= /var/db/mysql MY_SECDIR= /var/db/mysql_secure MY_TMPDIR= /var/db/mysql_tmpdir DATADIR= ${LOCALBASE}/share/mysql DOCSDIR= ${LOCALBASE}/share/doc/mysql CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="${INFO_PATH}" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="share/man" \ -DINSTALL_MYSQLDATADIR="/var/db/mysql" \ -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR=0 \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SQLBENCHDIR="share/mysql" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DWITH_UNIT_TESTS=0 \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LIBWRAP=0 \ -DWITH_LZ4=system \ -DWITH_ZLIB=system \ -DWITH_ZSTD=system \ -DWITH_ROCKSDB=0 \ -DWITH_BOOST="${WRKDIR}/boost_1_59_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} .ifdef CLIENT_ONLY # Client part USES+= libedit .elifdef PLUGIN_ONLY # For building plugins (percona-pam-for-mysql, etc) # Currently do nothing special USES+= libedit .else LIB_DEPENDS+= libcurl.so:ftp/curl # MySQL-Server part OPTIONS_DEFINE= OPENSSL FASTMTX INNODBMEMCACHED TOKUDB OPTIONS_DEFAULT= OPENSSL INNODBMEMCACHED OPTIONS_SUB= yes FASTMTX_DESC= Replace mutexes with spinlocks FASTMTX_CMAKE_ON= -DWITH_FAST_MUTEXES=1 INNODBMEMCACHED_DESC= InnoDB Memcached plugin INNODBMEMCACHED_CMAKE_ON= -DWITH_INNODB_MEMCACHED=1 OPENSSL_CMAKE_ON= -DWITH_SSL="${MY_SSL}" OPENSSL_USES= ssl TOKUDB_DESC= TokuDB Engine (experimental) TOKUDB_CMAKE_ON= -DUSE_CTAGS=0 TOKUDB_EXTRA_PATCHES=${PATCHDIR}/extrapatch-tokudb USES+=mysql:57p CONFLICTS_INSTALL= mysql*-server \ mysqlwsrep*-server \ mariadb*-server \ percona*-server USE_RC_SUBR= mysql-server USERS= mysql GROUPS= mysql INFO= mysql USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin MANPAGES= 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" # 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 .include #.if !${SSL_DEFAULT:Mlibressl*} #MY_TESTDIR= "share/mysql/tests" #.else #MY_TESTDIR= "" #.endif post-install: ${MKDIR} ${STAGEDIR}/var/db/mysql ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring ${MKDIR} ${STAGEDIR}${MY_SECDIR} ${MKDIR} ${STAGEDIR}${MY_TMPDIR} .endif post-patch: @${REINPLACE_CMD} 's/*.1/${MANPAGES}/' ${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 .include # Workaround to clang11/gcc10 with -fno-common by default CFLAGS+= -fcommon .if ${CHOSEN_COMPILER_TYPE} == gcc CXXFLAGS+= -fpermissive .endif .if ${ARCH} == "arm" BROKEN= Does not compile on arm .endif .if ${SSL_DEFAULT} == base MY_SSL= system .else MY_SSL= ${OPENSSLBASE} .endif .if ${PORT_OPTIONS:MTOKUDB} NOT_FOR_ARCHS= i386 NOT_FOR_ARCHS_REASON= TokuDB not supported on 32-bit platforms, see \ https://github.com/percona/PerconaFT/blob/master/README.md .endif .include diff --git a/databases/percona57-server/distinfo b/databases/percona57-server/distinfo index 2c1f2a024b43..9a1fd3d59e43 100644 --- a/databases/percona57-server/distinfo +++ b/databases/percona57-server/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1653351984 -SHA256 (percona-server-5.7.37-40.tar.gz) = 8a641b64ce119541faa01512b10398f16c39d9e2edffa11259bf43419ae55a91 -SIZE (percona-server-5.7.37-40.tar.gz) = 91183142 +TIMESTAMP = 1661787020 +SHA256 (percona-server-5.7.39-42.tar.gz) = bda853fb951eef8be1c2f24391798cf1f3377c776a376f4c55b192e42ae8d1b2 +SIZE (percona-server-5.7.39-42.tar.gz) = 91524374 SHA256 (boost_1_59_0.tar.gz) = 47f11c8844e579d02691a607fbd32540104a9ac7a2534a8ddaef50daf502baac SIZE (boost_1_59_0.tar.gz) = 83709983 diff --git a/databases/percona57-server/files/patch-cmake_ssl.cmake b/databases/percona57-server/files/patch-cmake_ssl.cmake index 4dfe79fa311b..7a73266ce4c8 100644 --- a/databases/percona57-server/files/patch-cmake_ssl.cmake +++ b/databases/percona57-server/files/patch-cmake_ssl.cmake @@ -1,22 +1,23 @@ ---- cmake/ssl.cmake.orig 2019-11-09 00:33:40.000000000 +1000 -+++ cmake/ssl.cmake 2019-12-13 23:08:53.686402000 +1000 -@@ -193,7 +193,8 @@ MACRO (MYSQL_CHECK_SSL) +--- cmake/ssl.cmake.orig 2022-08-05 18:25:13 UTC ++++ cmake/ssl.cmake +@@ -246,7 +246,8 @@ MACRO (MYSQL_CHECK_SSL) ) SET(OPENSSL_VERSION ${OPENSSL_VERSION} CACHE INTERNAL "") - IF("${OPENSSL_VERSION}" VERSION_GREATER "1.1.0") + CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) + IF(HAVE_TLS1_3_VERSION) ADD_DEFINITIONS(-DHAVE_TLSv13) SET(HAVE_TLSv13 1) IF(SOLARIS) -@@ -202,8 +203,7 @@ MACRO (MYSQL_CHECK_SSL) +@@ -258,8 +259,7 @@ MACRO (MYSQL_CHECK_SSL) ENDIF() IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARY AND - CRYPTO_LIBRARY AND -- OPENSSL_MAJOR_VERSION STREQUAL "1" +- (OPENSSL_MAJOR_VERSION STREQUAL "1" OR OPENSSL_MAJOR_VERSION STREQUAL "3") + CRYPTO_LIBRARY ) SET(OPENSSL_FOUND TRUE) ELSE() + diff --git a/databases/percona57-server/files/patch-sql_mysqld.cc b/databases/percona57-server/files/patch-sql_mysqld.cc index 184ace5eab3e..c967c9ea01b1 100644 --- a/databases/percona57-server/files/patch-sql_mysqld.cc +++ b/databases/percona57-server/files/patch-sql_mysqld.cc @@ -1,38 +1,38 @@ ---- sql/mysqld.cc.orig 2016-11-27 19:44:54 UTC +--- sql/mysqld.cc.orig 2022-08-05 18:25:13 UTC +++ sql/mysqld.cc -@@ -1517,6 +1517,16 @@ static void clean_up_mutexes() +@@ -1531,6 +1531,16 @@ static void clean_up_mutexes() ****************************************************************************/ /* Initialise proxy protocol. */ + +/* At least OpenBSD and NexentaCore do not +* define s6_addr32 for user land settings. +*/ +#if !defined s6_addr32 && defined __sun__ +# define s6_addr32 _S6_un._S6_u32 +#elif !defined s6_addr32 && ( defined __OpenBSD__ || defined __FreeBSD__ ) +# define s6_addr32 __u6_addr.__u6_addr32 +#endif /* !defined s6_addr32 */ + static void set_proxy() { const char *p; -@@ -3678,6 +3688,7 @@ static int init_ssl() +@@ -3706,6 +3716,7 @@ static int init_ssl() + static int init_ssl() { #ifdef HAVE_OPENSSL +#ifndef LIBRESSL_VERSION_NUMBER - int fips_mode= FIPS_mode(); - if (fips_mode != 0) - { - /* FIPS is enabled, Log warning and Disable it now */ -@@ -3687,7 +3698,9 @@ static int init_ssl() - " Disabling FIPS."); + + #if OPENSSL_VERSION_NUMBER >= 0x30000000L + int fips_mode= EVP_default_properties_is_fips_enabled(NULL) && +@@ -3726,7 +3737,9 @@ static int init_ssl() FIPS_mode_set(0); + #endif } -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#endif +#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ + defined(LIBRESSL_VERSION_NUMBER) CRYPTO_malloc_init(); #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ OPENSSL_malloc_init();