MySQL and MariaDB in Fedora

Honza Horak hhorak at redhat.com
Wed Apr 10 17:45:16 UTC 2013


On 04/10/2013 02:34 PM, Norvald Ryeng wrote:
> ----- hhorak at redhat.com wrote:
>
>> On 04/05/2013 08:06 PM, Norvald Ryeng wrote:
>>> ----- hhorak at redhat.com wrote:
>>>
>>>> On 03/21/2013 08:36 PM, Norvald Ryeng wrote:
>>>>> What is the deadline for fixing the remaining issues with MySQL and
>>>>> MariaDB in Fedora? We would like to find a solution and get 5.6 in
>>>>> soon.
>>>>
>>>> Hi Norvald,
>>>>
>>>> I've just asked for creating component community-mysql, as discussed on
>>>> fedora-devel above, the review is done already. As soon as it is built
>>>> in koji I'm going to EOL MySQL component. So I'm expecting to be done in
>>>> the beginning of the next week.
>>>
>>> I see you've bumped the epoch of the MariaDB packages to force
>> MariaDB as default when both MySQL and MariaDB provide mysql-server.
>> We've tested it, and it seems to do the trick.
>>>
>>> Could you rename the MySQL packages to mysql-community-* instead of
>> community-mysql-*? That way the prefix aligns with the product name
>> and OpenSuSE's prefix.
>>
>> I wanted to use that, but then found out that it wouldn't work. The
>> problem is that it has the same prefix as virtual name "mysql", that is
>> used as requirement in other packages. As a result, when somebody asked
>> for "mysql" -- "mysql-community" would be preferred before mariadb,
>> because according [1] rule #9 ("check the prefix of the pkg to the
>> requiring pkg prefix (perl-foo and perl-lib) for each common character
>>
>> in the prefix add 2 points to the provider's score") would be
>> applied.
>>
>> When we use the name "community-mysql" we don't have any same prefix, so
>> the rule #10 is applied ("if, at this point, we have pkgs with an equal
>> score - look at the version of the provide"), which means mariadb with
>> higher epoch will be chosen.
>
> We've tested and found that if the MariaDB packages have a higher epoch number, they will be chosen even if the MySQL packages have a "mysql-community" prefix.

According to what I read in [1], mysql-community would be preferred 
before mariadb because of common prefix, in case both packages will have 
the same score from the previous rules.

I've tested that with a potential package mysqlfoo, which has the same 
prefix as mysql-community, so if I ran:

$ yum update mysqlfoo

then mysql-community got higher score and was preferred before mariadb.

Maybe there are even more cases like that, so I'd rather stick with 
community-mysql.

[1] http://yum.baseurl.org/wiki/CompareProviders

>> Generally, I don't like either, that packages in openSUSE an Fedora
>> won't have the same name, but openSUSE has a bit more powerful RPM spec
>> to handle such things.
>>
>> [1] http://yum.baseurl.org/wiki/CompareProviders
>>
>>> How do we get push access to the git repo? It would be great to get
>> 5.6 in before the test day on April 30.
>>
>> To get involved, just follow standard process as described on Fedora
>> wiki:
>> https://fedoraproject.org/wiki/Join_the_package_collection_maintainers
>>
>> However, I'd rather wait with 5.6 until F20 because of the following
>> reasons:
>> * we are almost a month after feature freeze
>> * I believe users will have enough concerns with switching to MariaDB
>> and MySQL-5.6 would bring others
>> * better wait a bit longer to stabilize the new release than bring a
>> quite important package too soon
>
> Introduction of MariaDB should not interfere with upgrading MySQL. If anything, choosing MariaDB as the default makes upgrading MySQL easier since it will only be installed when users explicitly ask for it.

Upgrades like this are usually considered as a Feature, which also 
corresponds with Feature description at [2]. Therefore I'd rather wait 
for F20.

[2] https://fedoraproject.org/wiki/Features/Policy/Definitions

Honza


More information about the devel mailing list