From 0636ddf98a78f9bf3d2b580f79f80f0313926326 Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Wed, 24 Mar 2010 02:17:33 +0000 Subject: [PATCH] Bug #306975, #310787: Fix config mode. Bug #310535: Patch for compiling on some Prefix arches. Package-Manager: portage-2.2_rc63/cvs/Linux x86_64 --- dev-db/mysql/ChangeLog | 9 +- dev-db/mysql/Manifest | 5 +- dev-db/mysql/files/my.cnf-5.1 | 146 +++++++++++++++++++ dev-db/mysql/mysql-5.1.44-r2.ebuild | 213 ++++++++++++++++++++++++++++ 4 files changed, 371 insertions(+), 2 deletions(-) create mode 100644 dev-db/mysql/files/my.cnf-5.1 create mode 100644 dev-db/mysql/mysql-5.1.44-r2.ebuild diff --git a/dev-db/mysql/ChangeLog b/dev-db/mysql/ChangeLog index 3a2c096a1afc..fabb4dbb6c8e 100644 --- a/dev-db/mysql/ChangeLog +++ b/dev-db/mysql/ChangeLog @@ -1,6 +1,13 @@ # 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.520 2010/03/23 20:13:19 ranger Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.521 2010/03/24 02:17:31 robbat2 Exp $ + +*mysql-5.1.44-r2 (24 Mar 2010) + + 24 Mar 2010; Robin H. Johnson +files/my.cnf-5.1, + +mysql-5.1.44-r2.ebuild: + Bug #306975, #310787: Fix config mode. Bug #310535: Patch for compiling on + some Prefix arches. 23 Mar 2010; Brent Baude mysql-5.0.90-r2.ebuild: Marking mysql-5.0.90-r2 ppc for bug 303747 diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index 39f591152a6d..3034beb4e067 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -1,6 +1,7 @@ AUX my.cnf 1249 RMD160 680752c5c5f1e18e02f5c3286aaade406f271b95 SHA1 f5592c43e52d23902a23d4f824d4dddccd7cdd0c SHA256 29c07ce113496ec62bf9427609f2291861e3e165200d6e98a69bd312c6c101ec AUX my.cnf-4.0 4316 RMD160 e2a9f3f1a13b1aa13151dc5dbeba1dad888337e3 SHA1 40d6f252fd103548bc422e86659ef644fbce1ac6 SHA256 f4616a38d7c1b5cc2bf6b4e5b175ffcc12a52e38772dd86274a8991ef50015af AUX my.cnf-4.1 4235 RMD160 ca04e2e667322e99c29be59064c7a6ecaa4e1e4c SHA1 babc79984b2e2d3def93ac0c13cd2fc5c690212a SHA256 908a4883116e4f323510c468fd22c5765f8a2adce0344859fc212b7209a3a6c7 +AUX my.cnf-5.1 4193 RMD160 5d29d47281bf091a6781b48f4e803d1d2282b575 SHA1 5e7fdfbe988c4daec35b0a363b97c9db530cb288 SHA256 291bd787fc295e7ff3b260ca7c1cdd131e839d1a9fe191bb084e179e9bbdb8ca AUX mysql.init 886 RMD160 26b8aa45af3f930db01f0db731865b9293626fb1 SHA1 d7d99a3f45fa807d1fb57ab04b35800a69cae430 SHA256 2d7faf6d88fd13e5c10368a20074fdb59554635f8b1fd17e088d82208e611c12 DIST mysql-3.23.58.tar.gz 12039843 RMD160 b7d436ac7aaa9238e724bf3c62c5f837bef676b6 SHA1 f3383e41e8926c040a295173881414a1e96e0266 SHA256 8dcc6a613820701221b787419c32c1c717562194cfd296187da0e87454252acc DIST mysql-4.0.27.tar.gz 11152643 RMD160 00cf895eab192e3e0ab526587ccab3e81c6c9070 SHA1 9cce3b92c47d17bf58ec6cdefebfdf953b5ce2c4 SHA256 c79f83bed7c1ea98e018b8829375b55c1de838d21a526d7f679becc75de00d0f @@ -34,6 +35,7 @@ DIST mysql-extras-20100131-0616Z.tar.bz2 945566 RMD160 700191ce374392b58b34ee3f4 DIST mysql-extras-20100201-0104Z.tar.bz2 933785 RMD160 7780fcc370d2eb8e48993aaeba480e2ec7785c14 SHA1 ce098829243327c5941a9864a9e0632ae5cee418 SHA256 d06f7d2e6920576392adf0fa544931aa6dcecf45060dac4968ea8d88e84c2f70 DIST mysql-extras-20100221-0021Z.tar.bz2 936455 RMD160 30bdf170c054f1593210ab523e43dc25cf108268 SHA1 bc0fb61692fbef6d6f09ec896951c7f5338bee4a SHA256 9fb417ef6e3f4dfe0dd61d0b4d6cd34ba088d0e2718b4c6e5d4cfe8fdab5c3c0 DIST mysql-extras-20100227-1814Z.tar.bz2 936406 RMD160 d0bda421ae4c5883fc6419a59c34cd8418aa351c SHA1 ccbabd80d4de4a7df98220cd50c352c2032c081f SHA256 8c0b3c0ab898361152044261ac98a8a3256ad58e38a59ea18587c54b18619beb +DIST mysql-extras-20100324-0213Z.tar.bz2 1054780 RMD160 8c3247e2795d64d6525903a5148de315b6429a43 SHA1 4d3300312df9a3fe63dcee96e60da2ba0f6d3ec1 SHA256 3bb9f6b354bc106b386ca65da71478d7be4ee78e6eb41505aa19e35aa6e53574 DIST pbxt-1.0.10-rc.tar.gz 3146894 RMD160 6837a8b6ac3346c7298180fb39b7b84213ae3f56 SHA1 9bad6a2a8a340f151fbf8a7afd9099daf064b34d SHA256 a351895c3a9d8e2ffe156c518a3ccbad896a716ec55c9af135113360014a58ff DIST percona-xtradb-1.0.4-8.tar.gz 1355440 RMD160 7705e9b1db9adc83f0511ef675897947265b70b6 SHA1 ce2cfab0ba93f69a77e8ad3d5570eff2b89bf899 SHA256 d700a5e7d868a27fd241c25f3e470c34bfb20a8f93c998b1df2a40d0b6f80b7b EBUILD mysql-3.23.58-r1.ebuild 7397 RMD160 85c2f6ae75b4d4dc6bb4c3228e4e800a9b20bbdd SHA1 b532250266fb20af81b4b6b9b56d47de048789ce SHA256 9250045fb9af28896c2f266c8c9b33409b525f1481b2ba70d104ec9ba5b4a6d8 @@ -55,8 +57,9 @@ EBUILD mysql-5.0.90-r2.ebuild 6059 RMD160 11a9ac8bb012d0c2b459c0c1b4e90714e18b0b EBUILD mysql-5.0.90.ebuild 5498 RMD160 5505ceaeee0b324232317ead5bd355f3be355f91 SHA1 dd4fe65ab2297d76330e215f713b9abbdb9bd3b2 SHA256 8fa1058aadfbf449c25636ecbfe21474ec245f869ac54cc59210de602f27dbe8 EBUILD mysql-5.1.39-r1.ebuild 6477 RMD160 980a0ba5d6ad24f55294e69bfe6024b68ad94d84 SHA1 676096d4b5296db780756c6b34b7d2c7546d6d21 SHA256 92bc24385cbb51825bb01316a9336e5ffa93ef41818e46f158107a90dcc5d7cb EBUILD mysql-5.1.44-r1.ebuild 6778 RMD160 980c87f5212028faac3d7168e4d55cf39a329cca SHA1 b179bac92b92cb43f1c7d896a72eaa4970eb871a SHA256 dbf7cb8e3ffbbe7c3df9787d3eee2f2108ec4f367a0953a66c5265459005ace4 +EBUILD mysql-5.1.44-r2.ebuild 7385 RMD160 698332825915c72c6682616cd187be0019585b2a SHA1 08e4c6520c8b462fc715286d4a3ba0071ddab020 SHA256 cfc7c3b3d4fd6aa21943c977ebc704f39692b41986a38b20c730f24d6b5f3a79 EBUILD mysql-5.1.44.ebuild 6429 RMD160 b7560947d5242453a0dce2d4c0f756a1502837d4 SHA1 85d73cfe742ad252fce2487125e10d2b27567690 SHA256 731493e6794d95ba7d7c18c3d377d015795da50fb547158eacc5bf97902fe0ca EBUILD mysql-5.4.3_beta.ebuild 6673 RMD160 0a9c93ee0ccf553124ef2bdf27f83aa556082ef4 SHA1 535c587d5704c471acd790926df48db91b089f66 SHA256 a8729cd0b053c23537c68b01aa68e77bd2c9c568a688ab956bc1c6ceff9d99f7 EBUILD mysql-5.5.1_alpha_pre2.ebuild 6901 RMD160 26a8a44e8dd9617dfb472ea8ca5a18a6e04de9a2 SHA1 cd2fc388b3b17dde77e255fcd918e96728a06c3b SHA256 300e563399dc44a90c326e297767e7fea088b2066cd593c056f7e7a5555b90ce -MISC ChangeLog 101126 RMD160 a9dd949afe50002f3658c64f84d185d25e64ad9c SHA1 5117d8b75166d6dc4c2659f71d7d63888a66c6a0 SHA256 7f9f167cc8639061069d82c7eba67123a3df95b447d5a4bc5220194a47a7ec65 +MISC ChangeLog 101358 RMD160 79f618e8a1080c123b596d23e12efc385388d266 SHA1 e82a4404c45524d9fb6c47866159d5d24274aa46 SHA256 1c3bb2f29b366f31aa8a60870154fec82c2c3847d2de4591bd9b90d3061514e2 MISC metadata.xml 1389 RMD160 711fe2927a95bff06abbba5209a1e03fd99ba7b5 SHA1 adaf717edeadad3ebe8e7b486d75477b2ec5433b SHA256 562726facccb1c1808b74c0e17f052ca03c92c0ada689375e527b2a5405a5a0a diff --git a/dev-db/mysql/files/my.cnf-5.1 b/dev-db/mysql/files/my.cnf-5.1 new file mode 100644 index 000000000000..bb4701f068b9 --- /dev/null +++ b/dev-db/mysql/files/my.cnf-5.1 @@ -0,0 +1,146 @@ +# /etc/mysql/my.cnf: The global mysql configuration file. +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.1 2010/03/24 02:17:33 robbat2 Exp $ + +# The following options will be passed to all MySQL clients +[client] +#password = your_password +port = 3306 +socket = /var/run/mysqld/mysqld.sock + +[mysql] +character-sets-dir=/usr/share/mysql/charsets +character-set-server=utf8 + +[mysqladmin] +character-sets-dir=/usr/share/mysql/charsets +character-set-server=utf8 + +[mysqlcheck] +character-sets-dir=/usr/share/mysql/charsets +character-set-server=utf8 + +[mysqldump] +character-sets-dir=/usr/share/mysql/charsets +character-set-server=utf8 + +[mysqlimport] +character-sets-dir=/usr/share/mysql/charsets +character-set-server=utf8 + +[mysqlshow] +character-sets-dir=/usr/share/mysql/charsets +character-set-server=utf8 + +[myisamchk] +character-sets-dir=/usr/share/mysql/charsets + +[myisampack] +character-sets-dir=/usr/share/mysql/charsets + +# use [safe_mysqld] with mysql-3 +[mysqld_safe] +err-log = /var/log/mysql/mysql.err + +# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations +[mysqld] +character-set-server = utf8 +user = mysql +port = 3306 +socket = /var/run/mysqld/mysqld.sock +pid-file = /var/run/mysqld/mysqld.pid +log-error = /var/log/mysql/mysqld.err +basedir = /usr +datadir = @DATADIR@ +skip-external-locking +key_buffer = 16M +max_allowed_packet = 1M +table_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M +language = /usr/share/mysql/english + +# security: +# using "localhost" in connects uses sockets by default +# skip-networking +bind-address = 127.0.0.1 + +log-bin +server-id = 1 + +# point the following paths to different dedicated disks +tmpdir = /tmp/ +#log-update = /path-to-dedicated-directory/hostname + +# you need the debug USE flag enabled to use the following directives, +# if needed, uncomment them, start the server and issue +# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace +# this will show you *exactly* what's happening in your server ;) + +#log = /tmp/mysqld.sql +#gdb +#debug = d:t:i:o,/tmp/mysqld.trace +#one-thread + +# uncomment the following directives if you are using BDB tables +#bdb_cache_size = 4M +#bdb_max_lock = 10000 + +# the following is the InnoDB configuration +# if you wish to disable innodb instead +# uncomment just the next line +#skip-innodb +# +# the rest of the innodb config follows: +# don't eat too much memory, we're trying to be safe on 64Mb boxes +# you might want to bump this up a bit on boxes with more RAM +innodb_buffer_pool_size = 16M +# this is the default, increase it if you have lots of tables +innodb_additional_mem_pool_size = 2M +# +# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-( +# and upstream wants things to be under /var/lib/mysql/, so that's the route +# we have to take for the moment +#innodb_data_home_dir = /var/lib/mysql/ +#innodb_log_arch_dir = /var/lib/mysql/ +#innodb_log_group_home_dir = /var/lib/mysql/ +# you may wish to change this size to be more suitable for your system +# the max is there to avoid run-away growth on your machine +innodb_data_file_path = ibdata1:10M:autoextend:max:128M +# we keep this at around 25% of of innodb_buffer_pool_size +# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size) +innodb_log_file_size = 5M +# this is the default, increase it if you have very large transactions going on +innodb_log_buffer_size = 8M +# this is the default and won't hurt you +# you shouldn't need to tweak it +innodb_log_files_in_group=2 +# see the innodb config docs, the other options are not always safe +innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 50 +innodb_file_per_table + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +# uncomment the next directive if you are not familiar with SQL +#safe-updates + +[isamchk] +key_buffer = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[myisamchk] +key_buffer = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[mysqlhotcopy] +interactive-timeout diff --git a/dev-db/mysql/mysql-5.1.44-r2.ebuild b/dev-db/mysql/mysql-5.1.44-r2.ebuild new file mode 100644 index 000000000000..0486cf5f5705 --- /dev/null +++ b/dev-db/mysql/mysql-5.1.44-r2.ebuild @@ -0,0 +1,213 @@ +# 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.44-r2.ebuild,v 1.1 2010/03/24 02:17:31 robbat2 Exp $ + +MY_EXTRAS_VER="20100324-0213Z" +EAPI=2 + +# PBXT +PBXT_VERSION='1.0.10-rc' +# XtraDB +# handler/i_s.cc: In function 'int i_s_innodb_buffer_pool_pages_index_fill(THD*, TABLE_LIST*, COND*)': +# handler/i_s.cc:801: error: invalid conversion from 'const char*' to 'char*' +# handler/i_s.cc: In function 'int i_s_innodb_admin_command_fill(THD*, TABLE_LIST*, COND*)': +# handler/i_s.cc:2995: warning: deprecated conversion from string constant to 'char*' +# PERCONA_VER='5.1.42-9' XTRADB_VER='1.0.6-9' + +inherit toolchain-funcs 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 ~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.3 >=sys-devel/gcc-apple-4.2 )" +RDEPEND="!media-sound/amarok[embedded]" + +# 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.*|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_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_disable_test "$t" "False positives in Gentoo" + done + ;; + esac + + use profiling && use community \ + || mysql_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_disable_test $t "ndb not supported in mariadb" + 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 +} -- 2.26.2