summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2019-08-02 02:13:03 +0200
committerThomas Deutschmann <whissi@gentoo.org>2019-08-02 02:13:03 +0200
commit4945033d7f4438ec0baf76975ffd07208630d685 (patch)
tree6352a1adbeb1fa9a08a98a5c0db16049d88ffa84
parentFix custom plugin location for MariaDB >=10.4 (diff)
downloadmysql-extras-4945033d7f4438ec0baf76975ffd07208630d685.tar.gz
mysql-extras-4945033d7f4438ec0baf76975ffd07208630d685.tar.bz2
mysql-extras-4945033d7f4438ec0baf76975ffd07208630d685.zip
Add initial MySQL v8.0 patch setmysql-extras-20190802-0014Z
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
-rw-r--r--20001_all_fix-minimal-build-cmake-mysql-8.0.17.patch26
-rw-r--r--20007_all_cmake-debug-werror-8.0.17.patch15
-rw-r--r--20018_all_mysql-8.0.17-add-protobuf-3.8+-support.patch20
-rw-r--r--20018_all_mysql-8.0.17-fix-libressl-support.patch12
-rw-r--r--20018_all_mysql-8.0.17-without-clientlibs-tools.patch156
5 files changed, 229 insertions, 0 deletions
diff --git a/20001_all_fix-minimal-build-cmake-mysql-8.0.17.patch b/20001_all_fix-minimal-build-cmake-mysql-8.0.17.patch
new file mode 100644
index 0000000..d79ffe2
--- /dev/null
+++ b/20001_all_fix-minimal-build-cmake-mysql-8.0.17.patch
@@ -0,0 +1,26 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1117,7 +1117,9 @@ MYSQL_CHECK_SSL_DLLS()
+ # Add system/bundled editline.
+ MYSQL_CHECK_EDITLINE()
+ # Add libevent
+-MYSQL_CHECK_LIBEVENT()
++IF(NOT WITHOUT_SERVER)
++ MYSQL_CHECK_LIBEVENT()
++ENDIF()
+ # Add lz4 library
+ MYSQL_CHECK_LZ4()
+ # Add re2 library
+@@ -1261,11 +1263,11 @@ ENDIF()
+ # scripts/mysql_config depends on client and server targets loaded above.
+ # It is referenced by some of the directories below, so we insert it here.
+ ADD_SUBDIRECTORY(scripts)
++ADD_SUBDIRECTORY(support-files)
+
+ IF(NOT WITHOUT_SERVER)
+ ADD_SUBDIRECTORY(mysql-test)
+ ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
+- ADD_SUBDIRECTORY(support-files)
+ IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt)
+ ADD_SUBDIRECTORY(internal)
+ ENDIF()
diff --git a/20007_all_cmake-debug-werror-8.0.17.patch b/20007_all_cmake-debug-werror-8.0.17.patch
new file mode 100644
index 0000000..0579754
--- /dev/null
+++ b/20007_all_cmake-debug-werror-8.0.17.patch
@@ -0,0 +1,15 @@
+--- a/cmake/maintainer.cmake
++++ b/cmake/maintainer.cmake
+@@ -207,12 +207,6 @@ IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ # -Wzero-as-null-pointer-constant
+ ENDIF()
+
+-# Turn on Werror (warning => error) when using maintainer mode.
+-IF(MYSQL_MAINTAINER_MODE)
+- STRING_APPEND(MY_C_WARNING_FLAGS " -Werror")
+- STRING_APPEND(MY_CXX_WARNING_FLAGS " -Werror")
+-ENDIF()
+-
+ # Set warning flags for GCC/Clang
+ IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
+ STRING_APPEND(CMAKE_C_FLAGS " ${MY_C_WARNING_FLAGS}")
diff --git a/20018_all_mysql-8.0.17-add-protobuf-3.8+-support.patch b/20018_all_mysql-8.0.17-add-protobuf-3.8+-support.patch
new file mode 100644
index 0000000..d472e25
--- /dev/null
+++ b/20018_all_mysql-8.0.17-add-protobuf-3.8+-support.patch
@@ -0,0 +1,20 @@
+--- a/plugin/x/client/mysqlxclient/xmessage.h
++++ b/plugin/x/client/mysqlxclient/xmessage.h
+@@ -36,7 +36,6 @@
+ #include <google/protobuf/repeated_field.h>
+ #include <google/protobuf/text_format.h>
+ #include <google/protobuf/wire_format_lite.h>
+-#include <google/protobuf/wire_format_lite_inl.h>
+
+ #ifdef USE_MYSQLX_FULL_PROTO
+
+--- a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h
++++ b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h
+@@ -38,7 +38,6 @@
+ #include <google/protobuf/repeated_field.h>
+ #include <google/protobuf/text_format.h>
+ #include <google/protobuf/wire_format_lite.h>
+-#include <google/protobuf/wire_format_lite_inl.h>
+
+ #ifdef USE_MYSQLX_FULL_PROTO
+ #include "plugin/x/generated/protobuf/mysqlx.pb.h"
diff --git a/20018_all_mysql-8.0.17-fix-libressl-support.patch b/20018_all_mysql-8.0.17-fix-libressl-support.patch
new file mode 100644
index 0000000..44596cf
--- /dev/null
+++ b/20018_all_mysql-8.0.17-fix-libressl-support.patch
@@ -0,0 +1,12 @@
+--- a/sql/auth/sha2_password_common.cc
++++ b/sql/auth/sha2_password_common.cc
+@@ -101,7 +101,8 @@ bool SHA256_digest::retrieve_digest(unsigned char *digest,
+ 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/20018_all_mysql-8.0.17-without-clientlibs-tools.patch b/20018_all_mysql-8.0.17-without-clientlibs-tools.patch
new file mode 100644
index 0000000..b37272c
--- /dev/null
+++ b/20018_all_mysql-8.0.17-without-clientlibs-tools.patch
@@ -0,0 +1,156 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1114,8 +1114,6 @@ ENDIF()
+ MYSQL_CHECK_SSL()
+ MYSQL_CHECK_SSL_DLLS()
+
+-# Add system/bundled editline.
+-MYSQL_CHECK_EDITLINE()
+ # Add libevent
+ IF(NOT WITHOUT_SERVER)
+ MYSQL_CHECK_LIBEVENT()
+@@ -1207,7 +1205,9 @@ IF(WITH_UNIT_TESTS)
+ ENABLE_TESTING()
+ ENDIF()
+
+-ADD_SUBDIRECTORY(include)
++IF(NOT WITHOUT_CLIENTLIBS)
++ ADD_SUBDIRECTORY(include)
++ENDIF(NOT WITHOUT_CLIENTLIBS)
+ ADD_SUBDIRECTORY(dbug)
+ ADD_SUBDIRECTORY(strings)
+ ADD_SUBDIRECTORY(vio)
+@@ -1250,7 +1250,6 @@ IF(WITH_UNIT_TESTS)
+ ADD_SUBDIRECTORY(unittest/mytap/t)
+ ENDIF()
+
+-ADD_SUBDIRECTORY(client)
+ ADD_SUBDIRECTORY(utilities)
+ ADD_SUBDIRECTORY(share)
+ ADD_SUBDIRECTORY(libservices)
+@@ -1295,6 +1294,12 @@ IF(UNIX)
+ ADD_SUBDIRECTORY(man)
+ ENDIF()
+
++IF(NOT WITHOUT_TOOLS)
++ # Add system/bundled editline
++ MYSQL_CHECK_EDITLINE()
++ ADD_SUBDIRECTORY(client)
++ENDIF(NOT WITHOUT_TOOLS)
++
+ IF(NOT WITHOUT_SERVER)
+ ADD_SUBDIRECTORY(packaging/rpm-common)
+ ADD_SUBDIRECTORY(packaging/rpm-oel)
+--- a/libmysql/CMakeLists.txt
++++ b/libmysql/CMakeLists.txt
+@@ -240,12 +240,17 @@ IF(WIN32)
+ LIST(APPEND LIBS_TO_MERGE auth_win_client)
+ ENDIF()
+
+-# LDAP authentication SASL client plugin
+-MESSAGE(STATUS "Creating LDAP authentication SASL client library.")
+-ADD_SUBDIRECTORY(authentication_ldap)
+-
+-# Merge several convenience libraries into one big mysqlclient
+-MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
++IF(WITHOUT_CLIENTLIBS)
++ # Merge several convenience libraries into one big mysqlclient
++ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development SKIP_INSTALL)
++ELSE(WITHOUT_CLIENTLIBS)
++ # LDAP authentication SASL client plugin
++ MESSAGE(STATUS "Creating LDAP authentication SASL client library.")
++ ADD_SUBDIRECTORY(authentication_ldap)
++
++ # Merge several convenience libraries into one big mysqlclient
++ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development)
++ENDIF(WITHOUT_CLIENTLIBS)
+ TARGET_LINK_LIBRARIES(mysqlclient PRIVATE ${LIBS_TO_LINK})
+
+ # Visual Studio users need debug static library for debug projects
+@@ -283,9 +288,15 @@ ENDIF()
+ IF(NOT DISABLE_SHARED)
+ # Merge several convenience libraries into one big mysqlclient
+ # and link them together into shared library.
++IF(WITHOUT_CLIENTLIBS)
++ MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
++ EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} ${CLIENT_API_NONBLOCKING_FUNCTIONS}
++ COMPONENT SharedLibraries SKIP_INSTALL)
++ELSE(WITHOUT_CLIENTLIBS)
+ MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
+ EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} ${CLIENT_API_NONBLOCKING_FUNCTIONS}
+ COMPONENT SharedLibraries)
++ENDIF(WITHOUT_CLIENTLIBS)
+ TARGET_LINK_LIBRARIES(libmysql PRIVATE ${LIBS_TO_LINK})
+
+ IF(WIN32)
+--- a/scripts/CMakeLists.txt
++++ b/scripts/CMakeLists.txt
+@@ -459,18 +459,23 @@ ELSE()
+
+ IF(WITH_SYSTEMD)
+ SET(BIN_SCRIPTS
+- mysql_config
+ mysqldumpslow
+ )
+ ELSE()
+ SET(BIN_SCRIPTS
+- mysql_config
+ mysqldumpslow
+ mysqld_multi
+ mysqld_safe
+ )
+ ENDIF()
+
++ IF(NOT WITHOUT_CLIENTLIBS)
++ SET(BIN_SCRIPTS
++ ${BIN_SCRIPTS}
++ mysql_config
++ )
++ ENDIF(NOT WITHOUT_CLIENTLIBS)
++
+ SET(PKGCONFIG_FILE ${LIBMYSQL_OS_OUTPUT_NAME}.pc)
+ STRING(REGEX REPLACE "/mysql$" "" PKGCONFIG_DIR "${INSTALL_LIBDIR}")
+ SET(PKGCONFIG_DIR "${PKGCONFIG_DIR}/pkgconfig")
+@@ -485,7 +490,7 @@ ELSE()
+ ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
+ ESCAPE_QUOTES @ONLY)
+
+- IF(INSTALL_PKGCONFIGDIR)
++ IF(INSTALL_PKGCONFIGDIR AND NOT WITHOUT_CLIENTLIBS)
+ MESSAGE(STATUS "INSTALL ${PKGCONFIG_FILE} ${INSTALL_PKGCONFIGDIR}")
+ INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
+--- a/support-files/CMakeLists.txt
++++ b/support-files/CMakeLists.txt
+@@ -24,8 +24,9 @@ IF(NOT UNIX)
+ RETURN()
+ ENDIF()
+
+-INSTALL(FILES mysql.m4
+- DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
++IF(NOT WITHOUT_CLIENTLIBS)
++ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
++ENDIF(NOT WITHOUT_CLIENTLIBS)
+
+ SET(localstatedir "${MYSQL_DATADIR}")
+
+--- a/utilities/CMakeLists.txt
++++ b/utilities/CMakeLists.txt
+@@ -94,10 +94,15 @@ IF(APPLE AND HAVE_CRYPTO_DYLIB AND HAVE_OPENSSL_DYLIB)
+ ADD_DEPENDENCIES(comp_err copy_openssl_dlls)
+ ENDIF()
+
+-MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.cc)
++IF(NOT WITHOUT_CLIENTLIBS)
++ MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.cc SKIP_INSTALL)
++ MYSQL_ADD_EXECUTABLE(perror perror.cc SKIP_INSTALL)
++ELSE(NOT WITHOUT_CLIENTLIBS)
++ MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.cc)
++ MYSQL_ADD_EXECUTABLE(perror perror.cc)
++ENDIF(NOT WITHOUT_CLIENTLIBS)
+ TARGET_LINK_LIBRARIES(my_print_defaults mysys)
+
+-MYSQL_ADD_EXECUTABLE(perror perror.cc)
+ ADD_DEPENDENCIES(perror GenError)
+ TARGET_LINK_LIBRARIES(perror mysys)
+