From 7bee23d5b8bc4ee063a77da28138395ae45e4762 Mon Sep 17 00:00:00 2001 From: geos_one Date: Wed, 23 Dec 2009 16:17:29 +0000 Subject: [PATCH] dev-db/mysql: new ebuild based on the development of gentoo mysql maintainers extended for storage handling git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/mysql@1730 6952d904-891a-0410-993b-d76249ca496b --- dev-db/mysql/ChangeLog | 5 + dev-db/mysql/Manifest | 16 ++- dev-db/mysql/mysql-5.1.41-r1.ebuild | 72 ------------ dev-db/mysql/mysql-5.1.41.ebuild | 166 +++++++++++++++++++++------- 4 files changed, 137 insertions(+), 122 deletions(-) delete mode 100644 dev-db/mysql/mysql-5.1.41-r1.ebuild diff --git a/dev-db/mysql/ChangeLog b/dev-db/mysql/ChangeLog index 2f31d10..de5b094 100644 --- a/dev-db/mysql/ChangeLog +++ b/dev-db/mysql/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.488 2009/07/06 19:08:59 robbat2 Exp $ + 23 Dec 2009; Mario Fetka mysql-5.1.41.ebuild, + -mysql-5.1.41-r1.ebuild: + new ebuild based on the development of gentoo mysql maintainers extended for + storage handling + 23 Dec 2009; Mario Fetka +mysql-5.1.41-r1.ebuild: add new storage engine diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index aac97ff..9b3efdd 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -1,12 +1,10 @@ AUX my.cnf-4.1 4121 RMD160 b90a15765b2baf10b5744b93840e1247bcde72ae SHA1 51f19b7aa01346d5d9e5070d904fc812b1e31c69 SHA256 8dc740d01911f7bb7b36e0e947973ac9f83cb2f0c25884cd4946da81440f752b DIST mysql-5.1.41.tar.gz 23026814 RMD160 f99d17a2bb43fc45222c7015a3b65c6b4f686129 SHA1 04f7cf87419ca233c2508c2912d72548767b7e2c SHA256 5cb721db43a5f61710d8503813adef335cb1b738c7164e3d7d2a9681af8dbc16 -DIST mysql-storage-filesystem-0.1.1-gentoo-r5.tar.gz 17561 RMD160 c29d92331fcb4204180b0b3641403b297300a8ac SHA1 222e76bda9b8e419c653a8994c5ea4fedba73f30 SHA256 8bd48bcc5e00c468d1f7a8c55d2609611f23908d0fefc8853170cf58fd6701f4 -DIST mysql-storage-innodb-1.0.6-gentoo.tar.gz 1393956 RMD160 470df6e7ad2a6171961d3a95b419ba7202ceeb65 SHA1 827529dddb02f92223d0b1cbdd901c5ecff0bacb SHA256 353714f6861ad5e1cb35afd28c612e8a1c363d10840e00ce565db1ca5513335f -DIST mysql-storage-pbms-0.5.09-alpha-gentoo-r4.tar.gz 267192 RMD160 cf3eabc7904f1b8e2787c7485a4fc99bebebcd36 SHA1 9ca4c36baa4b929543c627eca2a4e28c9e50c4b2 SHA256 7cb11dd4a1a22dc0c06cc1933d5e9084598eafec96f351aa0609508c3167fdb0 -DIST mysql-storage-pbxt-1.0.09e-rc-gentoo-r2.tar.gz 2981565 RMD160 a055887f6fd33ba94146e5bab41778890fc8a3bc SHA1 c3109a5042ec9a6d1db4806d4d31950abb39bf3c SHA256 c4da4cb439b06a3c867c0d57f48180539891069b41396cbc6def62968286e140 -DIST mysql-storage-revision-0.2-alpha-gentoo-r1.tar.gz 49110 RMD160 2e6237de9e88f8ca1b280b926fd5b24aae54b1c1 SHA1 77d23c289d0864b0e42fbe7cfb60fceb0a7e73dd SHA256 f79fd0766d678874888386d6ccd749023763256f862a1b19a3182c2aa91bea20 -DIST mysql-storage-soliddb-0081-gentoo.tar.gz 2278377 RMD160 705c2d1460d067385319ec4f6890a1798d33a286 SHA1 a5be03fd8e80f3e650257d60024672ec76ad60c4 SHA256 8e794aab8b6bdbab103004c70beecdcef8e85ca4db10cc16fff4a7e4641bfcba -EBUILD mysql-5.1.41-r1.ebuild 2595 RMD160 6a26f3b8e4c22444ef93d88954ae5cf6b06d823a SHA1 552ec8d97688f4944b80626a2c2b64d4e93833f4 SHA256 533192f26ca5dc51dd06fb67b003309c7909ec737ab2d79993b8c3b847e95c86 -EBUILD mysql-5.1.41.ebuild 2565 RMD160 18fa9ba9d2b9eccfc4d0b66081da1cf3fae9f6eb SHA1 d2c3fb1521bfa0e274d5e7bf8b2e5475adac6bbb SHA256 465b58d087c2b8365b9d004daef9ad11960dcb4a8992a7a968b37c394d8cb5fd -MISC ChangeLog 94224 RMD160 359dfa53c5d666c57a19d2e76baee85ee656b8f8 SHA1 3814e1fdc22cc3d93724eaa05c7a7951e4d27cd4 SHA256 41db2bef8c47eedcc15c0525389aeb8accdcefb2e872eed58b3542c8a6f972a0 +DIST mysql-storage-filesystem-0.1.1-gentoo-r6.tar.gz 17099 RMD160 8beb418d0d193a0b12decbaee63844394eee082e SHA1 21a4080885bebbbc471dc999371e687e52be4276 SHA256 59fe23d36aace776b2a85daaf0a2c9e1a3ff9896877fe7e360b174201cd2d633 +DIST mysql-storage-innodb-1.0.6-gentoo-r1.tar.gz 1391223 RMD160 78655bd8ae52cda0db8b9342a3a8104fb6d3d50d SHA1 768ed5968ccfe9e68c04ec0100ee6105692b8383 SHA256 b60ef8d16e1a8e645f8d6320dfded35819c73ff0eca71e5d090104e4748db80c +DIST mysql-storage-pbxt-1.0.09e-rc-gentoo-r3.tar.gz 2994470 RMD160 61973b8817f4187c65cd0feaa9994e6cbb691095 SHA1 0b08901fc48b9460ad07b1b41090128b9c460af3 SHA256 526290dba18b7a36df7f5bf3d654cc41e6144592963c1d94b39fec4c0a28d23f +DIST mysql-storage-revision-0.2-alpha-gentoo-r2.tar.gz 49305 RMD160 77c33b5270499d47ed14029c626e0fd454015be3 SHA1 a6c48b02e94724f49ea55e68c1ab9e380dafaf60 SHA256 28c1ff65f0378fad054482f689a5ba1da29916f8b48bea3e8f25b184abd856c7 +DIST mysql-storage-soliddb-0081-gentoo-r1.tar.gz 2287948 RMD160 691350a3fb9803194ffb5ff3ca092f38afe52ee0 SHA1 ca34db44c18fb1cb2a0aad2b76a441e7b11153d6 SHA256 1d69582691cb8a6ebe41abbb68113a15c4e079794703a3a8edc08469a9092735 +EBUILD mysql-5.1.41.ebuild 5038 RMD160 44445dcdd91d1d623ac4403353b86474d28e6815 SHA1 7a32a6dbd7aef85423a8685be19d48549a98f027 SHA256 5f38ad5537a2818fab9272ef6587b11e2a51917bf2b33edd37b3a21556b33c1c +MISC ChangeLog 94422 RMD160 837c0fbac529fa70792bef97f03d42f71a39fa8a SHA1 54279b17ac83660d30ace2efe6a9ede2f702aa1a SHA256 1f002379824613fbbd0aea0ed69d1b0820802487fdc93762b4e6464d53fd69ee MISC metadata.xml 918 RMD160 ee023d3ae746d0d29ac387c1c87f3f8dec7c9568 SHA1 10ef755d319f93d02de705b3158f4e73aca28af4 SHA256 046a9880921c49fea8861a819c1afd27fc5a873dea28b80b040da2733e029c47 diff --git a/dev-db/mysql/mysql-5.1.41-r1.ebuild b/dev-db/mysql/mysql-5.1.41-r1.ebuild deleted file mode 100644 index 9c2ef5c..0000000 --- a/dev-db/mysql/mysql-5.1.41-r1.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-community/mysql-community-5.1.21_beta.ebuild,v 1.3 2008/11/14 09:43:04 robbat2 Exp $ - -#MY_EXTRAS_VER="20090713-1758Z" -MY_EXTRAS_VER="live" -#SERVER_URI="mirror://gentoo/MySQL-${PV%.*}/mysql-${PV//_/-}.tar.gz" -MYSQL_STORAGE="pbxt-1.0.09e-rc-gentoo-r2 - revision-0.2-alpha-gentoo-r1 - soliddb-0081-gentoo - innodb-1.0.6-gentoo - filesystem-0.1.1-gentoo-r5 - pbms-0.5.09-alpha-gentoo-r4" - -inherit mysql -# 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 ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" - -src_test() { - make check || die "make check failed" - if ! use "minimal" ; then - cd "${S}/mysql-test" - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - local retstatus - local t - local testopts="--force" - - addpredict /this-dir-does-not-exist/t9.MYI - - # mysqladmin start before dir creation - mkdir "${S}"/mysql-test/var{,/log} - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - - # sandbox make ndbd zombie - #X#hasq "sandbox" ${FEATURES} && testopts="${testopts} --skip-ndb" - - #X#if [[ ${UID} -eq 0 ]] ; then - #X# einfo "Disabling IM tests due to failure as root" - #X# mysql_disable_test "im_cmd_line" "fail as root" - #X# mysql_disable_test "im_daemon_life_cycle" "fail as root" - #X# mysql_disable_test "im_instance_conf" "fail as root" - #X# mysql_disable_test "im_life_cycle" "fail as root" - #X# mysql_disable_test "im_options" "fail as root" - #X# mysql_disable_test "im_utils" "fail as root" - #X# mysql_disable_test "trigger" "fail as root" - #X#fi - - #use "extraengine" && mysql_disable_test "federated" "fail with extraengine" - - #mysql_disable_test "view" "Already fixed: fail because now we are in year 2007" - - # from Makefile.am: - retstatus=1 - ./mysql-test-run.pl ${testopts} --mysqld=--binlog-format=mixed \ - && ./mysql-test-run.pl ${testopts} --mysqld=--binlog-format=row \ - && ./mysql-test-run.pl ${testopts} --ps-protocol --mysqld=--binlog-format=row \ - && ./mysql-test-run.pl ${testopts} --ps-protocol --mysqld=--binlog-format=mixed \ - && retstatus=0 - - # Just to be sure ;) - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - [[ $retstatus -eq 0 ]] || die "make test failed" - 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 index 33f106d..ab6a14f 100644 --- a/dev-db/mysql/mysql-5.1.41.ebuild +++ b/dev-db/mysql/mysql-5.1.41.ebuild @@ -1,70 +1,154 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-community/mysql-community-5.1.21_beta.ebuild,v 1.3 2008/11/14 09:43:04 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.0.84-r1.ebuild,v 1.7 2009/11/09 18:00:20 fauli Exp $ -#MY_EXTRAS_VER="20090713-1758Z" MY_EXTRAS_VER="live" -#SERVER_URI="mirror://gentoo/MySQL-${PV%.*}/mysql-${PV//_/-}.tar.gz" -MYSQL_STORAGE="pbxt-1.0.09e-rc-gentoo-r2 - revision-0.2-alpha-gentoo-r1 - soliddb-0081-gentoo - innodb-1.0.6-gentoo - filesystem-0.1.1-gentoo-r5" +EAPI=2 -inherit mysql +MYSQL_STORAGE="pbxt-1.0.09e-rc-gentoo-r3 + revision-0.2-alpha-gentoo-r2 + soliddb-0081-gentoo-r1 + innodb-1.0.6-gentoo-r1 + filesystem-0.1.1-gentoo-r6" + +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 ~sparc-fbsd ~x86 ~x86-fbsd" +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() { - make check || die "make check failed" + # 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 - cd "${S}/mysql-test" + 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 + local retstatus1 + local retstatus2 local t - local testopts="--force" - addpredict /this-dir-does-not-exist/t9.MYI - # mysqladmin start before dir creation - mkdir "${S}"/mysql-test/var{,/log} - # Ensure that parallel runs don't die export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # sandbox make ndbd zombie - #X#hasq "sandbox" ${FEATURES} && testopts="${testopts} --skip-ndb" + # 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" + ;; - #X#if [[ ${UID} -eq 0 ]] ; then - #X# einfo "Disabling IM tests due to failure as root" - #X# mysql_disable_test "im_cmd_line" "fail as root" - #X# mysql_disable_test "im_daemon_life_cycle" "fail as root" - #X# mysql_disable_test "im_instance_conf" "fail as root" - #X# mysql_disable_test "im_life_cycle" "fail as root" - #X# mysql_disable_test "im_options" "fail as root" - #X# mysql_disable_test "im_utils" "fail as root" - #X# mysql_disable_test "trigger" "fail as root" - #X#fi + 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 - #use "extraengine" && mysql_disable_test "federated" "fail with extraengine" + # 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 - #mysql_disable_test "view" "Already fixed: fail because now we are in year 2007" + # Ditto to read_only + [ "${PV}" == "5.0.51a" ] && \ + mysql_disable_test \ + "view" \ + "Broken in 5.0.51, output in wrong order" - # from Makefile.am: - retstatus=1 - ./mysql-test-run.pl ${testopts} --mysqld=--binlog-format=mixed \ - && ./mysql-test-run.pl ${testopts} --mysqld=--binlog-format=row \ - && ./mysql-test-run.pl ${testopts} --ps-protocol --mysqld=--binlog-format=row \ - && ./mysql-test-run.pl ${testopts} --ps-protocol --mysqld=--binlog-format=mixed \ - && retstatus=0 + # 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" - # Just to be sure ;) + # 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" + + # SSL certs expired shortly after the release of 5.0.76. Affects older + # versions as well. + case ${PV} in + 5.0.?|5.0.[1-6]*|5.0.7[0-6]) + 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 in 5.0.76 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 - [[ $retstatus -eq 0 ]] || die "make test failed" + 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