From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id F3C091396D9 for ; Sun, 12 Nov 2017 02:19:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EFFD3E0F5D; Sun, 12 Nov 2017 02:19:16 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B8FFDE0F5D for ; Sun, 12 Nov 2017 02:19:16 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0908F33BEB4 for ; Sun, 12 Nov 2017 02:19:15 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id BE9B799DB for ; Sun, 12 Nov 2017 02:19:13 +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: <1510453142.926f9314afc813f90d67215a8c9d2fcacf8d765f.grknight@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-cluster/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild X-VCS-Directories: dev-db/mysql-cluster/ X-VCS-Committer: grknight X-VCS-Committer-Name: Brian Evans X-VCS-Revision: 926f9314afc813f90d67215a8c9d2fcacf8d765f X-VCS-Branch: master Date: Sun, 12 Nov 2017 02:19:13 +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: 6425376a-45ee-4154-ab0f-3070f1cdcb7f X-Archives-Hash: 7064a5bfbddb6a8ceaac03c35afcd667 commit: 926f9314afc813f90d67215a8c9d2fcacf8d765f Author: Brian Evans gentoo org> AuthorDate: Sun Nov 12 02:19:02 2017 +0000 Commit: Brian Evans gentoo org> CommitDate: Sun Nov 12 02:19:02 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=926f9314 dev-db/mysql-cluster: Convert 7.3.19 to mysql-multilib-r1 eclass Package-Manager: Portage-2.3.13, Repoman-2.3.4 dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild | 92 +++++++++++++++++------- 1 file changed, 68 insertions(+), 24 deletions(-) diff --git a/dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild index 7a18a355e0a..01e3c5a9412 100644 --- a/dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild +++ b/dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild @@ -1,38 +1,71 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=6 MY_EXTRAS_VER="20171108-2050Z" SUBSLOT="18" +MYSQL_PV_MAJOR="5.6" #fails to build with ninja CMAKE_MAKEFILE_GENERATOR=emake -inherit toolchain-funcs java-pkg-opt-2 mysql-multilib +inherit java-utils-2 mysql-multilib-r1 # only to make repoman happy. it is really set in the eclass -IUSE="$IUSE" +IUSE="$IUSE numa" # REMEMBER: also update eclass/mysql*.eclass before committing! KEYWORDS="~amd64 ~x86" +COMMON_DEPEND="numa? ( sys-process/numactl ) dev-libs/libevent:0= ${JAVA_PKG_E_DEPEND}" +DEPEND="${COMMON_DEPEND} || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) >=virtual/jdk-1.6" +RDEPEND="${COMMON_DEPEND} !media-sound/amarok[embedded] >=virtual/jre-1.6" -# When MY_EXTRAS is bumped, the index should be revised to exclude these. -# This is often broken still -#EPATCH_EXCLUDE='' +MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" -DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )" -RDEPEND="!media-sound/amarok[embedded]" +PATCHES=( + "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch + "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch +# "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch + "${MY_PATCH_DIR}"/30000_all_mysql-cluster-multilib-property.patch +) + +MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/storage/ndb/ndb_types.h ) # Please do not add a naive src_unpack to this ebuild # If you want to add a single patch, copy the ebuild to an overlay # and create your own mysql-extras tarball, looking at 000_index.txt +pkg_setup() { + mysql-multilib-r1_pkg_setup + java-pkg_init +} + src_prepare() { - mysql-multilib_src_prepare + mysql-multilib-r1_src_prepare + java-utils-2_src_prepare if use libressl ; then sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ "${S}/cmake/ssl.cmake" || die fi } +src_configure() { + # validate_password plugin uses exceptions when it shouldn't yet (until 5.7) + # disable until we see what happens with it + local MYSQL_CMAKE_NATIVE_DEFINES=( + -DWITHOUT_VALIDATE_PASSWORD=1 + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_NDBCLUSTER=1 -DWITH_PARTITION_STORAGE_ENGINE=1 + -DWITHOUT_PARTITION_STORAGE_ENGINE=0 ) + mysql-multilib-r1_src_configure +} + +pkg_preinst() { + java-utils-2_pkg_preinst + mysql-multilib-r1_pkg_preinst +} + # Official test instructions: # USE='extraengine perl openssl' \ # FEATURES='test userpriv -usersandbox' \ @@ -45,6 +78,14 @@ multilib_src_test() { return 0; fi + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test" local retstatus_unit local retstatus_tests @@ -53,7 +94,7 @@ multilib_src_test() { # localhost. Also causes weird failures. [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - if ! use "minimal" ; then + if use server ; then if [[ $UID -eq 0 ]]; then die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." @@ -61,12 +102,6 @@ multilib_src_test() { has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - addpredict /this-dir-does-not-exist/t9.MYI - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" # Ensure that parallel runs don't die export MTR_BUILD_THREAD="$((${RANDOM} % 100))" @@ -78,6 +113,10 @@ multilib_src_test() { # create directories because mysqladmin might right out of order mkdir -p "${T}"/var-tests{,/log} + # create symlink for the tests to find mysql_tzinfo_to_sql + ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/" + + touch "${T}/disabled.def" # These are failing in MySQL 5.5/5.6 for now and are believed to be # false positives: # @@ -105,26 +144,31 @@ multilib_src_test() { main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ perfschema.binlog_edge_mix \ perfschema.binlog_edge_stmt \ + rpl.rpl_plugin_load main.mysql \ + main.mysql_upgrade \ ; do - mysql-multilib_disable_test "$t" "False positives in Gentoo" + _disable_test "$t" "False positives in Gentoo" done # ndb.ndbinfo, ndb_binlog.ndb_binlog_index: latin1/utf8 for t in \ - ndb.ndbinfo \ + ndb.ndbinfo ndb.ndb_tools_connect \ ndb_binlog.ndb_binlog_index ; do - mysql-multilib_disable_test "$t" "False positives in Gentoo (NDB)" + _disable_test "$t" "False positives in Gentoo (NDB) (Latin1/UTF8)" done + # Set file limits higher so tests run + ulimit -n 3000 + # Run mysql tests - pushd "${TESTDIR}" + pushd "${TESTDIR}" > /dev/null || die # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" + perl mysql-test-run.pl --force --vardir="${T}/var-tests" \ + --suite-timeout=5000 --reorder --skip-test-list="${T}/disabled.def" \ + --nounit-tests retstatus_tests=$? - [[ $retstatus_tests -eq 0 ]] || eerror "tests failed" - has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" - popd + popd > /dev/null || die # Cleanup is important for these testcases. pkill -9 -f "${S}/ndb" 2>/dev/null