← Back to team overview

ourdelta-developers team mailing list archive

[Bug 463161] Re: Centos MariaDB package dependency problems for libmysqlclient15.so

 

Can't quite go with the exact picture from the description, but we've
got a solution and are implementing it.

** Changed in: ourdelta
     Assignee: (unassigned) => Arjen Lentz (arjen-lentz)

** Changed in: ourdelta
       Status: New => Confirmed

** Changed in: ourdelta
       Status: Confirmed => Triaged

-- 
Centos MariaDB package dependency problems for libmysqlclient15.so
https://bugs.launchpad.net/bugs/463161
You received this bug notification because you are a member of OurDelta-
developers, which is the registrant for OurDelta.

Status in Maria: New
Status in OurDelta - Builds for MySQL,Maria: Triaged

Bug description:
Here is my understanding of the problem after some discussions. Someone please
correct me if anything is incorrect or incomplete.

On Centos 5, there is a base package called "mysql". This package includes
libmysqlclient.so.15, which is a dependency of many other packages (anything
that needs to connect to MySQL, for example DBD::mysql).

The base package "mysql" also includes client programs, like /usr/bin/mysql.

Since MariaDB also includes /usr/bin/mysql, it conflicts with the base "mysql"
package and has to replace it. However, MariaDB does not include
libmysqlclient.so.15. It has libmysqlclient16.so (difference between MySQL 5.0
and MySQL 5.1).

So the root problem seems to be that the base "mysql" package in Centos should
have been split, with a seperate package 'libmysqlclient15' containing the
client library, like it is done in eg. Ubuntu. Since this is not the case, any
package that wants to replace /usr/bin/mysql needs to somehow provide
libmysqlclient.so.15. Otherwise any installed 3rd party package build against
the libmysqlclient.so.15 will break when installing MariaDB.

Proposed solution:

Ourdelta already provides builds based on MySQL 5.0, which includes
libmysqlclient.so.15. In these builds, the libmysqlclient.so.15 could be split
into a separate package libmysqlclient15-ourdelta (say), which does _not_
contain any other binaries like /usr/bin/mysql. Or maybe this split is already
done, don't know.

Then the MariaDB packages could provide/replace the base 'mysql' package, but
depend on 'libmysqlclient15-ourdelta' (or whatever it is called). This would
then make sure that both libmysqlclient.so.15 (for old packages) and
libmysqlclient.so.16 (for MariaDB stuff) are available.

The reason I suggest pulling in a 5.0-based ourdelta package from a separate
build is that we need the MariaDB packaging fully automated in Buildbot. This
is much harder if we have to pull in some magic .so file from another location
or build a separate mysql 5.0 tree as part of the 5.1 build.



References