commit:     490d855c9b2e6a1d537e5d86b5a6cea0aedf69e5
Author:     Brian Evans <grknight <AT> tuffmail <DOT> com>
AuthorDate: Fri Feb 12 02:26:07 2016 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Fri Feb 12 02:26:07 2016 +0000
URL:        https://gitweb.gentoo.org/proj/mysql-extras.git/commit/?id=490d855c

Respin embedded library patch for mysql-5.6.29

 00000_index.txt                         |   8 +-
 20006_all_cmake_elib-mysql-5.6.29.patch | 205 ++++++++++++++++++++++++++++++++
 2 files changed, 212 insertions(+), 1 deletion(-)

diff --git a/00000_index.txt b/00000_index.txt
index 1750a53..8f25b34 100644
--- a/00000_index.txt
+++ b/00000_index.txt
@@ -602,7 +602,13 @@
 @@ Also install static libs by ENABLE_STATIC_LIBS
 
 @patch 20006_all_cmake_elib-mysql-5.6.22.patch
-@ver 5.06.22.00 to 5.06.99.99
+@ver 5.06.22.00 to 5.06.28.99
+@pn mysql
+@@ Add ELIBPATH to split client and embedded libs
+@@ Also install static libs by ENABLE_STATIC_LIBS
+
+@patch 20006_all_cmake_elib-mysql-5.6.29.patch
+@ver 5.06.29.00 to 5.06.99.99
 @pn mysql
 @@ Add ELIBPATH to split client and embedded libs
 @@ Also install static libs by ENABLE_STATIC_LIBS

diff --git a/20006_all_cmake_elib-mysql-5.6.29.patch 
b/20006_all_cmake_elib-mysql-5.6.29.patch
new file mode 100644
index 0000000..038f08b
--- /dev/null
+++ b/20006_all_cmake_elib-mysql-5.6.29.patch
@@ -0,0 +1,205 @@
+diff -ur mysql-old/cmake/install_layout.cmake mysql/cmake/install_layout.cmake
+--- mysql-old/cmake/install_layout.cmake       2014-01-20 00:14:06.581799638 
-0100
++++ mysql/cmake/install_layout.cmake   2014-01-20 00:15:27.647802721 -0100
+@@ -43,7 +43,8 @@
+ # - INSTALL_SBINDIR         (directory with mysqld)
+ # - INSTALL_SCRIPTDIR       (several scripts, rarely used)
+ #
+-# - INSTALL_LIBDIR          (directory with client end embedded libraries)
++# - INSTALL_LIBDIR          (directory with client libraries)
++# - INSTALL_ELIBDIR         (directory with embedded libraries)
+ # - INSTALL_PLUGINDIR       (directory for plugins)
+ #
+ # - INSTALL_INCLUDEDIR      (directory for MySQL headers)
+@@ -117,6 +118,7 @@
+ SET(INSTALL_SCRIPTDIR_STANDALONE        "scripts")
+ #
+ SET(INSTALL_LIBDIR_STANDALONE           "lib")
++SET(INSTALL_ELIBDIR_STANDALONE          "lib")
+ SET(INSTALL_PLUGINDIR_STANDALONE        "lib/plugin")
+ #
+ SET(INSTALL_INCLUDEDIR_STANDALONE       "include")
+@@ -148,9 +150,11 @@
+ #
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+   SET(INSTALL_LIBDIR_RPM                "lib64")
++  SET(INSTALL_ELIBDIR_RPM               "lib64")
+   SET(INSTALL_PLUGINDIR_RPM             "lib64/mysql/plugin")
+ ELSE()
+   SET(INSTALL_LIBDIR_RPM                "lib")
++  SET(INSTALL_ELIBDIR_RPM               "lib")
+   SET(INSTALL_PLUGINDIR_RPM             "lib/mysql/plugin")
+ ENDIF()
+ #
+@@ -178,6 +182,7 @@
+ SET(INSTALL_SCRIPTDIR_DEB               "scripts")
+ #
+ SET(INSTALL_LIBDIR_DEB                  "lib")
++SET(INSTALL_ELIBDIR_DEB                 "lib")
+ SET(INSTALL_PLUGINDIR_DEB               "lib/plugin")
+ #
+ SET(INSTALL_INCLUDEDIR_DEB              "include")
+@@ -204,6 +209,7 @@
+ SET(INSTALL_SCRIPTDIR_SVR4              "scripts")
+ #
+ SET(INSTALL_LIBDIR_SVR4                 "lib")
++SET(INSTALL_ELIBDIR_SVR4                "lib")
+ SET(INSTALL_PLUGINDIR_SVR4              "lib/plugin")
+ #
+ SET(INSTALL_INCLUDEDIR_SVR4             "include")
+@@ -234,7 +240,7 @@
+ # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR
+ # will be defined  as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE
+ # layout is chosen)
+-FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
++FOREACH(var BIN SBIN LIB ELIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
+   INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST)
+   SET(INSTALL_${var}DIR  ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
+   CACHE STRING "${var} installation directory" ${FORCE})
+diff -ur mysql-old/cmake/libutils.cmake mysql/cmake/libutils.cmake
+--- mysql-old/cmake/libutils.cmake     2014-01-20 00:14:06.581799638 -0100
++++ mysql/cmake/libutils.cmake 2014-01-20 00:15:27.647802721 -0100
+@@ -40,6 +40,8 @@
+ # - MERGE_LIBRARIES(target [STATIC|SHARED|MODULE]  [linklib1 .... linklibN]
+ #  [EXPORTS exported_func1 .... exported_func_N]
+ #  [OUTPUT_NAME output_name]
++#  [OUTPUT_DIR output_dir]
++
+ # This macro merges several static libraries into a single one or creates a 
shared
+ # library from several convenience libraries
+ 
+@@ -214,7 +216,7 @@
+ #)
+ MACRO(MERGE_LIBRARIES)
+   MYSQL_PARSE_ARGUMENTS(ARG
+-    "EXPORTS;OUTPUT_NAME;COMPONENT"
++    "EXPORTS;OUTPUT_NAME;COMPONENT;OUTPUT_DIR"
+     "STATIC;SHARED;MODULE;NOINSTALL"
+     ${ARGN}
+   )
+@@ -265,7 +267,11 @@
+     IF(ARG_COMPONENT)
+       SET(COMP COMPONENT ${ARG_COMPONENT}) 
+     ENDIF()
+-    MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP})
++    IF(ARG_OUTPUT_DIR)
++      MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${ARG_OUTPUT_DIR}" ${COMP})
++    ELSE()
++      MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP})
++    ENDIF()
+   ENDIF()
+   SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_INTERFACE_LIBRARIES "")
+ 
+diff -ur mysql-old/libmysql/CMakeLists.txt mysql/libmysql/CMakeLists.txt
+--- mysql-old/libmysql/CMakeLists.txt  2014-01-20 00:14:06.580799638 -0100
++++ mysql/libmysql/CMakeLists.txt      2014-01-20 00:15:27.647802721 -0100
+@@ -179,8 +179,13 @@
+   LIST(APPEND LIBS auth_win_client)
+ ENDIF()
+
++SET(INSTALL_STATIC_LIBS "")
++IF(NOT ENABLE_STATIC_LIBS)
++  SET(INSTALL_STATIC_LIBS "NOINSTALL")
++ENDIF()
++
+ # Merge several convenience libraries into one big mysqlclient
+-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development)
++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development OUTPUT_DIR 
${INSTALL_LIBDIR} ${INSTALL_STATIC_LIBS})
+
+ # Visual Studio users need debug  static library for debug projects
+ INSTALL_DEBUG_SYMBOLS(clientlib)
+@@ -211,9 +216,11 @@
+
+ IF(UNIX)
+   GET_TARGET_NAME(mysqlclient lib_name)
+-  INSTALL_SYMLINK(mysqlclient
+-    ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
+-    ${INSTALL_LIBDIR} Development)
++  IF(ENABLE_STATIC_LIBS)
++    INSTALL_SYMLINK(mysqlclient
++      ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
++      ${INSTALL_LIBDIR} Development)
++  ENDIF()
+ ENDIF()
+
+ IF(NOT DISABLE_SHARED)
+diff -ur mysql-old/libmysqld/CMakeLists.txt mysql/libmysqld/CMakeLists.txt
+--- mysql-old/libmysqld/CMakeLists.txt 2014-01-20 00:14:06.453799634 -0100
++++ mysql/libmysqld/CMakeLists.txt     2014-01-20 00:25:46.375826250 -0100
+@@ -126,8 +126,13 @@
+   ENDIF()
+ ENDFOREACH()
+ 
++SET(INSTALL_STATIC_LIBS "")
++IF(NOT ENABLE_STATIC_LIBS)
++  SET(INSTALL_STATIC_LIBS "NOINSTALL")
++ENDIF()
++
+ MERGE_LIBRARIES(mysqlserver STATIC ${EMBEDDED_LIBS} 
+-  OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded)
++  OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded OUTPUT_DIR 
${INSTALL_ELIBDIR} ${INSTALL_STATIC_LIBS})
+ 
+ # Visual Studio users need debug  static library 
+ IF(MSVC)
+@@ -135,12 +135,14 @@
+ ENDIF()
+ 
+ IF(UNIX)
+- INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME
++ INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_ELIBDIR} RENAME
+   ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug)
+ ENDIF()
+ 
+ IF(NOT DISABLE_SHARED)
+-  MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS 
${CLIENT_API_FUNCTIONS})
++  MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS}
++  COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR})
++
+   IF(UNIX)
+     # Name the shared library, handle versioning (provides same api as client 
library
+     # hence the same version)
+--- mysql-old/libservices/CMakeLists.txt  2014-02-06 14:35:25.162325748 -0500
++++ mysql/libservices/CMakeLists.txt  2014-02-06 14:36:20.051137978 -0500
+@@ -26,4 +26,6 @@
+   my_thread_scheduler_service.c)
+
+ ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
+-INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT 
Development)
++IF(ENABLE_STATIC_LIBS)
++  INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT 
Development)
++ENDIF()
+
+diff -aurN mysql.old/scripts/CMakeLists.txt mysql/scripts/CMakeLists.txt
+--- mysql.old/scripts/CMakeLists.txt   2014-03-14 15:07:28.000000000 -0400
++++ mysql/scripts/CMakeLists.txt       2014-04-25 22:46:35.000000000 -0400
+@@ -239,6 +239,7 @@
+ SET(pkglibdir ${prefix}/${INSTALL_LIBDIR})
+ SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
+ SET(localstatedir ${MYSQL_DATADIR})
++SET(elibdir ${prefix}/${INSTALL_ELIBDIR})
+ 
+ SET(RPATH_OPTION "")
+ IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+diff -aurN mysql.old/scripts/mysql_config.sh mysql/scripts/mysql_config.sh
+--- mysql.old/scripts/mysql_config.sh  2014-03-14 15:07:28.000000000 -0400
++++ mysql/scripts/mysql_config.sh      2014-04-25 22:48:26.000000000 -0400
+@@ -91,6 +91,10 @@
+ plugindir_rel=`echo $plugindir | sed -e "s;^$basedir/;;"`
+ fix_path plugindir $plugindir_rel lib/mysql/plugin lib/plugin
+ 
++elibdir='@elibdir@'
++elibdir_rel=`echo $elibdir | sed -e "s;^$basedir/;;"`
++fix_path elibdir $elibdir_rel lib64/mysql lib64 lib/mysql lib
++
+ pkgincludedir='@pkgincludedir@'
+ if [ -f "$basedir/include/mysql/mysql.h" ]; then
+   pkgincludedir="$basedir/include/mysql"
+@@ -113,7 +117,7 @@
+ libs="$libs @QUOTED_CMAKE_C_LINK_FLAGS@"
+ libs_r=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqlclient @ZLIB_DEPS@ 
@CLIENT_LIBS@ @openssl_libs@ "
+ libs_r="$libs @QUOTED_CMAKE_C_LINK_FLAGS@"
+-embedded_libs=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqld @LIBDL@ 
@ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @openssl_libs@ "
++embedded_libs=" $ldflags -L$elibdir @RPATH_OPTION@ -lmysqld @LIBDL@ 
@ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @openssl_libs@ "
+ embedded_libs="$embedded_libs @QUOTED_CMAKE_CXX_LINK_FLAGS@"
+ 
+ cflags="-I$pkgincludedir @CFLAGS@ " #note: end space!

Reply via email to