View | Details | Raw Unified | Return to bug 220865 | Differences between
and this patch

Collapse All | Expand All

(-)databases/mysql57-client/Makefile (+10 lines)
Lines 2-7 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	mysql
4
PORTNAME=	mysql
5
PORTREVISION=	1
5
PKGNAMESUFFIX=	57-client
6
PKGNAMESUFFIX=	57-client
6
7
7
COMMENT=	Multithreaded SQL database (client)
8
COMMENT=	Multithreaded SQL database (client)
Lines 33-38 Link Here
33
34
34
CLIENT_ONLY=	yes
35
CLIENT_ONLY=	yes
35
36
37
OPTIONS_GROUP+=		PLUGINS
38
PLUGINS_DESC=		Default Client Plugins
39
OPTIONS_GROUP_PLUGINS=	SASLCLIENT
40
SASLCLIENT_DESC=	SASL client plugin module
41
SASLCLIENT_CMAKE_BOOL=	WITH_AUTHENTICATION_LDAP
42
SASLCLIENT_LIB_DEPENDS=		libsasl2.so:security/cyrus-sasl2
43
SASLCLIENT_BUILD_DEPENDS=	${LOCALBASE}/include/sasl/sasl.h:net/openldap24-sasl-client
44
OPTIONS_DEFAULT+=	SASLCLIENT
45
36
# issue 166367: adding symlinks for back-compatibility with ${lib}_r
46
# issue 166367: adding symlinks for back-compatibility with ${lib}_r
37
post-install:
47
post-install:
38
	@${LN} -s libmysqlclient.a ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.a
48
	@${LN} -s libmysqlclient.a ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.a
(-)databases/mysql57-client/files/patch-cmake_plugin.cmake (+43 lines)
Added Link Here
1
--- cmake/plugin.cmake.orig	2017-06-22 14:13:19 UTC
2
+++ cmake/plugin.cmake
3
@@ -219,9 +219,16 @@ MACRO(MYSQL_ADD_PLUGIN)
4
     # Thus we skip TARGET_LINK_LIBRARIES on Linux, as it would only generate
5
     # an additional dependency.
6
     # Use MYSQL_PLUGIN_IMPORT for static data symbols to be exported.
7
-    IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
8
+    #
9
+    # P.S. "FreeBSD" is obviously not "Linux" but it behaves near similar in this case.
10
+    IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
11
       TARGET_LINK_LIBRARIES (${target} mysqld ${ARG_LINK_LIBRARIES})
12
     ENDIF()
13
+    IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
14
+        SET_TARGET_PROPERTIES(${target} PROPERTIES
15
+          LINK_FLAGS "-L%%FREEBSD_LOCAL_LIB%% ${LINK_FLAGS} "
16
+        )
17
+    ENDIF()
18
     ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDENCIES})
19
 
20
      IF(NOT ARG_MODULE_ONLY)
21
@@ -239,13 +246,17 @@ MACRO(MYSQL_ADD_PLUGIN)
22
     MYSQL_INSTALL_TARGETS(${target}
23
       DESTINATION ${INSTALL_PLUGINDIR}
24
       COMPONENT ${INSTALL_COMPONENT})
25
-    INSTALL_DEBUG_TARGET(${target}
26
-      DESTINATION ${INSTALL_PLUGINDIR}/debug
27
-      COMPONENT ${INSTALL_COMPONENT})
28
+    IF(CMAKE_BUILD_TYPE MATCHES "Debug")
29
+        INSTALL_DEBUG_TARGET(${target}
30
+          DESTINATION ${INSTALL_PLUGINDIR}/debug
31
+          COMPONENT ${INSTALL_COMPONENT})
32
+        # Add installed files to list for RPMs
33
+        FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
34
+          "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/debug/${ARG_MODULE_OUTPUT_NAME}.so\n")
35
+    ENDIF()
36
     # Add installed files to list for RPMs
37
     FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
38
-            "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
39
-            "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/debug/${ARG_MODULE_OUTPUT_NAME}.so\n")
40
+            "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n")
41
     # For internal testing in PB2, append collections files
42
     IF(DEFINED ENV{PB2WORKDIR})
43
       PLUGIN_APPEND_COLLECTIONS(${plugin})
(-)databases/mysql57-client/files/patch-libmysql_authentication__ldap_CMakeLists.txt (+18 lines)
Added Link Here
1
--- libmysql/authentication_ldap/CMakeLists.txt.orig	2017-07-20 22:54:16 UTC
2
+++ libmysql/authentication_ldap/CMakeLists.txt
3
@@ -52,8 +52,10 @@ ELSE ()
4
   SET(SASL_LIBRARY "sasl2")
5
 ENDIF ()
6
 
7
-MYSQL_ADD_PLUGIN(authentication_ldap_sasl_client
8
-                 auth_ldap_sasl_client.cc log_client.cc
9
-                 LINK_LIBRARIES ${SASL_LIBRARY}
10
-                 MODULE_ONLY
11
-                 MODULE_OUTPUT_NAME "authentication_ldap_sasl_client")
12
+IF (WITH_AUTHENTICATION_LDAP)
13
+    MYSQL_ADD_PLUGIN(authentication_ldap_sasl_client
14
+                     auth_ldap_sasl_client.cc log_client.cc
15
+                     LINK_LIBRARIES ${SASL_LIBRARY}
16
+                     MODULE_ONLY
17
+                     MODULE_OUTPUT_NAME "authentication_ldap_sasl_client")
18
+ENDIF()
(-)databases/mysql57-client/pkg-plist (+1 lines)
Lines 125-130 Link Here
125
lib/mysql/libmysqlclient_r.a
125
lib/mysql/libmysqlclient_r.a
126
lib/mysql/libmysqlclient_r.so
126
lib/mysql/libmysqlclient_r.so
127
lib/mysql/libmysqlclient_r.so.20
127
lib/mysql/libmysqlclient_r.so.20
128
%%SASLCLIENT%%lib/mysql/plugin/authentication_ldap_sasl_client.so
128
libdata/pkgconfig/mysqlclient.pc
129
libdata/pkgconfig/mysqlclient.pc
129
man/man1/comp_err.1.gz
130
man/man1/comp_err.1.gz
130
man/man1/mysql.1.gz
131
man/man1/mysql.1.gz
(-)databases/mysql57-server/Makefile (-4 / +14 lines)
Lines 3-8 Link Here
3
3
4
PORTNAME?=	mysql
4
PORTNAME?=	mysql
5
PORTVERSION=	5.7.19
5
PORTVERSION=	5.7.19
6
PORTREVISION=	1
6
CATEGORIES=	databases ipv6
7
CATEGORIES=	databases ipv6
7
MASTER_SITES=	MYSQL/MySQL-5.7
8
MASTER_SITES=	MYSQL/MySQL-5.7
8
PKGNAMESUFFIX?=	57-server
9
PKGNAMESUFFIX?=	57-server
Lines 55-61 Link Here
55
		-DWITH_LIBEVENT=system \
56
		-DWITH_LIBEVENT=system \
56
		-DWITH_LZ4=system \
57
		-DWITH_LZ4=system \
57
		-DWITH_ZLIB=system \
58
		-DWITH_ZLIB=system \
58
		-DINSTALL_MYSQLTESTDIR=0
59
		-DINSTALL_MYSQLTESTDIR=0 \
60
		-DWITH_DEBUG=0
59
61
60
SHEBANG_FILES=	scripts/*.pl* scripts/*.sh
62
SHEBANG_FILES=	scripts/*.pl* scripts/*.sh
61
63
Lines 71-76 Link Here
71
		MY_SECDIR=${MY_SECDIR} \
73
		MY_SECDIR=${MY_SECDIR} \
72
		MY_TMPDIR=${MY_TMPDIR}
74
		MY_TMPDIR=${MY_TMPDIR}
73
75
76
OPTIONS_SUB=		YES
77
74
# MySQL-Server part
78
# MySQL-Server part
75
.if !defined(CLIENT_ONLY)
79
.if !defined(CLIENT_ONLY)
76
USES+=		mysql:57
80
USES+=		mysql:57
Lines 98-106 Link Here
98
102
99
CMAKE_ARGS+=	-DWITH_EMBEDDED_SERVER="ON"
103
CMAKE_ARGS+=	-DWITH_EMBEDDED_SERVER="ON"
100
104
101
OPTIONS_GROUP=		STORAGE
105
OPTIONS_GROUP+=		STORAGE
102
OPTIONS_GROUP_STORAGE=	ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA
106
OPTIONS_GROUP_STORAGE=	ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA
103
OPTIONS_SUB=		YES
104
STORAGE_DESC=		Permissible "Storage Engines" (to compile statically into the server)
107
STORAGE_DESC=		Permissible "Storage Engines" (to compile statically into the server)
105
ARCHIVE_DESC=		Compile "Archive Storage" statically in server
108
ARCHIVE_DESC=		Compile "Archive Storage" statically in server
106
BLACKHOLE_DESC=		Compile "Blackhole Storage" statically in server
109
BLACKHOLE_DESC=		Compile "Blackhole Storage" statically in server
Lines 119-133 Link Here
119
PERFSCHEMA_CMAKE_ON=	-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
122
PERFSCHEMA_CMAKE_ON=	-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
120
123
121
OPTIONS_GROUP+=		FEATURES
124
OPTIONS_GROUP+=		FEATURES
122
OPTIONS_GROUP_FEATURES=	PERFSCHM
123
FEATURES_DESC=		Default features knobs
125
FEATURES_DESC=		Default features knobs
126
OPTIONS_GROUP_FEATURES=	PERFSCHM
124
PERFSCHM_DESC=		Enable "Performance Schema" by default (High RAM usage)
127
PERFSCHM_DESC=		Enable "Performance Schema" by default (High RAM usage)
125
OPTIONS_DEFAULT+=	PERFSCHM
128
OPTIONS_DEFAULT+=	PERFSCHM
126
129
127
PERFSCHM_SUB_LIST+=		PERFSCHEMRC=""
130
PERFSCHM_SUB_LIST+=		PERFSCHEMRC=""
128
PERFSCHM_SUB_LIST_OFF+=		PERFSCHEMRC="--skip-performance-schema"
131
PERFSCHM_SUB_LIST_OFF+=		PERFSCHEMRC="--skip-performance-schema"
129
FEDERATED_SUB_LIST+=		FEDER="--federated"
132
FEDERATED_SUB_LIST+=		FEDER="--federated"
130
FEDERATED_SUB_LIST_OFF+=	FEDER=""
133
FEDERATED_SUB_LIST_OFF+=	FEDER=""
134
135
# issue 220865: Currently there's no source to be built with server-side support.
136
# 		But this keeps the pkg-plist not overlaping
137
CMAKE_ARGS+=	-DWITH_AUTHENTICATION_LDAP=0
131
.endif
138
.endif
132
139
133
.include <bsd.port.pre.mk>
140
.include <bsd.port.pre.mk>
Lines 143-148 Link Here
143
150
144
post-patch:
151
post-patch:
145
	@${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt
152
	@${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt
153
	# issue 220865: MySQL developers forgot that FreeBSD != Linux
154
	@${REINPLACE_CMD} -e 's|%%FREEBSD_LOCAL_LIB%%|${LOCALBASE}/lib|g' \
155
	    ${WRKSRC}/cmake/plugin.cmake
146
156
147
.if !defined(CLIENT_ONLY)
157
.if !defined(CLIENT_ONLY)
148
post-install:
158
post-install:
(-)databases/mysql57-server/files/patch-cmake_plugin.cmake (-3 / +34 lines)
Lines 1-12 Link Here
1
--- cmake/plugin.cmake.orig	2016-03-28 18:06:12 UTC
1
--- cmake/plugin.cmake.orig	2017-06-22 14:13:19 UTC
2
+++ cmake/plugin.cmake
2
+++ cmake/plugin.cmake
3
@@ -237,9 +237,6 @@ MACRO(MYSQL_ADD_PLUGIN)
3
@@ -219,9 +219,16 @@ MACRO(MYSQL_ADD_PLUGIN)
4
     # Thus we skip TARGET_LINK_LIBRARIES on Linux, as it would only generate
5
     # an additional dependency.
6
     # Use MYSQL_PLUGIN_IMPORT for static data symbols to be exported.
7
-    IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
8
+    #
9
+    # P.S. "FreeBSD" is obviously not "Linux" but it behaves near similar in this case.
10
+    IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
11
       TARGET_LINK_LIBRARIES (${target} mysqld ${ARG_LINK_LIBRARIES})
12
     ENDIF()
13
+    IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
14
+        SET_TARGET_PROPERTIES(${target} PROPERTIES
15
+          LINK_FLAGS "-L%%FREEBSD_LOCAL_LIB%% ${LINK_FLAGS} "
16
+        )
17
+    ENDIF()
18
     ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDENCIES})
19
 
20
      IF(NOT ARG_MODULE_ONLY)
21
@@ -239,13 +246,17 @@ MACRO(MYSQL_ADD_PLUGIN)
4
     MYSQL_INSTALL_TARGETS(${target}
22
     MYSQL_INSTALL_TARGETS(${target}
5
       DESTINATION ${INSTALL_PLUGINDIR}
23
       DESTINATION ${INSTALL_PLUGINDIR}
6
       COMPONENT ${INSTALL_COMPONENT})
24
       COMPONENT ${INSTALL_COMPONENT})
7
-    INSTALL_DEBUG_TARGET(${target}
25
-    INSTALL_DEBUG_TARGET(${target}
8
-      DESTINATION ${INSTALL_PLUGINDIR}/debug
26
-      DESTINATION ${INSTALL_PLUGINDIR}/debug
9
-      COMPONENT ${INSTALL_COMPONENT})
27
-      COMPONENT ${INSTALL_COMPONENT})
28
+    IF(CMAKE_BUILD_TYPE MATCHES "Debug")
29
+        INSTALL_DEBUG_TARGET(${target}
30
+          DESTINATION ${INSTALL_PLUGINDIR}/debug
31
+          COMPONENT ${INSTALL_COMPONENT})
32
+        # Add installed files to list for RPMs
33
+        FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
34
+          "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/debug/${ARG_MODULE_OUTPUT_NAME}.so\n")
35
+    ENDIF()
10
     # Add installed files to list for RPMs
36
     # Add installed files to list for RPMs
11
     FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
37
     FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
12
             "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
38
-            "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
39
-            "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/debug/${ARG_MODULE_OUTPUT_NAME}.so\n")
40
+            "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n")
41
     # For internal testing in PB2, append collections files
42
     IF(DEFINED ENV{PB2WORKDIR})
43
       PLUGIN_APPEND_COLLECTIONS(${plugin})
(-)databases/mysql57-server/files/patch-libmysql_authentication__ldap_CMakeLists.txt (+18 lines)
Added Link Here
1
--- libmysql/authentication_ldap/CMakeLists.txt.orig	2017-07-20 22:54:16 UTC
2
+++ libmysql/authentication_ldap/CMakeLists.txt
3
@@ -52,8 +52,10 @@ ELSE ()
4
   SET(SASL_LIBRARY "sasl2")
5
 ENDIF ()
6
 
7
-MYSQL_ADD_PLUGIN(authentication_ldap_sasl_client
8
-                 auth_ldap_sasl_client.cc log_client.cc
9
-                 LINK_LIBRARIES ${SASL_LIBRARY}
10
-                 MODULE_ONLY
11
-                 MODULE_OUTPUT_NAME "authentication_ldap_sasl_client")
12
+IF (WITH_AUTHENTICATION_LDAP)
13
+    MYSQL_ADD_PLUGIN(authentication_ldap_sasl_client
14
+                     auth_ldap_sasl_client.cc log_client.cc
15
+                     LINK_LIBRARIES ${SASL_LIBRARY}
16
+                     MODULE_ONLY
17
+                     MODULE_OUTPUT_NAME "authentication_ldap_sasl_client")
18
+ENDIF()

Return to bug 220865