[packages/mysql] - added link patch (fixes build with systemtap probes) - added systemtap bcond

qboosh qboosh at pld-linux.org
Sat Jul 13 07:52:17 CEST 2013


commit f42f4b0d486f6153736bebd03c12fb16f302e4e1
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Jul 13 07:52:06 2013 +0200

    - added link patch (fixes build with systemtap probes)
    - added systemtap bcond

 mysql-link.patch | 45 +++++++++++++++++++++++++++++++++++++++++++++
 mysql.spec       | 39 +++++++++++++++++++++------------------
 2 files changed, 66 insertions(+), 18 deletions(-)
---
diff --git a/mysql.spec b/mysql.spec
index 632769c..1a0a501 100644
--- a/mysql.spec
+++ b/mysql.spec
@@ -18,6 +18,7 @@
 %bcond_without	federated	# Federated storage engine support
 %bcond_without	raid		# RAID support
 %bcond_without	ssl		# OpenSSL support
+%bcond_without	systemtap	# systemtap/dtrace probes
 %bcond_without	tcpd		# libwrap (tcp_wrappers) support
 %bcond_without	sphinx		# Sphinx storage engine support
 %bcond_with	tests		# FIXME: don't run correctly
@@ -59,7 +60,7 @@ Source13:	%{name}-client.conf
 Source14:	my.cnf
 # from fedora
 Source15:	lib%{name}.version
-
+Patch0:		%{name}-link.patch
 Patch2:		mysqlhotcopy-5.0-5.5.patch
 Patch3:		bug-67402.patch
 # from fedora
@@ -93,6 +94,7 @@ BuildRequires:	readline-devel >= 4.2
 BuildRequires:	rpm-perlprov >= 4.1-13
 BuildRequires:	rpmbuild(macros) >= 1.597
 BuildRequires:	sed >= 4.0
+%{?with_systemtap:BuildRequires:	systemtap-sdt-devel}
 BuildRequires:	zlib-devel
 Requires(post,preun):	/sbin/chkconfig
 Requires(postun):	/usr/sbin/groupdel
@@ -490,7 +492,7 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 mv sphinx-*/mysqlse storage/sphinx
 %patch18 -p1
 %endif
-
+%patch0 -p1
 %patch2 -p1
 %patch3 -p1
 
@@ -528,34 +530,35 @@ cp -a %{SOURCE15} libmysql/libmysql.version
 
 %cmake \
 	-DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
-	-DFEATURE_SET="community" \
 	-DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
 	-DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
-	-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-	-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
+	-DCOMPILATION_COMMENT="PLD/Linux Distribution MySQL RPM" \
+	-DCURSES_INCLUDE_PATH=/usr/include/ncurses \
+	%{!?with_systemtap:-DENABLE_DTRACE=OFF} \
+	-DFEATURE_SET="community" \
+	-DINSTALL_LAYOUT=RPM \
+	-DINSTALL_LIBDIR=%{_lib} \
+	-DINSTALL_MYSQLTESTDIR_RPM="" \
+	-DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \
+	-DINSTALL_SQLBENCHDIR=%{_datadir} \
+	-DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
+	-DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \
 	%{?debug:-DWITH_DEBUG=ON} \
+	-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
 	-DWITH_FAST_MUTEXES=ON \
-	-DWITH_PIC=ON \
 	-DWITH_LIBEDIT=OFF \
+	-DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
+	-DWITH_PAM=ON \
+	-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
+	-DWITH_PIC=ON \
 	-DWITH_READLINE=OFF \
 %if "%{pld_release}" == "ac"
 	-DWITH_SSL=%{?with_ssl:bundled}%{!?with_ssl:no} \
 %else
 	-DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
 %endif
-	-DWITH_ZLIB=system \
-	-DWITH_PAM=ON \
-	-DCOMPILATION_COMMENT="PLD/Linux Distribution MySQL RPM" \
-	-DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
 	-DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
-	-DCURSES_INCLUDE_PATH=/usr/include/ncurses \
-	-DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \
-	-DINSTALL_LAYOUT=RPM \
-	-DINSTALL_MYSQLTESTDIR_RPM="" \
-	-DINSTALL_SQLBENCHDIR=%{_datadir} \
-	-DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
-	-DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \
-	-DINSTALL_LIBDIR=%{_lib} \
+	-DWITH_ZLIB=system \
 	..
 
 %{__make}
diff --git a/mysql-link.patch b/mysql-link.patch
new file mode 100644
index 0000000..ecdaaed
--- /dev/null
+++ b/mysql-link.patch
@@ -0,0 +1,45 @@
+Workaround for: https://bugs.launchpad.net/percona-server/+bug/747152
+
+When linking plugins which are linked to libraries already linked with
+probes_mysql.o, skip adding (second) probes_mysql.o .
+
+--- Percona-Server-5.5.32-rel31.0/cmake/plugin.cmake.orig	2013-07-01 05:16:34.000000000 +0200
++++ Percona-Server-5.5.32-rel31.0/cmake/plugin.cmake	2013-07-12 17:57:12.120001411 +0200
+@@ -47,7 +47,7 @@
+ MACRO(MYSQL_ADD_PLUGIN)
+   MYSQL_PARSE_ARGUMENTS(ARG
+     "LINK_LIBRARIES;DEPENDENCIES;MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME"
+-    "STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;RECOMPILE_FOR_EMBEDDED"
++    "STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;RECOMPILE_FOR_EMBEDDED;SKIP_PROBES"
+     ${ARGN}
+   )
+   
+@@ -170,7 +170,9 @@
+ 
+     ADD_VERSION_INFO(${target} MODULE SOURCES)
+     ADD_LIBRARY(${target} MODULE ${SOURCES}) 
++    IF(NOT ARG_SKIP_PROBES)
+     DTRACE_INSTRUMENT(${target})
++    ENDIF()
+     SET_TARGET_PROPERTIES (${target} PROPERTIES PREFIX ""
+       COMPILE_DEFINITIONS "MYSQL_DYNAMIC_PLUGIN")
+     TARGET_LINK_LIBRARIES (${target} mysqlservices)
+--- Percona-Server-5.5.32-rel31.0/storage/sphinx/CMakeLists.txt.orig	2012-11-05 12:48:48.000000000 +0100
++++ Percona-Server-5.5.32-rel31.0/storage/sphinx/CMakeLists.txt	2013-07-12 17:57:36.740000378 +0200
+@@ -12,5 +12,5 @@
+ ADD_LIBRARY(sphinx ha_sphinx.cc snippets_udf.cc)
+ ELSE()
+ SET(SPHINX_PLUGIN_DYNAMIC "ha_sphinx")
+-MYSQL_ADD_PLUGIN(sphinx ${SPHINX_SOURCES} STORAGE_ENGINE MODULE_ONLY LINK_LIBRARIES mysys)
++MYSQL_ADD_PLUGIN(sphinx ${SPHINX_SOURCES} STORAGE_ENGINE MODULE_ONLY SKIP_PROBES LINK_LIBRARIES mysys)
+ ENDIF()
+--- Percona-Server-5.5.32-rel31.0/plugin/percona-pam-for-mysql/CMakeLists.txt.orig	2013-07-01 05:16:34.000000000 +0200
++++ Percona-Server-5.5.32-rel31.0/plugin/percona-pam-for-mysql/CMakeLists.txt	2013-07-12 18:28:41.576588784 +0200
+@@ -31,6 +31,6 @@
+   SET(AUTH_PAM_COMPAT_SOURCES ${AUTH_PAM_COMMON_SOURCES} src/auth_pam_compat.c)
+   MYSQL_ADD_PLUGIN(auth_pam ${AUTH_PAM_SOURCES} LINK_LIBRARIES pam MODULE_ONLY)
+   MYSQL_ADD_PLUGIN(auth_pam_compat ${AUTH_PAM_COMPAT_SOURCES} LINK_LIBRARIES pam MODULE_ONLY)
+-  MYSQL_ADD_PLUGIN(dialog src/dialog.c LINK_LIBRARIES mysqlclient MODULE_ONLY)
++  MYSQL_ADD_PLUGIN(dialog src/dialog.c LINK_LIBRARIES mysqlclient MODULE_ONLY SKIP_PROBES)
+ ENDIF(HAVE_PAM AND HAVE_GETPWNAM_R AND HAVE_GETGRGID_R)
+ ENDIF(WITH_PAM)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mysql.git/commitdiff/f42f4b0d486f6153736bebd03c12fb16f302e4e1



More information about the pld-cvs-commit mailing list