Bug 182426

Summary: Update databases/mariadb55-{client,server} to 5.5.33a
Product: Ports & Packages Reporter: never
Component: Individual Port(s)Assignee: Florian Smeets <flo>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff
none
patch-mysys_default.c none

Description never 2013-09-27 00:30:00 UTC
- 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
Comment 1 Michael Gmelin 2013-09-27 16:58:44 UTC
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
Comment 2 Florian Smeets freebsd_committer freebsd_triage 2013-09-27 19:55:48 UTC
Responsible Changed
From-To: freebsd-ports-bugs->flo

I'll take it.
Comment 3 Michael Gmelin 2013-09-30 22:41:23 UTC
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
Comment 4 dfilter service freebsd_committer freebsd_triage 2013-09-30 23:32:38 UTC
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"
Comment 5 Florian Smeets freebsd_committer freebsd_triage 2013-09-30 23:38:04 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 6 never 2013-10-01 11:40:08 UTC
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
Comment 7 Michael Gmelin 2013-10-01 12:26:33 UTC
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
Comment 8 never 2013-10-01 12:28:43 UTC
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
Comment 9 Michael Gmelin 2013-10-01 15:05:13 UTC
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