ports/176405: [MAINTAINER] databases/mariadb55-*: Add OpenSSL and storage engine options

Alexandr Kovalenko never at nevermind.kiev.ua
Mon Feb 25 02:00:01 UTC 2013


>Number:         176405
>Category:       ports
>Synopsis:       [MAINTAINER] databases/mariadb55-*: Add OpenSSL and storage engine options
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 25 02:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Alexandr Kovalenko
>Release:        FreeBSD 9.1-STABLE amd64
>Organization:
Nevermind Ltd.
>Environment:
System: FreeBSD 9.1-STABLE r247194 amd64


>Description:
	* Add support for [Open]SSL choice - bundled, system, ports
	* Add support for OQGRAPH, PBXT storage engines (on by default)
	* Add MAXKEY options (you should not turn it off unless you are absolutely
	  sure what are you doing)
	* Minor fix of patch-sql_CMakeLists.txt
>How-To-Repeat:
N/A
>Fix:
Apply patch attached.
Please note that files/patch-include_my_compare.h renamed to files/extra-patch-include_my_compare.h

diff --git a/databases/mariadb55-server/Makefile b/databases/mariadb55-server/Makefile
index 4f54292..aec00b0 100644
--- a/databases/mariadb55-server/Makefile
+++ b/databases/mariadb55-server/Makefile
@@ -2,7 +2,7 @@
 
 PORTNAME?=	mariadb
 PORTVERSION=	5.5.29
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES=	databases ipv6
 MASTER_SITES=	http://ftp.osuosl.org/pub/mariadb/${PORTNAME}-${PORTVERSION}/kvm-tarbake-jaunty-x86/ \
 		http://mirrors.supportex.net/mariadb/${PORTNAME}-${PORTVERSION}/kvm-tarbake-jaunty-x86/ \
@@ -23,10 +23,12 @@ USE_CMAKE=	yes
 MAKE_JOBS_SAFE=	yes
 NO_OPTIONS_SORT=yes
 
-OPTIONS_DEFINE=	SSL FASTMTX
-OPTIONS_DEFAULT=SSL
+OPTIONS_DEFINE+=	SSL OPENSSL PORTSSL FASTMTX
+OPTIONS_DEFAULT+=	SSL
 
 FASTMTX_DESC=	Replace mutexes with spinlocks
+OPENSSL_DESC=	Use OpenSSL instead of bundled yassl
+PORTSSL_DESC=	Use OpenSSL from port (requires OPENSSL to be set)
 
 CMAKE_ARGS+=	-DINSTALL_DOCDIR="share/doc/mysql" \
 		-DINSTALL_DOCREADMEDIR="share/doc/mysql" \
@@ -53,11 +55,34 @@ CMAKE_ARGS+=	-DINSTALL_DOCDIR="share/doc/mysql" \
 DATADIR=	${PREFIX}/share/mysql
 USE_LDCONFIG=	${PREFIX}/lib/mysql
 
+# MySQL-Server options
+.if !defined(CLIENT_ONLY)
+OPTIONS_DEFINE+=	OQGRAPH PBXT 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+=	OQGRAPH PBXT MAXKEY
+.endif
+
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MSSL}
+.if ${PORT_OPTIONS:MOPENSSL}
+USE_OPENSSL=	yes
+.if empty(PORT_OPTIONS:MPORTSSL)
+WITH_OPENSSL_BASE=	yes
+.else
+WITH_OPENSSL_PORT=	yes
+.endif
+CMAKE_ARGS+=	-DWITH_SSL=yes
+.else
 CMAKE_ARGS+=	-DWITH_SSL=bundled
 .endif
+.else
+CMAKE_FLAGS+=	-DWITH_SSL=no
+.endif
 .if ${PORT_OPTIONS:MFASTMTX}
 CMAKE_ARGS+=	-DWITH_FAST_MUTEXES=1
 .endif
@@ -86,12 +111,30 @@ MAN1=		my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1
 
 MAN8=		mysqld.8
 
-CMAKE_ARGS+=	-DWITH_EMBEDDED_SERVER="ON"
+CMAKE_ARGS+=	-DWITH_EMBEDDED_SERVER="ON" \
+		-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
 
 post-install:
 .if !defined(PACKAGE_BUILDING)
 	@${CAT} ${PKGMESSAGE}
 .endif
+
+.if empty(PORT_OPTIONS:MOQGRAPH)
+CMAKE_ARGS+=	-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1
+PLIST_SUB+=	OQGRAPH="@comment "
+.else
+CMAKE_ARGS+=	-DWITH_OQGRAPH_STORAGE_ENGINE=1
+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
 .endif
 
 post-patch:
diff --git a/databases/mariadb55-server/files/extra-patch-include_my_compare.h b/databases/mariadb55-server/files/extra-patch-include_my_compare.h
new file mode 100644
index 0000000..5fc447b
--- /dev/null
+++ b/databases/mariadb55-server/files/extra-patch-include_my_compare.h
@@ -0,0 +1,11 @@
+--- include/my_compare.h.orig	2012-11-28 17:49:43.000000000 +0200
++++ include/my_compare.h	2012-12-23 02:45:51.000000000 +0200
+@@ -40,7 +40,7 @@
+   But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
+ */
+ 
+-#define HA_MAX_KEY_LENGTH           1000        /* Max length in bytes */
++#define HA_MAX_KEY_LENGTH           4000        /* Max length in bytes */
+ #define HA_MAX_KEY_SEG              32          /* Max segments for key */
+ 
+ #define HA_MAX_POSSIBLE_KEY_BUFF    (HA_MAX_KEY_LENGTH + 24+ 6+6)
diff --git a/databases/mariadb55-server/files/patch-configure.cmake b/databases/mariadb55-server/files/patch-configure.cmake
new file mode 100644
index 0000000..9878397
--- /dev/null
+++ b/databases/mariadb55-server/files/patch-configure.cmake
@@ -0,0 +1,11 @@
+--- configure.cmake.orig	2013-02-24 20:23:54.000000000 +0200
++++ configure.cmake	2013-02-24 20:24:23.000000000 +0200
+@@ -67,7 +67,7 @@
+   # MySQL "canonical" GCC flags. At least -fno-rtti flag affects
+   # ABI and cannot be simply removed. 
+   SET(CMAKE_CXX_FLAGS 
+-    "${CMAKE_CXX_FLAGS} -fno-implicit-templates -fno-exceptions -fno-rtti")
++    "${CMAKE_CXX_FLAGS} -fno-implicit-templates -fno-exceptions")
+   IF(CMAKE_CXX_FLAGS)
+     STRING(REGEX MATCH "fno-implicit-templates" NO_IMPLICIT_TEMPLATES
+       ${CMAKE_CXX_FLAGS})
diff --git a/databases/mariadb55-server/files/patch-include_my_compare.h b/databases/mariadb55-server/files/patch-include_my_compare.h
deleted file mode 100644
index 5fc447b..0000000
--- a/databases/mariadb55-server/files/patch-include_my_compare.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- include/my_compare.h.orig	2012-11-28 17:49:43.000000000 +0200
-+++ include/my_compare.h	2012-12-23 02:45:51.000000000 +0200
-@@ -40,7 +40,7 @@
-   But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
- */
- 
--#define HA_MAX_KEY_LENGTH           1000        /* Max length in bytes */
-+#define HA_MAX_KEY_LENGTH           4000        /* Max length in bytes */
- #define HA_MAX_KEY_SEG              32          /* Max segments for key */
- 
- #define HA_MAX_POSSIBLE_KEY_BUFF    (HA_MAX_KEY_LENGTH + 24+ 6+6)
diff --git a/databases/mariadb55-server/files/patch-sql_CMakeLists.txt b/databases/mariadb55-server/files/patch-sql_CMakeLists.txt
index 7ad3019..af5a856 100644
--- a/databases/mariadb55-server/files/patch-sql_CMakeLists.txt
+++ b/databases/mariadb55-server/files/patch-sql_CMakeLists.txt
@@ -2,9 +2,9 @@
 +++ sql/CMakeLists.txt	2012-12-23 05:56:58.000000000 +0200
 @@ -268,6 +268,7 @@
  
++IF(FALSE)
  IF(INSTALL_LAYOUT STREQUAL "STANDALONE")
  
-+IF(FALSE)
  # We need to create empty directories (data/test) the installation.  
  # This does not work with current CPack due to http://www.cmake.org/Bug/view.php?id=8767
  # Avoid completely empty directories and install dummy file instead.
diff --git a/databases/mariadb55-server/files/patch-storage_oqgraph_CMakeLists.txt b/databases/mariadb55-server/files/patch-storage_oqgraph_CMakeLists.txt
new file mode 100644
index 0000000..32912a6
--- /dev/null
+++ b/databases/mariadb55-server/files/patch-storage_oqgraph_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- storage/oqgraph/CMakeLists.txt.orig	2013-01-29 16:12:49.000000000 +0200
++++ storage/oqgraph/CMakeLists.txt	2013-02-24 20:21:58.000000000 +0200
+@@ -3,6 +3,7 @@
+   RETURN()
+ ENDIF()
+ INCLUDE_DIRECTORIES(BEFORE ${Boost_INCLUDE_DIRS})
++SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${Boost_INCLUDE_DIRS})
+ 
+ IF(MSVC)
+   # lp:756966 OQGRAPH on Win64 does not compile
diff --git a/databases/mariadb55-server/pkg-plist b/databases/mariadb55-server/pkg-plist
index 15cc586..754b5f4 100644
--- a/databases/mariadb55-server/pkg-plist
+++ b/databases/mariadb55-server/pkg-plist
@@ -41,10 +41,10 @@ lib/mysql/plugin/dialog_examples.so
 lib/mysql/plugin/feedback.so
 lib/mysql/plugin/ha_archive.so
 lib/mysql/plugin/ha_blackhole.so
-lib/mysql/plugin/ha_example.so
 lib/mysql/plugin/ha_federated.so
 lib/mysql/plugin/ha_federatedx.so
 lib/mysql/plugin/ha_innodb.so
+%%OQGRAPH%%lib/mysql/plugin/ha_oqgraph.so
 lib/mysql/plugin/ha_sphinx.so
 lib/mysql/plugin/handlersocket.so
 lib/mysql/plugin/libdaemon_example.so
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list