Thu Feb 13 14:38:08 2014 UTC ()
Support building with recent DTrace (v1.11 or newer).

Patch from https://bugs.launchpad.net/percona-server/+bug/1196460


(jperkin)
diff -r1.12 -r1.13 pkgsrc/databases/mysql56-client/distinfo
diff -r1.2 -r1.3 pkgsrc/databases/mysql56-client/patches/patch-CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-cmake_dtrace.cmake
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-cmake_plugin.cmake
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-mysys__ssl_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_archive_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_blackhole_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_csv_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_example_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_federated_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_heap_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_myisam_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/databases/mysql56-client/patches/patch-storage_myisammrg_CMakeLists.txt

cvs diff -r1.12 -r1.13 pkgsrc/databases/mysql56-client/distinfo (expand / switch to context diff)
--- pkgsrc/databases/mysql56-client/distinfo 2014/02/13 07:49:56 1.12
+++ pkgsrc/databases/mysql56-client/distinfo 2014/02/13 14:38:08 1.13
@@ -1,13 +1,15 @@
-$NetBSD: distinfo,v 1.12 2014/02/13 07:49:56 adam Exp $
+$NetBSD: distinfo,v 1.13 2014/02/13 14:38:08 jperkin Exp $
 
 SHA1 (mysql-5.6.16.tar.gz) = 64a3b4058e2039d2b812d23c8793f74b4f168cc0
 RMD160 (mysql-5.6.16.tar.gz) = 11d21eb50e63776876dccf3a72e19e5de4eec9c2
 Size (mysql-5.6.16.tar.gz) = 32821451 bytes
-SHA1 (patch-CMakeLists.txt) = 031b33ab30e30ea5942152f687348bc118d5b420
+SHA1 (patch-CMakeLists.txt) = b3d0bfc9a23ddbb1ea415e16c35c86e190857bba
 SHA1 (patch-client_completion_hash.cc) = b86ec80beac624b2aa21c7587e351ff126400ecb
 SHA1 (patch-client_mysqladmin.cc) = e1650ef3695675bcc01375bacdebcb7318218b93
 SHA1 (patch-client_sql_string.h) = f26aff4ce4cf6dfef44c85ef95120331ca8fef52
+SHA1 (patch-cmake_dtrace.cmake) = e54867464be28ec05534c9b3c38fd54533f652fb
 SHA1 (patch-cmake_libutils.cmake) = c3e5ab66d2bef43dc2308369e27550553e0f5356
+SHA1 (patch-cmake_plugin.cmake) = 03e7a7debd61e870bd76d5c5b253a620662b3595
 SHA1 (patch-cmake_readline.cmake) = f1ec8ccbebb5b7851199bec457d4029c8a9e63dc
 SHA1 (patch-cmake_ssl.cmake) = a5a25b00010c6586e5a3e099975ddabe369d4247
 SHA1 (patch-include_CMakeLists.txt) = 49d351a958e63c69ad8bfe5c50961fe3751e86c4
@@ -17,12 +19,21 @@
 SHA1 (patch-include_my_pthread.h) = ff3bf1fddd04edd7804d810f79de64387464b5ca
 SHA1 (patch-libmysql_CMakeLists.txt) = 229044de6d11b26ee99b25be99b628a9f146b795
 SHA1 (patch-mysql-test_CMakeLists.txt) = b7dd562d55678b13ac487aa0ee59bf2551af1f9d
+SHA1 (patch-mysys__ssl_CMakeLists.txt) = 8393fba7e834a7d97103ef7fc3925d134e018fbb
 SHA1 (patch-mysys_stacktrace.c) = 27ddd012c9ca299cfe2b9935b9f99fe603415e7e
 SHA1 (patch-scripts_CMakeLists.txt) = 3f4621b3256034c5a3114e98c108658794f06008
 SHA1 (patch-scripts_mysqld_safe.sh) = 0784314227657aa0bc3f4a0b4e21c173a86fa94b
 SHA1 (patch-sql_CMakeLists.txt) = 83c1e50de6b53a0af5ff010f248dd595745b3eb5
 SHA1 (patch-sql_log_event.h) = a413038ffa29103c75e1d243864615ccb3d9621e
 SHA1 (patch-sql_sql_string.h) = 1ce4d4db59310ea45e384f34e33c0d61935059bf
+SHA1 (patch-storage_archive_CMakeLists.txt) = e739ef4884a154d7e33e8aae24234fd6855119b7
+SHA1 (patch-storage_blackhole_CMakeLists.txt) = b9c526783cabd04ea7859d62cb1930ff35f905f8
+SHA1 (patch-storage_csv_CMakeLists.txt) = 739accd1fb85b051e28f5c3f16a6c3c0f77d6dae
+SHA1 (patch-storage_example_CMakeLists.txt) = a80b1dd3c6020b3fe958db35bebe3bd181136f0d
+SHA1 (patch-storage_federated_CMakeLists.txt) = f809504bad63129a06ce455b49ee40cca940891e
+SHA1 (patch-storage_heap_CMakeLists.txt) = 0a1a5a7b5e83f14cec43bfa4782dd4bb7b629347
+SHA1 (patch-storage_myisam_CMakeLists.txt) = 55897ae78208f78a396776d1082cb5f98631fff8
+SHA1 (patch-storage_myisammrg_CMakeLists.txt) = 0a56a16ccaff3fa9de996fec6ffc324af9855a4e
 SHA1 (patch-storage_ndb_include_util_Parser.hpp) = 037fc153619bf79ee95cb03a5ac4a71c14952c3a
 SHA1 (patch-strings_decimal.c) = 069c9d930c735f74510702baa9bef38aec425903
 SHA1 (patch-vio_viossl.c) = 538c08e6ec85d02a7eeead2bb940c91c7f701321

cvs diff -r1.2 -r1.3 pkgsrc/databases/mysql56-client/patches/patch-CMakeLists.txt (expand / switch to context diff)
--- pkgsrc/databases/mysql56-client/patches/patch-CMakeLists.txt 2013/12/03 20:02:42 1.2
+++ pkgsrc/databases/mysql56-client/patches/patch-CMakeLists.txt 2014/02/13 14:38:08 1.3
@@ -1,9 +1,18 @@
-$NetBSD: patch-CMakeLists.txt,v 1.2 2013/12/03 20:02:42 adam Exp $
+$NetBSD: patch-CMakeLists.txt,v 1.3 2014/02/13 14:38:08 jperkin Exp $
 
 Split configuration between mysql-client and mysql-server.
+Build with newer DTrace.
 
 --- CMakeLists.txt.orig	2013-11-17 18:02:53.000000000 +0000
 +++ CMakeLists.txt
+@@ -205,6 +205,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)
 @@ -443,7 +443,6 @@ ADD_SUBDIRECTORY(vio)
  ADD_SUBDIRECTORY(regex)
  ADD_SUBDIRECTORY(mysys)

File Added: pkgsrc/databases/mysql56-client/patches/patch-cmake_dtrace.cmake
$NetBSD: patch-cmake_dtrace.cmake,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- cmake/dtrace.cmake.orig	2013-11-17 18:02:53.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)

File Added: pkgsrc/databases/mysql56-client/patches/patch-cmake_plugin.cmake
$NetBSD: patch-cmake_plugin.cmake,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- cmake/plugin.cmake.orig	2013-11-17 18:02:53.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)

File Added: pkgsrc/databases/mysql56-client/patches/patch-mysys__ssl_CMakeLists.txt
$NetBSD: patch-mysys__ssl_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- mysys_ssl/CMakeLists.txt.orig	2013-11-17 18:02:53.000000000 +0000
+++ mysys_ssl/CMakeLists.txt
@@ -48,7 +48,6 @@ SET(MYSYS_SSL_SOURCES
 
 ADD_CONVENIENCE_LIBRARY(mysys_ssl ${MYSYS_SSL_SOURCES})
 TARGET_LINK_LIBRARIES(mysys_ssl dbug strings ${SSL_LIBRARIES} ${ZLIB_LIBRARY})
-DTRACE_INSTRUMENT(mysys_ssl)
 
 INSTALL_DEBUG_SYMBOLS(mysys_ssl)
 IF(MSVC)

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_archive_CMakeLists.txt
$NetBSD: patch-storage_archive_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/archive/CMakeLists.txt.orig	2013-11-17 18:02:54.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)
 

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_blackhole_CMakeLists.txt
$NetBSD: patch-storage_blackhole_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/blackhole/CMakeLists.txt.orig	2013-11-17 18:02:53.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)

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_csv_CMakeLists.txt
$NetBSD: patch-storage_csv_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/csv/CMakeLists.txt.orig	2013-11-17 18:02:53.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)

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_example_CMakeLists.txt
$NetBSD: patch-storage_example_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/example/CMakeLists.txt.orig	2013-11-17 18:02:53.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)

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_federated_CMakeLists.txt
$NetBSD: patch-storage_federated_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/federated/CMakeLists.txt.orig	2013-11-17 18:02:53.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)

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_heap_CMakeLists.txt
$NetBSD: patch-storage_heap_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/heap/CMakeLists.txt.orig	2013-11-17 18:02:53.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)
 
 IF(WITH_UNIT_TESTS)
   ADD_EXECUTABLE(hp_test1 hp_test1.c)

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_myisam_CMakeLists.txt
$NetBSD: patch-storage_myisam_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/myisam/CMakeLists.txt.orig	2013-11-17 18:02:53.000000000 +0000
+++ storage/myisam/CMakeLists.txt
@@ -30,7 +30,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)
 

File Added: pkgsrc/databases/mysql56-client/patches/patch-storage_myisammrg_CMakeLists.txt
$NetBSD: patch-storage_myisammrg_CMakeLists.txt,v 1.1 2014/02/13 14:38:08 jperkin Exp $

Build with newer DTrace.

--- storage/myisammrg/CMakeLists.txt.orig	2013-11-17 18:02:53.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)