-diff -ur percona-server-5.7.35-38.orig/libmysql/libmysql.map percona-server-5.7.35-38/libmysql/libmysql.map
---- percona-server-5.7.35-38.orig/libmysql/libmysql.map 2021-11-24 19:40:24.831614501 +0100
-+++ percona-server-5.7.35-38/libmysql/libmysql.map 2021-11-24 19:41:42.172797763 +0100
-@@ -145,6 +145,7 @@
+diff -urNp -x '*.orig' percona-server-5.7.37-40.org/libmysql/libmysql.map percona-server-5.7.37-40/libmysql/libmysql.map
+--- percona-server-5.7.37-40.org/libmysql/libmysql.map 2022-04-04 12:10:54.703864495 +0200
++++ percona-server-5.7.37-40/libmysql/libmysql.map 2022-04-04 12:11:12.985905674 +0200
+@@ -145,6 +145,7 @@ libmysqlclient_18 {
mysql_net_realloc;
# PHP's mysqli.so requires this (via the ER() macro)
mysql_client_errors;
# mydumper requires this (added by remi)
my_net_read;
};
-@@ -152,4 +153,6 @@
- libperconaserverclient_18_1 {
+@@ -152,4 +153,6 @@ libmysqlclient_18 {
+ libmysqlclient_18_1 {
global:
get_tty_password;
+# for mysql-workbench 6.1
%undefine with_tokudb
%endif
-%define rel 1
+%define rel 2
%define percona_rel 40
Summary: MySQL: a very fast and reliable SQL database engine
Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
Patch1: mysql-versioning.patch
Patch2: mysql-protobuf.patch
Patch3: build.patch
-Patch17: mysql-sphinx.patch
-Patch18: mysql-5.7-sphinx.patch
-Patch19: mysql-chain-certs.patch
-Patch20: mysql-dubious-exports.patch
-Patch24: mysql-cmake.patch
+Patch4: mysql-sphinx.patch
+Patch5: mysql-5.7-sphinx.patch
+Patch6: mysql-chain-certs.patch
+Patch7: mysql-dubious-exports.patch
+Patch8: mysql-cmake.patch
+Patch9: openssl-3.patch
URL: https://www.percona.com/software/mysql-database/percona-server
BuildRequires: bison >= 1.875
BuildRequires: cmake >= 2.8.2
%{?with_autodeps:BuildRequires: perl-DBI}
BuildRequires: perl-devel >= 1:5.6.1
BuildRequires: protobuf-devel
-BuildRequires: python-modules
+BuildRequires: python3-modules
BuildRequires: rpcsvc-proto
BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.597
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires(triggerpostun): sed >= 4.0
+Requires(post): sed >= 4.0
Requires: %{name}-charsets = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: /usr/bin/setsid
%if %{with sphinx}
# http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
%{__mv} sphinx-*/mysqlse storage/sphinx
-%patch17 -p1
-%patch18 -p1
+%patch4 -p1
+%patch5 -p1
%endif
-%patch19 -p1
-%patch20 -p1
-%patch24 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
# to get these files rebuild
[ -f sql/sql_yacc.cc ] && %{__rm} sql/sql_yacc.cc
--- /dev/null
+--- mysql-5.7.31/cmake/ssl.cmake.orig 2020-06-02 13:05:42.000000000 +0200
++++ mysql-5.7.31/cmake/ssl.cmake 2021-09-26 10:27:27.431001078 +0200
+@@ -172,20 +172,28 @@
+ # #define OPENSSL_VERSION_NUMBER 0x1000103fL
+ # Encoded as MNNFFPPS: major minor fix patch status
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
+- OPENSSL_VERSION_NUMBER
+- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
++ OPENSSL_VERSION_MAJOR
++ REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_MAJOR[\t ]+([0-9]+).*"
+ )
+ STRING(REGEX REPLACE
+- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
+- OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
++ "^#[ ]*define[\t ]+OPENSSL_VERSION_MAJOR[\t ]+([0-9]+).*" "\\1"
++ OPENSSL_MAJOR_VERSION ${OPENSSL_VERSION_MAJOR}
++ )
++ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
++ OPENSSL_VERSION_MINOR
++ REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_MINOR[\t ]+([0-9]+).*"
+ )
+ STRING(REGEX REPLACE
+- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
+- OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
++ "^#[ ]*define[\t ]+OPENSSL_VERSION_MINOR[\t ]+([0-9]+).*" "\\1"
++ OPENSSL_MINOR_VERSION ${OPENSSL_VERSION_MINOR}
++ )
++ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
++ OPENSSL_VERSION_PATCH
++ REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_PATCH[\t ]+([0-9]+).*"
+ )
+ STRING(REGEX REPLACE
+- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
+- OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
++ "^#[ ]*define[\t ]+OPENSSL_VERSION_PATCH[\t ]+([0-9]+).*" "\\1"
++ OPENSSL_FIX_VERSION ${OPENSSL_VERSION_PATCH}
+ )
+ ENDIF()
+ SET(OPENSSL_VERSION
+@@ -203,7 +211,7 @@
+ 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")
+ )
+ SET(OPENSSL_FOUND TRUE)
+ ELSE()
+--- percona-server-5.7.31-34/sql/mysqld.cc~ 2020-08-15 11:23:18.000000000 +0200
++++ percona-server-5.7.31-34/sql/mysqld.cc 2021-09-26 16:17:42.275241856 +0200
+@@ -161,6 +161,7 @@
+
+ #if defined(HAVE_OPENSSL)
+ #include <openssl/crypto.h>
++#include <openssl/evp.h>
+ #endif
+
+ #ifndef EMBEDDED_LIBRARY
+@@ -3689,15 +3689,15 @@
+ static int init_ssl()
+ {
+ #ifdef HAVE_OPENSSL
+- int fips_mode= FIPS_mode();
++ int fips_mode = EVP_default_properties_is_fips_enabled(NULL);
+ if (fips_mode != 0)
+ {
+ /* FIPS is enabled, Log warning and Disable it now */
+ sql_print_warning(
+ "Percona Server cannot operate under OpenSSL FIPS mode."
+ " Disabling FIPS.");
+- FIPS_mode_set(0);
++ EVP_set_default_properties(NULL, "fips=no");
+ }
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
+ CRYPTO_malloc_init();
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */