Per bug 194561, A separate bug is being filed to add mysql-mariadb MariaDB project aims to extend MySQL to include 3rd party patches as well as the Maria storage engine. By default, it also includes the Percona patches, XtraDB, FederatedX and PBXT. Other engines, such as OQGraph, are planned to be added soon. Also, by using libevent, it allows threading of connections (back ported and extended from the now defunct MySQL 6.0 plan) Attached you will find a diff to mysql.eclass (based on 2010-02-01) and an ebuild for mysql-mariadb-5.1.41_rc (5.1.42 should be released in a short amount of time) Reproducible: Always
Created attachment 218103 [details, diff] mysql.eclass diff to portage 2010-02-01
Created attachment 218105 [details] ebuild to make mariadb
Created attachment 218106 [details, diff] mysql.eclass diff to portage 2010-02-01 take 2 Server URI needs versionator which can only be done in the eclass. I had it in there but thought the ebuild might be a better place. My bad for not testing it before hand.
1. The upstream name is "mariadb", not "mysql-mariadb", please change the ebuild and PN checks to use that. 2. You're setting SERVER_URI in both, please try to cut it down to the just the eclass. 3. Does it pass the testsuite w/ FEATURES='tests userpriv -usersandbox' USE='berkdb cluster embedded extraengine perl ssl community' ebuild ... clean test
Created attachment 218207 [details] Ebuild for latest version Version bump that includes build fixes
Created attachment 218215 [details, diff] mysql.eclass diff to portage 2010-02-01 take 3 Per Comment #2, This changes all the PN references to look for mariadb. Also pulls in the optional dev-libs/libevent for the 5.1.42 ebuild to conditionally use.
Created attachment 218217 [details] mysql-extras patch listing cleanly applied patches that reference 5.1.42 - 5.1.99 and exist in current mysql-extras
(In reply to comment #4) > 3. Does it pass the testsuite w/ FEATURES='tests userpriv -usersandbox' > USE='berkdb cluster embedded extraengine perl ssl community' ebuild ... clean > test Apparently, upstream does all its testing and expects --with-maria-tmp-tables. Would it be an issue to force enable them and not have a USE flag? When --with-maria-tmp-tables is on, the following tests fail using above parameters: The servers were restarted 359 times Spent 3653.714 of 6240 seconds executing testcases Failed 2/726 tests, 99.72% were successful. Failing test(s): parts.part_supported_sql_func_ndb parts.partition_auto_increment_ndb ====================================== When --with-maria-tmp-tables is off, The servers were restarted 361 times Spent 3650.083 of 6241 seconds executing testcases Failed 4/726 tests, 99.45% were successful. Failing test(s): parts.part_supported_sql_func_ndb parts.partition_auto_increment_ndb main.insert_select maria.maria3 main.insert_select has comments from upstream that seem to maria.maria3 fails on a SHOW VARIABLES check looking for maria temp tables ========================== Currently testing if 5.1.42 from MySQL main will fail on the parts tests using the same box. MariaDB upstream has comments about ndb too: (source http://askmonty.org/wiki/index.php/Manual:NDB_support_in_MariaDB ) "We have disabled NDB in MariaDB due to it not being properly supported upstream and due to a lack of interest for this feature in the community. If you think we should re-visit this decision, please let us know!"
Re: Comment #8: >main.insert_select has comments from upstream that seem to This should read: main.insert_select has comments in the test file from upstream that seem to indicate they want maria-tmp-tables enabled. MySQL base does not run the parts suite by default, so failures there have to be checked by hand. Running "/usr/bin/perl ./mysql-test-run.pl --force --vardir=/var/tmp/portage/dev-db/mysql-5.1.42/work/mysql/mysql-test/var-ps --ps-protocol --suite=parts --mysqld=--binlog-format=mixed" on dev-db/mysql-5.1.42 for comparison: Failing test(s): parts.part_supported_sql_func_ndb (timeout) Disabled the above test for now. Still investigating parts.partition_auto_increment_ndb
Would it be acceptable to disable the NDB tests or remove USE=cluster? As per http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html "MySQL Cluster users who build from source should be aware that, also beginning with MySQL 5.1.24, NDBCLUSTER sources in the standard MySQL 5.1 tree are no longer maintained; these users should use the sources provided for MySQL Cluster NDB 6.2 or later." Since this package is based on MySQL 5.1.x sources, I feel the NDB problems should be ignored and, possibly, USE=cluster to be removed for MariaDB. In addition http://dev.mysql.com/doc/refman/5.4/en/faqs-mysql-cluster.html and 5.5 list NDB as a separate product and no longer included in sources.
Created attachment 218555 [details, diff] Patch to use system libevent Use system libevent instead of bundled. This patch should be included in MariaDB 5.1.43
Created attachment 218577 [details, diff] Updated patch from mysql-extras mariadb refers to valgrind instead of purify in the original file so the patch from main fails.
I have now published my changes to GitHub. Feel free to pull from it. http://github.com/grknight/mariadb-gentoo
GitHub synchronized the the official repository All tests passed thanks to the test plan change to exclude cluster
Brian, I've used what was in the bug here to create it in the mysql overlay now. (not the newer comments, because I grabbed the attachments before that and was working on my laptop). Could you verify it against your Git overlay, and see if I missed anything that you picked up? I solved some of the parts differently however, taking the chance to refactor ready for some other changes I've been working on (split mysql-cluster mainly)
(In reply to comment #15) > Could you verify it against your Git overlay, and see if I missed anything that > you picked up? > > I solved some of the parts differently however, taking the chance to refactor > ready for some other changes I've been working on (split mysql-cluster mainly) Looks good to me with a few comments: 1. The libevent patch will only be needed for <=5.1.42. Upstream accepted the change and I just turned the commit into a patch. 2. As a reminder, the SSL configure change from bug 307641 is not in the mysql overlay 3. I ported 07280_all_stdbool-maria-5.1.42.patch from the mysql-extras overlay. I'll attach that now.
Created attachment 223691 [details, diff] 07280_all_stdbool-maria-5.1.42.patch Port of 07280_all_stdbool-5.1.42.patch from mysql-extras
07110_all_mysql_gcc-4.2_5.1.43.patch is going to need porting too at some point too. It's not a critical patch on linux for most values of GCC, but a few of them need it. (In reply to comment #16) > 1. The libevent patch will only be needed for <=5.1.42. Upstream accepted the > change and I just turned the commit into a patch. Index file updated. > 2. As a reminder, the SSL configure change from bug 307641 is not in the mysql > overlay I'd merged it last just, just forgot to push that last bit. > 3. I ported 07280_all_stdbool-maria-5.1.42.patch from the mysql-extras overlay. Thanks, looks like just whitespace changes however? Merged anyway.
(In reply to comment #18) > 07110_all_mysql_gcc-4.2_5.1.43.patch is going to need porting too at some point > too. It's not a critical patch on linux for most values of GCC, but a few of > them need it. > I can work on this. Can you tell me a bug or source of an explanation of what arch/platforms this needs fixing for? Perhaps I can get it accepted by mariadb upstream. > (In reply to comment #16) > > 3. I ported 07280_all_stdbool-maria-5.1.42.patch from the mysql-extras overlay. > Thanks, looks like just whitespace changes however? Merged anyway. > I created the new patch because epatch choked on the original when applied to mariadb. IIRC, it was trivial.
Ok, fully good in the overlay now. I'm going to merge to the main tree shortly.
I had a moment, so it's all fully merged to the main tree now :-).
(In reply to comment #19) > (In reply to comment #18) > > 07110_all_mysql_gcc-4.2_5.1.43.patch is going to need porting too at some point > > too. It's not a critical patch on linux for most values of GCC, but a few of > > them need it. min/max are system functions in some cases, and in my_global.h, while MySQL skips overriding them now, it doesn't account for the fact that the system versions might have side-effects, or require additional typecasting. Gentoo bug 280843 Upstream bug: http://bugs.mysql.com/bug.php?id=30866