[packages/percona-server] - fix building with openssl 3.0.0, rel 4

baggins baggins at pld-linux.org
Sun Sep 26 17:16:51 CEST 2021


commit 048b4425c8b2292eddad8bb981d240a459aaf43e
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Sep 26 17:16:17 2021 +0200

    - fix building with openssl 3.0.0, rel 4

 openssl-3.patch     | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 percona-server.spec | 33 +++++++++--------------
 2 files changed, 89 insertions(+), 20 deletions(-)
---
diff --git a/percona-server.spec b/percona-server.spec
index 564b339..9539698 100644
--- a/percona-server.spec
+++ b/percona-server.spec
@@ -48,7 +48,7 @@
 %undefine	with_coredumper
 %endif
 
-%define		rel	3
+%define		rel	4
 %define		percona_rel	34
 Summary:	Percona Server: a very fast and reliable SQL database engine
 Summary(de.UTF-8):	Percona Server: ist eine SQL-Datenbank
@@ -88,17 +88,14 @@ Patch0:		mysql-opt.patch
 Patch1:		mysql-versioning.patch
 Patch2:		mysql-protobuf.patch
 Patch3:		build.patch
-
-Patch11:	mysql-upgrade.patch
-Patch12:	mysql-config.patch
-Patch17:	mysql-sphinx.patch
+Patch4:		mysql-sphinx.patch
 # https://github.com/sphinxsearch/sphinx/pull/32/
-Patch18:	mysql-5.7-sphinx.patch
-Patch19:	mysql-chain-certs.patch
+Patch5:		mysql-5.7-sphinx.patch
+Patch6:		mysql-chain-certs.patch
 # from fedora
-Patch20:	mysql-dubious-exports.patch
-
-Patch24:	mysql-cmake.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
@@ -129,7 +126,6 @@ Requires(pre):	/bin/id
 Requires(pre):	/usr/bin/getgid
 Requires(pre):	/usr/sbin/groupadd
 Requires(pre):	/usr/sbin/useradd
-Requires(triggerpostun):	sed >= 4.0
 Requires:	%{name}-charsets = %{version}-%{release}
 Requires:	%{name}-libs = %{version}-%{release}
 Requires:	/usr/bin/setsid
@@ -498,25 +494,22 @@ Ten pakiet zawiera standardowego demona Percona Server NDB CPC.
 
 %prep
 %setup -q -n %{name}-%{version}-%{percona_rel} %{?with_sphinx:-a100} %{!?with_system_boost:-a101}
-
 %patch0 -p1
-
 %if %{with sphinx}
 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
 %{__mv} sphinx-*/mysqlse storage/sphinx
-%patch17 -p1
+%patch4 -p1
 cd storage/sphinx
-%patch18 -p2
+%patch5 -p2
 cd ../..
 %endif
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-
-%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
diff --git a/openssl-3.patch b/openssl-3.patch
new file mode 100644
index 0000000..79f2f4d
--- /dev/null
+++ b/openssl-3.patch
@@ -0,0 +1,76 @@
+--- 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 */
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/percona-server.git/commitdiff/048b4425c8b2292eddad8bb981d240a459aaf43e



More information about the pld-cvs-commit mailing list