[packages/mysql/MYSQL_5_6] Fix build with openssl 3

arekm arekm at pld-linux.org
Tue Sep 20 14:11:37 CEST 2022


commit fb438888c026a2b96eff69708be9b3b835982667
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Sep 20 14:09:54 2022 +0200

    Fix build with openssl 3

 mysql.spec      |  4 ++--
 openssl-3.patch | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 2 deletions(-)
---
diff --git a/mysql.spec b/mysql.spec
index f7d0cf4..b84bf53 100644
--- a/mysql.spec
+++ b/mysql.spec
@@ -73,7 +73,7 @@ Patch5:		%{name}-system-libhsclient.patch
 # from fedora
 Patch6:		%{name}-system-users.patch
 Patch7:		mysql-nosystem-libhsclient.patch
-
+Patch8:         openssl-3.patch
 Patch9:		%{name}-build.patch
 Patch11:	%{name}-upgrade.patch
 Patch12:	%{name}-config.patch
@@ -528,7 +528,7 @@ mv sphinx-*/mysqlse storage/sphinx
 %{?with_system_hsclient:%patch5 -p1}
 %patch6 -p1
 %patch7 -p1
-
+%patch8 -p1
 %patch9 -p1
 %patch11 -p1
 %patch12 -p1
diff --git a/openssl-3.patch b/openssl-3.patch
new file mode 100644
index 0000000..f34d03e
--- /dev/null
+++ b/openssl-3.patch
@@ -0,0 +1,67 @@
+--- 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()
+     IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
+--- 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
+ 
+ #ifdef HAVE_FESETROUND
+@@ -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 */
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mysql.git/commitdiff/fb438888c026a2b96eff69708be9b3b835982667



More information about the pld-cvs-commit mailing list