- Update to 5.5.33a - Remove PBXT storage engine support, as it was removed upstream - Allow building mariadb with libc++ and clang [ports/182408] - Fix build on 10-CURRENT [ports/181407] - Use bundled jemalloc instead of system one if system one is older than bundled - Add libexecinfo support - Use "FreeBSD Ports" as build comment instead of default "Source distribution" Fix: Apply patch attached. How-To-Repeat: N/A
Hi Alexandr, Everything builds and installs fine. I found one problem with mysql monitor, which might not be new to this version of the port: mysql monitor doesn't read the global /usr/local/etc/my.cnf like it does in mysql55-client. It does read ~/.my.cnf like expected though. Since system users usually don't have permissions to read /var/db/mysql/my.cnf, /usr/local/etc/my.cnf is usually a good place to put global configurations (like default hostname and safe mode). Using /etc/mysql/my.cnf would violate hier(7). Cheers, Michael -- Michael Gmelin
Responsible Changed From-To: freebsd-ports-bugs->flo I'll take it.
Suggested solution for the my.cnf problem: The mariadb ports use the same strategy as the mysql port, which is allowing one additional configuration directory, making use of DEFAULT_SYSCONFDIR and adding DEFAULT_SYSCONFDIR/mysql to the list of possible my.cnf locations. This essentially means, that besides HOME and MYSQL_HOME, the following directories are possible my.cnf locations: /etc /etc/mysql /usr/local/etc /usr/local/etc/mysql Something goes wrong in configuring DEFAULT_SYSCONFDIR, so it never is set in config.h. As a result, only the first two directories are available, and those are exactly the ones we don't want on FreeBSD. So instead of trying to fix DEFAULT_SYSCONFDIR, I modified the patch to mysys/default.c to use /usr/local/etc and /usr/local/etc/mysql in place of /etc and /etc/mysql. As a consequence, my.cnf files in those paths that violate hier(7) won't get picked up anymore, which IMHO is correct behavior. Find attached a drop in replacement for files/patch-mysys_default.c for both ports mariadb55-(server|client) There are two caveats: 1. The change probably should be pointed out in pkg-message 2. It might be more elegant to somehow make use of PREFIX instead of /usr/local in the patch Cheers, Michael -- Michael Gmelin
Author: flo Date: Mon Sep 30 22:32:28 2013 New Revision: 328885 URL: http://svnweb.freebsd.org/changeset/ports/328885 Log: - Update to 5.5.33a [1] - Remove PBXT storage engine support, as it was removed upstream [1] - Allow building mariadb with libc++ and clang [ports/182408] [2] - Use bundled jemalloc on FreeBSD < 10 [1] - Add libexecinfo support [1] - Use "FreeBSD Ports" as build comment instead of default "Source distribution" [1] PR: ports/182426 [1] PR: ports/182408 [2] Submitted by: Alexandr Kovalenko <never@nevermind.kiev.ua> (maintainer) [1] Michael Gmelin <freebsd@grem.de> [2] Added: head/databases/mariadb55-client/files/patch-cmake__jemalloc.cmake (contents, props changed) head/databases/mariadb55-server/files/patch-cmake__jemalloc.cmake (contents, props changed) head/databases/mariadb55-server/files/patch-sql_item_subselect.cc (contents, props changed) head/databases/mariadb55-server/files/patch-sql_sql_trigger.cc (contents, props changed) head/databases/mariadb55-server/files/patch-sql_sql_view.cc (contents, props changed) Modified: head/databases/mariadb55-client/Makefile head/databases/mariadb55-client/files/patch-CMakeLists.txt head/databases/mariadb55-client/files/patch-cmake_os_FreeBSD.cmake head/databases/mariadb55-client/pkg-plist head/databases/mariadb55-server/Makefile head/databases/mariadb55-server/distinfo head/databases/mariadb55-server/files/patch-CMakeLists.txt head/databases/mariadb55-server/files/patch-cmake_os_FreeBSD.cmake head/databases/mariadb55-server/pkg-plist Modified: head/databases/mariadb55-client/Makefile ============================================================================== --- head/databases/mariadb55-client/Makefile Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-client/Makefile Mon Sep 30 22:32:28 2013 (r328885) @@ -11,6 +11,8 @@ PKGMESSAGE= mustnotexist PATCHDIR= ${.CURDIR}/files PLIST= ${.CURDIR}/pkg-plist +MAKE_JOBS_UNSAFE= yes + LATEST_LINK= mariadb55-client CONFLICTS_INSTALL= mysql-client-[345].* mariadb-client-5.3.* percona-client-5.* @@ -19,11 +21,6 @@ CMAKE_ARGS+= -DWITHOUT_SERVER=1 USE_LDCONFIG= ${PREFIX}/lib/mysql -MAN1= msql2mysql.1 mysql.1 mysql_config.1 mysql_find_rows.1 \ - mysql_waitpid.1 mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 \ - mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlshow.1 mysqlslap.1 - CLIENT_ONLY= yes -NO_STAGE= yes .include "${MASTERDIR}/Makefile" Modified: head/databases/mariadb55-client/files/patch-CMakeLists.txt ============================================================================== --- head/databases/mariadb55-client/files/patch-CMakeLists.txt Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-client/files/patch-CMakeLists.txt Mon Sep 30 22:32:28 2013 (r328885) @@ -1,6 +1,6 @@ ---- CMakeLists.txt.orig 2013-01-29 16:12:48.000000000 +0200 -+++ CMakeLists.txt 2013-02-01 20:09:31.000000000 +0200 -@@ -303,28 +303,8 @@ +--- CMakeLists.txt.orig 2013-09-20 01:34:26.000000000 +0300 ++++ CMakeLists.txt 2013-09-27 01:30:14.000000000 +0300 +@@ -306,28 +306,8 @@ ADD_SUBDIRECTORY(extra) ADD_SUBDIRECTORY(libservices) ADD_SUBDIRECTORY(scripts) @@ -29,17 +29,25 @@ IF(UNIX) ADD_SUBDIRECTORY(man) ENDIF() -@@ -362,6 +342,7 @@ +@@ -339,7 +319,6 @@ + ADD_SUBDIRECTORY(win/upgrade_wizard) + ADD_SUBDIRECTORY(win/packaging) + ENDIF() +-ADD_SUBDIRECTORY(packaging/solaris) + + CONFIGURE_FILE(config.h.cmake ${CMAKE_BINARY_DIR}/include/my_config.h) + CONFIGURE_FILE(config.h.cmake ${CMAKE_BINARY_DIR}/include/config.h) +@@ -366,6 +345,7 @@ WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) +IF(FALSE) - INSTALL(FILES COPYING COPYING.LESSER LICENSE.mysql - DESTINATION ${INSTALL_DOCREADMEDIR} - COMPONENT Readme -@@ -372,6 +353,7 @@ + INSTALL_DOCUMENTATION(README COPYING COPYING.LESSER + COMPONENT Readme) + INSTALL_DOCUMENTATION(${CMAKE_BINARY_DIR}/Docs/INFO_SRC +@@ -373,6 +353,7 @@ IF(UNIX) - INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY COMPONENT Readme) ENDIF() +ENDIF() Added: head/databases/mariadb55-client/files/patch-cmake__jemalloc.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/mariadb55-client/files/patch-cmake__jemalloc.cmake Mon Sep 30 22:32:28 2013 (r328885) @@ -0,0 +1,14 @@ +--- cmake/jemalloc.cmake.orig 2013-09-20 00:34:22.000000000 +0200 ++++ cmake/jemalloc.cmake 2013-09-27 22:46:05.791110010 +0200 +@@ -37,9 +37,9 @@ + SET(WITH_JEMALLOC "no") + ENDIF() + IF(WITH_JEMALLOC STREQUAL "system" OR WITH_JEMALLOC STREQUAL "yes") +- CHECK_LIBRARY_EXISTS(jemalloc malloc_stats_print "" HAVE_JEMALLOC) ++ CHECK_LIBRARY_EXISTS(c malloc_stats_print "" HAVE_JEMALLOC) + IF (HAVE_JEMALLOC) +- SET(LIBJEMALLOC jemalloc) ++ SET(LIBJEMALLOC c) + ELSEIF (WITH_JEMALLOC STREQUAL "system") + MESSAGE(FATAL_ERROR "system jemalloc is not found") + ELSEIF (WITH_JEMALLOC STREQUAL "yes") Modified: head/databases/mariadb55-client/files/patch-cmake_os_FreeBSD.cmake ============================================================================== --- head/databases/mariadb55-client/files/patch-cmake_os_FreeBSD.cmake Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-client/files/patch-cmake_os_FreeBSD.cmake Mon Sep 30 22:32:28 2013 (r328885) @@ -1,15 +1,16 @@ ---- cmake/os/FreeBSD.cmake.orig 2013-01-13 02:13:17.000000000 +0200 -+++ cmake/os/FreeBSD.cmake 2013-01-13 02:14:15.000000000 +0200 -@@ -24,6 +24,7 @@ +--- cmake/os/FreeBSD.cmake.orig 2013-09-27 00:09:44.000000000 +0300 ++++ cmake/os/FreeBSD.cmake 2013-09-27 00:09:57.000000000 +0300 +@@ -24,9 +24,10 @@ # ADD_DEFINITIONS(-DHAVE_BROKEN_REALPATH) # Find libexecinfo (library that contains backtrace_symbols etc) -+IF(FALSE) - INCLUDE_DIRECTORIES(/usr/local/include) - SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include ) - SET(ENV{LIB} "$ENV{LIB}:/usr/local/lib") -@@ -31,6 +32,7 @@ +-INCLUDE_DIRECTORIES(/usr/local/include) +-SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include ) +-SET(ENV{LIB} "$ENV{LIB}:/usr/local/lib") ++SET(EXECINFO_ROOT /usr/local CACHE INTERNAL "Where to find execinfo library and header") ++INCLUDE_DIRECTORIES(${EXECINFO_ROOT}/include) ++SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${EXECINFO_ROOT}/include) ++SET(ENV{LIB} "$ENV{LIB}:${EXECINFO_ROOT}/lib") + FIND_LIBRARY(EXECINFO NAMES execinfo) IF(EXECINFO) SET(LIBEXECINFO ${EXECINFO}) - ENDIF() -+ENDIF() Modified: head/databases/mariadb55-client/pkg-plist ============================================================================== --- head/databases/mariadb55-client/pkg-plist Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-client/pkg-plist Mon Sep 30 22:32:28 2013 (r328885) @@ -52,6 +52,7 @@ include/mysql/psi/mysql_thread.h include/mysql/psi/psi.h include/mysql/service_debug_sync.h include/mysql/service_kill_statement.h +include/mysql/service_logger.h include/mysql/service_my_snprintf.h include/mysql/service_progress_report.h include/mysql/service_thd_alloc.h @@ -70,7 +71,21 @@ lib/mysql/libmysqlclient.so.18 lib/mysql/libmysqlclient_r.a lib/mysql/libmysqlclient_r.so lib/mysql/libmysqlclient_r.so.18 +man/man1/msql2mysql.1.gz +man/man1/mysql.1.gz +man/man1/mysql_config.1.gz +man/man1/mysql_find_rows.1.gz +man/man1/mysql_plugin.1.gz +man/man1/mysql_waitpid.1.gz +man/man1/mysqlaccess.1.gz +man/man1/mysqladmin.1.gz +man/man1/mysqlbinlog.1.gz +man/man1/mysqlcheck.1.gz +man/man1/mysqldump.1.gz +man/man1/mysqlimport.1.gz +man/man1/mysqlshow.1.gz +man/man1/mysqlslap.1.gz share/aclocal/mysql.m4 +@dirrmtry lib/mysql @dirrm include/mysql/psi @dirrm include/mysql -@dirrmtry lib/mysql Modified: head/databases/mariadb55-server/Makefile ============================================================================== --- head/databases/mariadb55-server/Makefile Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-server/Makefile Mon Sep 30 22:32:28 2013 (r328885) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME?= mariadb -PORTVERSION= 5.5.31 +PORTVERSION= 5.5.33a PORTREVISION?= 0 CATEGORIES= databases ipv6 MASTER_SITES= http://ftp.osuosl.org/pub/mariadb/${PORTNAME}-${PORTVERSION}/kvm-tarbake-jaunty-x86/ \ @@ -19,7 +19,7 @@ MAINTAINER= never@nevermind.kiev.ua COMMENT?= Multithreaded SQL database (server) SLAVEDIRS= databases/mariadb55-client -USES= cmake +USES= cmake gmake NO_OPTIONS_SORT=yes OPTIONS_DEFINE+= SSL OPENSSL PORTSSL FASTMTX @@ -44,8 +44,11 @@ CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc -DINSTALL_SHAREDIR="share" \ -DINSTALL_SQLBENCHDIR="share/mysql" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ + -DWITH_UNIT_TESTS=0 \ -DWITH_LIBEDIT=0 \ - -DWITH_LIBWRAP=1 + -DWITH_LIBWRAP=1 \ + -DEXECINFO_ROOT=${LOCALBASE} \ + -DCOMPILATION_COMMENT="FreeBSD Ports" .ifdef USE_MYSQL .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. @@ -56,18 +59,26 @@ USE_LDCONFIG= ${PREFIX}/lib/mysql # MySQL-Server options .if !defined(CLIENT_ONLY) -OPTIONS_DEFINE+= OQGRAPH PBXT MAXKEY +OPTIONS_DEFINE+= OQGRAPH MAXKEY OQGRAPH_DESC= Open Query Graph Computation engine -PBXT_DESC= MVCC-based transactional engine MAXKEY_DESC= Change max key length from 1000 to 4000 -OPTIONS_DEFAULT+= PBXT MAXKEY +OPTIONS_DEFAULT+= MAXKEY .endif -NO_STAGE= yes .include <bsd.port.options.mk> +.if ${OSVERSION} < 1000052 +LIB_DEPENDS= libexecinfo.so:${PORTSDIR}/devel/libexecinfo +.endif + +.if ${OSVERSION} < 1000012 +CMAKE_ARGS+= -DWITH_JEMALLOC="bundled" +.else +CMAKE_ARGS+= -DWITH_JEMALLOC="system" +.endif + .if ${PORT_OPTIONS:MSSL} .if ${PORT_OPTIONS:MOPENSSL} USE_OPENSSL= yes @@ -101,16 +112,6 @@ USE_RC_SUBR= mysql-server USERS= mysql GROUPS= mysql -MAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ - mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ - mysql_install_db.1 mysql_secure_installation.1 mysql_setpermission.1 \ - mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \ - mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \ - mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 \ - innochecksum.1 - -MAN8= mysqld.8 - CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 @@ -128,11 +129,6 @@ CMAKE_ARGS+= -DWITH_OQGRAPH_STORAGE_ENGI PLIST_SUB+= OQGRAPH="" LIB_DEPENDS+= boost_system:${PORTSDIR}/devel/boost-libs .endif -.if empty(PORT_OPTIONS:MPBXT) -CMAKE_ARGS+= -DWITHOUT_PBXT_STORAGE_ENGINE=1 -.else -CMAKE_ARGS+= -DWITH_PBXT_STORAGE_ENGINE=1 -.endif .if ${PORT_OPTIONS:MMAXKEY} EXTRA_PATCHES+= ${FILESDIR}/extra-patch-include_my_compare.h .endif Modified: head/databases/mariadb55-server/distinfo ============================================================================== --- head/databases/mariadb55-server/distinfo Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-server/distinfo Mon Sep 30 22:32:28 2013 (r328885) @@ -1,2 +1,2 @@ -SHA256 (mariadb-5.5.31.tar.gz) = 70b28e5dca7e9213fd092a669f74a537e7c88e0f670e32628907ce3ebcef2d28 -SIZE (mariadb-5.5.31.tar.gz) = 27888530 +SHA256 (mariadb-5.5.33a.tar.gz) = adf4d04087177fde6568082c3fee77e52e84dc3ae4eb5b994d5defaaa8c83d5b +SIZE (mariadb-5.5.33a.tar.gz) = 45226492 Modified: head/databases/mariadb55-server/files/patch-CMakeLists.txt ============================================================================== --- head/databases/mariadb55-server/files/patch-CMakeLists.txt Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-server/files/patch-CMakeLists.txt Mon Sep 30 22:32:28 2013 (r328885) @@ -1,6 +1,6 @@ ---- CMakeLists.txt.orig 2012-11-28 17:49:36.000000000 +0200 -+++ CMakeLists.txt 2012-12-23 02:25:55.000000000 +0200 -@@ -306,17 +306,12 @@ +--- CMakeLists.txt.orig 2013-09-20 01:34:26.000000000 +0300 ++++ CMakeLists.txt 2013-09-27 01:39:19.000000000 +0300 +@@ -310,17 +310,12 @@ ADD_SUBDIRECTORY(support-files) IF(NOT WITHOUT_SERVER) @@ -18,17 +18,25 @@ IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt) ADD_SUBDIRECTORY(internal) -@@ -360,6 +355,7 @@ +@@ -339,7 +334,6 @@ + ADD_SUBDIRECTORY(win/upgrade_wizard) + ADD_SUBDIRECTORY(win/packaging) + ENDIF() +-ADD_SUBDIRECTORY(packaging/solaris) + + CONFIGURE_FILE(config.h.cmake ${CMAKE_BINARY_DIR}/include/my_config.h) + CONFIGURE_FILE(config.h.cmake ${CMAKE_BINARY_DIR}/include/config.h) +@@ -366,6 +360,7 @@ WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) +IF(FALSE) - INSTALL(FILES COPYING COPYING.LESSER LICENSE.mysql - DESTINATION ${INSTALL_DOCREADMEDIR} - COMPONENT Readme -@@ -370,6 +366,7 @@ + INSTALL_DOCUMENTATION(README COPYING COPYING.LESSER + COMPONENT Readme) + INSTALL_DOCUMENTATION(${CMAKE_BINARY_DIR}/Docs/INFO_SRC +@@ -373,6 +368,7 @@ IF(UNIX) - INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme) + INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY COMPONENT Readme) ENDIF() +ENDIF() Added: head/databases/mariadb55-server/files/patch-cmake__jemalloc.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/mariadb55-server/files/patch-cmake__jemalloc.cmake Mon Sep 30 22:32:28 2013 (r328885) @@ -0,0 +1,14 @@ +--- cmake/jemalloc.cmake.orig 2013-09-20 00:34:22.000000000 +0200 ++++ cmake/jemalloc.cmake 2013-09-27 22:46:05.791110010 +0200 +@@ -37,9 +37,9 @@ + SET(WITH_JEMALLOC "no") + ENDIF() + IF(WITH_JEMALLOC STREQUAL "system" OR WITH_JEMALLOC STREQUAL "yes") +- CHECK_LIBRARY_EXISTS(jemalloc malloc_stats_print "" HAVE_JEMALLOC) ++ CHECK_LIBRARY_EXISTS(c malloc_stats_print "" HAVE_JEMALLOC) + IF (HAVE_JEMALLOC) +- SET(LIBJEMALLOC jemalloc) ++ SET(LIBJEMALLOC c) + ELSEIF (WITH_JEMALLOC STREQUAL "system") + MESSAGE(FATAL_ERROR "system jemalloc is not found") + ELSEIF (WITH_JEMALLOC STREQUAL "yes") Modified: head/databases/mariadb55-server/files/patch-cmake_os_FreeBSD.cmake ============================================================================== --- head/databases/mariadb55-server/files/patch-cmake_os_FreeBSD.cmake Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-server/files/patch-cmake_os_FreeBSD.cmake Mon Sep 30 22:32:28 2013 (r328885) @@ -1,15 +1,16 @@ ---- cmake/os/FreeBSD.cmake.orig 2013-01-13 02:13:17.000000000 +0200 -+++ cmake/os/FreeBSD.cmake 2013-01-13 02:14:15.000000000 +0200 -@@ -24,6 +24,7 @@ +--- cmake/os/FreeBSD.cmake.orig 2013-09-27 00:09:44.000000000 +0300 ++++ cmake/os/FreeBSD.cmake 2013-09-27 00:09:57.000000000 +0300 +@@ -24,9 +24,10 @@ # ADD_DEFINITIONS(-DHAVE_BROKEN_REALPATH) # Find libexecinfo (library that contains backtrace_symbols etc) -+IF(FALSE) - INCLUDE_DIRECTORIES(/usr/local/include) - SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include ) - SET(ENV{LIB} "$ENV{LIB}:/usr/local/lib") -@@ -31,6 +32,7 @@ +-INCLUDE_DIRECTORIES(/usr/local/include) +-SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include ) +-SET(ENV{LIB} "$ENV{LIB}:/usr/local/lib") ++SET(EXECINFO_ROOT /usr/local CACHE INTERNAL "Where to find execinfo library and header") ++INCLUDE_DIRECTORIES(${EXECINFO_ROOT}/include) ++SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${EXECINFO_ROOT}/include) ++SET(ENV{LIB} "$ENV{LIB}:${EXECINFO_ROOT}/lib") + FIND_LIBRARY(EXECINFO NAMES execinfo) IF(EXECINFO) SET(LIBEXECINFO ${EXECINFO}) - ENDIF() -+ENDIF() Added: head/databases/mariadb55-server/files/patch-sql_item_subselect.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/mariadb55-server/files/patch-sql_item_subselect.cc Mon Sep 30 22:32:28 2013 (r328885) @@ -0,0 +1,11 @@ +--- sql/item_subselect.cc.orig 2013-05-21 22:09:51.000000000 +0000 ++++ sql/item_subselect.cc 2013-09-26 13:13:01.105197491 +0000 +@@ -1317,7 +1317,7 @@ + Item_subselect() + { + DBUG_ENTER("Item_exists_subselect::Item_exists_subselect"); +- bool val_bool(); ++// bool val_bool(); + init(select_lex, new select_exists_subselect(this)); + max_columns= UINT_MAX; + null_value= FALSE; //can't be NULL Added: head/databases/mariadb55-server/files/patch-sql_sql_trigger.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/mariadb55-server/files/patch-sql_sql_trigger.cc Mon Sep 30 22:32:28 2013 (r328885) @@ -0,0 +1,50 @@ +--- sql/sql_trigger.cc.orig 2013-05-21 22:09:51.000000000 +0000 ++++ sql/sql_trigger.cc 2013-09-26 13:15:55.450195525 +0000 +@@ -192,32 +192,32 @@ + { + { + { C_STRING_WITH_LEN("triggers") }, +- my_offsetof(class Table_triggers_list, definitions_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definitions_list)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("sql_modes") }, +- my_offsetof(class Table_triggers_list, definition_modes_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definition_modes_list)), + FILE_OPTIONS_ULLLIST + }, + { + { C_STRING_WITH_LEN("definers") }, +- my_offsetof(class Table_triggers_list, definers_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definers_list)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("client_cs_names") }, +- my_offsetof(class Table_triggers_list, client_cs_names), ++ static_cast<int>(my_offsetof(class Table_triggers_list, client_cs_names)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("connection_cl_names") }, +- my_offsetof(class Table_triggers_list, connection_cl_names), ++ static_cast<int>(my_offsetof(class Table_triggers_list, connection_cl_names)), + FILE_OPTIONS_STRLIST + }, + { + { C_STRING_WITH_LEN("db_cl_names") }, +- my_offsetof(class Table_triggers_list, db_cl_names), ++ static_cast<int>(my_offsetof(class Table_triggers_list, db_cl_names)), + FILE_OPTIONS_STRLIST + }, + { { 0, 0 }, 0, FILE_OPTIONS_STRING } +@@ -226,7 +226,7 @@ + File_option sql_modes_parameters= + { + { C_STRING_WITH_LEN("sql_modes") }, +- my_offsetof(class Table_triggers_list, definition_modes_list), ++ static_cast<int>(my_offsetof(class Table_triggers_list, definition_modes_list)), + FILE_OPTIONS_ULLLIST + }; + Added: head/databases/mariadb55-server/files/patch-sql_sql_view.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/mariadb55-server/files/patch-sql_sql_view.cc Mon Sep 30 22:32:28 2013 (r328885) @@ -0,0 +1,63 @@ +--- sql/sql_view.cc.orig 2013-05-21 22:09:51.000000000 +0000 ++++ sql/sql_view.cc 2013-09-26 13:16:16.065195172 +0000 +@@ -742,46 +742,46 @@ + */ + static File_option view_parameters[]= + {{{ C_STRING_WITH_LEN("query")}, +- my_offsetof(TABLE_LIST, select_stmt), ++ static_cast<int>(my_offsetof(TABLE_LIST, select_stmt)), + FILE_OPTIONS_ESTRING}, + {{ C_STRING_WITH_LEN("md5")}, +- my_offsetof(TABLE_LIST, md5), ++ static_cast<int>(my_offsetof(TABLE_LIST, md5)), + FILE_OPTIONS_STRING}, + {{ C_STRING_WITH_LEN("updatable")}, +- my_offsetof(TABLE_LIST, updatable_view), ++ static_cast<int>(my_offsetof(TABLE_LIST, updatable_view)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("algorithm")}, +- my_offsetof(TABLE_LIST, algorithm), ++ static_cast<int>(my_offsetof(TABLE_LIST, algorithm)), + FILE_OPTIONS_VIEW_ALGO}, + {{ C_STRING_WITH_LEN("definer_user")}, +- my_offsetof(TABLE_LIST, definer.user), ++ static_cast<int>(my_offsetof(TABLE_LIST, definer.user)), + FILE_OPTIONS_STRING}, + {{ C_STRING_WITH_LEN("definer_host")}, +- my_offsetof(TABLE_LIST, definer.host), ++ static_cast<int>(my_offsetof(TABLE_LIST, definer.host)), + FILE_OPTIONS_STRING}, + {{ C_STRING_WITH_LEN("suid")}, +- my_offsetof(TABLE_LIST, view_suid), ++ static_cast<int>(my_offsetof(TABLE_LIST, view_suid)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("with_check_option")}, +- my_offsetof(TABLE_LIST, with_check), ++ static_cast<int>(my_offsetof(TABLE_LIST, with_check)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("timestamp")}, +- my_offsetof(TABLE_LIST, timestamp), ++ static_cast<int>(my_offsetof(TABLE_LIST, timestamp)), + FILE_OPTIONS_TIMESTAMP}, + {{ C_STRING_WITH_LEN("create-version")}, +- my_offsetof(TABLE_LIST, file_version), ++ static_cast<int>(my_offsetof(TABLE_LIST, file_version)), + FILE_OPTIONS_ULONGLONG}, + {{ C_STRING_WITH_LEN("source")}, +- my_offsetof(TABLE_LIST, source), ++ static_cast<int>(my_offsetof(TABLE_LIST, source)), + FILE_OPTIONS_ESTRING}, + {{(char*) STRING_WITH_LEN("client_cs_name")}, +- my_offsetof(TABLE_LIST, view_client_cs_name), ++ static_cast<int>(my_offsetof(TABLE_LIST, view_client_cs_name)), + FILE_OPTIONS_STRING}, + {{(char*) STRING_WITH_LEN("connection_cl_name")}, +- my_offsetof(TABLE_LIST, view_connection_cl_name), ++ static_cast<int>(my_offsetof(TABLE_LIST, view_connection_cl_name)), + FILE_OPTIONS_STRING}, + {{(char*) STRING_WITH_LEN("view_body_utf8")}, +- my_offsetof(TABLE_LIST, view_body_utf8), ++ static_cast<int>(my_offsetof(TABLE_LIST, view_body_utf8)), + FILE_OPTIONS_ESTRING}, + {{NullS, 0}, 0, + FILE_OPTIONS_STRING} Modified: head/databases/mariadb55-server/pkg-plist ============================================================================== --- head/databases/mariadb55-server/pkg-plist Mon Sep 30 22:28:23 2013 (r328884) +++ head/databases/mariadb55-server/pkg-plist Mon Sep 30 22:32:28 2013 (r328885) @@ -57,8 +57,36 @@ lib/mysql/plugin/qa_auth_server.so lib/mysql/plugin/query_cache_info.so lib/mysql/plugin/semisync_master.so lib/mysql/plugin/semisync_slave.so +lib/mysql/plugin/sphinx.so lib/mysql/plugin/sql_errlog.so libexec/mysqld +man/man1/innochecksum.1.gz +man/man1/my_print_defaults.1.gz +man/man1/myisam_ftdump.1.gz +man/man1/myisamchk.1.gz +man/man1/myisamlog.1.gz +man/man1/myisampack.1.gz +man/man1/mysql.server.1.gz +man/man1/mysql_convert_table_format.1.gz +man/man1/mysql_fix_extensions.1.gz +man/man1/mysql_install_db.1.gz +man/man1/mysql_secure_installation.1.gz +man/man1/mysql_setpermission.1.gz +man/man1/mysql_tzinfo_to_sql.1.gz +man/man1/mysql_upgrade.1.gz +man/man1/mysql_zap.1.gz +man/man1/mysqlbug.1.gz +man/man1/mysqld_multi.1.gz +man/man1/mysqld_safe.1.gz +man/man1/mysqldumpslow.1.gz +man/man1/mysqlhotcopy.1.gz +man/man1/mysqlman.1.gz +man/man1/mysqltest.1.gz +man/man1/perror.1.gz +man/man1/replace.1.gz +man/man1/resolve_stack_dump.1.gz +man/man1/resolveip.1.gz +man/man8/mysqld.8.gz %%DATADIR%%/binary-configure %%DATADIR%%/charsets/Index.xml %%DATADIR%%/charsets/README @@ -128,32 +156,30 @@ libexec/mysqld %%DATADIR%%/spanish/errmsg.sys %%DATADIR%%/swedish/errmsg.sys %%DATADIR%%/ukrainian/errmsg.sys -@dirrm lib/mysql/plugin -@dirrmtry lib/mysql -@dirrm %%DATADIR%%/charsets -@dirrm %%DATADIR%%/czech -@dirrm %%DATADIR%%/danish -@dirrm %%DATADIR%%/dutch -@dirrm %%DATADIR%%/english -@dirrm %%DATADIR%%/estonian -@dirrm %%DATADIR%%/french -@dirrm %%DATADIR%%/german -@dirrm %%DATADIR%%/greek -@dirrm %%DATADIR%%/hungarian -@dirrm %%DATADIR%%/italian -@dirrm %%DATADIR%%/japanese -@dirrm %%DATADIR%%/korean -@dirrm %%DATADIR%%/norwegian -@dirrm %%DATADIR%%/norwegian-ny -@dirrm %%DATADIR%%/polish -@dirrm %%DATADIR%%/portuguese -@dirrm %%DATADIR%%/romanian -@dirrm %%DATADIR%%/russian -@dirrm %%DATADIR%%/serbian -@dirrm %%DATADIR%%/slovak -@dirrm %%DATADIR%%/spanish -@dirrm %%DATADIR%%/swedish @dirrm %%DATADIR%%/ukrainian +@dirrm %%DATADIR%%/swedish +@dirrm %%DATADIR%%/spanish +@dirrm %%DATADIR%%/slovak +@dirrm %%DATADIR%%/serbian +@dirrm %%DATADIR%%/russian +@dirrm %%DATADIR%%/romanian +@dirrm %%DATADIR%%/portuguese +@dirrm %%DATADIR%%/polish +@dirrm %%DATADIR%%/norwegian-ny +@dirrm %%DATADIR%%/norwegian +@dirrm %%DATADIR%%/korean +@dirrm %%DATADIR%%/japanese +@dirrm %%DATADIR%%/italian +@dirrm %%DATADIR%%/hungarian +@dirrm %%DATADIR%%/greek +@dirrm %%DATADIR%%/german +@dirrm %%DATADIR%%/french +@dirrm %%DATADIR%%/estonian +@dirrm %%DATADIR%%/english +@dirrm %%DATADIR%%/dutch +@dirrm %%DATADIR%%/danish +@dirrm %%DATADIR%%/czech +@dirrm %%DATADIR%%/charsets @dirrm %%DATADIR%% -@cwd /var -@dirrmtry db/mysql +@dirrm lib/mysql/plugin +@dirrm lib/mysql _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed. Thanks!
Hi Michael! Good idea, but it should not be done by patch, because it is static, but via post-patch: target, because right now you have /usr/local hardcoded, which is bad idea, it should be ${PREFIX} (please note, not ${LOCALBASE}). So it would be nice to have some sed/awk/whatever post-patch: Or - try to find out what happens with DEFAULT_SYSCONFDIR. I'll try to look at it later today. Cheers, Alexandr. On Mon, Sep 30, 2013 at 10:41 PM, Michael Gmelin <freebsd@grem.de> wrote: > Suggested solution for the my.cnf problem: > > The mariadb ports use the same strategy as the mysql port, which is > allowing one additional configuration directory, making use of > DEFAULT_SYSCONFDIR and adding DEFAULT_SYSCONFDIR/mysql to the list of > possible my.cnf locations. This essentially means, that besides HOME > and MYSQL_HOME, the following directories are possible my.cnf locations: > > /etc > /etc/mysql > /usr/local/etc > /usr/local/etc/mysql > > Something goes wrong in configuring DEFAULT_SYSCONFDIR, so it never > is set in config.h. As a result, only the first two directories are > available, and those are exactly the ones we don't want on FreeBSD. So > instead of trying to fix DEFAULT_SYSCONFDIR, I modified the patch to > mysys/default.c to use /usr/local/etc and /usr/local/etc/mysql in place > of /etc and /etc/mysql. As a consequence, my.cnf files in those paths > that violate hier(7) won't get picked up anymore, which IMHO is correct > behavior. > > Find attached a drop in replacement for files/patch-mysys_default.c for > both ports mariadb55-(server|client) > > There are two caveats: > > 1. The change probably should be pointed out in pkg-message > 2. It might be more elegant to somehow make use of PREFIX instead > of /usr/local in the patch > > Cheers, > Michael > > -- > Michael Gmelin
On Tue, 1 Oct 2013 11:40:08 +0100 Alexandr Kovalenko <never@nevermind.kiev.ua> wrote: > Hi Michael! > > Good idea, but it should not be done by patch, because it is static, > but via post-patch: target, because right now you have /usr/local > hardcoded, which is bad idea, it should be ${PREFIX} (please note, not > ${LOCALBASE}). So it would be nice to have some sed/awk/whatever > post-patch: > > Or - try to find out what happens with DEFAULT_SYSCONFDIR. I'll try to > look at it later today. > > Cheers, > Alexandr. > > On Mon, Sep 30, 2013 at 10:41 PM, Michael Gmelin <freebsd@grem.de> > wrote: > > Suggested solution for the my.cnf problem: > > > > The mariadb ports use the same strategy as the mysql port, which is > > allowing one additional configuration directory, making use of > > DEFAULT_SYSCONFDIR and adding DEFAULT_SYSCONFDIR/mysql to the list > > of possible my.cnf locations. This essentially means, that besides > > HOME and MYSQL_HOME, the following directories are possible my.cnf > > locations: > > > > /etc > > /etc/mysql > > /usr/local/etc > > /usr/local/etc/mysql > > > > Something goes wrong in configuring DEFAULT_SYSCONFDIR, so it never > > is set in config.h. As a result, only the first two directories are > > available, and those are exactly the ones we don't want on FreeBSD. > > So instead of trying to fix DEFAULT_SYSCONFDIR, I modified the > > patch to mysys/default.c to use /usr/local/etc > > and /usr/local/etc/mysql in place of /etc and /etc/mysql. As a > > consequence, my.cnf files in those paths that violate hier(7) won't > > get picked up anymore, which IMHO is correct behavior. > > > > Find attached a drop in replacement for files/patch-mysys_default.c > > for both ports mariadb55-(server|client) > > > > There are two caveats: > > > > 1. The change probably should be pointed out in pkg-message > > 2. It might be more elegant to somehow make use of PREFIX instead > > of /usr/local in the patch > > > > Cheers, > > Michael > > > > -- > > Michael Gmelin Hi Alex, I started working on a patch that does exactly this earlier today (make use of PREFIX, since hardcoding /usr/local - like you said - is bad), if you're ok with it I'll open a new PR with patches for this later today (since flo committed the new version already). Cheers, Michael -- Michael Gmelin
Hi Michael, Yes, please. Then I will continue to fight with TokuDB, which I almost hate already :) Cheers, Alexandr. On Tue, Oct 1, 2013 at 12:26 PM, Michael Gmelin <freebsd@grem.de> wrote: > On Tue, 1 Oct 2013 11:40:08 +0100 > Alexandr Kovalenko <never@nevermind.kiev.ua> wrote: > >> Hi Michael! >> >> Good idea, but it should not be done by patch, because it is static, >> but via post-patch: target, because right now you have /usr/local >> hardcoded, which is bad idea, it should be ${PREFIX} (please note, not >> ${LOCALBASE}). So it would be nice to have some sed/awk/whatever >> post-patch: >> >> Or - try to find out what happens with DEFAULT_SYSCONFDIR. I'll try to >> look at it later today. >> >> Cheers, >> Alexandr. >> >> On Mon, Sep 30, 2013 at 10:41 PM, Michael Gmelin <freebsd@grem.de> >> wrote: >> > Suggested solution for the my.cnf problem: >> > >> > The mariadb ports use the same strategy as the mysql port, which is >> > allowing one additional configuration directory, making use of >> > DEFAULT_SYSCONFDIR and adding DEFAULT_SYSCONFDIR/mysql to the list >> > of possible my.cnf locations. This essentially means, that besides >> > HOME and MYSQL_HOME, the following directories are possible my.cnf >> > locations: >> > >> > /etc >> > /etc/mysql >> > /usr/local/etc >> > /usr/local/etc/mysql >> > >> > Something goes wrong in configuring DEFAULT_SYSCONFDIR, so it never >> > is set in config.h. As a result, only the first two directories are >> > available, and those are exactly the ones we don't want on FreeBSD. >> > So instead of trying to fix DEFAULT_SYSCONFDIR, I modified the >> > patch to mysys/default.c to use /usr/local/etc >> > and /usr/local/etc/mysql in place of /etc and /etc/mysql. As a >> > consequence, my.cnf files in those paths that violate hier(7) won't >> > get picked up anymore, which IMHO is correct behavior. >> > >> > Find attached a drop in replacement for files/patch-mysys_default.c >> > for both ports mariadb55-(server|client) >> > >> > There are two caveats: >> > >> > 1. The change probably should be pointed out in pkg-message >> > 2. It might be more elegant to somehow make use of PREFIX instead >> > of /usr/local in the patch >> > >> > Cheers, >> > Michael >> > >> > -- >> > Michael Gmelin > > Hi Alex, > > I started working on a patch that does exactly this earlier today (make > use of PREFIX, since hardcoding /usr/local - like you said - is bad), if > you're ok with it I'll open a new PR with patches for this later today > (since flo committed the new version already). > > Cheers, > Michael > > > -- > Michael Gmelin
On Tue, 1 Oct 2013 12:28:43 +0100 Alexandr Kovalenko <never@nevermind.kiev.ua> wrote: > Hi Michael, > > Yes, please. Then I will continue to fight with TokuDB, which I almost > hate already :) > > Cheers, > Alexandr. The follow-up PR number is 182547 http://www.freebsd.org/cgi/query-pr.cgi?pr=182547 Cheers, Michael