Opened 8 years ago

Closed 5 years ago

#50960 closed update (fixed)

[Update] Percona MySQL to 5.7

Reported by: moderndeveloperllc (Mark Garrett) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: zquestz (Josh Ellithorpe), pixilla (Bradley Giesbrecht)
Port: percona, percona-server

Description

They have made 5.7 the GA version: https://www.percona.com/blog/2016/03/15/percona-server-5-7-11-4-is-now-available/ This would bring it up to date with the mysql57/mysql57-server ports.

Change History (3)

comment:1 Changed 8 years ago by pixilla (Bradley Giesbrecht)

The patches from 5.6 fail to apply to 5.7. It will be days or weeks before I will be able to update this port to 5.7. In the mean time anyone is welcome to fix the patches in the files directory and any other build stoppers and attach a diff to this ticket.

comment:2 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: openmaintainer@… removed
Version: 2.3.4

comment:3 Changed 5 years ago by yan12125 (Chih-Hsuan Yen)

Resolution: fixed
Status: newclosed

In 8b7d032eacddc1d81ded2f26331109a29ed81efe/macports-ports (master):

percona: update to 8.0.15-6

  • RocksDB does not build. Some relevant discussions:

https://jira.percona.com/browse/PS-2285
https://jira.percona.com/browse/PS-4116

I tried a few patching tricks. With this patch:

--- storage/rocksdb/CMakeLists.txt.orig 2019-06-22 02:42:18.000000000 +0800
+++ storage/rocksdb/CMakeLists.txt 2019-06-22 02:42:08.000000000 +0800
@@ -103,6 +103,8 @@

IF(HAVE_FALLOCATE AND HAVE_LINUX_FALLOC_H)

ADD_DEFINITIONS(-DROCKSDB_FALLOCATE_PRESENT)

ENDIF()

+ elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ add_definitions(-DOS_MACOSX)

ENDIF()

ENDIF()

@@ -184,7 +186,7 @@

${ROCKSDB_LIB_SOURCES}

)

-SET(rocksdb_static_libs ${rocksdb_static_libs} ${ZLIB_LIBRARY} regex "-lrt")
+SET(rocksdb_static_libs ${rocksdb_static_libs} ${ZLIB_LIBRARY} regex)

MYSQL_ADD_PLUGIN(rocksdb ${ROCKSDB_SOURCES} STORAGE_ENGINE DEFAULT MODULE_ONLY

LINK_LIBRARIES ${rocksdb_static_libs}

--- storage/rocksdb/rdb_buff.h
+++ storage/rocksdb/rdb_buff.h
@@ -30,6 +30,16 @@

#include <string>
#include <vector>

+#if APPLE
+#include <libkern/OSByteOrder.h>
+#define htobe64(x) OSSwapHostToBigInt64(x)
+#define be64toh(x) OSSwapBigToHostInt64(x)
+#define htobe32(x) OSSwapHostToBigInt32(x)
+#define be32toh(x) OSSwapBigToHostInt32(x)
+#define htobe16(x) OSSwapHostToBigInt16(x)
+#define be16toh(x) OSSwapBigToHostInt16(x)
+#endif
+

namespace myrocks {

/*

RocksDB still fails when building ha_rocksdb.cc. A MariaDB commit [1]
seems related, but it does not apply on top of this Percona version.

  • Many tricks in Portfile are borrowed from mysql8. Examples are the

boost workaround, compiler selection, legacysupport port group and
configurations about debug/non-debug variants.

  • There are no more sample configuration files. There are no hard-coded

/etc/my.cnf paths found in the Percona code base, either.

  • Skip running libmysql_api_test - it doesn't work as it uses absolute

paths for percona dylibs during the build.

  • Switch to cmake 1.1 port group

Closes: #55912
Closes: #50960
See: #47197

Note: See TracTickets for help on using tickets.