mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 18:58:08 -07:00
dev-db/percona-server: Drop old, vulnerable versions of 5.6.27
Package-Manager: portage-2.2.27
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
DIST mysql-extras-20151105-2051Z.tar.bz2 1490187 SHA256 129d79c2064b08b0afad69e04e27991bf4103c20ccea39c133239b1dd822a49f SHA512 af34a44275b06c1626eb5952b3643b5663b8a1fb1d9ff18a67d51c02daaa51c4476df407d38ab607cc41842b47e5dd7b4cef8ae380a41eb80923df8052b9e521 WHIRLPOOL 01702ca4e2033fbc70db3ab2dd166b2e31072ea0f6bdd42d00c27ae0c0afab5c8451c4dcc90cce6d46f9ea056017e273f7c719e1cfabf969293bdcd15241f5b3
|
||||
DIST mysql-extras-20160307-1854Z.tar.bz2 298005 SHA256 a6516841d24670a1802e28fd66d4f540b16367396e6b2f687b8429b8e6a5d865 SHA512 d90081bd910dfffe6e1ac250465c0dbd9968edbdfe08f25f213ec328028fbb6fdb016816846c7fcee9202b9b93f4868edaff44ee04a0554cc93c6ecbf088db8f WHIRLPOOL f971804db83f42d717da318deeb647c1b294fa0967db7073e7f83d0fa15476d68089201430aaa882d90d5223a41a1a1668cfbe82bb897dcf864925e3da715c10
|
||||
DIST percona-server-5.6.27-75.0.tar.gz 54907367 SHA256 7dc4a4efadaee25e11fd78838f4ad2c0d7921ac9cc3b95068626f918c0add8d7 SHA512 c58fe18e3af7c88d9a3269c0b6a20c367bc80af6b3c1ab072fb380787f6b0ad44c8471134e366b7a9572fc4d16a4260d81a26f384aadab4bca99efcf521d3201 WHIRLPOOL 403a7efdbfb8bdaa5cecf72930be351b8762f17ce7166dffcff307e86a69f742546c85ff5badefab182dd001080ed49e71d2d5d587b74801cc22ccba682ac418
|
||||
DIST percona-server-5.6.27-76.0.tar.gz 54946650 SHA256 36d5c1c9a94712874b4d6e12c7e48d1f13c1fffb0ff976bc93aedbb4f73a0fef SHA512 64e2b1643bb06aefd59a1e1caddd31931b4b39ce5cd575ec3ec92f8c824887d112aa17573b10d596996579088c34e729eed83c37d63dd8cbef6755f0c0086805 WHIRLPOOL b203ba373ce312c1e10f0f96ba0fe8722ddc29c218bd075539f868426ad20c4d02c2307756c98fd2c7e21b45398d92c1b2b5145218b503bb0962bcafd908de12
|
||||
DIST percona-server-5.6.28-76.1.tar.gz 54994379 SHA256 ab8ab794a58a82132645ae84b74de91c7f9a5bcf81f2162628ce8976a00a4fd4 SHA512 fe26903d41034a6a7a240b0d7dbe8f3d7e417f6a23f8444ac42244f07649caee77d3ab781c13fdf45843cd297211a2058a6df5cd013c990497d9df9ed1fb9a9f WHIRLPOOL d9149f027f59d02a0fd0308e6806b5960ac29e347e3262e0b786e018ef16aac00c0e205104de7bc41b3ce20704a835d129ea485326cfc730143adfab01a349d0
|
||||
DIST percona-server-5.6.29-76.2.tar.gz 55032788 SHA256 23217feafc92222f313aeeb6e1806d110c35e50cf0b5f74510a9f8babe22e4b9 SHA512 0765ba02dcceaa3e4cb8f1b7261982f66ea5a14982723a9eb0a47177d03c18ffb3e647f10736780f6312dccb23f082ebcdd1f6330f9bf08ec714e43bf9fb4e57 WHIRLPOOL 8d719fbf0ec5ac4e0e80c40140bbf9a796c4ef1cb3ef1d0f8b92d14385c7e1af49063f0f176ab57e86a31d9729224354a3f72d331330d1a4907d41d6ab5fd92d
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
<name>MySQL</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="client-libs">Build the libmysqlclient libraries</flag>
|
||||
<flag name="embedded">Build embedded server (libmysqld)</flag>
|
||||
<flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
|
||||
<flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
|
||||
@@ -23,7 +22,6 @@
|
||||
<flag name="test">Install upstream testsuites for end use.</flag>
|
||||
<flag name="tokudb">Add support for TokuDB storage engine</flag>
|
||||
<flag name="tokudb-backup-plugin">Builds the TokuDB backup plugin</flag>
|
||||
<flag name="tools">Build the command line tools (mysql, mysqldump, mysqladmin, etc)</flag>
|
||||
<flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
||||
@@ -1,168 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
MY_EXTRAS_VER="20151105-2051Z"
|
||||
SUBSLOT="18"
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-any-r1 mysql-multilib-r1
|
||||
|
||||
IUSE="pam tokudb tokudb-backup-plugin"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-linux"
|
||||
HOMEPAGE="http://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="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}]') )"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
REQUIRED_USE="tokudb? ( jemalloc ) tokudb-backup-plugin? ( tokudb )"
|
||||
|
||||
# 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
|
||||
|
||||
python_check_deps() {
|
||||
has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local MYSQL_CMAKE_NATIVE_DEFINES=( -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
|
||||
|
||||
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 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."
|
||||
fi
|
||||
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))"
|
||||
# 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
|
||||
#
|
||||
|
||||
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
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# Set file limits higher so tests run
|
||||
ulimit -n 3000
|
||||
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"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# 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"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
||||
@@ -1,154 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
MY_EXTRAS_VER="20151105-2051Z"
|
||||
HAS_TOOLS_PATCH="1"
|
||||
SUBSLOT="18"
|
||||
|
||||
inherit toolchain-funcs mysql-multilib
|
||||
# only to make repoman happy. it is really set in the eclass
|
||||
IUSE="$IUSE tokudb tokudb-backup-plugin"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-linux"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
EPATCH_EXCLUDE=''
|
||||
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
tokudb? ( app-arch/snappy )
|
||||
tokudb-backup-plugin? ( dev-util/valgrind )"
|
||||
RDEPEND="${RDEPEND}"
|
||||
|
||||
REQUIRED_USE="tokudb? ( jemalloc ) tokudb-backup-plugin? ( tokudb )"
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
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 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."
|
||||
fi
|
||||
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))"
|
||||
# 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}
|
||||
|
||||
# Create a symlink to provided binaries so the tests can find them when client-libs is off
|
||||
if ! use client-libs ; then
|
||||
ln -srf /usr/bin/my_print_defaults "${BUILD_DIR}/client/my_print_defaults" || die
|
||||
ln -srf /usr/bin/perror "${BUILD_DIR}/client/perror" || die
|
||||
mysql-multilib_disable_test main.perror "String mismatch due to not building local perror"
|
||||
fi
|
||||
|
||||
# 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
|
||||
#
|
||||
|
||||
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_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# Set file limits higher so tests run
|
||||
ulimit -n 3000
|
||||
|
||||
# run mysql-test tests
|
||||
# We skip the innodb_stress suite because it depends on python2 being system python
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
|
||||
--testcase-timeout=30 --reorder \
|
||||
--skip-test=innodb_stress
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# 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"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
||||
@@ -1,173 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
MY_EXTRAS_VER="20151105-2051Z"
|
||||
SUBSLOT="18"
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-any-r1 mysql-multilib-r1
|
||||
|
||||
IUSE="pam tokudb tokudb-backup-plugin"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-linux"
|
||||
HOMEPAGE="http://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="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}]') )"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
REQUIRED_USE="tokudb? ( jemalloc ) tokudb-backup-plugin? ( tokudb )"
|
||||
|
||||
# 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
|
||||
|
||||
python_check_deps() {
|
||||
has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local MYSQL_CMAKE_NATIVE_DEFINES=( -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
|
||||
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))"
|
||||
# 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
|
||||
#
|
||||
|
||||
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 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
|
||||
ulimit -n 3000
|
||||
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"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
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"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
}
|
||||
Reference in New Issue
Block a user