From 98b90e9b271876a251c4d332f73073ef7a53d14c Mon Sep 17 00:00:00 2001 From: jperkin Date: Thu, 13 Feb 2014 15:47:15 +0000 Subject: Support building with recent DTrace (v1.11 or newer). Patch from https://bugs.launchpad.net/percona-server/+bug/1196460 --- databases/mysql55-client/distinfo | 14 +++++- .../mysql55-client/patches/patch-CMakeLists.txt | 11 ++++- .../patches/patch-cmake_dtrace.cmake | 21 ++++++++ .../patches/patch-cmake_plugin.cmake | 56 ++++++++++++++++++++++ .../patches/patch-storage_archive_CMakeLists.txt | 14 ++++++ .../patches/patch-storage_blackhole_CMakeLists.txt | 13 +++++ .../patches/patch-storage_csv_CMakeLists.txt | 13 +++++ .../patches/patch-storage_example_CMakeLists.txt | 13 +++++ .../patches/patch-storage_federated_CMakeLists.txt | 13 +++++ .../patches/patch-storage_heap_CMakeLists.txt | 16 +++++++ .../patches/patch-storage_myisam_CMakeLists.txt | 16 +++++++ .../patches/patch-storage_myisammrg_CMakeLists.txt | 13 +++++ 12 files changed, 210 insertions(+), 3 deletions(-) create mode 100644 databases/mysql55-client/patches/patch-cmake_dtrace.cmake create mode 100644 databases/mysql55-client/patches/patch-cmake_plugin.cmake create mode 100644 databases/mysql55-client/patches/patch-storage_archive_CMakeLists.txt create mode 100644 databases/mysql55-client/patches/patch-storage_blackhole_CMakeLists.txt create mode 100644 databases/mysql55-client/patches/patch-storage_csv_CMakeLists.txt create mode 100644 databases/mysql55-client/patches/patch-storage_example_CMakeLists.txt create mode 100644 databases/mysql55-client/patches/patch-storage_federated_CMakeLists.txt create mode 100644 databases/mysql55-client/patches/patch-storage_heap_CMakeLists.txt create mode 100644 databases/mysql55-client/patches/patch-storage_myisam_CMakeLists.txt create mode 100644 databases/mysql55-client/patches/patch-storage_myisammrg_CMakeLists.txt (limited to 'databases') diff --git a/databases/mysql55-client/distinfo b/databases/mysql55-client/distinfo index c23397f8cf8..9dea683fcdd 100644 --- a/databases/mysql55-client/distinfo +++ b/databases/mysql55-client/distinfo @@ -1,15 +1,17 @@ -$NetBSD: distinfo,v 1.30 2014/02/01 11:16:03 adam Exp $ +$NetBSD: distinfo,v 1.31 2014/02/13 15:47:15 jperkin Exp $ SHA1 (mysql-5.5.36.tar.gz) = 581d49e1a38d5536c8268350e2f91ed9d461909d RMD160 (mysql-5.5.36.tar.gz) = 7651338751545a30652836d9c7bb0d3102592180 Size (mysql-5.5.36.tar.gz) = 21723910 bytes SHA1 (patch-BUILD_compile-pentium-gcov) = a1ac666efa953a98455a726e5db359c903d699b6 -SHA1 (patch-CMakeLists.txt) = 0c4263762d2d9fafd84b25038cae57a87fed339d +SHA1 (patch-CMakeLists.txt) = 632e036cd9578d0636328c2259a8529c36f2d14a SHA1 (patch-client_completion_hash.cc) = e27fd7072a8206380f0a932b1a31d2843c985cbf SHA1 (patch-client_mysqladmin.cc) = 382486c2f336eed87052e682b52d1acf444452a0 SHA1 (patch-client_mysqlbinlog.cc) = e38abe026c10a07808ccd24b596cf13c5079e206 SHA1 (patch-client_sql_string.cc) = 1547b8d3889af2831c89b97aecdbe8158711a600 +SHA1 (patch-cmake_dtrace.cmake) = 5ae3284589a17a8375b8a546136965fa337f3767 SHA1 (patch-cmake_libutils.cmake) = 5d75a1762e3db6724bec2d75b45d40b17a5e9d09 +SHA1 (patch-cmake_plugin.cmake) = 2b702af6bf8f251886cea12cf7477abae7659230 SHA1 (patch-cmake_readline.cmake) = aed279d6740e70d7e0e7565a6d9f0f214c866c8d SHA1 (patch-include_CMakeLists.txt) = 4781c69315624fb5567ae70cee87f1ddb3f89847 SHA1 (patch-include_my_compare.h) = f45bac4b488332a668b0005751856279b67401f5 @@ -25,7 +27,15 @@ SHA1 (patch-sql_CMakeLists.txt) = c4e72a0a93eb94a94501c267e2a43aedf8de2c76 SHA1 (patch-sql_log_event.h) = 43a52ea2f410aa51b99f2f7e1f293a579e13f9c8 SHA1 (patch-sql_mysqld.cc) = 7e2cfb58f6af8531920dd9128f7b3a35735d7d2c SHA1 (patch-sql_sql_string.h) = 32c0caf813f7ba94e9ed8fc6d0da4b4a52b41141 +SHA1 (patch-storage_archive_CMakeLists.txt) = 1144fc8dda537be12656e76c2a714f2af59d0368 +SHA1 (patch-storage_blackhole_CMakeLists.txt) = c8907f400c64e7405a2d112b80892fa0a395d212 +SHA1 (patch-storage_csv_CMakeLists.txt) = 59ef822fe0eeb65bd003a5cc6849b57d26276b56 +SHA1 (patch-storage_example_CMakeLists.txt) = 10b4e505dc2d7291b9f61228e34426f2f99479b5 +SHA1 (patch-storage_federated_CMakeLists.txt) = aec604eca871e9efcde479a31569127746884c92 +SHA1 (patch-storage_heap_CMakeLists.txt) = 997b3eabc62ab5fcd80b83d030b3f8de0a5bcdac SHA1 (patch-storage_innobase_include_os0sync.h) = d3f66b063af3328f3ee518dd00dfc9d1d25943dc +SHA1 (patch-storage_myisam_CMakeLists.txt) = cad3fd135d30a9d3800a9bc525595ead92fc0a9c +SHA1 (patch-storage_myisammrg_CMakeLists.txt) = 7ec499b4c8a146c551fc129e86acf2a7ead8ca7b SHA1 (patch-storage_ndb_include_util_Parser.hpp) = ca9406a8b01dffb3f515f132fa7aaef66c78f2be SHA1 (patch-strings_decimal.c) = dafedbfbd71149890f3356f3cafa77d6d0466f0f SHA1 (patch-vio_viossl.c) = bc1922f1170ff55a6ed832b90c110e788b49d4be diff --git a/databases/mysql55-client/patches/patch-CMakeLists.txt b/databases/mysql55-client/patches/patch-CMakeLists.txt index 22c96b629ff..803dfe8cc74 100644 --- a/databases/mysql55-client/patches/patch-CMakeLists.txt +++ b/databases/mysql55-client/patches/patch-CMakeLists.txt @@ -1,9 +1,18 @@ -$NetBSD: patch-CMakeLists.txt,v 1.4 2013/04/20 08:06:56 adam Exp $ +$NetBSD: patch-CMakeLists.txt,v 1.5 2014/02/13 15:47:15 jperkin Exp $ Split configuration between mysql-client and mysql-server. +Build with newer DTrace. --- CMakeLists.txt.orig 2013-03-25 13:14:58.000000000 +0000 +++ CMakeLists.txt +@@ -168,6 +168,7 @@ IF(DISABLE_SHARED) + SET(WITHOUT_DYNAMIC_PLUGINS 1) + ENDIF() + OPTION(ENABLED_PROFILING "Enable profiling" ON) ++OPTION(ENABLE_DTRACE "Include support for DTrace probes" OFF) + OPTION(CYBOZU "" OFF) + OPTION(BACKUP_TEST "" OFF) + OPTION(WITHOUT_SERVER OFF) @@ -293,7 +293,6 @@ ADD_SUBDIRECTORY(strings) ADD_SUBDIRECTORY(vio) ADD_SUBDIRECTORY(regex) diff --git a/databases/mysql55-client/patches/patch-cmake_dtrace.cmake b/databases/mysql55-client/patches/patch-cmake_dtrace.cmake new file mode 100644 index 00000000000..4e2029c1202 --- /dev/null +++ b/databases/mysql55-client/patches/patch-cmake_dtrace.cmake @@ -0,0 +1,21 @@ +$NetBSD: patch-cmake_dtrace.cmake,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- cmake/dtrace.cmake.orig 2014-01-14 08:16:26.000000000 +0000 ++++ cmake/dtrace.cmake +@@ -35,10 +35,11 @@ MACRO(CHECK_DTRACE) + MARK_AS_ADVANCED(DTRACE) + + # On FreeBSD, dtrace does not handle userland tracing yet +- IF(DTRACE AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD" +- AND NOT BUGGY_GCC_NO_DTRACE_MODULES) +- SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace") ++ IF(ENABLE_DTRACE AND (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" ++ OR BUGGY_GCC_NO_DTRACE_MODULES OR NOT DTRACE)) ++ MESSAGE(FATAL_ERROR "dtrace is not supported on this system") + ENDIF() ++ + SET(HAVE_DTRACE ${ENABLE_DTRACE}) + IF(CMAKE_SYSTEM_NAME MATCHES "SunOS") + IF(CMAKE_SIZEOF_VOID_P EQUAL 4) diff --git a/databases/mysql55-client/patches/patch-cmake_plugin.cmake b/databases/mysql55-client/patches/patch-cmake_plugin.cmake new file mode 100644 index 00000000000..d22f3fb26f9 --- /dev/null +++ b/databases/mysql55-client/patches/patch-cmake_plugin.cmake @@ -0,0 +1,56 @@ +$NetBSD: patch-cmake_plugin.cmake,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- cmake/plugin.cmake.orig 2014-01-14 08:16:26.000000000 +0000 ++++ cmake/plugin.cmake +@@ -21,6 +21,7 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_ + # [STORAGE_ENGINE] + # [MANDATORY|DEFAULT] + # [STATIC_ONLY|DYNAMIC_ONLY] ++# [DTRACE_INSTRUMENTED] + # [MODULE_OUTPUT_NAME module_name] + # [STATIC_OUTPUT_NAME static_name] + # [RECOMPILE_FOR_EMBEDDED] +@@ -47,7 +48,7 @@ ENDMACRO() + 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;DTRACE_INSTRUMENTED" + ${ARGN} + ) + +@@ -116,7 +117,9 @@ MACRO(MYSQL_ADD_PLUGIN) + IF (WITH_${plugin} AND NOT ARG_MODULE_ONLY) + ADD_LIBRARY(${target} STATIC ${SOURCES}) + SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITONS "MYSQL_SERVER") +- DTRACE_INSTRUMENT(${target}) ++ IF (ARG_DTRACE_INSTRUMENTED) ++ DTRACE_INSTRUMENT(${target}) ++ ENDIF() + ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDENCIES}) + IF(WITH_EMBEDDED_SERVER) + # Embedded library should contain PIC code and be linkable +@@ -124,7 +127,9 @@ MACRO(MYSQL_ADD_PLUGIN) + IF(ARG_RECOMPILE_FOR_EMBEDDED OR NOT _SKIP_PIC) + # Recompile some plugins for embedded + ADD_CONVENIENCE_LIBRARY(${target}_embedded ${SOURCES}) +- DTRACE_INSTRUMENT(${target}_embedded) ++ IF (ARG_DTRACE_INSTRUMENTED) ++ DTRACE_INSTRUMENT(${target}_embedded) ++ ENDIF() + IF(ARG_RECOMPILE_FOR_EMBEDDED) + SET_TARGET_PROPERTIES(${target}_embedded + PROPERTIES COMPILE_DEFINITIONS "MYSQL_SERVER;EMBEDDED_LIBRARY") +@@ -170,7 +175,9 @@ MACRO(MYSQL_ADD_PLUGIN) + + ADD_VERSION_INFO(${target} MODULE SOURCES) + ADD_LIBRARY(${target} MODULE ${SOURCES}) +- DTRACE_INSTRUMENT(${target}) ++ IF (ARG_DTRACE_INSTRUMENTED) ++ DTRACE_INSTRUMENT(${target}) ++ ENDIF() + SET_TARGET_PROPERTIES (${target} PROPERTIES PREFIX "" + COMPILE_DEFINITIONS "MYSQL_DYNAMIC_PLUGIN") + TARGET_LINK_LIBRARIES (${target} mysqlservices) diff --git a/databases/mysql55-client/patches/patch-storage_archive_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_archive_CMakeLists.txt new file mode 100644 index 00000000000..fdf80cea642 --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_archive_CMakeLists.txt @@ -0,0 +1,14 @@ +$NetBSD: patch-storage_archive_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/archive/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/archive/CMakeLists.txt +@@ -14,5 +14,6 @@ + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + SET(ARCHIVE_SOURCES azio.c ha_archive.cc ha_archive.h) +-MYSQL_ADD_PLUGIN(archive ${ARCHIVE_SOURCES} STORAGE_ENGINE LINK_LIBRARIES ${ZLIB_LIBRARY}) ++MYSQL_ADD_PLUGIN(archive ${ARCHIVE_SOURCES} STORAGE_ENGINE ++ LINK_LIBRARIES ${ZLIB_LIBRARY} DTRACE_INSTRUMENTED) + diff --git a/databases/mysql55-client/patches/patch-storage_blackhole_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_blackhole_CMakeLists.txt new file mode 100644 index 00000000000..78e114f9c03 --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_blackhole_CMakeLists.txt @@ -0,0 +1,13 @@ +$NetBSD: patch-storage_blackhole_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/blackhole/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/blackhole/CMakeLists.txt +@@ -14,4 +14,5 @@ + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + SET(BLACKHOLE_SOURCES ha_blackhole.cc ha_blackhole.h) +-MYSQL_ADD_PLUGIN(blackhole ${BLACKHOLE_SOURCES} STORAGE_ENGINE) ++MYSQL_ADD_PLUGIN(blackhole ${BLACKHOLE_SOURCES} STORAGE_ENGINE ++ DTRACE_INSTRUMENTED) diff --git a/databases/mysql55-client/patches/patch-storage_csv_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_csv_CMakeLists.txt new file mode 100644 index 00000000000..2f77bdaab3f --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_csv_CMakeLists.txt @@ -0,0 +1,13 @@ +$NetBSD: patch-storage_csv_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/csv/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/csv/CMakeLists.txt +@@ -17,4 +17,5 @@ SET(CSV_PLUGIN_STATIC "csv") + SET(CSV_PLUGIN_MANDATORY TRUE) + + SET(CSV_SOURCES ha_tina.cc ha_tina.h transparent_file.cc transparent_file.h) +-MYSQL_ADD_PLUGIN(csv ${CSV_SOURCES} STORAGE_ENGINE MANDATORY) ++MYSQL_ADD_PLUGIN(csv ${CSV_SOURCES} STORAGE_ENGINE ++ MANDATORY DTRACE_INSTRUMENTED) diff --git a/databases/mysql55-client/patches/patch-storage_example_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_example_CMakeLists.txt new file mode 100644 index 00000000000..5404ec5a757 --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_example_CMakeLists.txt @@ -0,0 +1,13 @@ +$NetBSD: patch-storage_example_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/example/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/example/CMakeLists.txt +@@ -15,4 +15,5 @@ + + SET(EXAMPLE_PLUGIN_DYNAMIC "ha_example") + SET(EXAMPLE_SOURCES ha_example.cc) +-MYSQL_ADD_PLUGIN(example ${EXAMPLE_SOURCES} STORAGE_ENGINE MODULE_ONLY) ++MYSQL_ADD_PLUGIN(example ${EXAMPLE_SOURCES} STORAGE_ENGINE MODULE_ONLY ++ DTRACE_INSTRUMENTED) diff --git a/databases/mysql55-client/patches/patch-storage_federated_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_federated_CMakeLists.txt new file mode 100644 index 00000000000..50ea050678a --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_federated_CMakeLists.txt @@ -0,0 +1,13 @@ +$NetBSD: patch-storage_federated_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/federated/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/federated/CMakeLists.txt +@@ -21,4 +21,5 @@ IF(NOT WITH_FEDERATED AND NOT WITH_FEDER + # mysqld and are optimized away by the linker. + SET(FEDERATED_SOURCES ${FEDERATED_SOURCES} ${CMAKE_SOURCE_DIR}/mysys/string.c) + ENDIF() +-MYSQL_ADD_PLUGIN(federated ${FEDERATED_SOURCES} STORAGE_ENGINE) ++MYSQL_ADD_PLUGIN(federated ${FEDERATED_SOURCES} STORAGE_ENGINE ++ DTRACE_INSTRUMENTED) diff --git a/databases/mysql55-client/patches/patch-storage_heap_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_heap_CMakeLists.txt new file mode 100644 index 00000000000..a8067616e6e --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_heap_CMakeLists.txt @@ -0,0 +1,16 @@ +$NetBSD: patch-storage_heap_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/heap/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/heap/CMakeLists.txt +@@ -22,7 +22,8 @@ SET(HEAP_SOURCES _check.c _rectest.c hp + hp_rename.c hp_rfirst.c hp_rkey.c hp_rlast.c hp_rnext.c hp_rprev.c + hp_rrnd.c hp_rsame.c hp_scan.c hp_static.c hp_update.c hp_write.c) + +-MYSQL_ADD_PLUGIN(heap ${HEAP_SOURCES} STORAGE_ENGINE MANDATORY RECOMPILE_FOR_EMBEDDED) ++MYSQL_ADD_PLUGIN(heap ${HEAP_SOURCES} STORAGE_ENGINE MANDATORY ++ RECOMPILE_FOR_EMBEDDED DTRACE_INSTRUMENTED) + + ADD_EXECUTABLE(hp_test1 hp_test1.c) + TARGET_LINK_LIBRARIES(hp_test1 mysys heap dbug strings) diff --git a/databases/mysql55-client/patches/patch-storage_myisam_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_myisam_CMakeLists.txt new file mode 100644 index 00000000000..5734156a5d0 --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_myisam_CMakeLists.txt @@ -0,0 +1,16 @@ +$NetBSD: patch-storage_myisam_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/myisam/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/myisam/CMakeLists.txt +@@ -29,7 +29,8 @@ SET(MYISAM_SOURCES ft_boolean_search.c + MYSQL_ADD_PLUGIN(myisam ${MYISAM_SOURCES} + STORAGE_ENGINE + MANDATORY +- RECOMPILE_FOR_EMBEDDED) ++ RECOMPILE_FOR_EMBEDDED ++ DTRACE_INSTRUMENTED) + + TARGET_LINK_LIBRARIES(myisam mysys) + diff --git a/databases/mysql55-client/patches/patch-storage_myisammrg_CMakeLists.txt b/databases/mysql55-client/patches/patch-storage_myisammrg_CMakeLists.txt new file mode 100644 index 00000000000..fbb2cd3a3f3 --- /dev/null +++ b/databases/mysql55-client/patches/patch-storage_myisammrg_CMakeLists.txt @@ -0,0 +1,13 @@ +$NetBSD: patch-storage_myisammrg_CMakeLists.txt,v 1.1 2014/02/13 15:47:15 jperkin Exp $ + +Build with newer DTrace. + +--- storage/myisammrg/CMakeLists.txt.orig 2014-01-14 08:16:26.000000000 +0000 ++++ storage/myisammrg/CMakeLists.txt +@@ -20,4 +20,5 @@ SET(MYISAMMRG_SOURCES myrg_close.c myrg + myrg_rprev.c myrg_rrnd.c myrg_rsame.c myrg_static.c myrg_update.c + myrg_write.c myrg_records.c) + +-MYSQL_ADD_PLUGIN(myisammrg ${MYISAMMRG_SOURCES} STORAGE_ENGINE MANDATORY RECOMPILE_FOR_EMBEDDED) ++MYSQL_ADD_PLUGIN(myisammrg ${MYISAMMRG_SOURCES} STORAGE_ENGINE MANDATORY ++ RECOMPILE_FOR_EMBEDDED DTRACE_INSTRUMENTED) -- cgit v1.2.3