commit:     4945033d7f4438ec0baf76975ffd07208630d685
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  2 00:13:03 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Aug  2 00:13:03 2019 +0000
URL:        https://gitweb.gentoo.org/proj/mysql-extras.git/commit/?id=4945033d

Add initial MySQL v8.0 patch set

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 ..._all_fix-minimal-build-cmake-mysql-8.0.17.patch |  26 ++++
 20007_all_cmake-debug-werror-8.0.17.patch          |  15 ++
 ...ll_mysql-8.0.17-add-protobuf-3.8+-support.patch |  20 +++
 20018_all_mysql-8.0.17-fix-libressl-support.patch  |  12 ++
 ...all_mysql-8.0.17-without-clientlibs-tools.patch | 156 +++++++++++++++++++++
 5 files changed, 229 insertions(+)

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)
+ 

Reply via email to