summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDima Panov <fluffy@FreeBSD.org>2019-12-31 04:42:42 +0000
committerDima Panov <fluffy@FreeBSD.org>2019-12-31 04:42:42 +0000
commit841ac9b3023caba2c89b32cea0a48c2e8b09e74e (patch)
treea0bc73b4f10647b585d406a7ebba768f95859e2a
parentUpdate to the latest MIT krb5 commit on github. (diff)
- Update Percona Server/Client to 5.7.28-31 release [1]
* When using skip-innodb_doublewrite in my.cnf, a parallel doublewrite buffer is still created. Bugs fixed #3411. * During a binlogging replication event, if the master crashes after the multi-threaded slave has begun copying to the slave’s relay log and before the process has completed, a STOP SLAVE on the slave takes longer than expected. Bug fixed #5824. * If pam_krb5 is configured to allow the user to change their password, and the password expired, the server crashed after receiving the new password. Bug fixed #6023. - Provide LibreSSL support [2] - Take maintainership. feld@ didn't pet the ports for almost two years, all updates was committed with maintainer timeout PR: 242649 Submitted by: Igor Zabelin [1]. fluffy@ [2] Approved by: maintainer (feld@, timeout >2 weeks)
Notes
Notes: svn path=/head/; revision=521589
-rw-r--r--databases/percona57-client/files/patch-cmake_ssl.cmake22
-rw-r--r--databases/percona57-client/files/patch-mysys__ssl_my__crypt.cc21
-rw-r--r--databases/percona57-client/files/patch-sql_auth_sha2__password__common.cc12
-rw-r--r--databases/percona57-client/files/patch-vio_viosslfactories.c11
-rw-r--r--databases/percona57-server/Makefile18
-rw-r--r--databases/percona57-server/distinfo6
-rw-r--r--databases/percona57-server/files/patch-client_CMakeLists.txt2
-rw-r--r--databases/percona57-server/files/patch-cmake_ssl.cmake22
-rw-r--r--databases/percona57-server/files/patch-libmysql_CMakeLists.txt12
-rw-r--r--databases/percona57-server/files/patch-sql_mysqld.cc2
10 files changed, 108 insertions, 20 deletions
diff --git a/databases/percona57-client/files/patch-cmake_ssl.cmake b/databases/percona57-client/files/patch-cmake_ssl.cmake
new file mode 100644
index 000000000000..d32169c23961
--- /dev/null
+++ b/databases/percona57-client/files/patch-cmake_ssl.cmake
@@ -0,0 +1,22 @@
+--- cmake/ssl.cmake.orig 2019-11-09 00:33:40.000000000 +1000
++++ cmake/ssl.cmake 2019-12-13 23:08:53.686402000 +1000
+@@ -189,7 +189,8 @@ MACRO (MYSQL_CHECK_SSL)
+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
+ )
+ ENDIF()
+- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
++ IF(HAVE_TLS1_3_VERSION)
+ ADD_DEFINITIONS(-DHAVE_TLSv13)
+ SET(HAVE_TLSv13 1)
+ IF(SOLARIS)
+@@ -198,8 +199,7 @@ MACRO (MYSQL_CHECK_SSL)
+ ENDIF()
+ IF(OPENSSL_INCLUDE_DIR AND
+ OPENSSL_LIBRARY AND
+- CRYPTO_LIBRARY AND
+- OPENSSL_MAJOR_VERSION STREQUAL "1"
++ CRYPTO_LIBRARY
+ )
+ SET(OPENSSL_FOUND TRUE)
+ ELSE()
diff --git a/databases/percona57-client/files/patch-mysys__ssl_my__crypt.cc b/databases/percona57-client/files/patch-mysys__ssl_my__crypt.cc
new file mode 100644
index 000000000000..56a64a6300a5
--- /dev/null
+++ b/databases/percona57-client/files/patch-mysys__ssl_my__crypt.cc
@@ -0,0 +1,21 @@
+--- mysys_ssl/my_crypt.cc.orig 2019-05-16 05:06:00 UTC
++++ mysys_ssl/my_crypt.cc
+@@ -30,7 +30,7 @@
+ #include <boost/move/unique_ptr.hpp>
+ #include <boost/core/noncopyable.hpp>
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ #define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf)
+ #define RAND_OpenSSL() RAND_SSLeay()
+ #endif
+@@ -95,7 +95,8 @@ MyEncryptionCTX::MyEncryptionCTX()
+ MyEncryptionCTX::~MyEncryptionCTX()
+ {
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x02090000fL)
+ EVP_CIPHER_CTX_cleanup(ctx);
+ delete ctx;
+ ERR_remove_thread_state(0);
diff --git a/databases/percona57-client/files/patch-sql_auth_sha2__password__common.cc b/databases/percona57-client/files/patch-sql_auth_sha2__password__common.cc
new file mode 100644
index 000000000000..1d2486c48d20
--- /dev/null
+++ b/databases/percona57-client/files/patch-sql_auth_sha2__password__common.cc
@@ -0,0 +1,12 @@
+--- sql/auth/sha2_password_common.cc.orig 2019-05-16 05:06:00 UTC
++++ sql/auth/sha2_password_common.cc
+@@ -146,7 +146,8 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig
+ DBUG_RETURN(true);
+ }
+ m_ok= EVP_DigestFinal_ex(md_context, m_digest, NULL);
+-#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x02070000fL)
+ EVP_MD_CTX_cleanup(md_context);
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+ EVP_MD_CTX_reset(md_context);
diff --git a/databases/percona57-client/files/patch-vio_viosslfactories.c b/databases/percona57-client/files/patch-vio_viosslfactories.c
new file mode 100644
index 000000000000..35fadb4c302e
--- /dev/null
+++ b/databases/percona57-client/files/patch-vio_viosslfactories.c
@@ -0,0 +1,11 @@
+--- vio/viosslfactories.c.orig 2019-05-16 05:06:00 UTC
++++ vio/viosslfactories.c
+@@ -123,7 +123,7 @@ static DH *get_dh2048(void)
+ {
+ BIGNUM* p= BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
+ BIGNUM* g= BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ dh->p= p;
+ dh->g= g;
+ if (! dh->p || ! dh->g)
diff --git a/databases/percona57-server/Makefile b/databases/percona57-server/Makefile
index d8965c6fd6c6..49d0ef753524 100644
--- a/databases/percona57-server/Makefile
+++ b/databases/percona57-server/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME?= percona
-DISTVERSION= 5.7.27-30
+DISTVERSION= 5.7.28-31
PORTREVISION?= 0
CATEGORIES= databases
MASTER_SITES= http://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${DISTVERSION}/source/tarball/:percona \
@@ -12,7 +12,7 @@ DISTNAME= percona-server-${DISTVERSION}
DISTFILES= percona-server-${DISTVERSION}${EXTRACT_SUFX}:percona \
boost_1_59_0${EXTRACT_SUFX}:boost
-MAINTAINER= feld@FreeBSD.org
+MAINTAINER= fluffy@FreeBSD.org
COMMENT?= Multithreaded SQL database (server)
LICENSE?= GPLv2+
@@ -24,7 +24,7 @@ LIB_DEPENDS= libevent.so:devel/libevent \
SLAVEDIRS= databases/percona57-client \
databases/percona57-pam-for-mysql
USES= bison:build cmake:insource,noninja compiler:c11 \
- cpe libedit localbase perl5 shebangfix
+ cpe libedit localbase perl5 shebangfix ssl
MY_DBDIR= /var/db/mysql
MY_SECDIR= /var/db/mysql_secure
@@ -45,7 +45,7 @@ CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \
-DINSTALL_MYSQLDATADIR="/var/db/mysql" \
-DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \
-DINSTALL_MYSQLSHAREDIR="share/mysql" \
- -DINSTALL_MYSQLTESTDIR="${MY_TESTDIR}" \
+ -DINSTALL_MYSQLTESTDIR=0 \
-DINSTALL_PLUGINDIR="lib/mysql/plugin" \
-DINSTALL_SBINDIR="libexec" \
-DINSTALL_SCRIPTDIR="bin" \
@@ -131,11 +131,11 @@ CMAKE_ARGS+= -DWITH_AUTHENTICATION_LDAP=0
.include <bsd.port.options.mk>
-.if !${SSL_DEFAULT:Mlibressl*}
-MY_TESTDIR= "share/mysql/tests"
-.else
-MY_TESTDIR= ""
-.endif
+#.if !${SSL_DEFAULT:Mlibressl*}
+#MY_TESTDIR= "share/mysql/tests"
+#.else
+#MY_TESTDIR= ""
+#.endif
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057
SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS=""
diff --git a/databases/percona57-server/distinfo b/databases/percona57-server/distinfo
index 51be64a3d29d..4bbe7db515a2 100644
--- a/databases/percona57-server/distinfo
+++ b/databases/percona57-server/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1567963686
-SHA256 (percona-server-5.7.27-30.tar.gz) = b50dff3d222c6444468ff328c652df24a81103627c9da2fa98ee878b8f65a226
-SIZE (percona-server-5.7.27-30.tar.gz) = 84672298
+TIMESTAMP = 1576055476
+SHA256 (percona-server-5.7.28-31.tar.gz) = 8a55a37b494086850ff3699d4f1ef39b2cfe9aa4d35662505dc372ccb9cb283f
+SIZE (percona-server-5.7.28-31.tar.gz) = 84704254
SHA256 (boost_1_59_0.tar.gz) = 47f11c8844e579d02691a607fbd32540104a9ac7a2534a8ddaef50daf502baac
SIZE (boost_1_59_0.tar.gz) = 83709983
diff --git a/databases/percona57-server/files/patch-client_CMakeLists.txt b/databases/percona57-server/files/patch-client_CMakeLists.txt
index 09de11a195d7..e89ab375d99c 100644
--- a/databases/percona57-server/files/patch-client_CMakeLists.txt
+++ b/databases/percona57-server/files/patch-client_CMakeLists.txt
@@ -47,7 +47,7 @@
@@ -97,9 +100,12 @@ TARGET_LINK_LIBRARIES(mysqlslap perconas
MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc)
- TARGET_LINK_LIBRARIES(mysql_config_editor perconaserverclient)
+ TARGET_LINK_LIBRARIES(mysql_config_editor ${FORCE_SSL_SOLARIS} perconaserverclient)
+ENDIF()
+IF(FALSE)
diff --git a/databases/percona57-server/files/patch-cmake_ssl.cmake b/databases/percona57-server/files/patch-cmake_ssl.cmake
new file mode 100644
index 000000000000..d32169c23961
--- /dev/null
+++ b/databases/percona57-server/files/patch-cmake_ssl.cmake
@@ -0,0 +1,22 @@
+--- cmake/ssl.cmake.orig 2019-11-09 00:33:40.000000000 +1000
++++ cmake/ssl.cmake 2019-12-13 23:08:53.686402000 +1000
+@@ -189,7 +189,8 @@ MACRO (MYSQL_CHECK_SSL)
+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
+ )
+ ENDIF()
+- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
++ IF(HAVE_TLS1_3_VERSION)
+ ADD_DEFINITIONS(-DHAVE_TLSv13)
+ SET(HAVE_TLSv13 1)
+ IF(SOLARIS)
+@@ -198,8 +199,7 @@ MACRO (MYSQL_CHECK_SSL)
+ ENDIF()
+ IF(OPENSSL_INCLUDE_DIR AND
+ OPENSSL_LIBRARY AND
+- CRYPTO_LIBRARY AND
+- OPENSSL_MAJOR_VERSION STREQUAL "1"
++ CRYPTO_LIBRARY
+ )
+ SET(OPENSSL_FOUND TRUE)
+ ELSE()
diff --git a/databases/percona57-server/files/patch-libmysql_CMakeLists.txt b/databases/percona57-server/files/patch-libmysql_CMakeLists.txt
index f7d94508b549..d66517c9ed59 100644
--- a/databases/percona57-server/files/patch-libmysql_CMakeLists.txt
+++ b/databases/percona57-server/files/patch-libmysql_CMakeLists.txt
@@ -4,21 +4,21 @@
ADD_SUBDIRECTORY(authentication_ldap)
# Merge several convenience libraries into one big perconaserverclient
--MERGE_CONVENIENCE_LIBRARIES(perconaserverclient ${LIBS} COMPONENT Development)
-+MERGE_CONVENIENCE_LIBRARIES(perconaserverclient ${LIBS} COMPONENT Development SKIP_INSTALL)
-
+-MERGE_CONVENIENCE_LIBRARIES(perconaserverclient ${LIBS_TO_MERGE} COMPONENT Development)
++MERGE_CONVENIENCE_LIBRARIES(perconaserverclient ${LIBS_TO_MERGE} COMPONENT Development SKIP_INSTALL)
+ TARGET_LINK_LIBRARIES(perconaserverclient ${LIBS_TO_LINK})
+
# Visual Studio users need debug static library for debug projects
- IF(MSVC)
@@ -271,7 +271,8 @@
# and link them together into shared library.
- MERGE_LIBRARIES_SHARED(libmysql ${LIBS}
+ MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED}
- COMPONENT SharedLibraries)
+ COMPONENT SharedLibraries SKIP_INSTALL)
+ TARGET_LINK_LIBRARIES(libmysql ${LIBS_TO_LINK})
+IF(FALSE)
IF(UNIX)
# libtool compatability
- IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
@@ -327,6 +328,7 @@
# to initialize api_calls[] array in api_test.c
#
diff --git a/databases/percona57-server/files/patch-sql_mysqld.cc b/databases/percona57-server/files/patch-sql_mysqld.cc
index ce4d118965a5..184ace5eab3e 100644
--- a/databases/percona57-server/files/patch-sql_mysqld.cc
+++ b/databases/percona57-server/files/patch-sql_mysqld.cc
@@ -20,11 +20,11 @@
@@ -3678,6 +3688,7 @@ static int init_ssl()
{
#ifdef HAVE_OPENSSL
- #ifndef HAVE_YASSL
+#ifndef LIBRESSL_VERSION_NUMBER
int fips_mode= FIPS_mode();
if (fips_mode != 0)
{
+ /* FIPS is enabled, Log warning and Disable it now */
@@ -3687,7 +3698,9 @@ static int init_ssl()
" Disabling FIPS.");
FIPS_mode_set(0);