aboutsummaryrefslogtreecommitdiff
path: root/databases/percona57-server
diff options
context:
space:
mode:
authorDima Panov <fluffy@FreeBSD.org>2019-12-06 16:00:36 +0000
committerDima Panov <fluffy@FreeBSD.org>2019-12-06 16:00:36 +0000
commit6a9a1171e6954e63ac9c00ef913b4f7167b1947d (patch)
tree4c1b71283a6d7be3a4c96658744cf9b75f566bdd /databases/percona57-server
parentcb8e4f469598cb254ad318688e56834099dd5ecd (diff)
downloadports-6a9a1171e6954e63ac9c00ef913b4f7167b1947d.tar.gz
ports-6a9a1171e6954e63ac9c00ef913b4f7167b1947d.zip
databases/percona57-{server,client} update to 5.7.27-30 release
percona57-client: - Install compat pkgconfig symlink as well as it done for libs (many packages still search for mysqlclient.pc only) percona57-server: - Proper use system lz4/zstd libs for rocksdb engine - Declare system libevent to use instead of bundled one - Stop pollute libdata/pkgconfig dir with unneeded .pc file - Unbreak build with DEFAULT_VERSIONS+=ssl=libressl PR: 239347 Submitted by: fluffy [cleanups], Igor Zabelin [update] Approved by: maintainer (timeout, >3 months)
Notes
Notes: svn path=/head/; revision=519153
Diffstat (limited to 'databases/percona57-server')
-rw-r--r--databases/percona57-server/Makefile28
-rw-r--r--databases/percona57-server/distinfo6
-rw-r--r--databases/percona57-server/files/extrapatch-tokudb19
-rw-r--r--databases/percona57-server/files/patch-mysys__ssl_my__crypt.cc21
-rw-r--r--databases/percona57-server/files/patch-scripts_CMakeLists.txt13
-rw-r--r--databases/percona57-server/files/patch-sql_auth_sha2__password__common.cc12
-rw-r--r--databases/percona57-server/files/patch-sql_mysqld.cc21
-rw-r--r--databases/percona57-server/files/patch-storage_rocksdb_CMakeLists.txt61
-rw-r--r--databases/percona57-server/files/patch-vio_viosslfactories.c11
-rw-r--r--databases/percona57-server/pkg-plist1
10 files changed, 172 insertions, 21 deletions
diff --git a/databases/percona57-server/Makefile b/databases/percona57-server/Makefile
index eab1356d4d7d..186b80d7a166 100644
--- a/databases/percona57-server/Makefile
+++ b/databases/percona57-server/Makefile
@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME?= percona
-DISTVERSION= 5.7.26-29
-PORTREVISION?= 2
+DISTVERSION= 5.7.27-30
+PORTREVISION?= 0
CATEGORIES= databases
MASTER_SITES= http://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${DISTVERSION}/source/tarball/:percona \
SF/boost/boost/1.59.0:boost
@@ -18,7 +18,8 @@ COMMENT?= Multithreaded SQL database (server)
LICENSE?= GPLv2+
LIB_DEPENDS= libevent.so:devel/libevent \
- liblz4.so:archivers/liblz4
+ liblz4.so:archivers/liblz4 \
+ libzstd.so:archivers/zstd
SLAVEDIRS= databases/percona57-client \
databases/percona57-pam-for-mysql
@@ -44,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="share/mysql/tests" \
+ -DINSTALL_MYSQLTESTDIR="${MY_TESTDIR}" \
-DINSTALL_PLUGINDIR="lib/mysql/plugin" \
-DINSTALL_SBINDIR="libexec" \
-DINSTALL_SCRIPTDIR="bin" \
@@ -53,10 +54,12 @@ CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \
-DINSTALL_SUPPORTFILESDIR="share/mysql" \
-DWITH_UNIT_TESTS=0 \
-DWITH_EDITLINE=system \
+ -DWITH_LIBEVENT=system \
-DWITH_LIBWRAP=0 \
-DWITH_LZ4=system \
-DWITH_ZLIB=system \
- -DINSTALL_MYSQLTESTDIR=0 \
+ -DWITH_ZSTD=system \
+ -DWITH_ROCKSDB=0 \
-DWITH_BOOST="${WRKDIR}/boost_1_59_0"
SHEBANG_FILES= scripts/*.pl* scripts/*.sh
@@ -92,7 +95,7 @@ FASTMTX_DESC= Replace mutexes with spinlocks
FASTMTX_CMAKE_ON= -DWITH_FAST_MUTEXES=1
INNODBMEMCACHED_DESC= InnoDB Memcached plugin
INNODBMEMCACHED_CMAKE_ON= -DWITH_INNODB_MEMCACHED=1
-OPENSSL_CMAKE_ON= -DWITH_SSL=system
+OPENSSL_CMAKE_ON= -DWITH_SSL="${MY_SSL}"
OPENSSL_USES= ssl
TOKUDB_DESC= TokuDB Engine (experimental)
TOKUDB_CMAKE_ON= -DUSE_CTAGS=0
@@ -128,6 +131,12 @@ CMAKE_ARGS+= -DWITH_AUTHENTICATION_LDAP=0
.include <bsd.port.options.mk>
+.if !${SSL_DEFAULT:Mlibressl*}
+MY_TESTSIR= "share/mysql/tests"
+.else
+MY_TESTDIR= ""
+.endif
+
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057
SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS=""
.else
@@ -157,6 +166,13 @@ CXXFLAGS+= -fpermissive
BROKEN= Does not compile on arm
.endif
+.if ${SSL_DEFAULT} == base
+MY_SSL= system
+.else
+MY_SSL= ${OPENSSLBASE}
+.endif
+
+
.if ${PORT_OPTIONS:MTOKUDB}
NOT_FOR_ARCHS= i386
NOT_FOR_ARCHS_REASON= TokuDB not supported on 32-bit platforms, see \
diff --git a/databases/percona57-server/distinfo b/databases/percona57-server/distinfo
index 017474a8a643..51be64a3d29d 100644
--- a/databases/percona57-server/distinfo
+++ b/databases/percona57-server/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1560188655
-SHA256 (percona-server-5.7.26-29.tar.gz) = 0deb6d8a6eb910286a585c60beecd5fb8ce38fc2a5134adf45e418efbe4ed6b5
-SIZE (percona-server-5.7.26-29.tar.gz) = 84327421
+TIMESTAMP = 1567963686
+SHA256 (percona-server-5.7.27-30.tar.gz) = b50dff3d222c6444468ff328c652df24a81103627c9da2fa98ee878b8f65a226
+SIZE (percona-server-5.7.27-30.tar.gz) = 84672298
SHA256 (boost_1_59_0.tar.gz) = 47f11c8844e579d02691a607fbd32540104a9ac7a2534a8ddaef50daf502baac
SIZE (boost_1_59_0.tar.gz) = 83709983
diff --git a/databases/percona57-server/files/extrapatch-tokudb b/databases/percona57-server/files/extrapatch-tokudb
index 87ea439282e8..bddd008e4ea5 100644
--- a/databases/percona57-server/files/extrapatch-tokudb
+++ b/databases/percona57-server/files/extrapatch-tokudb
@@ -1,13 +1,16 @@
--- storage/tokudb/CMakeLists.txt.orig 2016-03-03 15:32:33.000000000 +0200
+++ storage/tokudb/CMakeLists.txt 2016-03-08 10:13:58.000000000 +0200
-@@ -1,6 +1,6 @@
- SET(TOKUDB_VERSION 5.6.29-76.2)
- # PerconaFT only supports x86-64 and cmake-2.8.9+
--IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND
-+IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" AND
- NOT CMAKE_VERSION VERSION_LESS "2.8.9")
- CHECK_CXX_SOURCE_COMPILES(
- "
+@@ -40,8 +40,8 @@
+ ENDIF ()
+
+ # check platform support, no 32 bit
+-IF (NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+- MESSAGE (${TOKUDB_STATUS_MODE} "x86_64 is only platform supported. ${CMAKE_SYSTEM_PROCESSOR} found. Not building TokuDB")
++IF (NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
++ MESSAGE (${TOKUDB_STATUS_MODE} "amd64 is only platform supported. ${CMAKE_SYSTEM_PROCESSOR} found. Not building TokuDB")
+ RETURN ()
+ ENDIF ()
+
@@ -118,5 +118,5 @@
tokudb_thread.cc)
MYSQL_ADD_PLUGIN(tokudb ${TOKUDB_SOURCES} STORAGE_ENGINE MODULE_ONLY
diff --git a/databases/percona57-server/files/patch-mysys__ssl_my__crypt.cc b/databases/percona57-server/files/patch-mysys__ssl_my__crypt.cc
new file mode 100644
index 000000000000..56a64a6300a5
--- /dev/null
+++ b/databases/percona57-server/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-server/files/patch-scripts_CMakeLists.txt b/databases/percona57-server/files/patch-scripts_CMakeLists.txt
index ecbbf6d94bd9..27ef3bb01f37 100644
--- a/databases/percona57-server/files/patch-scripts_CMakeLists.txt
+++ b/databases/percona57-server/files/patch-scripts_CMakeLists.txt
@@ -3,11 +3,11 @@
@@ -332,6 +332,8 @@
GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
STRING(REGEX REPLACE "^lib" "" lib "${lib}")
- SET(${var} "${${var}}-l${lib} " )
+ SET(${var} "${${var}}-l${lib} " )
+ ELSEIF(lib STREQUAL "-pthread")
+ SET(${var} "${${var}}-pthread " )
ELSE()
- SET(${var} "${${var}}-l${lib} " )
+ SET(${var} "${${var}}-l${lib} " )
ENDIF()
@@ -419,7 +421,6 @@
@@ -25,6 +25,15 @@
mysqldumpslow
mysqld_multi
mysqld_safe
+@@ -443,7 +443,7 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
+ ESCAPE_QUOTES @ONLY)
+
+- IF(INSTALL_PKGCONFIGDIR)
++ IF(FALSE)
+ MESSAGE(STATUS "INSTALL ${PKGCONFIG_FILE} ${INSTALL_PKGCONFIGDIR}")
+ INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
@@ -464,7 +464,7 @@
FOREACH(file ${BIN_SCRIPTS})
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
diff --git a/databases/percona57-server/files/patch-sql_auth_sha2__password__common.cc b/databases/percona57-server/files/patch-sql_auth_sha2__password__common.cc
new file mode 100644
index 000000000000..1d2486c48d20
--- /dev/null
+++ b/databases/percona57-server/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-server/files/patch-sql_mysqld.cc b/databases/percona57-server/files/patch-sql_mysqld.cc
index a3ac78e28867..ce4d118965a5 100644
--- a/databases/percona57-server/files/patch-sql_mysqld.cc
+++ b/databases/percona57-server/files/patch-sql_mysqld.cc
@@ -1,6 +1,6 @@
--- sql/mysqld.cc.orig 2016-11-27 19:44:54 UTC
+++ sql/mysqld.cc
-@@ -1480,6 +1480,16 @@ static void clean_up_mutexes()
+@@ -1517,6 +1517,16 @@ static void clean_up_mutexes()
****************************************************************************/
/* Initialise proxy protocol. */
@@ -17,3 +17,22 @@
static void set_proxy()
{
const char *p;
+@@ -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)
+ {
+@@ -3687,7 +3698,9 @@ static int init_ssl()
+ " Disabling FIPS.");
+ FIPS_mode_set(0);
+ }
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#endif
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ defined(LIBRESSL_VERSION_NUMBER)
+ CRYPTO_malloc_init();
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+ OPENSSL_malloc_init();
diff --git a/databases/percona57-server/files/patch-storage_rocksdb_CMakeLists.txt b/databases/percona57-server/files/patch-storage_rocksdb_CMakeLists.txt
new file mode 100644
index 000000000000..b5d718c2fa2e
--- /dev/null
+++ b/databases/percona57-server/files/patch-storage_rocksdb_CMakeLists.txt
@@ -0,0 +1,61 @@
+--- storage/rocksdb/CMakeLists.txt.orig 2019-05-16 05:06:00 UTC
++++ storage/rocksdb/CMakeLists.txt
+@@ -23,8 +23,8 @@
+ ENDIF ()
+
+ # check platform support, no 32 bit
+-IF (NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+- MESSAGE (${MYROCKS_STATUS_MODE} "x86_64 is only platform supported. ${CMAKE_SYSTEM_PROCESSOR} found. Not building MyRocks")
++IF (NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
++ MESSAGE (${MYROCKS_STATUS_MODE} "amd64 is only platform supported. ${CMAKE_SYSTEM_PROCESSOR} found. Not building MyRocks")
+ RETURN ()
+ ENDIF ()
+
+@@ -119,38 +119,11 @@ EXECUTE_PROCESS(
+ # split the list into lines
+ STRING(REGEX MATCHALL "[^\n]+" ROCKSDB_LIB_SOURCES ${SCRIPT_OUTPUT})
+
+-# add bundled compression code
+-SET(ROCKSDB_LIB_SOURCES
+- ${ROCKSDB_LIB_SOURCES}
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lz4/lib/lz4.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lz4/lib/lz4hc.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lz4/lib/lz4frame.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common/entropy_common.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common/error_private.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common/fse_decompress.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common/pool.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common/threading.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common/xxhash.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common/zstd_common.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/compress/fse_compress.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/compress/huf_compress.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/compress/zstd_compress.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/compress/zstdmt_compress.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/decompress/huf_decompress.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/decompress/zstd_decompress.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/dictBuilder/divsufsort.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/dictBuilder/zdict.c
+-)
+-
+ INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb
+ ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/include/rocksdb
+ ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/third-party/gtest-1.7.0/fused-src
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lz4/lib
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/common
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zstd/lib/dictBuilder
+ )
+
+ ADD_DEFINITIONS(-DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX -DZLIB -DLZ4
+@@ -183,7 +156,7 @@ SET(ROCKSDB_SOURCES
+ ${ROCKSDB_LIB_SOURCES}
+ )
+
+-SET(rocksdb_static_libs ${rocksdb_static_libs} ${ZLIB_LIBRARY} "-lrt")
++SET(rocksdb_static_libs ${rocksdb_static_libs} ${ZLIB_LIBRARY} "-lrt -llz4 -lzstd")
+
+ MYSQL_ADD_PLUGIN(rocksdb ${ROCKSDB_SOURCES} STORAGE_ENGINE DEFAULT MODULE_ONLY
+ LINK_LIBRARIES ${rocksdb_static_libs}
diff --git a/databases/percona57-server/files/patch-vio_viosslfactories.c b/databases/percona57-server/files/patch-vio_viosslfactories.c
new file mode 100644
index 000000000000..35fadb4c302e
--- /dev/null
+++ b/databases/percona57-server/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/pkg-plist b/databases/percona57-server/pkg-plist
index 5b2ae8860af0..4e6896142dc3 100644
--- a/databases/percona57-server/pkg-plist
+++ b/databases/percona57-server/pkg-plist
@@ -149,7 +149,6 @@ lib/mysql/plugin/test_udf_services.so
lib/mysql/plugin/udf_example.so
lib/mysql/plugin/validate_password.so
lib/mysql/plugin/version_token.so
-libdata/pkgconfig/LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND.pc
man/man1/myisamchk.1.gz
man/man1/myisam_ftdump.1.gz
man/man1/myisamlog.1.gz