git: ea739e899079 - main - databases/mysql80-*: Update to 8.0.27

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Thu, 25 Nov 2021 07:17:36 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ea739e8990792020fa9fcdc83adcd5854095ea7d

commit ea739e8990792020fa9fcdc83adcd5854095ea7d
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2021-11-25 07:14:34 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2021-11-25 07:17:30 +0000

    databases/mysql80-*: Update to 8.0.27
    
    Release Notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-27.html
    
    Sponsored by:   Netzkommune GmbH
---
 databases/mysql80-client/Makefile                  | 12 ++-
 databases/mysql80-client/pkg-plist                 | 25 +++++-
 databases/mysql80-server/Makefile                  |  8 +-
 databases/mysql80-server/distinfo                  |  6 +-
 .../mysql80-server/files/patch-CMakeLists.txt      | 27 ++++---
 .../files/patch-client_CMakeLists.txt              | 26 +++---
 .../files/patch-include_CMakeLists.txt             | 37 +++++----
 .../files/patch-mysys_my__default.cc               | 22 ++---
 ...s_src_bindings_xcom_xcom_xcom__ssl__transport.c | 94 ----------------------
 .../patch-router_src_harness_src_tls__context.cc   | 18 ++---
 .../files/patch-scripts_CMakeLists.txt             | 31 +++----
 ...se_include_detail_ut_large__page__alloc-linux.h | 11 +++
 .../files/patch-vio_viosslfactories.cc             | 16 ++--
 databases/mysql80-server/pkg-plist                 |  2 -
 14 files changed, 142 insertions(+), 193 deletions(-)

diff --git a/databases/mysql80-client/Makefile b/databases/mysql80-client/Makefile
index c9b0f181711a..ea791e8ca54a 100644
--- a/databases/mysql80-client/Makefile
+++ b/databases/mysql80-client/Makefile
@@ -1,7 +1,7 @@
 # Created by: "Mahdi Mokhtari <mokhi64@gmail.com>"
 
 PORTNAME=	mysql
-PORTREVISION=	1
+PORTREVISION=	0
 PKGNAMESUFFIX=	80-client
 
 COMMENT=	Multithreaded SQL database (client)
@@ -19,7 +19,7 @@ CONFLICTS_INSTALL=	mysql8[1-9]-client-* \
 			mariadb[0-9][0-9]-client-* \
 			percona[0-9][0-9]-client-*
 
-CMAKE_ARGS+=	-DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0
+CMAKE_ARGS+=	-DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 -DWITH_AUTHENTICATION_FIDO=ON
 
 USE_LDCONFIG+=	${PREFIX}/lib/mysql
 
@@ -31,11 +31,17 @@ CLIENT_ONLY=	yes
 
 OPTIONS_GROUP+=	PLUGINS
 PLUGINS_DESC=	Default Client Plugins
-OPTIONS_GROUP_PLUGINS=	SASLCLIENT
+OPTIONS_GROUP_PLUGINS=	SASLCLIENT FIDO
 SASLCLIENT_DESC=	SASL client plugin module
 SASLCLIENT_CMAKE_BOOL=	WITH_AUTHENTICATION_LDAP
 SASLCLIENT_LIB_DEPENDS=	libsasl2.so:security/cyrus-sasl2
 SASLCLIENT_USE=		OPENLDAP=yes
+
+FIDO_DESC=		FIDO/U2F support (security/libfido2)
+FIDO_LIB_DEPENDS=   libfido2.so:security/libfido2 \
+			libhidapi.so:comms/hidapi
+FIDO_CMAKE_BOOL=	WITH_AUTHENTICATION_FIDO
+
 OPTIONS_DEFAULT+=	SASLCLIENT
 OPTIONS_SUB=	yes
 
diff --git a/databases/mysql80-client/pkg-plist b/databases/mysql80-client/pkg-plist
index 1d2f6cfb9268..6766faf79190 100644
--- a/databases/mysql80-client/pkg-plist
+++ b/databases/mysql80-client/pkg-plist
@@ -14,6 +14,25 @@ bin/mysqlshow
 bin/mysqlslap
 bin/perror
 @comment bin/zlib_decompress
+include/mysql/add_with_saturate.h
+include/mysql/caching_sha2_passwordopt-longopts.h
+include/mysql/caching_sha2_passwordopt-vars.h
+include/mysql/compression.h
+include/mysql/keyring_operations_helper.h
+include/mysql/manifest.h
+include/mysql/mem_root_deque.h
+include/mysql/memory_debugging.h
+include/mysql/my_basename.h
+include/mysql/my_checksum.h
+include/mysql/my_getpwnam.h
+include/mysql/my_hostname.h
+include/mysql/my_rcu_lock.h
+include/mysql/mysql_async.h
+include/mysql/pfs_data_lock_provider.h
+include/mysql/pfs_system_provider.h
+include/mysql/pfs_tls_channel_provider.h
+include/mysql/unhex.h
+include/mysql/unsafe_string_append.h
 include/mysql/base64.h
 include/mysql/big_endian.h
 include/mysql/c_string_less.h
@@ -24,7 +43,6 @@ include/mysql/dur_prop.h
 include/mysql/errmsg.h
 include/mysql/field_types.h
 include/mysql/ft_global.h
-include/mysql/guard.h
 include/mysql/heap.h
 include/mysql/integer_digits.h
 include/mysql/keycache.h
@@ -88,7 +106,6 @@ include/mysql/myisam.h
 include/mysql/myisammrg.h
 include/mysql/myisampack.h
 include/mysql/mysql.h
-include/mysql/mysql.h.pp
 include/mysql/mysql/client_authentication.h
 include/mysql/mysql/client_plugin.h
 include/mysql/mysql/client_plugin.h.pp
@@ -139,10 +156,8 @@ include/mysql/mysql_com.h
 include/mysql/mysql_com_server.h
 include/mysql/mysql_time.h
 include/mysql/mysql_version.h
-include/mysql/mysql_version.h.in
 include/mysql/mysqld_error.h
 include/mysql/mysys_err.h
-include/mysql/nullable.h
 include/mysql/password.h
 include/mysql/pfs_cond_provider.h
 include/mysql/pfs_error_provider.h
@@ -189,6 +204,8 @@ lib/mysql/libmysqlclient_r.a
 lib/mysql/libmysqlclient_r.so
 lib/mysql/libmysqlclient_r.so.21
 %%SASLCLIENT%%lib/mysql/plugin/authentication_ldap_sasl_client.so
+%%FIDO%%lib/mysql/plugin/authentication_fido_client.so
+lib/mysql/plugin/authentication_oci_client.so
 libdata/pkgconfig/mysqlclient.pc
 man/man1/comp_err.1.gz
 man/man1/lz4_decompress.1.gz
diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile
index c525a921bee0..53a99ba306a9 100644
--- a/databases/mysql80-server/Makefile
+++ b/databases/mysql80-server/Makefile
@@ -1,8 +1,8 @@
 # Created by: Mahdi Mokhtari <mokhi64@gmail.com>
 
 PORTNAME?=		mysql
-PORTVERSION=		8.0.26
-PORTREVISION?=		1
+PORTVERSION=		8.0.27
+PORTREVISION?=		0
 CATEGORIES=		databases
 MASTER_SITES=		MYSQL/MySQL-8.0
 PKGNAMESUFFIX?=		80-server
@@ -21,7 +21,7 @@ USES=		bison:build cmake:noninja compiler:c++17-lang cpe \
 
 CPE_VENDOR=	oracle
 
-USE_CXXSTD=	c++14
+USE_CXXSTD=	c++17
 USE_PERL5=	run
 
 MY_DBDIR=	/var/db/mysql
@@ -84,7 +84,7 @@ CMAKE_ARGS+=	-DINSTALL_LAYOUT=FREEBSD \
 		-DWITH_ZLIB=system \
 		-DWITH_ZSTD=system \
 		-DWITH_PROTOBUF=system \
-		-DWITH_SSL=${OPENSSLBASE} \
+		-DWITH_SSL=system \
 		-DBUILD_BUNDLED_ZLIB=0 \
 		-DBUILD_BUNDLED_LZ4=0
 
diff --git a/databases/mysql80-server/distinfo b/databases/mysql80-server/distinfo
index 6b639dd456da..55029d0a7a90 100644
--- a/databases/mysql80-server/distinfo
+++ b/databases/mysql80-server/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628702352
-SHA256 (mysql-boost-8.0.26.tar.gz) = 209442c1001c37bcbc001845e1dc623d654cefb555b47b528742a53bf21c0b4d
-SIZE (mysql-boost-8.0.26.tar.gz) = 291285918
+TIMESTAMP = 1635786797
+SHA256 (mysql-boost-8.0.27.tar.gz) = 74b5bc6ff88fe225560174a24b7d5ff139f4c17271c43000dbcf3dcc9507b3f9
+SIZE (mysql-boost-8.0.27.tar.gz) = 292184025
diff --git a/databases/mysql80-server/files/patch-CMakeLists.txt b/databases/mysql80-server/files/patch-CMakeLists.txt
index 1838577bde1c..0b4f88bfd853 100644
--- a/databases/mysql80-server/files/patch-CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-CMakeLists.txt
@@ -1,6 +1,15 @@
---- CMakeLists.txt.orig	2020-09-23 12:37:48 UTC
+--- CMakeLists.txt.orig	2021-09-28 11:46:34 UTC
 +++ CMakeLists.txt
-@@ -1417,10 +1417,10 @@ IF(WITH_AUTHENTICATION_LDAP)
+@@ -1647,7 +1647,7 @@ IF(LINUX AND KNOWN_CUSTOM_LIBRARIES)
+ ENDIF()
+ 
+ IF(WITH_AUTHENTICATION_LDAP)
+-  IF(LINUX AND KNOWN_CUSTOM_LIBRARIES)
++  IF(LINUX OR FREEBSD AND KNOWN_CUSTOM_LIBRARIES)
+     # LDAP / SASL / KERBEROS / SSL must all be "system" or "custom", not a mix.
+     IF(WITH_LDAP STREQUAL "system" OR
+         WITH_SASL STREQUAL "system" OR
+@@ -1696,10 +1696,10 @@ IF(WITH_AUTHENTICATION_KERBEROS)
    ENDIF()
  ENDIF()
  
@@ -14,9 +23,9 @@
  # Add lz4 library
  MYSQL_CHECK_LZ4()
  # Add icu library
-@@ -1520,7 +1520,9 @@ IF(WITH_UNIT_TESTS)
-   INCLUDE(googletest)
- ENDIF()
+@@ -1869,7 +1869,9 @@ OPTION(WITH_HYPERGRAPH_OPTIMIZER
+   ${WITH_HYPERGRAPH_OPTIMIZER_DEFAULT}
+   )
  
 -ADD_SUBDIRECTORY(include)
 +IF(NOT WITHOUT_CLIENTLIBS)
@@ -25,7 +34,7 @@
  ADD_SUBDIRECTORY(strings)
  ADD_SUBDIRECTORY(vio)
  ADD_SUBDIRECTORY(mysys)
-@@ -1562,12 +1564,17 @@ IF(WITH_UNIT_TESTS)
+@@ -1913,12 +1915,17 @@ IF(WITH_UNIT_TESTS)
    ADD_SUBDIRECTORY(unittest/mytap/t)
  ENDIF()
  
@@ -45,7 +54,7 @@
    ADD_SUBDIRECTORY(testclients)
    ADD_SUBDIRECTORY(sql)
  ENDIF()
-@@ -1590,11 +1597,11 @@ ENDIF()
+@@ -1971,11 +1978,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)
@@ -58,7 +67,7 @@
    IF(WITH_INTERNAL)
      ADD_SUBDIRECTORY(internal)
    ENDIF()
-@@ -1703,6 +1710,7 @@ IF(PACK_SEPARATE_COMPONENTS)
+@@ -2084,6 +2091,7 @@ IF(PACK_SEPARATE_COMPONENTS)
    SET(CPACK_COMPONENTS_GROUPING IGNORE)
  ENDIF()
  
@@ -66,7 +75,7 @@
  IF(UNIX)
    INSTALL(FILES
      Docs/mysql.info
-@@ -1737,6 +1745,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+@@ -2118,6 +2126,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
      PATTERN "sp-imp-spec.txt" EXCLUDE
      PATTERN "README.build" EXCLUDE
    )
diff --git a/databases/mysql80-server/files/patch-client_CMakeLists.txt b/databases/mysql80-server/files/patch-client_CMakeLists.txt
index bbfb4249c799..41b4925911bc 100644
--- a/databases/mysql80-server/files/patch-client_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-client_CMakeLists.txt
@@ -1,4 +1,4 @@
---- client/CMakeLists.txt.orig	2021-03-22 08:44:50 UTC
+--- client/CMakeLists.txt.orig	2021-09-28 11:46:34 UTC
 +++ client/CMakeLists.txt
 @@ -28,10 +28,13 @@ DISABLE_MISSING_PROFILE_WARNING()
  ## Subdirectory with common client code.
@@ -11,18 +11,18 @@
 +ENDIF()
  
 +IF(NOT WITHOUT_CLIENTLIBS)
- MYSQL_ADD_EXECUTABLE(mysql
-   ${CMAKE_SOURCE_DIR}/sql-common/net_ns.cc
-   completion_hash.cc
-@@ -41,6 +44,7 @@ MYSQL_ADD_EXECUTABLE(mysql
-   client_query_attributes.cc
+ INCLUDE_DIRECTORIES(
+   ${CMAKE_CURRENT_SOURCE_DIR}/include
+ )
+@@ -47,6 +50,7 @@ MYSQL_ADD_EXECUTABLE(mysql
+   ${CMAKE_CURRENT_SOURCE_DIR}/common/user_registration.cc
    LINK_LIBRARIES mysqlclient client_base ${EDITLINE_LIBRARY}
    )
 +ENDIF()
  
  IF(NOT WITHOUT_SERVER)
    MYSQL_ADD_EXECUTABLE(mysql_upgrade
-@@ -57,6 +61,7 @@ IF(SOLARIS_SPARC AND MY_COMPILER_IS_SUNPRO AND
+@@ -55,6 +59,7 @@ IF(NOT WITHOUT_SERVER)
      )
  ENDIF()
  
@@ -30,7 +30,7 @@
  MYSQL_ADD_EXECUTABLE(mysqltest
    mysqltest.cc
    mysqltest/error_names.cc
-@@ -73,6 +78,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest
+@@ -71,6 +76,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest
    ENABLE_EXPORTS
    LINK_LIBRARIES mysqlclient
    )
@@ -40,7 +40,7 @@
  MYSQL_ADD_EXECUTABLE(mysqlcheck
    check/mysqlcheck.cc
    check/mysqlcheck_core.cc
-@@ -248,7 +256,9 @@ ENDIF()
+@@ -250,7 +258,9 @@ ENDIF()
  
  TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX)
  TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql)
@@ -49,18 +49,18 @@
 +IF(WITHOUT_SERVER)
  MYSQL_ADD_EXECUTABLE(mysqladmin
    mysqladmin.cc
-   LINK_LIBRARIES mysqlclient
-@@ -261,6 +271,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
+   multi_factor_passwordopt-vars.cc
+@@ -265,6 +275,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
    mysql_config_editor.cc
    LINK_LIBRARIES mysqlclient
    )
 +ENDIF()
 +
-+IF(NOT WITHOUT_SERVER)
++IF(NOT_WITHOUT_SERVER)
  MYSQL_ADD_EXECUTABLE(mysql_secure_installation
    mysql_secure_installation.cc
    LINK_LIBRARIES mysqlclient
-@@ -271,6 +284,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup
+@@ -275,6 +288,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup
    path.cc
    LINK_LIBRARIES mysys
    )
diff --git a/databases/mysql80-server/files/patch-include_CMakeLists.txt b/databases/mysql80-server/files/patch-include_CMakeLists.txt
index 11fed601d4f4..96f88d8593aa 100644
--- a/databases/mysql80-server/files/patch-include_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-include_CMakeLists.txt
@@ -1,39 +1,46 @@
---- include/CMakeLists.txt.orig	2019-12-09 19:53:17 UTC
+--- include/CMakeLists.txt.orig	2021-09-28 11:46:34 UTC
 +++ include/CMakeLists.txt
-@@ -37,10 +37,173 @@ SET(HEADERS
+@@ -37,10 +37,182 @@ SET(HEADERS
    ${CMAKE_CURRENT_BINARY_DIR}/mysql_version.h
    ${CMAKE_CURRENT_BINARY_DIR}/mysqld_error.h
    field_types.h
++  add_with_saturate.h
 +  base64.h
 +  big_endian.h
 +  c_string_less.h
++  caching_sha2_passwordopt-longopts.h
++  caching_sha2_passwordopt-vars.h
++  compression.h
 +  crypt_genhash_impl.h
 +  decimal.h
 +  depth_first_search.h
 +  dur_prop.h
-+  errmsg.h
 +  ft_global.h
-+  guard.h
 +  heap.h
 +  integer_digits.h
 +  keycache.h
++  keyring_operations_helper.h
 +  lex_string.h
 +  lf.h
 +  little_endian.h
 +  m_ctype.h
 +  m_string.h
++  manifest.h
 +  map_helpers.h
++  mem_root_deque.h
++  memory_debugging.h
 +  mf_wcomp.h
 +  mutex_lock.h
 +  my_aes.h
 +  my_alloc.h
 +  my_atomic.h
 +  my_base.h
++  my_basename.h
 +  my_bit.h
 +  my_bitmap.h
 +  my_byteorder.h
 +  my_check_opt.h
-+  my_command.h
++  my_checksum.h
 +  my_compare.h
 +  my_compiler.h
 +  my_dbug.h
@@ -41,19 +48,21 @@
 +  my_dir.h
 +  my_double2ulonglong.h
 +  my_getopt.h
++  my_getpwnam.h
 +  my_hash_combine.h
++  my_hostname.h
 +  my_icp.h
 +  my_inttypes.h
 +  my_io.h
-+  my_list.h
 +  my_loglevel.h
 +  my_macros.h
-+  my_md5.h
 +  my_md5_size.h
++  my_md5.h
 +  my_murmur3.h
 +  my_pointer_arithmetic.h
 +  my_psi_config.h
 +  my_rapidjson_size_t.h
++  my_rcu_lock.h
 +  my_rdtsc.h
 +  my_rnd.h
 +  my_sharedlib.h
@@ -63,9 +72,9 @@
 +  my_sys.h
 +  my_systime.h
 +  my_table_map.h
-+  my_thread.h
 +  my_thread_local.h
 +  my_thread_os_id.h
++  my_thread.h
 +  my_time.h
 +  my_timer.h
 +  my_tree.h
@@ -75,16 +84,12 @@
 +  myisam.h
 +  myisammrg.h
 +  myisampack.h
-+  mysql.h
-+  mysql.h.pp
-+  mysql_com.h
++  mysql_async.h
 +  mysql_com_server.h
-+  mysql_time.h
-+  mysql_version.h.in
 +  mysys_err.h
-+  nullable.h
 +  password.h
 +  pfs_cond_provider.h
++  pfs_data_lock_provider.h
 +  pfs_error_provider.h
 +  pfs_file_provider.h
 +  pfs_idle_provider.h
@@ -95,8 +100,10 @@
 +  pfs_socket_provider.h
 +  pfs_stage_provider.h
 +  pfs_statement_provider.h
++  pfs_system_provider.h
 +  pfs_table_provider.h
 +  pfs_thread_provider.h
++  pfs_tls_channel_provider.h
 +  pfs_transaction_provider.h
 +  prealloced_array.h
 +  print_version.h
@@ -119,6 +126,8 @@
 +  thr_mutex.h
 +  thr_rwlock.h
 +  typelib.h
++  unhex.h
++  unsafe_string_append.h
 +  varlen_sort.h
 +  violite.h
 +  welcome_copyright_notice.h
diff --git a/databases/mysql80-server/files/patch-mysys_my__default.cc b/databases/mysql80-server/files/patch-mysys_my__default.cc
index 6a8cb5ebbaf2..6e479597e24a 100644
--- a/databases/mysql80-server/files/patch-mysys_my__default.cc
+++ b/databases/mysql80-server/files/patch-mysys_my__default.cc
@@ -1,5 +1,5 @@
---- mysys/my_default.cc.orig	2021-04-23 15:06:40 UTC
-+++ mysys/my_default.cc
+--- mysys/my_default.cc.orig	2021-11-02 20:29:18.337621000 +0100
++++ mysys/my_default.cc	2021-11-02 20:57:11.624299000 +0100
 @@ -204,7 +204,7 @@ bool no_defaults = false;
  
  /* Which directories are searched for options (and in which order) */
@@ -9,7 +9,7 @@
  #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
  static const char **default_directories = nullptr;
  
-@@ -915,6 +915,14 @@ static int search_default_file_with_ext(Process_option
+@@ -922,6 +922,14 @@ static int search_default_file_with_ext(Process_option
        return 1; /* Ignore wrong files */
    }
  
@@ -17,24 +17,24 @@
 +  {
 +    fprintf(stderr,
 +             "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
-+             name,name);
++	     name,name);
 +      goto err;
 +  }
 +
    while (true) {
      auto fileline = mysql_file_getline(buff, sizeof(buff), fp, is_login_file);
      char *linebuff = fileline.get();
-@@ -1300,7 +1308,8 @@ void my_print_default_files(const char *conf_file) {
+@@ -1315,7 +1323,8 @@ void my_print_default_files(const char *conf_file) {
              end[(strlen(end) - 1)] = ' ';
            else
              strxmov(end, conf_file, *ext, " ", NullS);
 -          fputs(name, stdout);
-+          if (strstr(name, "/etc") != name)
-+            fputs(name, stdout);
++	  if (strstr(name, "/etc") != name)
++		  fputs(name, stdout);
          }
        }
      }
-@@ -1640,14 +1649,9 @@ static const char **init_default_directories(MEM_ROOT 
+@@ -1655,14 +1664,9 @@ static const char **init_default_directories(MEM_ROOT 
  
  #else
  
@@ -51,12 +51,12 @@
  #endif
  
    if ((env = getenv("MYSQL_HOME"))) errors += add_directory(alloc, env, dirs);
-@@ -1710,7 +1714,7 @@ int check_file_permissions(const char *file_name, bool
+@@ -1727,7 +1731,7 @@ int check_file_permissions(const char *file_name, bool
  #if !defined(_WIN32)
    MY_STAT stat_info;
  
--  if (!my_stat(file_name, &stat_info, MYF(0))) return 1;
-+  if (!my_stat(file_name, &stat_info, MYF(0))) return 0;
+-  if (!my_stat(file_name, &stat_info, flags)) return 1;
++  if (!my_stat(file_name, &stat_info, flags)) return 0;
    /*
      Ignore .mylogin.cnf file if not exclusively readable/writable
      by current user.
diff --git a/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c b/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c
deleted file mode 100644
index 9dcdca8bd775..000000000000
--- a/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c
+++ /dev/null
@@ -1,94 +0,0 @@
---- plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc.orig	2019-09-20 08:30:51 UTC
-+++ plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
-@@ -175,7 +175,7 @@ SSL_CTX *client_ctx = NULL;
- static long process_tls_version(const char *tls_version) {
-   const char *separator = ", ";
-   char *token = NULL;
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
-   const char *tls_version_name_list[] = {"TLSv1", "TLSv1.1", "TLSv1.2",
-                                          "TLSv1.3"};
- #else
-@@ -184,7 +184,7 @@ static long process_tls_version(const char *tls_versio
- #define TLS_VERSIONS_COUNTS \
-   (sizeof(tls_version_name_list) / sizeof(*tls_version_name_list))
-   unsigned int tls_versions_count = TLS_VERSIONS_COUNTS;
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
-   const long tls_ctx_list[TLS_VERSIONS_COUNTS] = {
-       SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3};
-   const char *ctx_flag_default = "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3";
-@@ -240,7 +240,7 @@ static int configure_ssl_algorithms(
-   long ssl_ctx_options = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
-   char cipher_list[SSL_CIPHER_LIST_SIZE] = {0};
-   long ssl_ctx_flags = -1;
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
-   int tlsv1_3_enabled = 0;
- #endif /* HAVE_TLSv13 */
- 
-@@ -253,7 +253,7 @@ static int configure_ssl_algorithms(
-     goto error;
-   }
- 
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
-   ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) &
-                     (SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 |
-                      SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3);
-@@ -265,7 +265,7 @@ static int configure_ssl_algorithms(
- 
-   SSL_CTX_set_options(ssl_ctx, ssl_ctx_options);
- 
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
-   tlsv1_3_enabled = ((ssl_ctx_options & SSL_OP_NO_TLSv1_3) == 0);
-   if (tlsv1_3_enabled) {
-     /* Set OpenSSL TLS v1.3 ciphersuites.
-@@ -325,6 +325,7 @@ error:
-   return 1;
- }
- 
-+#ifndef LIBRESSL_VERSION_NUMBER
- #define OPENSSL_ERROR_LENGTH 512
- static int configure_ssl_fips_mode(const uint fips_mode) {
-   int rc = -1;
-@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mod
- EXIT:
-   return rc;
- }
-+#endif
- 
- static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
-                             const char *ca_path) {
-@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const c
-   int verify_server = SSL_VERIFY_NONE;
-   int verify_client = SSL_VERIFY_NONE;
- 
-+#ifndef LIBRESSL_VERSION_NUMBER
-   if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
-     G_ERROR("Error setting the ssl fips mode");
-     goto error;
-   }
-+#endif
- 
-   SSL_library_init();
-   SSL_load_error_strings();
-@@ -563,7 +567,7 @@ int xcom_init_ssl(const char *server_key_file, const c
-   }
- 
-   G_DEBUG("Configuring SSL for the server")
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
-   server_ctx = SSL_CTX_new(TLS_server_method());
- #else
-   server_ctx = SSL_CTX_new(SSLv23_server_method());
-@@ -582,7 +586,7 @@ int xcom_init_ssl(const char *server_key_file, const c
-   SSL_CTX_set_verify(server_ctx, verify_server, NULL);
- 
-   G_DEBUG("Configuring SSL for the client")
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
-   client_ctx = SSL_CTX_new(TLS_client_method());
- #else
-   client_ctx = SSL_CTX_new(SSLv23_client_method());
diff --git a/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc b/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc
index 9b53b3aae974..2d5ba1470260 100644
--- a/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc
+++ b/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc
@@ -1,6 +1,6 @@
---- router/src/harness/src/tls_context.cc.orig	2019-09-20 08:30:51 UTC
-+++ router/src/harness/src/tls_context.cc
-@@ -91,7 +91,7 @@ static constexpr int o11x_version(TlsVersion version) 
+--- router/src/harness/src/tls_context.cc.orig	2021-11-04 17:14:44.779135000 +0100
++++ router/src/harness/src/tls_context.cc	2021-11-04 17:35:31.121070000 +0100
+@@ -241,7 +241,7 @@ static int o11x_version(TlsVersion version) {
        return TLS1_1_VERSION;
      case TlsVersion::TLS_1_2:
        return TLS1_2_VERSION;
@@ -9,19 +9,19 @@
      case TlsVersion::TLS_1_3:
        return TLS1_3_VERSION;
  #endif
-@@ -121,9 +121,11 @@ void TlsContext::version_range(TlsVersion min_version,
+@@ -272,9 +272,11 @@ stdx::expected<void, std::error_code> TlsContext::vers
      default:
        // unknown, leave all disabled
-       // fallthrough
+       [[fallthrough]];
 +#ifdef TLS1_3_VERSION
      case TlsVersion::TLS_1_3:
        opts |= SSL_OP_NO_TLSv1_2;
-       // fallthrough
+       [[fallthrough]];
 +#endif
      case TlsVersion::TLS_1_2:
        opts |= SSL_OP_NO_TLSv1_1;
-       // fallthrough
-@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
+       [[fallthrough]];
+@@ -322,8 +324,10 @@ TlsVersion TlsContext::min_version() const {
        return TlsVersion::TLS_1_1;
      case TLS1_2_VERSION:
        return TlsVersion::TLS_1_2;
@@ -32,7 +32,7 @@
      case 0:
        return TlsVersion::AUTO;
      default:
-@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c
+@@ -382,7 +386,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c
  }
  
  int TlsContext::security_level() const {
diff --git a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
index 19e53914846e..976c2397e16d 100644
--- a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
@@ -1,24 +1,15 @@
---- scripts/CMakeLists.txt.orig	2019-09-20 08:30:51 UTC
-+++ scripts/CMakeLists.txt
-@@ -330,7 +330,7 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
-     LIST(REMOVE_DUPLICATES ${target}_LIB_DEPENDS)
-     FOREACH(lib ${${target}_LIB_DEPENDS})
-       # Filter out "general", it is not a library, just CMake hint
--      IF(NOT lib STREQUAL "general" AND NOT ${var}  MATCHES "-l${lib} ")
-+      IF(NOT lib STREQUAL "general" AND NOT ${var}  MATCHES "-l${lib} " AND NOT lib STREQUAL "imported_openssl" AND NOT lib STREQUAL "imported_crypto")
-         IF (lib MATCHES "^\\-l")
-           SET(${var} "${${var}} ${lib} ")
-         ELSEIF (lib MATCHES "^\\-L")
-@@ -340,6 +340,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
-           GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
-           STRING(REGEX REPLACE "^lib" "" lib "${lib}")
-           SET(${var} "${${var}}-l${lib} " )
+--- scripts/CMakeLists.txt.orig	2021-11-04 17:42:29.686664000 +0100
++++ scripts/CMakeLists.txt	2021-11-04 17:57:49.957200000 +0100
+@@ -323,6 +323,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
+         GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
+         STRING(REGEX REPLACE "^lib" "" lib "${lib}")
+         SET(${var} "${${var}}-l${lib} " )
 +        ELSEIF(lib STREQUAL "-pthread")
 +          SET(${var} "${${var}}-pthread " )
-         ELSE()
-           SET(${var} "${${var}}-l${lib} " )
-         ENDIF()
-@@ -414,7 +416,7 @@ ELSE()
+       ELSE()
+         SET(${var} "${${var}}-l${lib} " )
+       ENDIF()
+@@ -396,7 +398,7 @@ ELSE()
      ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
      ESCAPE_QUOTES @ONLY)
  
@@ -27,7 +18,7 @@
      MESSAGE(STATUS "INSTALL ${PKGCONFIG_FILE} ${INSTALL_PKGCONFIGDIR}")
      INSTALL(FILES
        ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
-@@ -427,23 +429,28 @@ ELSE()
+@@ -409,23 +411,28 @@ ELSE()
    # mysqld_safe used in mtr even for systemd platforms
    IF(WITH_SYSTEMD)
      SET(BIN_SCRIPTS
diff --git a/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h b/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h
new file mode 100644
index 000000000000..5297a5023741
--- /dev/null
+++ b/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h
@@ -0,0 +1,11 @@
+--- storage/innobase/include/detail/ut/large_page_alloc-linux.h.orig	2021-09-28 11:46:34 UTC
++++ storage/innobase/include/detail/ut/large_page_alloc-linux.h
+@@ -50,7 +50,7 @@ inline void *large_page_aligned_alloc(size_t n_bytes) 
+   // mmap will internally round n_bytes to the multiple of huge-page size if it
+   // is not already
+   void *ptr = mmap(nullptr, n_bytes, PROT_READ | PROT_WRITE,
+-                   MAP_PRIVATE | MAP_ANON | MAP_HUGETLB, -1, 0);
++                   MAP_PRIVATE | MAP_ANON, -1, 0);
+   return (ptr != (void *)-1) ? ptr : nullptr;
+ }
+ 
diff --git a/databases/mysql80-server/files/patch-vio_viosslfactories.cc b/databases/mysql80-server/files/patch-vio_viosslfactories.cc
index 6c0f821e8911..8c88903163ee 100644
--- a/databases/mysql80-server/files/patch-vio_viosslfactories.cc
+++ b/databases/mysql80-server/files/patch-vio_viosslfactories.cc
@@ -1,5 +1,5 @@
---- vio/viosslfactories.cc.orig	2019-09-20 08:30:51 UTC
-+++ vio/viosslfactories.cc
+--- vio/viosslfactories.cc.orig	2021-11-04 18:02:40.921064000 +0100
++++ vio/viosslfactories.cc	2021-11-04 18:15:24.992676000 +0100
 @@ -40,6 +40,7 @@
  #include "vio/vio_priv.h"
  
@@ -16,13 +16,15 @@
  /**
    Set fips mode in openssl library,
    When we set fips mode ON/STRICT, it will perform following operations:
-@@ -525,12 +527,13 @@ EXIT:
+@@ -525,6 +527,7 @@ EXIT:
    @returns openssl current fips mode
  */
  uint get_fips_mode() { return FIPS_mode(); }
 +#endif
  
- long process_tls_version(const char *tls_version) {
+ /**
+   Toggle FIPS mode, to see whether it is available with the current SSL library.
+@@ -545,7 +548,7 @@ long process_tls_version(const char *tls_version) {
    const char *separator = ",";
    char *token, *lasts = nullptr;
  
@@ -31,7 +33,7 @@
    const char *tls_version_name_list[] = {"TLSv1", "TLSv1.1", "TLSv1.2",
                                           "TLSv1.3"};
    const char ctx_flag_default[] = "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3";
-@@ -609,7 +612,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+@@ -624,7 +627,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
    ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) &
                      (SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 |
                       SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2
@@ -40,7 +42,7 @@
                       | SSL_OP_NO_TLSv1_3
  #endif /* HAVE_TLSv13 */
                       | SSL_OP_NO_TICKET);
-@@ -618,7 +621,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
      return nullptr;
  
    if (!(ssl_fd->ssl_context = SSL_CTX_new(is_client ?
@@ -49,7 +51,7 @@
                                                      TLS_client_method()
                                                      : TLS_server_method()
  #else  /* HAVE_TLSv13 */
-@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+@@ -648,7 +651,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
      return nullptr;
    }
  
diff --git a/databases/mysql80-server/pkg-plist b/databases/mysql80-server/pkg-plist
index 880259841bf0..3410b5358397 100644
--- a/databases/mysql80-server/pkg-plist
+++ b/databases/mysql80-server/pkg-plist
@@ -9,8 +9,6 @@ bin/myisampack
 bin/mysqldumpslow
 bin/mysql_client_test
 bin/mysql_keyring_encryption_test
-bin/mysql_secure_installation
-bin/mysql_ssl_rsa_setup
 bin/mysql_tzinfo_to_sql
 bin/mysql_upgrade
 bin/mysqld_multi