diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2010-02-01 01:19:32 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2010-02-01 01:19:32 +0000 |
commit | ee82834277df09776dc319162a1e5a7a4de97996 (patch) | |
tree | cc67466899f8c107223c7784556a50680abddaf6 /dev-db | |
parent | Remove dep on cmake, port changes from kde overlay (diff) | |
download | gentoo-2-ee82834277df09776dc319162a1e5a7a4de97996.tar.gz gentoo-2-ee82834277df09776dc319162a1e5a7a4de97996.tar.bz2 gentoo-2-ee82834277df09776dc319162a1e5a7a4de97996.zip |
Bring in 5.1 series again from the overlay. 5.1.39 includes working Percona XtraDB. 5.1.42 should have XtraDB, but it does not compile. 5.1.43 is the latest from upstream, for security vulns. MANY thanks to jmbsvicetto for all the work he has put in helping on 5.1 updates.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/mysql/ChangeLog | 14 | ||||
-rw-r--r-- | dev-db/mysql/metadata.xml | 9 | ||||
-rw-r--r-- | dev-db/mysql/mysql-5.1.39.ebuild | 164 | ||||
-rw-r--r-- | dev-db/mysql/mysql-5.1.41.ebuild | 161 | ||||
-rw-r--r-- | dev-db/mysql/mysql-5.1.42.ebuild | 190 | ||||
-rw-r--r-- | dev-db/mysql/mysql-5.1.43.ebuild | 186 |
6 files changed, 719 insertions, 5 deletions
diff --git a/dev-db/mysql/ChangeLog b/dev-db/mysql/ChangeLog index e81f81b34ee2..4a46121e4009 100644 --- a/dev-db/mysql/ChangeLog +++ b/dev-db/mysql/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for dev-db/mysql # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.501 2010/01/31 22:33:37 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.502 2010/02/01 01:19:32 robbat2 Exp $ + +*mysql-5.1.43 (01 Feb 2010) +*mysql-5.1.42 (01 Feb 2010) +*mysql-5.1.41 (01 Feb 2010) +*mysql-5.1.39 (01 Feb 2010) + + 01 Feb 2010; Robin H. Johnson <robbat2@gentoo.org> +mysql-5.1.39.ebuild, + +mysql-5.1.41.ebuild, +mysql-5.1.42.ebuild, +mysql-5.1.43.ebuild: + Bring in 5.1 series again from the overlay. 5.1.39 includes working + Percona XtraDB. 5.1.42 should have XtraDB, but it does not compile. 5.1.43 + is the latest from upstream, for security vulns. MANY thanks to + jmbsvicetto for all the work he has put in helping on 5.1 updates. 31 Jan 2010; Robin H. Johnson <robbat2@gentoo.org> mysql-5.0.54.ebuild, mysql-5.0.70-r1.ebuild, mysql-5.0.72.ebuild, mysql-5.0.72-r1.ebuild, diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml index 097d4ac97555..08940a7e0037 100644 --- a/dev-db/mysql/metadata.xml +++ b/dev-db/mysql/metadata.xml @@ -5,14 +5,15 @@ <use> <flag name='big-tables'>Make tables contain up to 1.844E+19 rows</flag> <flag name='cluster'>Add support for NDB clustering</flag> + <flag name='community'>Enables the community features from upstream.</flag> <flag name='embedded'>Build embedded server (libmysqld)</flag> <flag name='extraengine'>Add support for alternative storage engines</flag> <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag> - <flag name='max-idx-128'>Raise the max index per table limit from 64 to 128 - </flag> + <flag name='max-idx-128'>Raise the max index per table limit from 64 to 128</flag> <flag name='minimal'>Install client programs only, no server</flag> - <flag name='raid'>Deprecated option, removed in the 5.0 series</flag> - <flag name='community'>Enables the community features from upstream.</flag> + <flag name='pbxt'>Add experimental support for pbxt storage engine</flag> <flag name='profiling'>Add support for statement profiling (requires USE=community).</flag> + <flag name='raid'>Deprecated option, removed in the 5.0 series</flag> + <flag name='xtradb'>Add experimental support for XtraDB storage engine</flag> </use> </pkgmetadata> diff --git a/dev-db/mysql/mysql-5.1.39.ebuild b/dev-db/mysql/mysql-5.1.39.ebuild new file mode 100644 index 000000000000..054ed003ca0d --- /dev/null +++ b/dev-db/mysql/mysql-5.1.39.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.1.39.ebuild,v 1.1 2010/02/01 01:19:32 robbat2 Exp $ + +MY_EXTRAS_VER="20100201-0104Z" +EAPI=2 + +XTRADB_VER="1.0.4-8" +PERCONA_VER="5.1.39-8" + +inherit toolchain-funcs mysql +# 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-4 >=sys-devel/gcc-apple-4 )" +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() { + # 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 retstatus1 + local retstatus2 + 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_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_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_disable_test \ + "read_only" \ + "Broken in 5.0.51-54, output in wrong order" + ;; + esac + + # Ditto to read_only + [ "${PV}" == "5.0.51a" ] && \ + mysql_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_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_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_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.*) + for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ + ssl_compress ssl_connect ; do \ + mysql_disable_test \ + "$t" \ + "These OpenSSL tests break due to expired certificates" + done + ;; + esac + + # create directories because mysqladmin might right out of order + mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} + + # We run the test protocols seperately + make -j1 test-ns force="--force --vardir=${S}/mysql-test/var-ns" + retstatus1=$? + [[ $retstatus1 -eq 0 ]] || eerror "test-ns failed" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + make -j1 test-ps force="--force --vardir=${S}/mysql-test/var-ps" + retstatus2=$? + [[ $retstatus2 -eq 0 ]] || eerror "test-ps failed" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + failures="" + [[ $retstatus1 -eq 0 ]] || failures="test-ns" + [[ $retstatus2 -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.1.41.ebuild b/dev-db/mysql/mysql-5.1.41.ebuild new file mode 100644 index 000000000000..4885fe6bfd4a --- /dev/null +++ b/dev-db/mysql/mysql-5.1.41.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.1.41.ebuild,v 1.1 2010/02/01 01:19:32 robbat2 Exp $ + +MY_EXTRAS_VER="20100201-0104Z" +EAPI=2 + +inherit toolchain-funcs mysql +# 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-4 >=sys-devel/gcc-apple-4 )" +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() { + # 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 retstatus1 + local retstatus2 + 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_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_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_disable_test \ + "read_only" \ + "Broken in 5.0.51-54, output in wrong order" + ;; + esac + + # Ditto to read_only + [ "${PV}" == "5.0.51a" ] && \ + mysql_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_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_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_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.*) + for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ + ssl_compress ssl_connect ; do \ + mysql_disable_test \ + "$t" \ + "These OpenSSL tests break due to expired certificates" + done + ;; + esac + + # create directories because mysqladmin might right out of order + mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} + + # We run the test protocols seperately + make -j1 test-ns force="--force --vardir=${S}/mysql-test/var-ns" + retstatus1=$? + [[ $retstatus1 -eq 0 ]] || eerror "test-ns failed" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + make -j1 test-ps force="--force --vardir=${S}/mysql-test/var-ps" + retstatus2=$? + [[ $retstatus2 -eq 0 ]] || eerror "test-ps failed" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + failures="" + [[ $retstatus1 -eq 0 ]] || failures="test-ns" + [[ $retstatus2 -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.1.42.ebuild b/dev-db/mysql/mysql-5.1.42.ebuild new file mode 100644 index 000000000000..f7ebdf4c871f --- /dev/null +++ b/dev-db/mysql/mysql-5.1.42.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.1.42.ebuild,v 1.1 2010/02/01 01:19:32 robbat2 Exp $ + +MY_EXTRAS_VER="20100201-0104Z" +EAPI=2 + +# Broken, does not compile +#XTRADB_VER="1.0.6-9" +#PERCONA_VER="5.1.42-9" + +inherit toolchain-funcs mysql +# 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-4 >=sys-devel/gcc-apple-4 )" +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() { + # 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_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_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_disable_test \ + "read_only" \ + "Broken in 5.0.51-54, output in wrong order" + ;; + esac + + # Ditto to read_only + [ "${PV}" == "5.0.51a" ] && \ + mysql_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_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_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_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.*) + for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ + ssl_compress ssl_connect ; do \ + mysql_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: + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test: + # segfaults at random under Portage only, suspect resource limits. + case ${PV} in + 5.1.*) + for t in main.mysql_client_test main.mysql_comments main.mysql_upgrade; do + mysql_disable_test "$t" "False positives in Gentoo" + done + ;; + esac + + # create directories because mysqladmin might right out of order + mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} + + # We run the test protocols seperately + make -j1 test-unit + retstatus_unit=$? + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" + + make -j1 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" + + make -j1 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.1.43.ebuild b/dev-db/mysql/mysql-5.1.43.ebuild new file mode 100644 index 000000000000..4562fa596364 --- /dev/null +++ b/dev-db/mysql/mysql-5.1.43.ebuild @@ -0,0 +1,186 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.1.43.ebuild,v 1.1 2010/02/01 01:19:32 robbat2 Exp $ + +MY_EXTRAS_VER="20100201-0104Z" +EAPI=2 + +inherit toolchain-funcs mysql +# 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-4 >=sys-devel/gcc-apple-4 )" +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() { + # 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_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_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_disable_test \ + "read_only" \ + "Broken in 5.0.51-54, output in wrong order" + ;; + esac + + # Ditto to read_only + [ "${PV}" == "5.0.51a" ] && \ + mysql_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_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_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_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.*) + for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ + ssl_compress ssl_connect ; do \ + mysql_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: + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test: + # segfaults at random under Portage only, suspect resource limits. + case ${PV} in + 5.1.*) + for t in main.mysql_client_test main.mysql_comments main.mysql_upgrade; do + mysql_disable_test "$t" "False positives in Gentoo" + done + ;; + esac + + # create directories because mysqladmin might right out of order + mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} + + # We run the test protocols seperately + make -j1 test-unit + retstatus_unit=$? + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" + + make -j1 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" + + make -j1 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 +} |