Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 303130 - Package Request: MariaDB
Summary: Package Request: MariaDB
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo Linux MySQL bugs team
URL: http://askmonty.org
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2010-02-01 18:44 UTC by Brian Evans (RETIRED)
Modified: 2010-09-28 08:27 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
mysql.eclass diff to portage 2010-02-01 (mysql.eclass.diff,5.10 KB, patch)
2010-02-01 18:46 UTC, Brian Evans (RETIRED)
Details | Diff
ebuild to make mariadb (mysql-mariadb-5.1.41_rc.ebuild,6.28 KB, text/plain)
2010-02-01 18:47 UTC, Brian Evans (RETIRED)
Details
mysql.eclass diff to portage 2010-02-01 take 2 (mysql.eclass.diff,5.27 KB, patch)
2010-02-01 18:58 UTC, Brian Evans (RETIRED)
Details | Diff
Ebuild for latest version (mariadb-5.1.42.ebuild,6.52 KB, text/plain)
2010-02-02 18:54 UTC, Brian Evans (RETIRED)
Details
mysql.eclass diff to portage 2010-02-01 take 3 (mysql.eclass.diff,5.56 KB, patch)
2010-02-02 20:06 UTC, Brian Evans (RETIRED)
Details | Diff
mysql-extras patch listing (00000_index.txt,33.62 KB, text/plain)
2010-02-02 20:08 UTC, Brian Evans (RETIRED)
Details
Patch to use system libevent (15000_all_mariadb_libevent-system_5.1.42.patch,3.53 KB, patch)
2010-02-05 18:36 UTC, Brian Evans (RETIRED)
Details | Diff
Updated patch from mysql-extras (01050_all_mariadb_mysql_config_cleanup-5.1.41.patch,1.70 KB, patch)
2010-02-05 21:29 UTC, Brian Evans (RETIRED)
Details | Diff
07280_all_stdbool-maria-5.1.42.patch (07280_all_stdbool-maria-5.1.42.patch,3.09 KB, patch)
2010-03-15 13:20 UTC, Brian Evans (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Evans (RETIRED) gentoo-dev 2010-02-01 18:44:50 UTC
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
Comment 1 Brian Evans (RETIRED) gentoo-dev 2010-02-01 18:46:17 UTC
Created attachment 218103 [details, diff]
mysql.eclass diff to portage 2010-02-01
Comment 2 Brian Evans (RETIRED) gentoo-dev 2010-02-01 18:47:05 UTC
Created attachment 218105 [details]
ebuild to make mariadb
Comment 3 Brian Evans (RETIRED) gentoo-dev 2010-02-01 18:58:05 UTC
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.
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-02-02 03:00:06 UTC
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
Comment 5 Brian Evans (RETIRED) gentoo-dev 2010-02-02 18:54:13 UTC
Created attachment 218207 [details]
Ebuild for latest version

Version bump that includes build fixes
Comment 6 Brian Evans (RETIRED) gentoo-dev 2010-02-02 20:06:57 UTC
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.
Comment 7 Brian Evans (RETIRED) gentoo-dev 2010-02-02 20:08:25 UTC
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
Comment 8 Brian Evans (RETIRED) gentoo-dev 2010-02-03 20:54:57 UTC
(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!"
Comment 9 Brian Evans (RETIRED) gentoo-dev 2010-02-04 18:07:31 UTC
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
Comment 10 Brian Evans (RETIRED) gentoo-dev 2010-02-04 19:56:20 UTC
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.
Comment 11 Brian Evans (RETIRED) gentoo-dev 2010-02-05 18:36:21 UTC
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
Comment 12 Brian Evans (RETIRED) gentoo-dev 2010-02-05 21:29:35 UTC
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.
Comment 13 Brian Evans (RETIRED) gentoo-dev 2010-02-09 18:04:39 UTC
I have now published my changes to GitHub.

Feel free to pull from it.
http://github.com/grknight/mariadb-gentoo
Comment 14 Brian Evans (RETIRED) gentoo-dev 2010-02-24 19:47:25 UTC
GitHub synchronized the the official repository

All tests passed thanks to the test plan change to exclude cluster
Comment 15 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-15 06:30:24 UTC
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)
Comment 16 Brian Evans (RETIRED) gentoo-dev 2010-03-15 13:19:33 UTC
(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.

Comment 17 Brian Evans (RETIRED) gentoo-dev 2010-03-15 13:20:34 UTC
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
Comment 18 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-15 18:06:35 UTC
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.
Comment 19 Brian Evans (RETIRED) gentoo-dev 2010-03-15 18:39:24 UTC
(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.

Comment 20 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-15 18:41:53 UTC
Ok, fully good in the overlay now.

I'm going to merge to the main tree shortly.
Comment 21 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-15 18:52:25 UTC
I had a moment, so it's all fully merged to the main tree now :-).
Comment 22 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-15 19:25:22 UTC
(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