On Tuesday 01 November 2011 16:28:01 Kristian Nielsen wrote:
Marian Marinov <mm@yuhu.biz> writes:
I'm trying to build MariaDB packages for CentOS. But the problem I have is that the Policy of the distro does not allow packages that are drop-in replacements of core packages. Meaning that I can not simply build MariaDB which will provide libmysqlclient and mysql binaries.
Can you share with me what is the situation over in the Debian/Ubuntu camp ?
In Debian/Ubuntu, there are no "Official" MariaDB packages yet. The ones we provide do replace the standard mysql packages, which is possible since there are no policies enforced for 3rd-party repositories.
It will need to be fixed eventually, of course. The normal way I think in Debian is to have MariaDB and MySQL as alternatives, just like Some versions of Ubuntu/Debian have mysql-5.0 and mysql-5.1 as alternatives (can install one or the other, but not both).
It is not 100% clear to me what your situation is (I'm not much familiar with CentOS or RPM). Are you saying that the MariaDB packages you create *must* be possible to install alongside the Official CentOS packages?
In that case I suppose you have little option but to run mariadb on a different port, different data directory, different socket, different binary names. It seems to be sub-optimal for users, as they would need to reconfigure anything they want to use with MariaDB away from the standard port/names in the MySQL world.
Still, this is perfectly possible to do. Configure a non-standard port in your my.cnf, build and install mariadb with a different --prefix, /opt/mariadb or whatever.
What I'm doing at the moment with Percona is exactly that. I change the Makefiles and patch the code to produce binaries and libraries that are completely different. And what I will do is create a simple RPM package that when installed will replace the MySQL package configuration and init script, and this way effectively giving the user easy way to replace the mysql packages installed on the machine.
- Kristian.
-- Best regards, Marian Marinov