summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2015-09-16 16:55:34 -0400
committerBrian Evans <grknight@gentoo.org>2015-09-16 16:55:34 -0400
commitcedf64ba91607985f9e5dd2faf314afbe20b6f67 (patch)
tree42277f7ce306ab6b026008e3059795101137b508
parentpercona-server: Version bump (diff)
downloadmysql-cedf64ba.tar.gz
mysql-cedf64ba.tar.bz2
mysql-cedf64ba.zip
mysql-connector-c: Revbump with preinst message
Signed-off-by: Brian Evans <grknight@gentoo.org>
-rw-r--r--dev-db/mysql-connector-c/files/mysql_com.patch31
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-6.1.6-r2.ebuild80
-rw-r--r--eclass/mysql-multilib.eclass10
3 files changed, 121 insertions, 0 deletions
diff --git a/dev-db/mysql-connector-c/files/mysql_com.patch b/dev-db/mysql-connector-c/files/mysql_com.patch
new file mode 100644
index 0000000..36a7d5a
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql_com.patch
@@ -0,0 +1,31 @@
+--- a/include/mysql_com.h 2014-06-10 23:10:43.000000000 -0400
++++ b/include/mysql_com.h 2015-08-11 15:20:54.487091000 -0400
+@@ -179,7 +171,7 @@
+ #define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
+ #define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
+ #define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
+-#define CLIENT_RESERVED2 32768 /* Old flag for 4.1 authentication */
++#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
+ #define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */
+ #define CLIENT_MULTI_RESULTS (1UL << 17) /* Enable/disable multi-results */
+ #define CLIENT_PS_MULTI_RESULTS (1UL << 18) /* Multi-results in PS-protocol */
+@@ -226,7 +216,7 @@
+ | CLIENT_IGNORE_SIGPIPE \
+ | CLIENT_TRANSACTIONS \
+ | CLIENT_RESERVED \
+- | CLIENT_RESERVED2 \
++ | CLIENT_SECURE_CONNECTION \
+ | CLIENT_MULTI_STATEMENTS \
+ | CLIENT_MULTI_RESULTS \
+ | CLIENT_PS_MULTI_RESULTS \
+--- a/libmysql/client_settings.h 2015-02-25 16:09:49.000000000 -0500
++++ b/libmysql/client_settings.h 2015-08-11 15:44:10.804091000 -0400
+@@ -31,7 +31,7 @@
+ CLIENT_LONG_FLAG | \
+ CLIENT_TRANSACTIONS | \
+ CLIENT_PROTOCOL_41 | \
+- CLIENT_RESERVED2 | \
++ CLIENT_SECURE_CONNECTION | \
+ CLIENT_MULTI_RESULTS | \
+ CLIENT_PS_MULTI_RESULTS | \
+ CLIENT_PLUGIN_AUTH | \
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.6-r2.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.6-r2.ebuild
new file mode 100644
index 0000000..f77fcf5
--- /dev/null
+++ b/dev-db/mysql-connector-c/mysql-connector-c-6.1.6-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+CMAKE_MIN_VERSION="2.8.12"
+
+inherit cmake-multilib eutils multilib
+
+MULTILIB_WRAPPED_HEADERS+=(
+ /usr/include/mysql/my_config.h
+)
+
+# wrap the config script
+MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/c/"
+LICENSE="GPL-2"
+
+SRC_URI="mirror://mysql/Downloads/Connector-C/${P}-src.tar.gz"
+S="${WORKDIR}/${P}-src"
+KEYWORDS="~amd64 ~ia64 ~ppc64 ~x86"
+
+SUBSLOT="18"
+SLOT="0/${SUBSLOT}"
+IUSE="+ssl static-libs"
+
+CDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ ssl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ "
+RDEPEND="${CDEPEND}
+ !dev-db/mysql[client-libs(+)]
+ !dev-db/mysql-cluster[client-libs(+)]
+ !dev-db/mariadb[client-libs(+)]
+ !dev-db/mariadb-connector-c[mysqlcompat]
+ !dev-db/mariadb-galera[client-libs(+)]
+ !dev-db/percona-server[client-libs(+)]
+ "
+DEPEND="${CDEPEND}"
+
+DOCS=( README Docs/ChangeLog )
+
+src_prepare() {
+ epatch "${FILESDIR}/openssl-cmake-detection.patch" \
+ "${FILESDIR}/conn-c-includes.patch" \
+ "${FILESDIR}/mysql_com.patch"
+ epatch_user
+}
+
+multilib_src_configure() {
+ mycmakeargs+=(
+ -DINSTALL_LAYOUT=RPM
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
+ -DWITH_DEFAULT_FEATURE_SET=OFF
+ -DENABLED_LOCAL_INFILE=ON
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_ZLIB=system
+ -DENABLE_DTRACE=OFF
+ -DWITH_SSL=$(usex ssl system bundled)
+ )
+ cmake-utils_src_configure
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
+
+pkg_preinst() {
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library libmysqlclient.so.${SUBSLOT}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass
index 1f67e3a..74c47bf 100644
--- a/eclass/mysql-multilib.eclass
+++ b/eclass/mysql-multilib.eclass
@@ -785,6 +785,16 @@ mysql-multilib_pkg_preinst() {
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_preinst
fi
+ local CHECK_REPLACING
+ if ! in_iuse client-libs || use_if_iuse client-libs ; then
+ CHECK_REPLACING=1
+ fi
+ if [[ ${CHECK_REPLACING} && -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library libmysqlclient.so.${SUBSLOT}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
}
# @FUNCTION: mysql-multilib_pkg_postinst