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