* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
@ 2014-07-31 22:26 Brian Evans (grknight)
0 siblings, 0 replies; 5+ messages in thread
From: Brian Evans (grknight) @ 2014-07-31 22:26 UTC (permalink / raw
To: gentoo-commits
grknight 14/07/31 22:26:07
Modified: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
Log:
Update mysql cmake eclasses to prevent upstream from setting default features and CFLAGS
Revision Changes Path
1.1335 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1335&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1335&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1334&r2=1.1335
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1334
retrieving revision 1.1335
diff -u -r1.1334 -r1.1335
--- ChangeLog 31 Jul 2014 02:31:09 -0000 1.1334
+++ ChangeLog 31 Jul 2014 22:26:07 -0000 1.1335
@@ -1,6 +1,11 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1334 2014/07/31 02:31:09 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1335 2014/07/31 22:26:07 grknight Exp $
+
+ 31 Jul 2014; Brian Evans <grknight@gentoo.org> mysql-cmake.eclass,
+ mysql-multilib.eclass:
+ Update CMake variables to prevent MySQL from setting default CFLAGS
+ and features
31 Jul 2014; Brian Evans <grknight@gentoo.org> mysql-multilib.eclass:
Update the multilib eclass to match the work done by grobian for mysql-v2
1.24 eclass/mysql-cmake.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.24&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.24&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?r1=1.23&r2=1.24
Index: mysql-cmake.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- mysql-cmake.eclass 29 Jul 2014 17:59:21 -0000 1.23
+++ mysql-cmake.eclass 31 Jul 2014 22:26:07 -0000 1.24
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.23 2014/07/29 17:59:21 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.24 2014/07/31 22:26:07 grknight Exp $
# @ECLASS: mysql-cmake.eclass
# @MAINTAINER:
@@ -317,6 +317,8 @@
-DENABLED_LOCAL_INFILE=1
$(cmake-utils_use_enable static-libs STATIC_LIBS)
-DWITH_SSL=$(usex ssl system bundled)
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
)
if in_iuse bindist ; then
1.4 eclass/mysql-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.4&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.4&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?r1=1.3&r2=1.4
Index: mysql-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mysql-multilib.eclass 31 Jul 2014 02:31:09 -0000 1.3
+++ mysql-multilib.eclass 31 Jul 2014 22:26:07 -0000 1.4
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.3 2014/07/31 02:31:09 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.4 2014/07/31 22:26:07 grknight Exp $
# @ECLASS: mysql-multilib.eclass
# @MAINTAINER:
@@ -8,6 +8,7 @@
# - MySQL Team <mysql-bugs@gentoo.org>
# - Robin H. Johnson <robbat2@gentoo.org>
# - Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+# - Brian Evans <grknight@gentoo.org>
# @BLURB: This eclass provides most of the functions for mysql ebuilds
# @DESCRIPTION:
# The mysql-multilib.eclass is the base eclass to build the mysql and
@@ -445,6 +446,8 @@
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock
-DWITH_SSL=$(usex ssl system bundled)
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
)
if in_iuse bindist ; then
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
@ 2014-10-08 17:25 Brian Evans (grknight)
0 siblings, 0 replies; 5+ messages in thread
From: Brian Evans (grknight) @ 2014-10-08 17:25 UTC (permalink / raw
To: gentoo-commits
grknight 14/10/08 17:25:46
Modified: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
Log:
Sync eclasses from mysql overlay
Revision Changes Path
1.1381 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1381&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1381&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1380&r2=1.1381
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1380
retrieving revision 1.1381
diff -u -r1.1380 -r1.1381
--- ChangeLog 7 Oct 2014 16:23:39 -0000 1.1380
+++ ChangeLog 8 Oct 2014 17:25:46 -0000 1.1381
@@ -1,6 +1,10 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1380 2014/10/07 16:23:39 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1381 2014/10/08 17:25:46 grknight Exp $
+
+ 08 Oct 2014; Brian Evans <grknight@gentoo.org> mysql-cmake.eclass,
+ mysql-multilib.eclass:
+ Sync from overlay
07 Oct 2014; Davide Pesavento <pesa@gentoo.org> qt5-build.eclass:
Restrict mirror for qtwebkit wrt bug #524584
1.25 eclass/mysql-cmake.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.25&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.25&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?r1=1.24&r2=1.25
Index: mysql-cmake.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- mysql-cmake.eclass 31 Jul 2014 22:26:07 -0000 1.24
+++ mysql-cmake.eclass 8 Oct 2014 17:25:46 -0000 1.25
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.24 2014/07/31 22:26:07 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.25 2014/10/08 17:25:46 grknight Exp $
# @ECLASS: mysql-cmake.eclass
# @MAINTAINER:
@@ -272,6 +272,7 @@
# Don't build bundled xz-utils
rm -f "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake"
touch "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake"
+ sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
fi
epatch_user
@@ -414,11 +415,12 @@
# Configuration stuff
case ${MYSQL_PV_MAJOR} in
5.[1-4]*) mysql_mycnf_version="5.1" ;;
- 5.[5-9]|6*|7*|8*|9*|10*) mysql_mycnf_version="5.5" ;;
+ 5.5) mysql_mycnf_version="5.5" ;;
+ 5.[6-9]|6*|7*|8*|9*|10*) mysql_mycnf_version="5.6" ;;
esac
einfo "Building default my.cnf (${mysql_mycnf_version})"
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- doins "${S}"/scripts/mysqlaccess.conf
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
mycnf_src="my.cnf-${mysql_mycnf_version}"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
1.10 eclass/mysql-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.10&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.10&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?r1=1.9&r2=1.10
Index: mysql-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- mysql-multilib.eclass 26 Sep 2014 17:56:29 -0000 1.9
+++ mysql-multilib.eclass 8 Oct 2014 17:25:46 -0000 1.10
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.9 2014/09/26 17:56:29 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.10 2014/10/08 17:25:46 grknight Exp $
# @ECLASS: mysql-multilib.eclass
# @MAINTAINER:
@@ -257,7 +257,7 @@
fi
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
- mysql_version_is_at_least "5.7.5" && DEPEND="${DEPEND} dev-libs/boost:0="
+ mysql_version_is_at_least "5.7.5" && DEPEND="${DEPEND} >=dev-libs/boost-1.56.0:0="
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
@@ -506,14 +506,14 @@
filter-flags "-O" "-O[01]"
CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
- CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti"
+ CXXFLAGS="${CXXFLAGS} -felide-constructors"
# Causes linkage failures. Upstream bug #59607 removes it
if ! mysql_version_is_at_least "5.6" ; then
CXXFLAGS="${CXXFLAGS} -fno-implicit-templates"
fi
# As of 5.7, exceptions are used!
if ! mysql_version_is_at_least "5.7" ; then
- CXXFLAGS="${CXXFLAGS} -fno-exceptions"
+ CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-rtti"
fi
export CXXFLAGS
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
@ 2014-11-26 0:34 Brian Evans (grknight)
0 siblings, 0 replies; 5+ messages in thread
From: Brian Evans (grknight) @ 2014-11-26 0:34 UTC (permalink / raw
To: gentoo-commits
grknight 14/11/26 00:34:41
Modified: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
Log:
Sync eclasses from mysql overlay
Revision Changes Path
1.1446 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1446&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1446&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1445&r2=1.1446
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1445
retrieving revision 1.1446
diff -u -r1.1445 -r1.1446
--- ChangeLog 24 Nov 2014 01:39:55 -0000 1.1445
+++ ChangeLog 26 Nov 2014 00:34:41 -0000 1.1446
@@ -1,6 +1,10 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1445 2014/11/24 01:39:55 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1446 2014/11/26 00:34:41 grknight Exp $
+
+ 26 Nov 2014; Brian Evans <grknight@gentoo.org> musql-cmake.eclass,
+ mysql-multilib.eclass:
+ Sync from mysql overlay
24 Nov 2014; Mike Gilbert <floppym@gentoo.org> distutils-r1.eclass:
eqawarn about /usr/lib/pypy/share instead of dying.
1.26 eclass/mysql-cmake.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.26&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.26&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?r1=1.25&r2=1.26
Index: mysql-cmake.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- mysql-cmake.eclass 8 Oct 2014 17:25:46 -0000 1.25
+++ mysql-cmake.eclass 26 Nov 2014 00:34:41 -0000 1.26
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.25 2014/10/08 17:25:46 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.26 2014/11/26 00:34:41 grknight Exp $
# @ECLASS: mysql-cmake.eclass
# @MAINTAINER:
@@ -179,7 +179,6 @@
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
- $(cmake-utils_use_with extraengine FEDERATED_STORAGE_ENGINE)
)
if in_iuse pbxt ; then
@@ -187,10 +186,19 @@
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
+ -DPLUGIN_FEDERATED=0
+ -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1
+ -DPLUGIN_FEDERATEDX=0 )
+ fi
+
mycmakeargs+=(
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
$(mysql-cmake_use_plugin sphinx SPHINX)
- $(mysql-cmake_use_plugin extraengine FEDERATEDX)
$(mysql-cmake_use_plugin tokudb TOKUDB)
$(mysql-cmake_use_plugin pam AUTH_PAM)
)
@@ -209,6 +217,23 @@
$(cmake-utils_use odbc CONNECT_WITH_ODBC)
)
fi
+
+ if in_iuse mroonga ; then
+ use mroonga || mycmakeargs+=( -DWITHOUT_MROONGA=1 )
+ else
+ mycmakeargs+=( -DWITHOUT_MROONGA=1 )
+ fi
+
+ if in_iuse galera ; then
+ mycmakeargs+=( $(cmake-utils_use_with galera WSREP) )
+ fi
+
+ if mysql_version_is_at_least "10.1.1" ; then
+ mycmakeargs+=( $(cmake-utils_use_with innodb-lz4 INNODB_LZ4)
+ $(cmake-utils_use_with innodb-lzo INNODB_LZO) )
+ fi
+ else
+ mycmakeargs+=( $(cmake-utils_use_with extraengine FEDERATED_STORAGE_ENGINE) )
fi
if [[ ${PN} == "percona-server" ]]; then
@@ -275,6 +300,12 @@
sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
fi
+ # Remove the bundled groonga if it exists
+ # There is no CMake flag, it simply checks for existance
+ if [[ -d "${S}"/storage/mroonga/vendor/groonga ]] ; then
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ fi
+
epatch_user
}
1.11 eclass/mysql-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.11&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.11&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?r1=1.10&r2=1.11
Index: mysql-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- mysql-multilib.eclass 8 Oct 2014 17:25:46 -0000 1.10
+++ mysql-multilib.eclass 26 Nov 2014 00:34:41 -0000 1.11
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.10 2014/10/08 17:25:46 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.11 2014/11/26 00:34:41 grknight Exp $
# @ECLASS: mysql-multilib.eclass
# @MAINTAINER:
@@ -205,10 +205,19 @@
mysql_version_is_at_least "10.0.5" && IUSE="${IUSE} odbc xml" && \
REQUIRED_USE="odbc? ( extraengine !minimal ) xml? ( extraengine !minimal )"
REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
+
+ # MariaDB 10.1 introduces InnoDB/XtraDB compression with external libraries
+ # Choices are bzip2, lz4, lzma, lzo. bzip2 and lzma enabled by default as they are system libraries
+ mysql_version_is_at_least "10.1.1" && IUSE="${IUSE} innodb-lz4 innodb-lzo"
fi
-if [[ ${PN} == "mariadb-galera" ]]; then
- IUSE="${IUSE} +sst-rsync sst-xtrabackup"
+if [[ -n "${WSREP_REVISION}" ]]; then
+ if [[ ${PN} == "mariadb" ]]; then
+ IUSE="${IUSE} galera sst-rsync sst-xtrabackup"
+ REQUIRED_USE="${REQUIRED_USE} sst-rsync? ( galera ) sst-xtrabackup? ( galera )"
+ else
+ IUSE="${IUSE} +sst-rsync sst-xtrabackup"
+ fi
fi
if [[ ${PN} == "percona-server" ]]; then
@@ -273,7 +282,12 @@
"
fi
mysql_version_is_at_least "10.0.7" && DEPEND="${DEPEND} oqgraph? ( dev-libs/judy:0= )"
- mysql_version_is_at_least "10.0.9" && DEPEND="${DEPEND} >=dev-libs/libpcre-8.35:3="
+ mysql_version_is_at_least "10.0.9" && DEPEND="${DEPEND} >=dev-libs/libpcre-8.35:3=[${MULTILIB_USEDEP}]"
+
+ mysql_version_is_at_least "10.1.1" && DEPEND="${DEPEND}
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ "
fi
[[ ${PN} == "percona-server" ]] && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
@@ -308,18 +322,23 @@
virtual/perl-Time-HiRes ) "
fi
-if [[ ${PN} == "mariadb-galera" ]] ; then
+if [[ -n "${WSREP_REVISION}" ]] ; then
# The wsrep API version must match between the ebuild and sys-cluster/galera.
# This will be indicated by WSREP_REVISION in the ebuild and the first number
# in the version of sys-cluster/galera
#
# lsof is required as of 5.5.38 and 10.0.11 for the rsync sst
- RDEPEND="${RDEPEND}
- sys-apps/iproute2
+
+ GALERA_RDEPEND="sys-apps/iproute2
=sys-cluster/galera-${WSREP_REVISION}*
+ "
+ if [[ ${PN} == "mariadb" ]]; then
+ GALERA_RDEPEND="galera? ( ${GALERA_RDEPEND} )"
+ fi
+ RDEPEND="${RDEPEND} ${GALERA_RDEPEND}
sst-rsync? ( sys-process/lsof )
sst-xtrabackup? (
- dev-db/xtrabackup-bin
+ >=dev-db/xtrabackup-bin-2.2.4
net-misc/socat[ssl]
)
"
@@ -345,6 +364,9 @@
# my_config.h includes ABI specific data
MULTILIB_WRAPPED_HEADERS=( /usr/include/mysql/my_config.h /usr/include/mysql/private/embedded_priv.h )
+[[ ${PN} == "mariadb" ]] && mysql_version_is_at_least "10.1.1" && \
+ MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h )
+
# wrap the config script
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
@@ -393,7 +415,8 @@
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_setup
fi
- if use_if_iuse tokudb && [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ; then
+ if use_if_iuse tokudb && [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 || \
+ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ; then
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
@@ -470,12 +493,19 @@
-DWITHOUT_LIBWRAP=1
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock
+ -DINSTALL_UNIX_ADDRDIR=${EPREFIX}/var/run/mysqld/mysqld.sock
-DWITH_SSL=$(usex ssl system bundled)
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
- $(cmake-utils_use_enable systemtap DTRACE)
)
+ # systemtap only works on native ABI bug 530132
+ if multilib_is_native_abi; then
+ mycmakeargs+=( $(cmake-utils_use_enable systemtap DTRACE) )
+ else
+ mycmakeargs+=( -DENABLE_DTRACE=0 )
+ fi
+
if in_iuse bindist ; then
mycmakeargs+=(
-DWITH_READLINE=$(usex bindist 1 0)
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
@ 2015-01-28 13:48 Brian Evans (grknight)
0 siblings, 0 replies; 5+ messages in thread
From: Brian Evans (grknight) @ 2015-01-28 13:48 UTC (permalink / raw
To: gentoo-commits
grknight 15/01/28 13:48:58
Modified: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
Log:
Sync changes from mysql overlay
Revision Changes Path
1.1516 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1516&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1516&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1515&r2=1.1516
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1515
retrieving revision 1.1516
diff -u -r1.1515 -r1.1516
--- ChangeLog 23 Jan 2015 22:48:10 -0000 1.1515
+++ ChangeLog 28 Jan 2015 13:48:58 -0000 1.1516
@@ -1,6 +1,10 @@
# ChangeLog for eclass directory
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1515 2015/01/23 22:48:10 monsieurp Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1516 2015/01/28 13:48:58 grknight Exp $
+
+ 28 Jan 2015; Brian Evans <grknight@gentoo.org> mysql-multilib.eclass,
+ mysql-cmake.eclass:
+ Sync from mysql overlay
23 Jan 2015; Patrice Clement <monsieurp@gentoo.org> java-ant-2.eclass:
Sanitise find arguments when using JAVA_PKG_BSFIX_NAME option. Fix #231956.
1.27 eclass/mysql-cmake.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.27&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.27&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?r1=1.26&r2=1.27
Index: mysql-cmake.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- mysql-cmake.eclass 26 Nov 2014 00:34:41 -0000 1.26
+++ mysql-cmake.eclass 28 Jan 2015 13:48:58 -0000 1.27
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.26 2014/11/26 00:34:41 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.27 2015/01/28 13:48:58 grknight Exp $
# @ECLASS: mysql-cmake.eclass
# @MAINTAINER:
@@ -232,6 +232,10 @@
mycmakeargs+=( $(cmake-utils_use_with innodb-lz4 INNODB_LZ4)
$(cmake-utils_use_with innodb-lzo INNODB_LZO) )
fi
+
+ if mysql_version_is_at_least "10.1.2" ; then
+ mycmakeargs+=( $(mysql-cmake_use_plugin cracklib CRACKLIB_PASSWORD_CHECK ) )
+ fi
else
mycmakeargs+=( $(cmake-utils_use_with extraengine FEDERATED_STORAGE_ENGINE) )
fi
1.12 eclass/mysql-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.12&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.12&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?r1=1.11&r2=1.12
Index: mysql-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- mysql-multilib.eclass 26 Nov 2014 00:34:41 -0000 1.11
+++ mysql-multilib.eclass 28 Jan 2015 13:48:58 -0000 1.12
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.11 2014/11/26 00:34:41 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.12 2015/01/28 13:48:58 grknight Exp $
# @ECLASS: mysql-multilib.eclass
# @MAINTAINER:
@@ -184,21 +184,31 @@
LICENSE="GPL-2"
SLOT="0"
-IUSE="+community cluster debug embedded extraengine jemalloc latin1 max-idx-128 minimal
+IUSE="+community cluster debug embedded extraengine jemalloc latin1 minimal
+perl profiling selinux ssl systemtap static static-libs tcmalloc test"
+### Begin readline/libedit
+### If the world was perfect, we would use external libedit on both to have a similar experience
+### However libedit does not seem to support UTF-8 keyboard input
+
# This probably could be simplified, but the syntax would have to be just right
-if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
- mysql_check_version_range "5.5.37 to 10.0.13.99" ; then
- IUSE="bindist ${IUSE}"
-elif [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
- mysql_check_version_range "5.5.37 to 5.6.11.99" ; then
- IUSE="bindist ${IUSE}"
-elif [[ ${PN} == "mysql-cluster" ]] && \
- mysql_check_version_range "7.2 to 7.2.99.99" ; then
+#if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
+# mysql_check_version_range "5.5.37 to 10.0.13.99" ; then
+# IUSE="bindist ${IUSE}"
+#elif [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
+# mysql_check_version_range "5.5.37 to 5.6.11.99" ; then
+# IUSE="bindist ${IUSE}"
+#elif [[ ${PN} == "mysql-cluster" ]] && \
+# mysql_check_version_range "7.2 to 7.2.99.99" ; then
+# IUSE="bindist ${IUSE}"
+#fi
+
+if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
IUSE="bindist ${IUSE}"
fi
+### End readline/libedit
+
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
IUSE="${IUSE} oqgraph pam sphinx tokudb"
# 5.5.33 and 10.0.5 add TokuDB. Authors strongly recommend jemalloc or perfomance suffers
@@ -209,6 +219,9 @@
# MariaDB 10.1 introduces InnoDB/XtraDB compression with external libraries
# Choices are bzip2, lz4, lzma, lzo. bzip2 and lzma enabled by default as they are system libraries
mysql_version_is_at_least "10.1.1" && IUSE="${IUSE} innodb-lz4 innodb-lzo"
+
+ # 10.1.2 introduces a cracklib password checker
+ mysql_version_is_at_least "10.1.1" && IUSE="${IUSE} cracklib"
fi
if [[ -n "${WSREP_REVISION}" ]]; then
@@ -250,21 +263,31 @@
systemtap? ( >=dev-util/systemtap-1.3:0= )
"
+### Begin readline/libedit
+### If the world was perfect, we would use external libedit on both to have a similar experience
+### However libedit does not seem to support UTF-8 keyboard input
+
# dev-db/mysql-5.6.12+ only works with dev-libs/libedit
# mariadb 10.0.14 fixes libedit detection. changed to follow mysql
# This probably could be simplified
-if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
- mysql_version_is_at_least "5.6.12" ; then
- DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
-elif [[ ${PN} == "mysql-cluster" ]] && mysql_version_is_at_least "7.3"; then
- DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
-elif [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
- mysql_version_is_at_least "10.0.14" ; then
- DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
-else
+#if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
+# mysql_version_is_at_least "5.6.12" ; then
+# DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
+#elif [[ ${PN} == "mysql-cluster" ]] && mysql_version_is_at_least "7.3"; then
+# DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
+#elif [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
+# mysql_version_is_at_least "10.0.14" ; then
+# DEPEND="${DEPEND} dev-libs/libedit:0=[${MULTILIB_USEDEP}]"
+#else
+# DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0=[${MULTILIB_USEDEP}] )"
+#fi
+
+if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0=[${MULTILIB_USEDEP}] )"
fi
+### End readline/libedit
+
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
mysql_version_is_at_least "5.7.5" && DEPEND="${DEPEND} >=dev-libs/boost-1.56.0:0="
fi
@@ -288,6 +311,8 @@
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
"
+
+ mysql_version_is_at_least "10.1.2" && DEPEND="${DEPEND} cracklib? ( sys-libs/cracklib:0= )"
fi
[[ ${PN} == "percona-server" ]] && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
@@ -514,7 +539,8 @@
)
fi
- mycmakeargs+=( -DWITH_EDITLINE=system )
+ ### TODO: make this system but issues with UTF-8 prevent it
+ mycmakeargs+=( -DWITH_EDITLINE=bundled )
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
mycmakeargs+=(
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
@ 2015-07-28 1:58 Brian Evans (grknight)
0 siblings, 0 replies; 5+ messages in thread
From: Brian Evans (grknight) @ 2015-07-28 1:58 UTC (permalink / raw
To: gentoo-commits
grknight 15/07/28 01:58:13
Modified: ChangeLog mysql-cmake.eclass mysql-multilib.eclass
Log:
Add support for the split client/server options to the mysql eclasses
Revision Changes Path
1.1734 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1734&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1734&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1733&r2=1.1734
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1733
retrieving revision 1.1734
diff -u -r1.1733 -r1.1734
--- ChangeLog 27 Jul 2015 19:11:00 -0000 1.1733
+++ ChangeLog 28 Jul 2015 01:58:13 -0000 1.1734
@@ -1,6 +1,10 @@
# ChangeLog for eclass directory
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1733 2015/07/27 19:11:00 williamh Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1734 2015/07/28 01:58:13 grknight Exp $
+
+ 28 Jul 2015; Brian Evans <grknight@gentoo.org> mysql-cmake.eclass,
+ mysql-multilib.eclass:
+ Add support for the split client/server options to the mysql eclasses
27 Jul 2015; William Hubbs <williamh@gentoo.org> +golang-base.eclass,
golang-build.eclass, golang-vcs.eclass:
1.28 eclass/mysql-cmake.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.28&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.28&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?r1=1.27&r2=1.28
Index: mysql-cmake.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- mysql-cmake.eclass 28 Jan 2015 13:48:58 -0000 1.27
+++ mysql-cmake.eclass 28 Jul 2015 01:58:13 -0000 1.28
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.27 2015/01/28 13:48:58 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.28 2015/07/28 01:58:13 grknight Exp $
# @ECLASS: mysql-cmake.eclass
# @MAINTAINER:
@@ -87,26 +87,30 @@
# Helper function to configure locale cmake options
configure_cmake_locale() {
- if ! use minimal && [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
+ if use_if_iuse minimal ; then
+ :
+ elif ! in_iuse server || use_if_iuse server ; then
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
fi
}
@@ -212,7 +216,6 @@
$(mysql-cmake_use_plugin extraengine SPIDER)
$(mysql-cmake_use_plugin extraengine CONNECT)
-DCONNECT_WITH_MYSQL=1
- -DPLUGIN_CONNECT_WITH_MYSQL=YES
$(cmake-utils_use xml CONNECT_WITH_LIBXML2)
$(cmake-utils_use odbc CONNECT_WITH_ODBC)
)
@@ -376,7 +379,7 @@
configure_cmake_locale
- if use minimal ; then
+ if use_if_iuse minimal ; then
configure_cmake_minimal
else
configure_cmake_standard
@@ -425,11 +428,13 @@
cmake-utils_src_install
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
+ if ! in_iuse tools || use_if_iuse tools ; then
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
+ fi
# Create a mariadb_config symlink
[[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && dosym "/usr/bin/mysql_config" "/usr/bin/mariadb_config"
@@ -470,7 +475,9 @@
newins "${TMPDIR}/my.cnf.ok" my.cnf
# Minimal builds don't have the MySQL server
- if ! use minimal ; then
+ if use_if_iuse minimal ; then
+ :
+ elif ! in_iuse server || use_if_iuse server ; then
einfo "Creating initial directories"
# Empty directories ...
diropts "-m0750"
@@ -489,7 +496,9 @@
fi
# Minimal builds don't have the MySQL server
- if ! use minimal ; then
+ if use_if_iuse minimal ; then
+ :
+ elif ! in_iuse server || use_if_iuse server; then
einfo "Including support files and sample configurations"
docinto "support-files"
for script in \
@@ -510,6 +519,8 @@
[[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && ! use perl \
&& rm -f "${ED}/usr/bin/mytop"
+ in_iuse client-libs && ! use client-libs && return
+
# Percona has decided to rename libmysqlclient to libperconaserverclient
# Use a symlink to preserve linkages for those who don't use mysql_config
if [[ ${PN} == "percona-server" ]] && mysql_version_is_at_least "5.5.36" ; then
1.22 eclass/mysql-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.22&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?rev=1.22&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-multilib.eclass?r1=1.21&r2=1.22
Index: mysql-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- mysql-multilib.eclass 10 Jun 2015 18:08:02 -0000 1.21
+++ mysql-multilib.eclass 28 Jul 2015 01:58:13 -0000 1.22
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.21 2015/06/10 18:08:02 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-multilib.eclass,v 1.22 2015/07/28 01:58:13 grknight Exp $
# @ECLASS: mysql-multilib.eclass
# @MAINTAINER:
@@ -75,7 +75,7 @@
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
case ${PV} in
10.0*) MYSQL_PV_MAJOR="5.6" ;;
- 10.1*) MYSQL_PV_MAJOR="5.7" ;;
+ 10.1*) MYSQL_PV_MAJOR="5.6" ;;
esac
fi
@@ -178,9 +178,9 @@
DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
fi
LICENSE="GPL-2"
-SLOT="0"
+SLOT="0/${SUBSLOT:=0}"
-IUSE="+community cluster debug embedded extraengine jemalloc latin1 minimal
+IUSE="+community cluster debug embedded extraengine jemalloc latin1
+perl profiling selinux ssl systemtap static static-libs tcmalloc test"
### Begin readline/libedit
@@ -210,8 +210,11 @@
IUSE="${IUSE} oqgraph pam sphinx tokudb"
# 5.5.33 and 10.0.5 add TokuDB. Authors strongly recommend jemalloc or perfomance suffers
mysql_version_is_at_least "10.0.5" && IUSE="${IUSE} odbc xml"
- REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
-
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ REQUIRED_USE="${REQUIRED_USE} !server? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
+ else
+ REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
+ fi
# MariaDB 10.1 introduces InnoDB/XtraDB compression with external libraries
# Choices are bzip2, lz4, lzma, lzo. bzip2 and lzma enabled by default as they are system libraries
mysql_version_is_at_least "10.1.1" && IUSE="${IUSE} innodb-lz4 innodb-lzo"
@@ -233,9 +236,17 @@
IUSE="${IUSE} pam"
fi
+if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ IUSE="${IUSE} client-libs +server +tools"
+ REQUIRED_USE="${REQUIRED_USE} !server? ( !extraengine !embedded ) server? ( tools ) || ( client-libs server tools )"
+else
+ IUSE="${IUSE} minimal"
+ REQUIRED_USE="${REQUIRED_USE} minimal? ( !extraengine !embedded )"
+fi
+
REQUIRED_USE="
${REQUIRED_USE} tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )
- minimal? ( !extraengine !embedded ) static? ( !ssl )"
+ static? ( !ssl )"
#
# DEPENDENCIES:
@@ -250,16 +261,34 @@
sys-process/procps:0=
dev-libs/libaio:0=
)
- sys-libs/ncurses
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
- >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
!dev-db/mariadb-native-client[mysqlcompat]
- jemalloc? ( dev-libs/jemalloc:0=[${MULTILIB_USEDEP}] )
+ jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
"
+if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND+="
+ client-libs? (
+ ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
+ )
+ !client-libs? (
+ ssl? ( >=dev-libs/openssl-1.0.0:0=[static-libs?] )
+ >=sys-libs/zlib-1.2.3:0=[static-libs?]
+ )
+ tools? ( sys-libs/ncurses ) embedded? ( sys-libs/ncurses )
+ "
+else
+ DEPEND+="
+ ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
+ sys-libs/ncurses[${MULTILIB_USEDEP}]
+ "
+fi
+
### Begin readline/libedit
### If the world was perfect, we would use external libedit on both to have a similar experience
### However libedit does not seem to support UTF-8 keyboard input
@@ -280,7 +309,12 @@
#fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
- DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0=[${MULTILIB_USEDEP}] )"
+ # Readline is only used for the command-line and embedded example
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} !bindist? ( tools? ( >=sys-libs/readline-4.1:0= ) embedded? ( >=sys-libs/readline-4.1:0= ) )"
+ else
+ DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0=[${MULTILIB_USEDEP}] )"
+ fi
fi
### End readline/libedit
@@ -293,9 +327,13 @@
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
# Bug 441700 MariaDB >=5.3 include custom mytop
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} server? ( pam? ( virtual/pam:0= ) )"
+ else
+ DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
+ fi
DEPEND="${DEPEND}
oqgraph? ( >=dev-libs/boost-1.40.0:0= )
- !minimal? ( pam? ( virtual/pam:0= ) )
perl? ( !dev-db/mytop )"
if mysql_version_is_at_least "10.0.5" ; then
DEPEND="${DEPEND}
@@ -306,7 +344,7 @@
"
fi
mysql_version_is_at_least "10.0.7" && DEPEND="${DEPEND} oqgraph? ( dev-libs/judy:0= )"
- mysql_version_is_at_least "10.0.9" && DEPEND="${DEPEND} >=dev-libs/libpcre-8.35:3=[${MULTILIB_USEDEP}]"
+ mysql_version_is_at_least "10.0.9" && DEPEND="${DEPEND} >=dev-libs/libpcre-8.35:3="
mysql_version_is_at_least "10.1.1" && DEPEND="${DEPEND}
innodb-lz4? ( app-arch/lz4 )
@@ -316,7 +354,13 @@
mysql_version_is_at_least "10.1.2" && DEPEND="${DEPEND} cracklib? ( sys-libs/cracklib:0= )"
fi
-[[ ${PN} == "percona-server" ]] && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
+if [[ ${PN} == "percona-server" ]] ; then
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} server? ( pam? ( virtual/pam:0= ) )"
+ else
+ DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
+ fi
+fi
# Having different flavours at the same time is not a good idea
for i in "mysql" "mariadb" "mariadb-galera" "percona-server" "mysql-cluster" ; do
@@ -334,11 +378,18 @@
# prefix: first need to implement something for #196294
# TODO: check emul-linux-x86-db dep when it is multilib enabled
RDEPEND="${DEPEND}
- !minimal? ( !prefix? ( dev-db/mysql-init-scripts ) )
selinux? ( sec-policy/selinux-mysql )
abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] )
"
+if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ RDEPEND="${RDEPEND}
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ !client-libs? ( virtual/libmysqlclient )"
+else
+ RDEPEND="${RDEPEND} !minimal? ( !prefix? ( dev-db/mysql-init-scripts ) )"
+fi
+
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
# Bug 455016 Add dependencies of mytop
RDEPEND="${RDEPEND} perl? (
@@ -387,9 +438,13 @@
virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
>=dev-util/cmake-2.8.9
- sys-libs/ncurses[${MULTILIB_USEDEP}]
"
+# Transition dep until all ebuilds have client-libs patch and USE
+if ! [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} sys-libs/ncurses[${MULTILIB_USEDEP}]"
+fi
+
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="${PDEPEND} perl? ( >=dev-perl/DBD-mysql-2.9004 )
@@ -404,9 +459,6 @@
[[ ${PN} == "mariadb" ]] && mysql_version_is_at_least "10.1.1" && \
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h )
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
#
# HELPER FUNCTIONS:
#
@@ -448,7 +500,9 @@
mysql-multilib_pkg_setup() {
if has test ${FEATURES} ; then
- if ! use minimal ; then
+ if use_if_iuse minimal ; then
+ :
+ elif ! in_iuse server || use_if_iuse server ; then
if ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
@@ -526,6 +580,13 @@
CMAKE_BUILD_TYPE="RelWithDebInfo"
+ if ! multilib_is_native_abi && in_iuse client-libs ; then
+ if ! use client-libs ; then
+ ewarn "Skipping multilib build due to client-libs USE disabled"
+ return 0
+ fi
+ fi
+
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
@@ -534,8 +595,8 @@
-DMYSQL_DATADIR=${EPREFIX}/var/lib/mysql
-DSYSCONFDIR=${EPREFIX}/etc/mysql
-DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${P}
- -DINSTALL_DOCREADMEDIR=share/doc/${P}
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
@@ -569,6 +630,18 @@
mycmakeargs+=( -DENABLE_DTRACE=0 )
fi
+ if in_iuse client-libs ; then
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=$(usex client-libs 0 1) )
+ fi
+
+ if in_iuse tools ; then
+ if multilib_is_native_abi ; then
+ mycmakeargs+=( -DWITHOUT_TOOLS=$(usex tools 0 1) )
+ else
+ mycmakeargs+=( -DWITHOUT_TOOLS=1 )
+ fi
+ fi
+
if in_iuse bindist ; then
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
if multilib_is_native_abi; then
@@ -576,7 +649,7 @@
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
)
- else
+ elif ! in_iuse client-libs ; then
mycmakeargs+=(
-DWITH_READLINE=1
-DNOT_FOR_DISTRIBUTION=0
@@ -587,7 +660,7 @@
### TODO: make this system but issues with UTF-8 prevent it
mycmakeargs+=( -DWITH_EDITLINE=bundled )
- if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
+ if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && multilib_is_native_abi ; then
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
)
@@ -597,10 +670,16 @@
configure_cmake_locale
- if multilib_is_native_abi && ! use minimal ; then
- configure_cmake_standard
- else
+ if use_if_iuse minimal ; then
configure_cmake_minimal
+ elif in_iuse server ; then
+ if multilib_is_native_abi && use server ; then
+ configure_cmake_standard
+ else
+ configure_cmake_minimal
+ fi
+ else
+ configure_cmake_standard
fi
# Always build NDB with mysql-cluster for libndbclient
@@ -618,6 +697,13 @@
}
multilib_src_compile() {
+ if ! multilib_is_native_abi && in_iuse client-libs ; then
+ if ! use client-libs ; then
+ ewarn "Skipping multilib build due to client-libs USE disabled"
+ return 0
+ fi
+ fi
+
cmake-utils_src_compile "${_cmake_args[@]}"
}
@@ -626,19 +712,39 @@
# @DESCRIPTION:
# Install mysql.
mysql-multilib_src_install() {
- multilib-minimal_src_install
+ if ! in_iuse client-libs || use_if_iuse client-libs ; then
+ # wrap the config script
+ MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+ fi
+
+ if in_iuse client-libs && ! use client-libs ; then
+ multilib_foreach_abi multilib_src_install
+ else
+ multilib-minimal_src_install
+ fi
}
multilib_src_install() {
debug-print-function ${FUNCNAME} "$@"
+ if ! multilib_is_native_abi && in_iuse client-libs ; then
+ if ! use client-libs ; then
+ ewarn "Skipping multilib build due to client-libs USE disabled"
+ return 0
+ fi
+ fi
+
if multilib_is_native_abi; then
mysql-cmake_src_install
else
cmake-utils_src_install
- if ! use minimal && [[ "${PN}" == "mariadb" || "${PN}" == "mariadb-galera" ]] ; then
- insinto /usr/include/mysql/private
- doins "${S}"/sql/*.h
+ if [[ "${PN}" == "mariadb" || "${PN}" == "mariadb-galera" ]] ; then
+ if use_if_iuse minimal ; then
+ :
+ elif use_if_iuse server || ! in_iuse server ; then
+ insinto /usr/include/mysql/private
+ doins "${S}"/sql/*.h
+ fi
fi
fi
}
@@ -677,7 +783,9 @@
chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
# Minimal builds don't have the MySQL server
- if ! use minimal ; then
+ if use_if_iuse minimal ; then
+ :
+ elif ! in_iuse server || use_if_iuse server ; then
docinto "support-files"
for script in \
support-files/my-*.cnf \
@@ -765,7 +873,7 @@
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if built_with_use ${CATEGORY}/${PN} minimal ; then
+ if built_with_use ${CATEGORY}/${PN} minimal && ! built_with_use ${CATEGORY}/${PN} server ; then
die "Minimal builds do NOT include the MySQL server"
fi
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-07-28 1:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-08 17:25 [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog mysql-cmake.eclass mysql-multilib.eclass Brian Evans (grknight)
-- strict thread matches above, loose matches on Subject: below --
2015-07-28 1:58 Brian Evans (grknight)
2015-01-28 13:48 Brian Evans (grknight)
2014-11-26 0:34 Brian Evans (grknight)
2014-07-31 22:26 Brian Evans (grknight)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox