summaryrefslogtreecommitdiff
path: root/databases/mysql57-server/files
diff options
context:
space:
mode:
authorMahdi Mokhtari <mmokhi@FreeBSD.org>2017-07-23 16:45:07 +0000
committerMahdi Mokhtari <mmokhi@FreeBSD.org>2017-07-23 16:45:07 +0000
commit85d7d2170ac5f6a9d62221b4e76470da3c5b06fe (patch)
tree0f2b175c4a61415ef11c102066c5cf1683e11516 /databases/mysql57-server/files
parentUpdate sysutils/virtualmin to version 5.99. (diff)
databases/mysql57-{server client}: Fix broken SASL/LDAP integration on newest 5.7.19 upgrade
-Add a SASL/LDAP option for mysql57-client -Fix plugin.cmake for "FreeBSD != Linux" case For new plugin, MySQL build assumes everything is MacOS or Windows or Linux. This breaks upgrades when you have SASL/LDAP client-library installed. Because it "Decides" that you "Want" SASL/LDAP support and tries to build it. PR: 220865 Submitted by: mmokhi Reported by: Vladimir Omelchuk <admin@vladiom.com.ua> Reviewed by: mat, feld (mentors) Approved by: feld (mentor) MFH: 2017Q3 Differential Revision: https://reviews.freebsd.org/D11667
Diffstat (limited to 'databases/mysql57-server/files')
-rw-r--r--databases/mysql57-server/files/patch-cmake_plugin.cmake37
-rw-r--r--databases/mysql57-server/files/patch-libmysql_authentication__ldap_CMakeLists.txt18
2 files changed, 52 insertions, 3 deletions
diff --git a/databases/mysql57-server/files/patch-cmake_plugin.cmake b/databases/mysql57-server/files/patch-cmake_plugin.cmake
index 65d4bc2b4d31..8716c1b962b4 100644
--- a/databases/mysql57-server/files/patch-cmake_plugin.cmake
+++ b/databases/mysql57-server/files/patch-cmake_plugin.cmake
@@ -1,12 +1,43 @@
---- cmake/plugin.cmake.orig 2016-03-28 18:06:12 UTC
+--- cmake/plugin.cmake.orig 2017-06-22 14:13:19 UTC
+++ cmake/plugin.cmake
-@@ -237,9 +237,6 @@ MACRO(MYSQL_ADD_PLUGIN)
+@@ -219,9 +219,16 @@ MACRO(MYSQL_ADD_PLUGIN)
+ # Thus we skip TARGET_LINK_LIBRARIES on Linux, as it would only generate
+ # an additional dependency.
+ # Use MYSQL_PLUGIN_IMPORT for static data symbols to be exported.
+- IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
++ #
++ # P.S. "FreeBSD" is obviously not "Linux" but it behaves near similar in this case.
++ IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ TARGET_LINK_LIBRARIES (${target} mysqld ${ARG_LINK_LIBRARIES})
+ ENDIF()
++ IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++ SET_TARGET_PROPERTIES(${target} PROPERTIES
++ LINK_FLAGS "-L%%FREEBSD_LOCAL_LIB%% ${LINK_FLAGS} "
++ )
++ ENDIF()
+ ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDENCIES})
+
+ IF(NOT ARG_MODULE_ONLY)
+@@ -239,13 +246,17 @@ MACRO(MYSQL_ADD_PLUGIN)
MYSQL_INSTALL_TARGETS(${target}
DESTINATION ${INSTALL_PLUGINDIR}
COMPONENT ${INSTALL_COMPONENT})
- INSTALL_DEBUG_TARGET(${target}
- DESTINATION ${INSTALL_PLUGINDIR}/debug
- COMPONENT ${INSTALL_COMPONENT})
++ IF(CMAKE_BUILD_TYPE MATCHES "Debug")
++ INSTALL_DEBUG_TARGET(${target}
++ DESTINATION ${INSTALL_PLUGINDIR}/debug
++ COMPONENT ${INSTALL_COMPONENT})
++ # Add installed files to list for RPMs
++ FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
++ "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/debug/${ARG_MODULE_OUTPUT_NAME}.so\n")
++ ENDIF()
# Add installed files to list for RPMs
FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
- "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
+- "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
+- "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/debug/${ARG_MODULE_OUTPUT_NAME}.so\n")
++ "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n")
+ # For internal testing in PB2, append collections files
+ IF(DEFINED ENV{PB2WORKDIR})
+ PLUGIN_APPEND_COLLECTIONS(${plugin})
diff --git a/databases/mysql57-server/files/patch-libmysql_authentication__ldap_CMakeLists.txt b/databases/mysql57-server/files/patch-libmysql_authentication__ldap_CMakeLists.txt
new file mode 100644
index 000000000000..05783d914af4
--- /dev/null
+++ b/databases/mysql57-server/files/patch-libmysql_authentication__ldap_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- libmysql/authentication_ldap/CMakeLists.txt.orig 2017-07-20 22:54:16 UTC
++++ libmysql/authentication_ldap/CMakeLists.txt
+@@ -52,8 +52,10 @@ ELSE ()
+ SET(SASL_LIBRARY "sasl2")
+ ENDIF ()
+
+-MYSQL_ADD_PLUGIN(authentication_ldap_sasl_client
+- auth_ldap_sasl_client.cc log_client.cc
+- LINK_LIBRARIES ${SASL_LIBRARY}
+- MODULE_ONLY
+- MODULE_OUTPUT_NAME "authentication_ldap_sasl_client")
++IF (WITH_AUTHENTICATION_LDAP)
++ MYSQL_ADD_PLUGIN(authentication_ldap_sasl_client
++ auth_ldap_sasl_client.cc log_client.cc
++ LINK_LIBRARIES ${SASL_LIBRARY}
++ MODULE_ONLY
++ MODULE_OUTPUT_NAME "authentication_ldap_sasl_client")
++ENDIF()