1 |
commit: d3f03ae3af3e7413ab6c5382bebb65bd8e28bfa5 |
2 |
Author: Brian Evans <grknight <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jan 19 20:37:29 2019 +0000 |
4 |
Commit: Brian Evans <grknight <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 19 20:37:29 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/mysql-extras.git/commit/?id=d3f03ae3 |
7 |
|
8 |
Respin patch for mysql-cluster-7.2.34 |
9 |
|
10 |
Signed-off-by: Brian Evans <grknight <AT> gentoo.org> |
11 |
|
12 |
20006_all_cmake_elib-mysql-cluster-7.2.34.patch | 225 ++++++++++++++++++++++++ |
13 |
1 file changed, 225 insertions(+) |
14 |
|
15 |
diff --git a/20006_all_cmake_elib-mysql-cluster-7.2.34.patch b/20006_all_cmake_elib-mysql-cluster-7.2.34.patch |
16 |
new file mode 100644 |
17 |
index 0000000..91bcea5 |
18 |
--- /dev/null |
19 |
+++ b/20006_all_cmake_elib-mysql-cluster-7.2.34.patch |
20 |
@@ -0,0 +1,225 @@ |
21 |
+diff -aurN a/cmake/install_layout.cmake b/cmake/install_layout.cmake |
22 |
+--- a/cmake/install_layout.cmake 2018-06-21 07:34:38.000000000 -0400 |
23 |
++++ b/cmake/install_layout.cmake 2019-01-19 15:20:18.791407251 -0500 |
24 |
+@@ -55,7 +55,8 @@ |
25 |
+ # - INSTALL_SBINDIR (directory with mysqld) |
26 |
+ # - INSTALL_SCRIPTDIR (several scripts, rarely used) |
27 |
+ # |
28 |
+-# - INSTALL_LIBDIR (directory with client end embedded libraries) |
29 |
++# - INSTALL_LIBDIR (directory with client libraries) |
30 |
++# - INSTALL_ELIBDIR (directory with embedded libraries) |
31 |
+ # - INSTALL_PLUGINDIR (directory for plugins) |
32 |
+ # |
33 |
+ # - INSTALL_INCLUDEDIR (directory for MySQL headers) |
34 |
+@@ -156,6 +157,7 @@ |
35 |
+ SET(INSTALL_SCRIPTDIR_STANDALONE "scripts") |
36 |
+ # |
37 |
+ SET(INSTALL_LIBDIR_STANDALONE "lib") |
38 |
++SET(INSTALL_ELIBDIR_STANDALONE "lib") |
39 |
+ SET(INSTALL_PLUGINDIR_STANDALONE "lib/plugin") |
40 |
+ # |
41 |
+ SET(INSTALL_INCLUDEDIR_STANDALONE "include") |
42 |
+@@ -329,9 +331,11 @@ |
43 |
+ # |
44 |
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") |
45 |
+ SET(INSTALL_LIBDIR_RPM "lib64") |
46 |
++ SET(INSTALL_ELIBDIR_RPM "lib64") |
47 |
+ SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin") |
48 |
+ ELSE() |
49 |
+ SET(INSTALL_LIBDIR_RPM "lib") |
50 |
++ SET(INSTALL_ELIBDIR_RPM "lib") |
51 |
+ SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin") |
52 |
+ ENDIF() |
53 |
+ # |
54 |
+@@ -394,6 +398,7 @@ |
55 |
+ SET(INSTALL_SCRIPTDIR_DEB "scripts") |
56 |
+ # |
57 |
+ SET(INSTALL_LIBDIR_DEB "lib") |
58 |
++SET(INSTALL_ELIBDIR_DEB "lib") |
59 |
+ SET(INSTALL_PLUGINDIR_DEB "lib/plugin") |
60 |
+ # |
61 |
+ SET(INSTALL_INCLUDEDIR_DEB "include") |
62 |
+@@ -422,6 +427,7 @@ |
63 |
+ SET(INSTALL_SCRIPTDIR_SVR4 "scripts") |
64 |
+ # |
65 |
+ SET(INSTALL_LIBDIR_SVR4 "lib") |
66 |
++SET(INSTALL_ELIBDIR_SVR4 "lib") |
67 |
+ SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin") |
68 |
+ # |
69 |
+ SET(INSTALL_INCLUDEDIR_SVR4 "include") |
70 |
+@@ -453,7 +459,7 @@ |
71 |
+ # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR |
72 |
+ # will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE |
73 |
+ # layout is chosen) |
74 |
+-FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
75 |
++FOREACH(var BIN SBIN LIB ELIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
76 |
+ INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST |
77 |
+ SECURE_FILE_PRIV SECURE_FILE_PRIV_EMBEDDED) |
78 |
+ SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}} |
79 |
+diff -aurN a/cmake/libutils.cmake b/cmake/libutils.cmake |
80 |
+--- a/cmake/libutils.cmake 2019-01-19 15:15:56.294486959 -0500 |
81 |
++++ b/cmake/libutils.cmake 2019-01-19 15:23:39.369054028 -0500 |
82 |
+@@ -40,6 +40,7 @@ |
83 |
+ # - MERGE_LIBRARIES(target [STATIC|SHARED|MODULE] [linklib1 .... linklibN] |
84 |
+ # [EXPORTS exported_func1 .... exported_func_N] |
85 |
+ # [OUTPUT_NAME output_name] |
86 |
++# [OUTPUT_DIR output_dir] |
87 |
+ # This macro merges several static libraries into a single one or creates a shared |
88 |
+ # library from several convenience libraries |
89 |
+ |
90 |
+@@ -215,7 +216,7 @@ |
91 |
+ #) |
92 |
+ MACRO(MERGE_LIBRARIES) |
93 |
+ MYSQL_PARSE_ARGUMENTS(ARG |
94 |
+- "EXPORTS;OUTPUT_NAME;COMPONENT" |
95 |
++ "EXPORTS;OUTPUT_NAME;COMPONENT;OUTPUT_DIR" |
96 |
+ "STATIC;SHARED;MODULE;NOINSTALL" |
97 |
+ ${ARGN} |
98 |
+ ) |
99 |
+@@ -266,7 +267,11 @@ |
100 |
+ IF(ARG_COMPONENT) |
101 |
+ SET(COMP COMPONENT ${ARG_COMPONENT}) |
102 |
+ ENDIF() |
103 |
+- MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
104 |
++ IF(ARG_OUTPUT_DIR) |
105 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${ARG_OUTPUT_DIR}" ${COMP}) |
106 |
++ ELSE |
107 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
108 |
++ ENDIF() |
109 |
+ ENDIF() |
110 |
+ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_INTERFACE_LIBRARIES "") |
111 |
+ |
112 |
+diff -aurN a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt |
113 |
+--- a/libmysql/CMakeLists.txt 2019-01-19 15:15:56.504484491 -0500 |
114 |
++++ b/libmysql/CMakeLists.txt 2019-01-19 15:26:57.836803741 -0500 |
115 |
+@@ -153,6 +153,11 @@ |
116 |
+ |
117 |
+ SET(LIBS clientlib dbug strings vio mysys ${ZLIB_LIBRARY} ${SSL_LIBRARIES} ${LIBDL}) |
118 |
+ |
119 |
++SET(INSTALL_STATIC_LIBS "") |
120 |
++IF(NOT ENABLE_STATIC_LIBS) |
121 |
++ SET(INSTALL_STATIC_LIBS "NOINSTALL") |
122 |
++ENDIF() |
123 |
++ |
124 |
+ # |
125 |
+ # On Windows platform client library includes the client-side |
126 |
+ # Windows Native Authentication plugin. |
127 |
+@@ -165,7 +170,7 @@ |
128 |
+ |
129 |
+ # Merge several convenience libraries into one big mysqlclient |
130 |
+ # and link them together into shared library. |
131 |
+-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development) |
132 |
++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development OUTPUT_DIR ${INSTALL_LIBDIR} ${INSTALL_STATIC_LIBS}) |
133 |
+ |
134 |
+ # Visual Studio users need debug static library for debug projects |
135 |
+ IF(MSVC) |
136 |
+@@ -195,9 +200,11 @@ |
137 |
+ |
138 |
+ IF(UNIX) |
139 |
+ GET_TARGET_NAME(mysqlclient lib_name) |
140 |
+- INSTALL_SYMLINK(mysqlclient |
141 |
+- ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a |
142 |
+- ${INSTALL_LIBDIR} Development) |
143 |
++ IF(ENABLE_STATIC_LIBS) |
144 |
++ INSTALL_SYMLINK(mysqlclient |
145 |
++ ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a |
146 |
++ ${INSTALL_LIBDIR} Development) |
147 |
++ ENDIF() |
148 |
+ ENDIF() |
149 |
+ |
150 |
+ IF(NOT DISABLE_SHARED) |
151 |
+diff -aurN a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt |
152 |
+--- a/libmysqld/CMakeLists.txt 2019-01-19 15:15:56.504484491 -0500 |
153 |
++++ b/libmysqld/CMakeLists.txt 2019-01-19 15:30:07.304860344 -0500 |
154 |
+@@ -135,8 +135,13 @@ |
155 |
+ ENDIF() |
156 |
+ ENDFOREACH() |
157 |
+ |
158 |
++SET(INSTALL_STATIC_LIBS "") |
159 |
++IF(NOT ENABLE_STATIC_LIBS) |
160 |
++ SET(INSTALL_STATIC_LIBS "NOINSTALL") |
161 |
++ENDIF() |
162 |
++ |
163 |
+ MERGE_LIBRARIES(mysqlserver STATIC ${EMBEDDED_LIBS} |
164 |
+- OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded) |
165 |
++ OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR} ${INSTALL_STATIC_LIBS}) |
166 |
+ |
167 |
+ # Visual Studio users need debug static library |
168 |
+ IF(MSVC) |
169 |
+@@ -149,12 +154,14 @@ |
170 |
+ # to handle. So, for now, we just disable it for those builds. |
171 |
+ # |
172 |
+ IF(UNIX AND NOT INSTALL_LAYOUT MATCHES "SVR4") |
173 |
+- INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME |
174 |
++ INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_ELIBDIR} RENAME |
175 |
+ ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug) |
176 |
+ ENDIF() |
177 |
+ |
178 |
+ IF(NOT DISABLE_SHARED) |
179 |
+- MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS}) |
180 |
++ MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS} |
181 |
++ COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR}) |
182 |
++ |
183 |
+ IF(UNIX) |
184 |
+ # Name the shared library, handle versioning (provides same api as client library |
185 |
+ # hence the same version) |
186 |
+diff -aurN a/libservices/CMakeLists.txt b/libservices/CMakeLists.txt |
187 |
+--- a/libservices/CMakeLists.txt 2019-01-19 15:15:56.504484491 -0500 |
188 |
++++ b/libservices/CMakeLists.txt 2019-01-19 15:31:15.404161862 -0500 |
189 |
+@@ -22,4 +22,6 @@ |
190 |
+ my_thread_scheduler_service.c) |
191 |
+ |
192 |
+ ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES}) |
193 |
+-INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development) |
194 |
++IF(ENABLE_STATIC_LIBS) |
195 |
++ INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development) |
196 |
++ENDIF() |
197 |
+diff -aurN a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt |
198 |
+--- a/scripts/CMakeLists.txt 2019-01-19 15:15:56.504484491 -0500 |
199 |
++++ b/scripts/CMakeLists.txt 2019-01-19 15:31:59.513709368 -0500 |
200 |
+@@ -209,6 +209,7 @@ |
201 |
+ SET(scriptdir ${prefix}/${INSTALL_BINDIR}) |
202 |
+ SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) |
203 |
+ SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) |
204 |
++SET(elibdir ${prefix}/${INSTALL_ELIBDIR}) |
205 |
+ IF(INSTALL_LAYOUT MATCHES "STANDALONE") |
206 |
+ SET(localstatedir ${prefix}/data) |
207 |
+ ELSE() |
208 |
+diff -aurN a/scripts/mysql_config.pl.in b/scripts/mysql_config.pl.in |
209 |
+--- a/scripts/mysql_config.pl.in 2018-06-21 07:34:38.000000000 -0400 |
210 |
++++ b/scripts/mysql_config.pl.in 2019-01-19 15:33:17.682907458 -0500 |
211 |
+@@ -190,9 +190,10 @@ |
212 |
+ else |
213 |
+ { |
214 |
+ my $linkpath = "-L$pkglibdir @RPATH_OPTION@"; |
215 |
++ my $elinkpath = "-L@elibdir@ @RPATH_OPTION@"; |
216 |
+ @lib_opts = ($linkpath,"-lmysqlclient"); |
217 |
+ @lib_r_opts = ($linkpath,"-lmysqlclient_r"); |
218 |
+- @lib_e_opts = ($linkpath,"-lmysqld"); |
219 |
++ @lib_e_opts = ($elinkpath,"-lmysqld"); |
220 |
+ } |
221 |
+ |
222 |
+ my $flags; |
223 |
+diff -aurN a/scripts/mysql_config.sh b/scripts/mysql_config.sh |
224 |
+--- a/scripts/mysql_config.sh 2019-01-19 15:15:56.294486959 -0500 |
225 |
++++ b/scripts/mysql_config.sh 2019-01-19 15:34:31.992145205 -0500 |
226 |
+@@ -92,6 +92,10 @@ |
227 |
+ plugindir_rel=`echo $plugindir | sed -e "s;^$basedir/;;"` |
228 |
+ fix_path plugindir $plugindir_rel @libsubdir@/mysql/plugin @libsubdir@/plugin |
229 |
+ |
230 |
++elibdir='@elibdir@' |
231 |
++elibdir_rel=`echo $elibdir | sed -e "s;^$basedir/;;"` |
232 |
++fix_path elibdir $elibdir_rel lib64/mysql lib64 lib/mysql lib |
233 |
++ |
234 |
+ pkgincludedir='@pkgincludedir@' |
235 |
+ if [ -f "$basedir/include/mysql/mysql.h" ]; then |
236 |
+ pkgincludedir="$basedir/include/mysql" |
237 |
+@@ -114,7 +118,7 @@ |
238 |
+ libs=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqlclient @ZLIB_DEPS@ @NON_THREADED_LIBS@" |
239 |
+ libs="$libs @openssl_libs@ @STATIC_NSS_FLAGS@ " |
240 |
+ libs_r=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqlclient_r @ZLIB_DEPS@ @CLIENT_LIBS@ @openssl_libs@ " |
241 |
+-embedded_libs=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqld @LIBDL@ @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @openssl_libs@ " |
242 |
++embedded_libs=" $ldflags -L$elibdir @RPATH_OPTION@ -lmysqld @LIBDL@ @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @openssl_libs@ " |
243 |
+ |
244 |
+ if [ -r "$pkglibdir/libmygcc.a" ]; then |
245 |
+ # When linking against the static library with a different version of GCC |