commit:     cea369ecd717946c63ad0e359aecd148b526b75b
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 12 23:30:13 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Feb 12 23:32:28 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cea369ec

dev-db/percona-server: Bump to v5.6.39-83.1

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 dev-db/percona-server/Manifest                     |   1 +
 .../percona-server-5.6.39.83.1.ebuild              | 243 +++++++++++++++++++++
 2 files changed, 244 insertions(+)

diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index 2fffc30a44e..807a4cd5c18 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -1,3 +1,4 @@
 DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B 
c397fdf7ffb3fcbcecda20933e18234062a9500dcf4031e9b17131e2a1f23dca7535ed33ff541fc075eb9995c67a9a8fd7261d7524dd42d8d333543c368b4c15
 SHA512 
dd0d4a00c0ed710e786d157a73f02c6f555ab7a68e57014d958627096a4245a0b45d22ec860dc5389002d106554e80166661c0b6ddcadff1f737e3fa195badda
 DIST percona-server-5.6.37-82.2.tar.gz 56296960 BLAKE2B 
70d0c40c96be3c3f674466d2406b5622a7a37cc59d9daee7f0315ce6dd2ce13751f48d440646a0f377ca86aecd6bc749d050ab4f58bfa7400bcd35167ab8d480
 SHA512 
38905c2429bee6e6ba9c35b232c87c27c414726b349ff5a878cc94bbc4a333bbf76019478f8e82a10274ffeea5ac71c4520ff534cc434c4844b496b48801ea4e
 DIST percona-server-5.6.38-83.0.tar.gz 56390422 BLAKE2B 
2c5ae8c021c95da210402b79314698b7286ca7791c35f059260537b19660e33bd6a06701f24f121b7b051faab38b41b037ea3d1305d281abaadd07c3c432a13d
 SHA512 
25b3dbee188e0608f3783acdf70eb3ded276ff25dae3ee879a70e3eefc8df5ac15e3b5fbe310537f84ccde9434de51ac5927322de13f6b89e0530ebbd7d36f6d
+DIST percona-server-5.6.39-83.1.tar.gz 56307662 BLAKE2B 
474e497a83e7a8f7bf628b2622a0bfeead0f5003ed87dd4228e85a8b1c75bfdfc40f75604e9ed621f6d143d69bcada29163bf140b765951cf0b23e5660623e52
 SHA512 
d014bc0ebf8d8f1842b4a79eb0a868e3c9e0e33d3eb3cbf301b5504dcb341e1f2a0d6c2c4003666f59fbf75eb274356ee6b059ff2cddf2b457143ee5e1aba471

diff --git a/dev-db/percona-server/percona-server-5.6.39.83.1.ebuild 
b/dev-db/percona-server/percona-server-5.6.39.83.1.ebuild
new file mode 100644
index 00000000000..2e7499a7dc6
--- /dev/null
+++ b/dev-db/percona-server/percona-server-5.6.39.83.1.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20171121-1518Z"
+SUBSLOT="18"
+PYTHON_COMPAT=( python2_7 )
+# Build fails with ninja
+CMAKE_MAKEFILE_GENERATOR="emake"
+inherit linux-info python-any-r1 mysql-multilib-r1 toolchain-funcs
+
+IUSE="numa pam tokudb tokudb-backup-plugin"
+
+# REMEMBER: also update eclass/mysql*.eclass before committing!
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd 
~x86-linux"
+HOMEPAGE="https://www.percona.com/software/percona-server";
+DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
+
+# When MY_EXTRAS is bumped, the index should be revised to exclude these.
+EPATCH_EXCLUDE=''
+
+COMMON_DEPEND="numa? ( sys-process/numactl:= )
+       server? ( pam? ( virtual/pam:0= ) )
+       tokudb? ( app-arch/snappy )
+       tokudb-backup-plugin? ( dev-util/valgrind )
+       "
+
+DEPEND="${COMMON_DEPEND}
+       || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+       test? (
+               $(python_gen_any_dep 
'dev-python/mysql-python[${PYTHON_USEDEP}]')
+               dev-perl/JSON
+       )"
+RDEPEND="${COMMON_DEPEND}"
+
+REQUIRED_USE="tokudb-backup-plugin? ( tokudb ) tokudb? ( jemalloc !tcmalloc )"
+
+MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+
+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}"/20001_all_fix-minimal-build-cmake-mysql-5.6.20.patch
+       "${MY_PATCH_DIR}"/20006_all_cmake_elib-percona-5.6.34.patch
+       "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
+       "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
+       "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
+       
"${MY_PATCH_DIR}"/20018_all_percona-server-5.6.25-without-clientlibs-tools.patch
+)
+
+# 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_pretend() {
+       mysql-multilib-r1_pkg_pretend
+
+       if use numa; then
+               local CONFIG_CHECK="~NUMA"
+
+               local WARNING_NUMA="This package expects NUMA support in kernel 
which this system does not have at the moment;"
+               WARNING_NUMA+=" Either expect runtime errors, enable NUMA 
support in kernel or rebuild the package without NUMA support"
+
+               check_extra_config
+       fi
+}
+
+python_check_deps() {
+       has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+       mysql-multilib-r1_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() {
+       local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITH_NUMA=$(usex numa)
+                       -DWITH_PAM=$(usex pam)
+                       $(mysql-cmake_use_plugin tokudb TOKUDB)
+       )
+       if use tokudb ; then
+               # TokuDB Backup plugin requires valgrind unconditionally
+               MYSQL_CMAKE_NATIVE_DEFINES+=(
+                       $(usex tokudb-backup-plugin '' 
-DTOKUDB_BACKUP_DISABLED=1)
+               )
+       fi
+       mysql-multilib-r1_src_configure
+}
+
+# Official test instructions:
+# USE='extraengine perl openssl static-libs' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild percona-server-X.X.XX.ebuild \
+# digest clean package
+multilib_src_test() {
+
+       if ! multilib_is_native_abi ; then
+               einfo "Server tests not available on non-native abi".
+               return 0;
+       fi
+
+       if ! use server ; then
+               einfo "Skipping server tests due to minimal build."
+               return 0
+       fi
+
+       local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test"
+       local retstatus_unit
+       local retstatus_tests
+
+       # Bug #213475 - MySQL _will_ object strenously if your machine is named
+       # localhost. Also causes weird failures.
+       [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be 
named localhost"
+
+       if [[ $UID -eq 0 ]]; then
+               die "Testing with FEATURES=-userpriv is no longer supported by 
upstream. Tests MUST be run as non-root."
+       fi
+
+       einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+       # 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))"
+       # Enable parallel testing, auto will try to detect number of cores
+       # You may set this by hand.
+       # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+       export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+       # create directories because mysqladmin might right out of order
+       mkdir -p "${T}"/var-tests{,/log}
+
+       # These are failing in Percona 5.6 for now and are believed to be
+       # false positives:
+       #
+       # main.information_schema, binlog.binlog_statement_insert_delayed,
+       # main.mysqld--help-notwin, binlog.binlog_mysqlbinlog_filter
+       # perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt
+       # funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers
+       # engines/funcs.db_alter_character_set 
engines/funcs.db_alter_character_set_collate
+       # engines/funcs.db_alter_collate_ascii 
engines/funcs.db_alter_collate_utf8
+       # engines/funcs.db_create_character_set 
engines/funcs.db_create_character_set_collate
+       # fails due to USE=-latin1 / utf8 default
+       #
+       # main.mysql_client_test:
+       # segfaults at random under Portage only, suspect resource limits.
+       #
+       # main.percona_bug1289599
+       # Looks to be a syntax error in the test file itself
+       #
+       # main.variables main.myisam main.merge_recover
+       # fails due to ulimit not able to open enough files (needs 5000)
+       #
+       # main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
+       # Called with bad parameters should be reported upstream
+       #
+
+       local t
+
+       for t in main.mysql_client_test \
+               binlog.binlog_statement_insert_delayed main.information_schema \
+               main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \
+               perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
+               funcs_1.is_columns_mysql funcs_1.is_tables_mysql 
funcs_1.is_triggers \
+               main.variables main.myisam main.merge_recover \
+               engines/funcs.db_alter_character_set 
engines/funcs.db_alter_character_set_collate \
+               engines/funcs.db_alter_collate_ascii 
engines/funcs.db_alter_collate_utf8 \
+               engines/funcs.db_create_character_set 
engines/funcs.db_create_character_set_collate \
+               main.percona_bug1289599 main.mysqlhotcopy_archive 
main.mysqlhotcopy_myisam ; do
+                       mysql-multilib-r1_disable_test  "$t" "False positives 
in Gentoo"
+       done
+
+       if use numa && use kernel_linux ; then
+               # bug 584880
+               if ! linux_config_exists || ! linux_chkconfig_present NUMA ; 
then
+                       for t in sys_vars.innodb_buffer_pool_populate_basic ; do
+                               mysql-multilib-r1_disable_test "$t" "Test $t 
requires system with NUMA support"
+                       done
+               fi
+       fi
+
+       if ! use extraengine ; then
+               # bug 401673, 530766
+               for t in federated.federated_plugin ; do
+                       mysql-multilib-r1_disable_test "$t" "Test $t requires 
USE=extraengine (Need federated engine)"
+               done
+       fi
+
+       # Run mysql tests
+       pushd "${TESTDIR}" || die
+
+       # Set file limits higher so tests run
+       if ! ulimit -n 16500 1>/dev/null 2>&1; then
+               # Upper limit comes from parts.partition_* tests
+               ewarn "For maximum test coverage please raise open file limit 
to 16500 (ulimit -n 16500) before calling the package manager."
+
+               if ! ulimit -n 4162 1>/dev/null 2>&1; then
+                       # Medium limit comes from '[Warning] Buffered warning: 
Could not increase number of max_open_files to more than 3000 (request: 4162)'
+                       ewarn "For medium test coverage please raise open file 
limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+                       if ! ulimit -n 3000 1>/dev/null 2>&1; then
+                               ewarn "For minimum test coverage please raise 
open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+                       else
+                               einfo "Will run test suite with open file limit 
set to 3000 (minimum test coverage)."
+                       fi
+               else
+                       einfo "Will run test suite with open file limit set to 
4162 (medium test coverage)."
+               fi
+       else
+               einfo "Will run test suite with open file limit set to 16500 
(best test coverage)."
+       fi
+
+       python_setup
+       # run mysql-test tests
+       perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
+               --testcase-timeout=30 --reorder
+       retstatus_tests=$?
+       [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
+
+       popd || die
+
+       # Cleanup is important for these testcases.
+       pkill -9 -f "${S}/ndb" 2>/dev/null
+       pkill -9 -f "${S}/sql" 2>/dev/null
+
+       failures=""
+       [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+       [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+       if [[ -n "$failures" ]]; then
+               has usersandbox $FEATURES && eerror "Some tests may have failed 
due to FEATURES=usersandbox"
+               die "Test failures: $failures"
+       fi
+
+       einfo "Tests successfully completed"
+}

Reply via email to