From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 3A26A1393F1 for ; Thu, 17 Sep 2015 01:42:09 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 10B76E07EE; Thu, 17 Sep 2015 01:42:06 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A5175E07EE for ; Thu, 17 Sep 2015 01:42:05 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 558BC3409E2 for ; Thu, 17 Sep 2015 01:42:03 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 287BC22F for ; Thu, 17 Sep 2015 01:41:59 +0000 (UTC) From: "Brian Evans" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Evans" Message-ID: <1442454101.6e2be137829438864279bd17f959b443235dcedc.grknight@gentoo> Subject: [gentoo-commits] proj/mysql:master commit in: eclass/ X-VCS-Repository: proj/mysql X-VCS-Files: eclass/mysql-multilib.eclass X-VCS-Directories: eclass/ X-VCS-Committer: grknight X-VCS-Committer-Name: Brian Evans X-VCS-Revision: 6e2be137829438864279bd17f959b443235dcedc X-VCS-Branch: master Date: Thu, 17 Sep 2015 01:41:59 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 87300dfc-8f0a-4890-9e0c-d7a92c8bc8a3 X-Archives-Hash: 41bf05c5acdb47cfe6529bd5993c8374 commit: 6e2be137829438864279bd17f959b443235dcedc Author: Brian Evans gentoo org> AuthorDate: Thu Sep 17 01:41:41 2015 +0000 Commit: Brian Evans gentoo org> CommitDate: Thu Sep 17 01:41:41 2015 +0000 URL: https://gitweb.gentoo.org/proj/mysql.git/commit/?id=6e2be137 mysql-multilib eclass: Update when to show the ABI rebuild message Signed-off-by: Brian Evans gentoo.org> eclass/mysql-multilib.eclass | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass index 74c47bf..d880267 100644 --- a/eclass/mysql-multilib.eclass +++ b/eclass/mysql-multilib.eclass @@ -190,7 +190,7 @@ if [[ ${PN} == "percona-server" ]]; then DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team" fi LICENSE="GPL-2" -SLOT="0/${SUBSLOT:=0}" +SLOT="0/${SUBSLOT:-0}" IUSE="+community cluster debug embedded extraengine jemalloc latin1 +perl profiling selinux ssl systemtap static static-libs tcmalloc test" @@ -785,14 +785,25 @@ 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 + # Here we need to see if the implementation switched client libraries + # First, we check if this is a new instance of the package and a client library already exists + # Then, we check if this package is rebuilt but the previous instance did not + # have the client-libs USE set. + # Instances which do not have a client-libs USE can only be replaced by a different provider + local SHOW_ABI_MESSAGE if ! in_iuse client-libs || use_if_iuse client-libs ; then - CHECK_REPLACING=1 + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + SHOW_ABI_MESSAGE=1 + elif [[ ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] && \ + in_iuse client-libs && ! built_with_use ${CATEGORY}/${PN} client-libs ; then + SHOW_ABI_MESSAGE=1 + fi + fi - if [[ ${CHECK_REPLACING} && -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + if [[ ${SHOW_ABI_MESSAGE} ]] ; 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}" + elog "Please run: revdep-rebuild --library libmysqlclient.so.${SUBSLOT:-18}" ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" fi }