Fwd: MariaDB replacing MySQL

Norvald H. Ryeng norvald.ryeng at oracle.com
Tue Mar 12 12:14:33 UTC 2013


On Mon, 11 Mar 2013 19:58:03 +0100, Kevin Kofler <kevin.kofler at chello.at>  
wrote:

> Honza Horak wrote:
>> This doesn't solve all the issues -- if package like akonadi-mysql says
>> "Requires: mysql-server", then Oracle MySQL either wouldn't satisfy that
>> requirement or (in case it includes "Provides: mysql-server") RPM
>> choosing behavior would be ambiguous.
>
> And it should not satisfy it.
>
> We now changed the Requires in akonadi-mysql to mariadb-server to be  
> sure of what we get.

This dependency is a problem. It makes it impossible to install
MySQL-server on a KDE system since mariadb-server and MySQL-server
conflict.

This would all be solvable if the packages were installable in
parallel, which is also the recommended solution [1]. This would
require some renaming, but it has several benefits:

  - Users can choose to install either MySQL or MariaDB, or both.
  - Package maintainers can choose to depend on one or the other.
  - Package maintenance becomes easier since the packages don't mess
    around with the same filenames.

A common virtual provide should solve dependencies for applications
that don't care which server they get. With that virtual provide comes
the upgrade issues around choosing a default. Could this be solved by
bumping the epoch of mariadb-server? Wouldn't that make yum choose the
highest versioned package, which would always be mariadb-server? Epoch
bumping may not be the prettiest solution, but if it works, we could
do:

     If existing MySQL users are to be forced over to MariaDB:
     mysql*:           virtual provides
     mariadb*:         provides mysql*, epoch 1
     mysql-community*: provides mysql*, epoch 0 (*)

     If existing MySQL users are to remain on MySQL:
     real-mysql*:      virtual provides
     mariadb*:         provides real-mysql*, epoch 1
     mysql*            provides real-mysql*, epoch 0

Using alternatives could also be considered. In any case, the packages
have to be installable in parallel.

Regards,

Norvald H. Ryeng

(*) The name "MySQL" crashes with the standalone packages at
dev.mysql.com, and I think I read something about a problem with case
sensitive names in one of the mailing list threads. The software is
called "MySQL Community Server", so we suggest the "mysql-community"
prefix. The same prefix is already used by OpenSuSE.

[1]  
https://fedoraproject.org/wiki/Packaging:Conflicts#Common_Conflicting_Files_Cases_and_Solutions


More information about the devel mailing list