[dev-db/mysql] Bumped to releases 5.1.59 and 5.5.16 from the overlay.
authorJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
Fri, 30 Sep 2011 02:46:36 +0000 (02:46 +0000)
committerJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
Fri, 30 Sep 2011 02:46:36 +0000 (02:46 +0000)
Package-Manager: portage-2.2.0_alpha58/cvs/Linux x86_64

dev-db/mysql/ChangeLog
dev-db/mysql/Manifest
dev-db/mysql/mysql-5.1.59.ebuild [new file with mode: 0644]
dev-db/mysql/mysql-5.5.16.ebuild [new file with mode: 0644]

index cb27542215e192dff6a4ad0b6d19b79b97844555..cf875690355ebd28b23c8784582e91f7c5f8ffdd 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-db/mysql
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.585 2011/07/21 06:08:08 jmbsvicetto Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.586 2011/09/30 02:46:36 jmbsvicetto Exp $
+
+*mysql-5.5.16 (30 Sep 2011)
+*mysql-5.1.59 (30 Sep 2011)
+
+  30 Sep 2011; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+  +mysql-5.1.59.ebuild, +mysql-5.5.16.ebuild:
+  [dev-db/mysql] Bumped to releases 5.1.59 and 5.5.16 from the overlay.
 
   21 Jul 2011; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
   -mysql-5.1.58.ebuild:
index 246756c88d03d6e8cfd1fd345c02ceaa69414a3a..21ccb276a15f0a53abdfd42829e16982ee6ea61c 100644 (file)
@@ -18,7 +18,9 @@ DIST mysql-5.1.53.tar.gz 23871815 RMD160 e8fd69450dda85cf3f41269e6e3fca05caccc76
 DIST mysql-5.1.56.tar.gz 24795624 RMD160 c2ff6eb06d0797d4b56630b783d4ad2d1add1422 SHA1 8665c76ab4ab36e8d2379ddf6d678c89b95d9321 SHA256 930e731c8f9318aa3f5e2e6985f6776aaaec81cd32df310e79e73d87177f6613
 DIST mysql-5.1.57.tar.gz 23660514 RMD160 9ca7f79d14525fef2c1badf8410fecd238ee283e SHA1 fcfe037ee6cfd53fe336ef12854e79481bdc6681 SHA256 7944fa56476f44173af4c91ad685a9da5e9d5fa9dea69dafb4b9919df3f3667d
 DIST mysql-5.1.58.tar.gz 24333490 RMD160 199729c701c764cd22584c2b952230c07d0f31a6 SHA1 cfd70bee07ad99576eecde01785b7b2a74ec87ab SHA256 3c69562399655fc62d1424437e6ef59ef7c1ed225f940f81558f549b803f3fd7
+DIST mysql-5.1.59.tar.gz 24325443 RMD160 bbc54a2fc0eb3657f297ac097e9374c98e90442e SHA1 1d425a421edc94fba616f1986a16bdc9d0b5c193 SHA256 f87b99b73c0d936ed892326ebd4c90b1d5c7d5d2ac8832fc62f538db99fb04f7
 DIST mysql-5.5.14.tar.gz 23772997 RMD160 1c84fc3967691e9eedd1b90df780a9d738a709c4 SHA1 3b17e20be4e8bcc0f94392fb444f4a09f80de2e4 SHA256 c7acab9ccb1e2598d079fe8b832281343c00b5b8032fcece37ef551b61980738
+DIST mysql-5.5.16.tar.gz 23816508 RMD160 c1581d56b3bf254077c709375e7ae48a21748be1 SHA1 1a3372f9179bfc21cba0005c339a72f8e1458483 SHA256 38a88d5f3a4e0ab1c6722662a2c858c63fd98f0925691400282cb23f1ea29b70
 DIST mysql-extras-20061210.tar.bz2 51115 RMD160 52355e608d5048c91b7960aa5be0c030ecb0e5d8 SHA1 c9d035ac73d29fe2d1274760ca70b8c6b882fec6 SHA256 46505a8b54ae7cafdc610465edfdfde1cd74f101071f71cf1f5c1c02e92790eb
 DIST mysql-extras-20070105.tar.bz2 50005 RMD160 abf1f8ebab8ecdfdb5ebe9ca55076f39ab492acb SHA1 7f4dbc3d6c20fe953bf6e936a58343a229398ca0 SHA256 17697bf70acffd0eeefd976b5ef06dd36080273bf7e805b51a31d72f5f2c5172
 DIST mysql-extras-20080124.tar.bz2 106526 RMD160 8f9f556308c96c4cd5cffd0506c99ea59e7c25c2 SHA1 574f5dbf4a8bb53d352cb2fbe391ad5c484eb932 SHA256 c4b33dd391834252d20d4b083ac4bd6999253a8f20d894dd93b0795c6b318829
@@ -46,23 +48,25 @@ EBUILD mysql-5.1.56-r1.ebuild 8668 RMD160 634a23c158b9a4a0edab5cb3de1f0b0bf86cb7
 EBUILD mysql-5.1.56.ebuild 8659 RMD160 afec6db5737ec2049241488e593cd681d42ca493 SHA1 b85f9e79befbf722e5d017b15c342ecc746744fa SHA256 badf220bea95fe69591b5fff807eeb9cdb49f4d0009567a609aa900cbbf49b6a
 EBUILD mysql-5.1.57.ebuild 8715 RMD160 f086ab37e0230cc1187d06073a261664b4b5e38e SHA1 558b14a34400841bec569aeab1492331f2994382 SHA256 4307074e0ae888e350f0496dd874a6e7c370caf8308ab596b6bbb772cd4533d0
 EBUILD mysql-5.1.58-r1.ebuild 8725 RMD160 a2a8099856f4a039bcda808057f331fbbbdd8f48 SHA1 6f87b3f02ed1bacbbbd8ad5e670d9f3ae0975fa8 SHA256 cac74d6f6f448afa1ef6e2bb4bf93b42584c9a6feb63c48adff90950feb96379
+EBUILD mysql-5.1.59.ebuild 8722 RMD160 51ceba10c2dfa94d2e65058966d2a98a6de0ec3d SHA1 5931e70ba3e4c924160f1fc3379fc39581569bde SHA256 a3e76fb36ad2ce065ade097bab7a5a577b84c0e1338340970dc4cd08170fc0f6
 EBUILD mysql-5.5.14.ebuild 3916 RMD160 c477eb7200fa7444aaaaa48699477a858d3de95f SHA1 32aeee60204ab8ed9b436144d88fc5f4da847ea2 SHA256 5382baf2d872a1251cf052744c473708026145ea43c4e5f5de8273cb726ae491
-MISC ChangeLog 112429 RMD160 5613885ef0e5ca53fe3a031b227e7b8343ec9248 SHA1 a5ad0384918eb062f9e2a567769a426128e73166 SHA256 affee616b6fa7993d6ce3a1cc114b37ad199eb6680536f936c942da741705b13
+EBUILD mysql-5.5.16.ebuild 3916 RMD160 4f83222913fc36d043e83dc757021efff23c54f8 SHA1 1eb821a41f4ba72d4ecdb79faae61a67462a8218 SHA256 cf7560b2ac3fbb2e59a581b01bd222931c0884774538ac1b092c56306d3bb313
+MISC ChangeLog 112672 RMD160 d08e65592ede8d2d9de16d36ac8b0469997aed9b SHA1 7b7ca8306bcf0f346ec3c850a14e2f19088b6e45 SHA256 462f26a8bb6c5e6fcce5a6909b7c99f0c38b121416d90a113d142e31ef36ae4a
 MISC metadata.xml 1389 RMD160 711fe2927a95bff06abbba5209a1e03fd99ba7b5 SHA1 adaf717edeadad3ebe8e7b486d75477b2ec5433b SHA256 562726facccb1c1808b74c0e17f052ca03c92c0ada689375e527b2a5405a5a0a
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
+Version: GnuPG v2.0.18 (GNU/Linux)
 
-iQIcBAEBAgAGBQJOJ8JQAAoJEC8ZTXQF1qEP8L4P/i0Z7Le3L3QPMuyF2NvvIRcF
-SGyYQtEN3lihxryvJksTjDzJwj0WpNeaeVERs3ROmMmMgDL/3xPFV2oaCbNV6xMg
-E+BqE50L1WjIkRDZP1jSO7Rj8JAg8x58HTZOkg0bfqVLwWa17i/GzjupvAowy6wP
-rTbXfKE3Ll/SxGvH0knvrs4HgDhio0b0Xyr/ClQD261SvDSc105nthGh+fLo9E7S
-AOMZDbuJ4OBAr4guM3SCtz2nAouW79a/uTcWfv1WYTrBZ3iQnp5YEY6/qxiQGixe
-QJjCi0QXhViLMv1pxyA3rmeOyc27F2BnU8smsQIvgfhrWAHPtbCMrLjnqBZBYdq4
-zfVU3Yzlkvv2U00Z2k9L2VaEIOs0RpjFliGuCnyQTENZqZDmOOBwmi3BadrJ4TY5
-g8QDdtJ9UMZzGVnLfewZgZ00SYYKsNqfEq9CjYx8WRBOQcCY3WImhcSNVtEJntRn
-r0zKsOauNoBhIb0+X4kE0WWrlpEaOh/lNpGB/apczLFKzRhLDn9ybr2EagQ+z7ox
-758bo5igS05RxMeE874U6Nw/iDotOEmT9FRgcaWCFiHCGkCLafQ4tnp7RxtzoBuo
-9h8BMUU/jJQZsFRWrzrHMX9DlOzLEM7JpCZ9IXUQXbrLhVfuSNweQ0VBu8fT9iBb
-/ymfuOf3ArOkw2h18v/x
-=2/5v
+iQIcBAEBAgAGBQJOhS1hAAoJEC8ZTXQF1qEPigcP/RTSEVRcXs2Dkg6kSi5RJRjv
+z5vH76i6NOgEz0WVTianyMDMoUITAqFIhXemHTg/JXGleCocUv9kB/PnGIkPjrXe
+lxphL/Az/oV57UiLGlA64bMqj+CuNtrGfwMkbKoY0V8ldu3pU4UQVxniTs7dg+cS
+S9ufrc1LwzxuQAosWjlh3tJqUJNz78GiS2UxBOir9TknfmlUmyu5n0VDnqBGNj4w
+E7FP1WBQWQZeqUfQxk5FS0eEkPCh4q8+GkupPKWcgzuCOOONsxBv6uC+8v87MOkp
+u7DVekyAYaWgnp9avUwmwyHnfjJTu1Aang07N1+Hjir2mcXxNcysYC80UAllO0UI
+Zfa2fuMSvdtZcFw68+ivk1soVC1R3DMhqdusw+kA9h4TzlUuwWMf796NJw0lOdXy
+Qo+z3jbjDbOqpZhtvzFEJgqdADRpht2Q4lIrcCDwQQ4AXxwAEf29R7hWo1PeZxLh
+urn2RkbyLa+3B5Lu9saX34nBs12k3iw7BN4CLH0ZEO/uOc75Wmf8Jm406JuYbO9L
+W0mWhHQp6bJIxytnoRJMSvoapzyYRKfnCGwh1oyWG0TVtt3G3xPc0tXyrATEtho6
+xCJ/MOQebxbrkwz7mwasnWJphN18DlioAmBBHhKX17CE8iVGHBzIBCv8XaqZf2W0
+zgTVm44UCjBSPPldmnrG
+=NiIn
 -----END PGP SIGNATURE-----
diff --git a/dev-db/mysql/mysql-5.1.59.ebuild b/dev-db/mysql/mysql-5.1.59.ebuild
new file mode 100644 (file)
index 0000000..06aa232
--- /dev/null
@@ -0,0 +1,261 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.1.59.ebuild,v 1.1 2011/09/30 02:46:36 jmbsvicetto Exp $
+
+EAPI="2"
+
+MY_EXTRAS_VER="20110721-0450Z"
+# PBXT
+PBXT_VERSION='1.0.11-6-pre-ga'
+# XtraDB
+PERCONA_VER='5.1.45-10' XTRADB_VER='1.0.6-10'
+
+# Build type
+BUILD="autotools"
+
+inherit toolchain-funcs mysql-v2
+
+# only to make repoman happy. it is really set in the eclass
+IUSE="$IUSE"
+
+# REMEMBER: also update eclass/mysql*.eclass before committing!
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x64-macos ~x86-solaris"
+
+# When MY_EXTRAS is bumped, the index should be revised to exclude these.
+# This is often broken still
+EPATCH_EXCLUDE=''
+
+# Most of these are in the eclass
+DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+               >=sys-devel/libtool-2.2.10"
+RDEPEND="${RDEPEND}"
+
+# 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
+src_prepare() {
+       sed -i \
+               -e '/^noinst_PROGRAMS/s/basic-t//g' \
+               "${S}"/unittest/mytap/t/Makefile.am
+       mysql-v2_src_prepare
+}
+
+# Official test instructions:
+# USE='berkdb -cluster embedded extraengine perl ssl community' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+       # 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"
+
+       emake check || die "make check failed"
+       if ! use "minimal" ; 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"
+               cd "${S}"
+               einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+               local retstatus_unit
+               local retstatus_ns
+               local retstatus_ps
+               local t
+               addpredict /this-dir-does-not-exist/t9.MYI
+
+               # Ensure that parallel runs don't die
+               export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+               # archive_gis really sucks a lot, but it's only relevant for the
+               # USE=extraengines case
+               case ${PV} in
+                       5.0.42)
+                       mysql-v2_disable_test "archive_gis" "Totally broken in 5.0.42"
+                       ;;
+
+                       5.0.4[3-9]|5.0.[56]*|5.0.70|5.0.87)
+                       [ "$(tc-endian)" == "big" ] && \
+                       mysql-v2_disable_test \
+                               "archive_gis" \
+                               "Broken in 5.0.43-70 and 5.0.87 on big-endian boxes only"
+                       ;;
+               esac
+
+               # This was a slight testcase breakage when the read_only security issue
+               # was fixed.
+               case ${PV} in
+                       5.0.54|5.0.51*)
+                       mysql-v2_disable_test \
+                               "read_only" \
+                               "Broken in 5.0.51-54, output in wrong order"
+                       ;;
+               esac
+
+               # Ditto to read_only
+               [ "${PV}" == "5.0.51a" ] && \
+                       mysql-v2_disable_test \
+                               "view" \
+                               "Broken in 5.0.51, output in wrong order"
+
+               # x86-specific, OOM issue with some subselects on low memory servers
+               [ "${PV}" == "5.0.54" ] && \
+                       [ "${ARCH/x86}" != "${ARCH}" ] && \
+                       mysql-v2_disable_test \
+                               "subselect" \
+                               "Testcase needs tuning on x86 for oom condition"
+
+               # Broke with the YaSSL security issue that didn't affect Gentoo.
+               [ "${PV}" == "5.0.56" ] && \
+                       for t in openssl_1 rpl_openssl rpl_ssl ssl \
+                               ssl_8k_key ssl_compress ssl_connect ; do \
+                               mysql-v2_disable_test \
+                                       "$t" \
+                                       "OpenSSL tests broken on 5.0.56"
+                       done
+
+               # New test was broken in first time
+               # Upstream bug 41066
+               # http://bugs.mysql.com/bug.php?id=41066
+               [ "${PV}" == "5.0.72" ] && \
+                       mysql-v2_disable_test \
+                               "status2" \
+                               "Broken in 5.0.72, new test is broken, upstream bug #41066"
+
+               # The entire 5.0 series has pre-generated SSL certificates, they have
+               # mostly expired now. ${S}/mysql-tests/std-data/*.pem
+               # The certs really SHOULD be generated for the tests, so that they are
+               # not expiring like this. We cannot do so ourselves as the tests look
+               # closely as the cert path data, and we do not have the CA key to regen
+               # ourselves. Alternatively, upstream should generate them with at least
+               # 50-year validity.
+               #
+               # Known expiry points:
+               # 4.1.*, 5.0.0-5.0.22, 5.1.7: Expires 2013/09/09
+               # 5.0.23-5.0.77, 5.1.7-5.1.22?: Expires 2009/01/27
+               # 5.0.78-5.0.90, 5.1.??-5.1.42: Expires 2010/01/28
+               #
+               # mysql-test/std_data/untrusted-cacert.pem is MEANT to be
+               # expired/invalid.
+               case ${PV} in
+                       5.0.*|5.1.*|5.4.*|5.5.*)
+                               for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \
+                                       ssl_compress ssl_connect rpl.rpl_heartbeat_ssl ; do \
+                                       mysql-v2_disable_test \
+                                               "$t" \
+                                               "These OpenSSL tests break due to expired certificates"
+                               done
+                       ;;
+               esac
+
+               # These are also failing in MySQL 5.1 for now, and are believed to be
+               # false positives:
+               #
+               # main.mysql_comment, main.mysql_upgrade, main.information_schema,
+               # funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers:
+               # fails due to USE=-latin1 / utf8 default
+               #
+               # main.mysql_client_test:
+               # segfaults at random under Portage only, suspect resource limits.
+               #
+               # main.not_partition:
+               # Failure reason unknown at this time, must resolve before package.mask
+               # removal FIXME
+               case ${PV} in
+                       5.1.*|5.4.*|5.5.*)
+                       for t in main.mysql_client_test main.mysql_comments \
+                               main.mysql_upgrade  \
+                               main.information_schema \
+                               main.not_partition funcs_1.is_columns_mysql \
+                               funcs_1.is_tables_mysql funcs_1.is_triggers; do
+                               mysql-v2_disable_test  "$t" "False positives in Gentoo"
+                       done
+                       ;;
+               esac
+
+               # New failures in 5.1.50/5.1.51, reported by jmbsvicetto.
+               # These tests are picking up a 'connect-timeout' config from somewhere,
+               # which is not valid, and since it does not have 'loose-' in front of
+               # it, it's causing a failure
+               case ${PV} in
+                       5.1.5*|5.4.*|5.5.*|6*)
+                       for t in rpl.rpl_mysql_upgrade main.log_tables_upgrade ; do
+                               mysql-v2_disable_test  "$t" \
+                                       "False positives in Gentoo: connect-timeout"
+                       done
+                       ;;
+               esac
+
+               use profiling && use community \
+               || mysql-v2_disable_test main.profiling \
+                       "Profiling test needs profiling support"
+
+               if [ "${PN}" == "mariadb" ]; then
+                       for t in \
+                               parts.part_supported_sql_func_ndb \
+                               parts.partition_auto_increment_ndb ; do
+                                       mysql-v2_disable_test $t "ndb not supported in mariadb"
+                       done
+               fi
+
+               # This fail with XtraDB in place of normal InnoDB
+               # TODO: test if they are broken with the rest of the Percona patches
+               if xtradb_patch_available && use xtradb ; then
+                       for t in main.innodb innodb.innodb_bug51378 \
+                               main.information_schema_db main.mysqlshow \
+                               main.innodb-autoinc main.innodb_bug21704 \
+                               main.innodb_bug44369 main.innodb_bug46000 \
+                               main.index_merge_innodb \
+                               innodb.innodb innodb.innodb_misc1 innodb.innodb_bug52663 \
+                               innodb.innodb-autoinc innodb.innodb-autoinc-44030 \
+                               innodb.innodb_bug21704 innodb.innodb_bug44369 \
+                               innodb.innodb_bug46000 innodb.innodb_bug48024 \
+                               innodb.innodb_bug49164 innodb.innodb_bug51920 \
+                               innodb.innodb_bug54044 \
+                               ; do
+                                       mysql-v2_disable_test $t "tests broken in xtradb"
+                       done
+               fi
+
+               # bug 332565
+               if ! use extraengine ; then
+                       for t in main.range ; do
+                               mysql-v2_disable_test $t "Test $t requires USE=extraengine"
+                       done
+               fi
+
+               # create directories because mysqladmin might make out of order
+               mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log}
+
+               # We run the test protocols seperately
+               emake test-unit
+               retstatus_unit=$?
+               [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
+
+               emake test-ns force="--force --vardir=${S}/mysql-test/var-ns"
+               retstatus_ns=$?
+               [[ $retstatus_ns -eq 0 ]] || eerror "test-ns failed"
+               has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
+
+               emake test-ps force="--force --vardir=${S}/mysql-test/var-ps"
+               retstatus_ps=$?
+               [[ $retstatus_ps -eq 0 ]] || eerror "test-ps failed"
+               has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
+
+               # TODO:
+               # When upstream enables the pr and nr testsuites, we need those as well.
+
+               # 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_ns -eq 0 ]] || failures="${failures} test-ns"
+               [[ $retstatus_ps -eq 0 ]] || failures="${failures} test-ps"
+               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
+}
diff --git a/dev-db/mysql/mysql-5.5.16.ebuild b/dev-db/mysql/mysql-5.5.16.ebuild
new file mode 100644 (file)
index 0000000..0a8450e
--- /dev/null
@@ -0,0 +1,120 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.5.16.ebuild,v 1.1 2011/09/30 02:46:36 jmbsvicetto Exp $
+
+EAPI="2"
+
+MY_EXTRAS_VER="20110713-0702Z"
+MY_PV="${PV//_alpha_pre/-m}"
+MY_PV="${MY_PV//_/-}"
+
+# Build type
+BUILD="cmake"
+
+inherit toolchain-funcs mysql-v2
+# only to make repoman happy. it is really set in the eclass
+IUSE="$IUSE"
+
+# Define the mysql-extras source
+EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git"
+
+# REMEMBER: also update eclass/mysql*.eclass before committing!
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+
+# 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 )"
+RDEPEND="${RDEPEND}"
+
+# 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='berkdb -cluster embedded extraengine perl ssl community' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+
+       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 "minimal" ; 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))"
+
+               # create directories because mysqladmin might right out of order
+               mkdir -p "${S}"/mysql-test/var-{tests}{,/log}
+
+               # These are failing in MySQL 5.5 for now and are believed to be
+               # false positives:
+               #
+               # main.information_schema, binlog.binlog_statement_insert_delayed,
+               # main.mysqld--help-notwin
+               # fails due to USE=-latin1 / utf8 default
+               #
+               # main.mysql_client_test:
+               # segfaults at random under Portage only, suspect resource limits.
+               #
+               # sys_vars.plugin_dir_basic
+               # fails because PLUGIN_DIR is set to MYSQL_LIBDIR64/plugin
+               # instead of MYSQL_LIBDIR/plugin
+               #
+               # main.flush_read_lock_kill
+               # fails because of unknown system variable 'DEBUG_SYNC'
+               for t in main.mysql_client_test \
+                       binlog.binlog_statement_insert_delayed main.information_schema \
+                       main.mysqld--help-notwin main.flush_read_lock_kill \
+                       sys_vars.plugin_dir_basic ; do
+                               mysql-v2_disable_test  "$t" "False positives in Gentoo"
+               done
+
+               # Run mysql tests
+               pushd "${TESTDIR}"
+
+               # run mysql-test tests
+               perl mysql-test-run.pl --force --vardir="${S}/mysql-test/var-tests"
+               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
+}