diff options
author | Brian Evans <grknight@gentoo.org> | 2017-11-11 21:19:02 -0500 |
---|---|---|
committer | Brian Evans <grknight@gentoo.org> | 2017-11-11 21:19:02 -0500 |
commit | 926f9314afc813f90d67215a8c9d2fcacf8d765f (patch) | |
tree | 3efc3ae7fb28627dd49b258f1dc47c54d8bfb128 /dev-db | |
parent | www-client/otter: Old. (diff) | |
download | gentoo-926f9314afc813f90d67215a8c9d2fcacf8d765f.tar.gz gentoo-926f9314afc813f90d67215a8c9d2fcacf8d765f.tar.bz2 gentoo-926f9314afc813f90d67215a8c9d2fcacf8d765f.zip |
dev-db/mysql-cluster: Convert 7.3.19 to mysql-multilib-r1 eclass
Package-Manager: Portage-2.3.13, Repoman-2.3.4
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild | 92 |
1 files 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 7a18a355e0a1..01e3c5a94122 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 |