summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorJochen Neumeister <joneum@FreeBSD.org>2020-05-07 11:51:14 +0000
committerJochen Neumeister <joneum@FreeBSD.org>2020-05-07 11:51:14 +0000
commit19679c5f4eb778f347f83329cf05bdfe80b514d7 (patch)
tree75b4ddda778451082eb98cf3eeea6644dd5d9882 /databases
parentUpdate to 2020.1.1 (diff)
databases/mysql80-{client, server}: Update to latest release 8.0.20
- Performance: Certain queries against tables with spatial indexes were not performed as efficiently following an upgrade from MySQL 5.7 to MySQL 8.0. - NDB Cluster: NDB defines one SPJ worker per node owning a primary partition of the root table. If this table used read from any replica, DBTC put all SPJ workers in the same DBSPJ instance, which effe - NDB Cluster: Executing the SHOW command using an ndb_mgm client binary from NDB 8.0.16 or earlier to access a management node running NDB 8.0.17 or later produced the error message Unknown field: is_s - On EL7 and EL8, CMake configuration was adjusted to look for GCC 9 before GCC 8. Because libmysqlclient ships with MySQL distributions, client applications built against libmysqlclient on those platfo - The max_length_for_sort_data system variable is now deprecated due to optimizer changes that make it obsolete and of no effect. More Infos: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html Special thanks to: fluffy MFH: 2020Q2 Security: 21d59ea3-8559-11ea-a5e2-d4c9ef517024 (MySQL - Server) Security: 622b5c47-855b-11ea-a5e2-d4c9ef517024 (MySQL - Client) Sponsored by: Netzkommune GmbH
Notes
Notes: svn path=/head/; revision=534263
Diffstat (limited to 'databases')
-rw-r--r--databases/mysql80-client/Makefile2
-rw-r--r--databases/mysql80-server/Makefile22
-rw-r--r--databases/mysql80-server/distinfo6
-rw-r--r--databases/mysql80-server/files/patch-CMakeLists.txt4
-rw-r--r--databases/mysql80-server/files/patch-cmake_install_layout.cmake32
-rw-r--r--databases/mysql80-server/files/patch-extra_libedit_chartype.h11
-rw-r--r--databases/mysql80-server/files/patch-extra_libedit_vi.c20
-rw-r--r--databases/mysql80-server/files/patch-libmysql_CMakeLists.txt11
-rw-r--r--databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt16
-rw-r--r--databases/mysql80-server/files/patch-sql-common_client.cc17
-rw-r--r--databases/mysql80-server/files/patch-sql_auth_sha2__password__common.cc2
-rw-r--r--databases/mysql80-server/files/patch-sql_sys__vars.cc53
-rw-r--r--databases/mysql80-server/files/patch-storage_myisam_mi__dynrec.cc10
-rw-r--r--databases/mysql80-server/files/patch-utilities_CMakeLists.txt8
-rw-r--r--databases/mysql80-server/files/patch-vio_viossl.cc6
-rw-r--r--databases/mysql80-server/pkg-plist4
16 files changed, 123 insertions, 101 deletions
diff --git a/databases/mysql80-client/Makefile b/databases/mysql80-client/Makefile
index 3b7a8bf81474..d93737fc9ebc 100644
--- a/databases/mysql80-client/Makefile
+++ b/databases/mysql80-client/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= mysql
-PORTREVISION= 3
+PORTREVISION= 0
PKGNAMESUFFIX= 80-client
COMMENT= Multithreaded SQL database (client)
diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile
index d16b5e7735e4..b2cab939e65b 100644
--- a/databases/mysql80-server/Makefile
+++ b/databases/mysql80-server/Makefile
@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME?= mysql
-PORTVERSION= 8.0.19
-PORTREVISION?= 3
+PORTVERSION= 8.0.20
+PORTREVISION?= 0
CATEGORIES= databases
MASTER_SITES= MYSQL/MySQL-8.0
PKGNAMESUFFIX?= 80-server
@@ -20,6 +20,7 @@ SLAVEDIRS= databases/mysql80-client
USES= bison:build cmake:noninja compiler:c++14-lang cpe \
groff:run libedit localbase ncurses perl5 pkgconfig shebangfix ssl
+USE_CXXSTD= c++14
USE_PERL5= run
MY_DBDIR= /var/db/mysql
@@ -78,7 +79,15 @@ CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \
-DWITH_PROTOBUF=system \
-DWITH_SSL=${OPENSSLBASE} \
-DBUILD_BUNDLED_ZLIB=0 \
- -DBUILD_BUNDLED_LZ4=0 \
+ -DBUILD_BUNDLED_LZ4=0
+
+# The Mroonga, RocksDB, and TokuDB storage engines are disabled.
+# Mroonga is only buildable on little endian archs.
+# RocksDB is only buildable on little endian archs and requires POSIX timers.
+# TokuDB is only buildable on 64-bit little endian archs.
+CMAKE_ARGS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
+ -DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \
+ -DWITHOUT_TOKUDB_STORAGE_ENGINE=1
SHEBANG_FILES= scripts/*.pl* scripts/*.sh
@@ -157,6 +166,13 @@ FEDERATED_SUB_LIST_OFF+= FEDER=""
.include <bsd.port.options.mk>
+# Since 8.0.20 release innodb engine uses new memory alligned allocator
+# which is broken on i386 due to different size of types and caused a
+# 'static_assert(alignof(T) <= alignof(std::max_align_t))' error
+.if ${ARCH} == i386
+CMAKE_ARGS+= -DDISABLE_PSI_MEMORY=1
+.endif
+
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057
SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS=""
.else
diff --git a/databases/mysql80-server/distinfo b/databases/mysql80-server/distinfo
index cba85cd991be..a892ada9a822 100644
--- a/databases/mysql80-server/distinfo
+++ b/databases/mysql80-server/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1578922201
-SHA256 (mysql-boost-8.0.19.tar.gz) = 3622d2a53236ed9ca62de0616a7e80fd477a9a3f862ba09d503da188f53ca523
-SIZE (mysql-boost-8.0.19.tar.gz) = 264147972
+TIMESTAMP = 1588248990
+SHA256 (mysql-boost-8.0.20.tar.gz) = b6ad1a09eb146fa913f1afc257bbed8ffab688e2d504fb8ddb652f69f551a9c1
+SIZE (mysql-boost-8.0.20.tar.gz) = 266282970
diff --git a/databases/mysql80-server/files/patch-CMakeLists.txt b/databases/mysql80-server/files/patch-CMakeLists.txt
index 42aa62ba9d70..71d92e49efd9 100644
--- a/databases/mysql80-server/files/patch-CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-CMakeLists.txt
@@ -45,7 +45,7 @@
ADD_SUBDIRECTORY(testclients)
ADD_SUBDIRECTORY(sql)
ENDIF()
-@@ -1351,11 +1358,11 @@ ENDIF()
+@@ -1497,11 +1504,11 @@ ENDIF()
# scripts/mysql_config depends on client and server targets loaded above.
# It is referenced by some of the directories below, so we insert it here.
ADD_SUBDIRECTORY(scripts)
@@ -55,7 +55,7 @@
ADD_SUBDIRECTORY(mysql-test)
ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
- ADD_SUBDIRECTORY(support-files)
- IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt)
+ IF(WITH_INTERNAL)
ADD_SUBDIRECTORY(internal)
ENDIF()
@@ -1464,6 +1471,7 @@ IF(PACK_SEPARATE_COMPONENTS)
diff --git a/databases/mysql80-server/files/patch-cmake_install_layout.cmake b/databases/mysql80-server/files/patch-cmake_install_layout.cmake
index 854763abb009..d9d06a66f44e 100644
--- a/databases/mysql80-server/files/patch-cmake_install_layout.cmake
+++ b/databases/mysql80-server/files/patch-cmake_install_layout.cmake
@@ -29,7 +29,7 @@
LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind)
IF(ind EQUAL -1)
MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
-@@ -159,6 +163,32 @@ SET(INSTALL_MYSQLKEYRINGDIR_STANDALONE "keyring")
+@@ -171,6 +175,32 @@ SET(INSTALL_MYSQLKEYRINGDIR_STANDALONE "keyring")
SET(INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${secure_file_priv_path})
#
@@ -62,28 +62,20 @@
# TARGZ layout
#
SET(INSTALL_BINDIR_TARGZ "bin")
-@@ -345,7 +375,7 @@ ENDIF()
-
- # Install layout for router, follows the same pattern as above.
- #
--# Supported layouts here are STANDALONE, RPM, DEB, SVR4, TARGZ
-+# Supported layouts here are STANDALONE, FREEBSD, RPM, DEB, SVR4, TARGZ
-
- # Variables ROUTER_INSTALL_${X}DIR, where
- # X = BIN, LIB and DOC is using
-@@ -387,7 +417,7 @@ ENDIF()
+@@ -369,7 +399,7 @@ ENDIF()
SET(ROUTER_INSTALL_LAYOUT "${DEFAULT_ROUTER_INSTALL_LAYOUT}"
CACHE
STRING
- "Installation directory layout. Options are: STANDALONE RPM DEB SVR4 TARGZ")
+ "Installation directory layout. Options are: STANDALONE FREEBSD RPM DEB SVR4 TARGZ")
- # If are _pure_ STANDALONE we can write into data/ as it is all ours
- # if we are shared STANDALONE with the the server, we shouldn't write
-@@ -400,6 +430,13 @@ SET(ROUTER_INSTALL_CONFIGDIR_STANDALONE ".")
- SET(ROUTER_INSTALL_DATADIR_STANDALONE "var/lib/mysqlrouter")
- SET(ROUTER_INSTALL_LOGDIR_STANDALONE ".")
- SET(ROUTER_INSTALL_RUNTIMEDIR_STANDALONE "run")
+ # If we are shared STANDALONE with the the server, we shouldn't write
+ # into the server's data/ as that would create a "schemadir" in
+@@ -408,6 +438,18 @@ FOREACH(var
+ )
+ SET(ROUTER_INSTALL_${var}DIR_TARGZ ${ROUTER_INSTALL_${var}DIR_STANDALONE})
+ ENDFOREACH()
++
+#
+# FreeBSD layout
+#
@@ -91,6 +83,10 @@
+SET(ROUTER_INSTALL_DATADIR_FREEBSD "/var/db/mysqlrouter")
+SET(ROUTER_INSTALL_LOGDIR_FREEBSD "/var/log/mysqlrouter")
+SET(ROUTER_INSTALL_RUNTIMEDIR_FREEBSD "/var/run/mysqlrouter")
++
++SET(ROUTER_INSTALL_BINDIR_FREEBSD "bin")
++SET(ROUTER_INSTALL_LIBDIR_FREEBSD "lib/mysql")
++SET(ROUTER_INSTALL_PLUGINDIR_FREEBSD "lib/mysql/mysqlrouter")
+
#
# RPM layout
- #
diff --git a/databases/mysql80-server/files/patch-extra_libedit_chartype.h b/databases/mysql80-server/files/patch-extra_libedit_chartype.h
deleted file mode 100644
index 021cefcabd43..000000000000
--- a/databases/mysql80-server/files/patch-extra_libedit_chartype.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- extra/libedit/chartype.h.orig 2019-09-20 08:30:51 UTC
-+++ extra/libedit/chartype.h
-@@ -49,7 +49,7 @@
- TODO : Verify if FreeBSD & AIX stores ISO 10646 in wchar_t. */
- #if !defined(__NetBSD__) && !defined(__sun) \
- && !(defined(__APPLE__) && defined(__MACH__)) \
-- && !defined(__FreeBSD__) && !defined(_AIX)
-+ && !defined(__FreeBSD__) && !defined(_AIX) && !defined(__DragonFly__)
- #ifndef __STDC_ISO_10646__
- /* In many places it is assumed that the first 127 code points are ASCII
- * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/databases/mysql80-server/files/patch-extra_libedit_vi.c b/databases/mysql80-server/files/patch-extra_libedit_vi.c
deleted file mode 100644
index 01c25f438993..000000000000
--- a/databases/mysql80-server/files/patch-extra_libedit_vi.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- extra/libedit/vi.c.orig 2019-09-20 08:30:51 UTC
-+++ extra/libedit/vi.c
-@@ -919,7 +919,7 @@ vi_comment_out(EditLine *el, Int c __attribute__((__un
- * NB: posix implies that we should enter insert mode, however
- * this is against historical precedent...
- */
--#if defined(__weak_reference) && !defined(__FreeBSD__)
-+#if defined(__weak_reference) && !defined(__FreeBSD__) && !defined(__DragonFly__)
- __weakref_visible char *my_get_alias_text(const char *)
- __weak_reference(get_alias_text);
- #endif
-@@ -928,7 +928,7 @@ protected el_action_t
- vi_alias(EditLine *el __attribute__((__unused__)),
- Int c __attribute__((__unused__)))
- {
--#if defined(__weak_reference) && !defined(__FreeBSD__)
-+#if defined(__weak_reference) && !defined(__FreeBSD__) && !defined(__DragonFly__)
- char alias_name[3];
- char *alias_text;
-
diff --git a/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt b/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt
index f5c2cb11904d..d9cd7cd37249 100644
--- a/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt
@@ -12,16 +12,12 @@
#
# Include protocol tracing infrastructure and the test
# trace plugin if enabled by build options.
-@@ -240,12 +245,17 @@ IF(WIN32)
+@@ -242,11 +247,18 @@ IF(WIN32)
LIST(APPEND LIBS_TO_MERGE auth_win_client)
ENDIF()
-# LDAP authentication SASL client plugin
--MESSAGE(STATUS "Creating LDAP authentication SASL client library.")
-ADD_SUBDIRECTORY(authentication_ldap)
--
--# Merge several convenience libraries into one big mysqlclient
--MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
+IF(WITHOUT_CLIENTLIBS)
+ # Merge several convenience libraries into one big mysqlclient
+ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development SKIP_INSTALL)
@@ -29,10 +25,13 @@
+ # LDAP authentication SASL client plugin
+ MESSAGE(STATUS "Creating LDAP authentication SASL client library.")
+ ADD_SUBDIRECTORY(authentication_ldap)
-+
+
+-# Merge several convenience libraries into one big mysqlclient
+-MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
+ # Merge several convenience libraries into one big mysqlclient
+ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
+ENDIF(WITHOUT_CLIENTLIBS)
++
TARGET_LINK_LIBRARIES(mysqlclient PRIVATE ${LIBS_TO_LINK})
# Visual Studio users need debug static library for debug projects
diff --git a/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt b/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt
index 5ae73f422c2b..cea2271c20d1 100644
--- a/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt
@@ -8,3 +8,19 @@
)
## split library code from the plugin to use them _passwd and tests
+@@ -88,7 +87,6 @@ INSTALL(TARGETS http_auth_backend_lib
+ RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
+ ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
+ LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
+- NAMELINK_SKIP
+ )
+ TARGET_INCLUDE_DIRECTORIES(http_auth_backend_lib PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -141,7 +139,6 @@ INSTALL(TARGETS http_auth_realm_lib
+ RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router
+ ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
+ LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router
+- NAMELINK_SKIP
+ )
+ ## the rpath for the bundled openssl
+ ADD_INSTALL_RPATH_FOR_OPENSSL(http_auth_realm_lib)
diff --git a/databases/mysql80-server/files/patch-sql-common_client.cc b/databases/mysql80-server/files/patch-sql-common_client.cc
index 226ab8fb11a4..acf9035fb33c 100644
--- a/databases/mysql80-server/files/patch-sql-common_client.cc
+++ b/databases/mysql80-server/files/patch-sql-common_client.cc
@@ -1,11 +1,18 @@
---- sql-common/client.cc.orig 2019-09-20 08:30:51 UTC
+--- sql-common/client.cc.orig 2020-03-26 13:31:45 UTC
+++ sql-common/client.cc
-@@ -7715,7 +7715,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt
- #endif
+@@ -7752,6 +7752,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt
+ return 1;
break;
case MYSQL_OPT_SSL_FIPS_MODE: {
--#if defined(HAVE_OPENSSL)
-+#if defined(HAVE_OPENSSL) && !defined(LIBRESSL_VERSION_NUMBER)
++#if !defined(LIBRESSL_VERSION_NUMBER)
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
+@@ -7763,6 +7764,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt
+ "Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string);
+ return 1;
+ }
++#endif
+ } break;
+ case MYSQL_OPT_SSL_MODE:
+ ENSURE_EXTENSIONS_PRESENT(&mysql->options);
diff --git a/databases/mysql80-server/files/patch-sql_auth_sha2__password__common.cc b/databases/mysql80-server/files/patch-sql_auth_sha2__password__common.cc
index 62f768306999..56f6dfb3fbb7 100644
--- a/databases/mysql80-server/files/patch-sql_auth_sha2__password__common.cc
+++ b/databases/mysql80-server/files/patch-sql_auth_sha2__password__common.cc
@@ -3,7 +3,7 @@
@@ -101,7 +101,7 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig
return true;
}
- m_ok = EVP_DigestFinal_ex(md_context, m_digest, NULL);
+ m_ok = EVP_DigestFinal_ex(md_context, m_digest, nullptr);
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
EVP_MD_CTX_cleanup(md_context);
diff --git a/databases/mysql80-server/files/patch-sql_sys__vars.cc b/databases/mysql80-server/files/patch-sql_sys__vars.cc
index 22c87033cbd2..9c12715fd6df 100644
--- a/databases/mysql80-server/files/patch-sql_sys__vars.cc
+++ b/databases/mysql80-server/files/patch-sql_sys__vars.cc
@@ -1,6 +1,6 @@
--- sql/sys_vars.cc.orig 2019-09-20 08:30:51 UTC
+++ sql/sys_vars.cc
-@@ -1841,7 +1841,7 @@ static Sys_var_ulong Sys_connect_timeout(
+@@ -1875,7 +1875,7 @@ static Sys_var_ulong Sys_connect_timeout(
"The number of seconds the mysqld server is waiting for a connect "
"packet before responding with 'Bad handshake'",
GLOBAL_VAR(connect_timeout), CMD_LINE(REQUIRED_ARG),
@@ -9,47 +9,62 @@
static Sys_var_ulong Sys_information_schema_stats_expiry(
"information_schema_stats_expiry",
-@@ -2890,7 +2890,7 @@ static Sys_var_ulong Sys_net_read_timeout(
+@@ -2929,7 +2929,7 @@ static Sys_var_ulong Sys_net_read_timeout(
"Number of seconds to wait for more data from a connection before "
"aborting the read",
SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
+ VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
- NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
ON_UPDATE(fix_net_read_timeout));
-@@ -2911,7 +2911,7 @@ static Sys_var_ulong Sys_net_write_timeout(
+@@ -2950,7 +2950,7 @@ static Sys_var_ulong Sys_net_write_timeout(
"Number of seconds to wait for a block to be written to a connection "
"before aborting the write",
SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
+ VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
- NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
ON_UPDATE(fix_net_write_timeout));
-@@ -4416,7 +4416,7 @@ static Sys_var_ulong Sys_max_execution_time(
- "milliseconds",
+@@ -4459,6 +4459,7 @@ static Sys_var_ulong Sys_max_execution_time(
HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
--
+
+#ifndef LIBRESSL_VERSION_NUMBER
static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
-@@ -4436,6 +4436,16 @@ static Sys_var_enum Sys_ssl_fips_mode(
+@@ -4470,14 +4471,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_va
+ }
+ }
+
++#endif
++
++#if defined(LIBRESSL_VERSION_NUMBER)
++static const char *ssl_fips_mode_names[] = {"OFF", 0};
++#else
+ static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
++#endif
+ static Sys_var_enum Sys_ssl_fips_mode(
+ "ssl_fips_mode",
+ "SSL FIPS mode (applies only for OpenSSL); "
+- "permitted values are: OFF, ON, STRICT",
++#ifndef LIBRESSL_VERSION_NUMBER
++ "permitted values are: OFF, ON, STRICT",
++#else
++ "permitted values are: OFF",
++#endif
GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
- ON_CHECK(NULL), ON_UPDATE(update_fips_mode), NULL);
+- ON_CHECK(nullptr), ON_UPDATE(update_fips_mode), nullptr);
++ ON_CHECK(NULL),
++#ifndef LIBRESSL_VERSION_NUMBER
++ ON_UPDATE(update_fips_mode),
+#else
-+static const char *ssl_fips_mode_names[] = {"OFF", 0};
-+static Sys_var_enum Sys_ssl_fips_mode(
-+ "ssl_fips_mode",
-+ "SSL FIPS mode (applies only for OpenSSL); "
-+ "permitted values are: OFF",
-+ GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
-+ ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
-+ ON_CHECK(NULL), ON_UPDATE(NULL), NULL);
++ ON_UPDATE(NULL),
+#endif
++ NULL);
- #if defined(HAVE_OPENSSL)
static Sys_var_bool Sys_auto_generate_certs(
+ "auto_generate_certs",
diff --git a/databases/mysql80-server/files/patch-storage_myisam_mi__dynrec.cc b/databases/mysql80-server/files/patch-storage_myisam_mi__dynrec.cc
index 06a757ebb894..4daceefef132 100644
--- a/databases/mysql80-server/files/patch-storage_myisam_mi__dynrec.cc
+++ b/databases/mysql80-server/files/patch-storage_myisam_mi__dynrec.cc
@@ -1,7 +1,7 @@
--- storage/myisam/mi_dynrec.cc.orig 2019-09-20 08:30:51 UTC
+++ storage/myisam/mi_dynrec.cc
-@@ -83,17 +83,12 @@ bool mi_dynmap_file(MI_INFO *info, my_off_t size) {
- return 1;
+@@ -85,17 +85,12 @@ bool mi_dynmap_file(MI_INFO *info, my_off_t size) {
+ return true;
}
/*
- I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
@@ -13,10 +13,10 @@
+ MAP_NORESERVE is unimplemented in FreeBSD
*/
info->s->file_map = (uchar *)my_mmap(
- 0, (size_t)size,
+ nullptr, (size_t)size,
info->s->mode == O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE,
- MAP_SHARED | MAP_NORESERVE, info->dfile, 0L);
+ MAP_SHARED, info->dfile, 0L);
if (info->s->file_map == (uchar *)MAP_FAILED) {
- info->s->file_map = NULL;
- return 1;
+ info->s->file_map = nullptr;
+ return true;
diff --git a/databases/mysql80-server/files/patch-utilities_CMakeLists.txt b/databases/mysql80-server/files/patch-utilities_CMakeLists.txt
index 612023c90a24..fce28bb3248b 100644
--- a/databases/mysql80-server/files/patch-utilities_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-utilities_CMakeLists.txt
@@ -1,20 +1,20 @@
--- utilities/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC
+++ utilities/CMakeLists.txt
-@@ -22,13 +22,19 @@
-
+@@ -23,13 +23,19 @@
ADD_WSHADOW_WARNING()
+ DISABLE_MISSING_PROFILE_WARNING()
-IF(NOT CMAKE_CROSSCOMPILING)
+IF(WITHOUT_CLIENTLIBS)
MYSQL_ADD_EXECUTABLE(comp_err
comp_err.cc
- COMPONENT Server
+ COMPONENT Test
LINK_LIBRARIES mysys
+ SKIP_INSTALL)
+ELSE(WITHOUT_CLIENTLIBS)
+ MYSQL_ADD_EXECUTABLE(comp_err
+ comp_err.cc
-+ COMPONENT Server
++ COMPONENT Test
+ LINK_LIBRARIES mysys
)
-ENDIF()
diff --git a/databases/mysql80-server/files/patch-vio_viossl.cc b/databases/mysql80-server/files/patch-vio_viossl.cc
index 6d4457a28dfa..e7f2a2a7c952 100644
--- a/databases/mysql80-server/files/patch-vio_viossl.cc
+++ b/databases/mysql80-server/files/patch-vio_viossl.cc
@@ -10,16 +10,16 @@
#define HAVE_BIO_SET_CALLBACK_EX
#endif
-@@ -490,7 +490,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
+@@ -635,7 +636,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
#if !defined(DBUG_OFF)
{
- STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
+ STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr;
- ssl_comp_methods = SSL_COMP_get_compression_methods();
+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
n = sk_SSL_COMP_num(ssl_comp_methods);
DBUG_PRINT("info", ("Available compression methods:\n"));
if (n == 0)
-@@ -498,7 +498,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
+@@ -643,7 +644,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
else
for (j = 0; j < n; j++) {
SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
diff --git a/databases/mysql80-server/pkg-plist b/databases/mysql80-server/pkg-plist
index c8fdd7c7b4b3..38e6c9364c98 100644
--- a/databases/mysql80-server/pkg-plist
+++ b/databases/mysql80-server/pkg-plist
@@ -27,6 +27,10 @@ lib/mysql/libmysqlrouter.so
lib/mysql/libmysqlrouter.so.1
lib/mysql/libmysqlrouter_http.so
lib/mysql/libmysqlrouter_http.so.1
+lib/mysql/libmysqlrouter_http_auth_backend.so
+lib/mysql/libmysqlrouter_http_auth_backend.so.1
+lib/mysql/libmysqlrouter_http_auth_realm.so
+lib/mysql/libmysqlrouter_http_auth_realm.so.1
lib/mysql/mysqlrouter/http_auth_backend.so
lib/mysql/mysqlrouter/http_auth_realm.so
lib/mysql/mysqlrouter/http_server.so