Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Background:
Packages built by MariaDB buildbot system can be seen here: http://ftp.rediris.es/mirror/MariaDB/mariadb-5.1.44b/kvm-deb-debian5-amd64/debs/binary/
Packages from OurDelta are here: http://nerdvana.us.mirror.ourdelta.org/deb/dists/lenny/mariadb-ourdelta/
MariaDB deb packages contain packages "mysql-common" and "libmysqlclient16". OurDelta additionally ships a "libmysqlclient15off" package.
This issue was in fact reported once, but we decided to ignore it then: https://bugs.launchpad.net/maria/+bug/481298
Problem:
Since this is the exact name of a package that already exists in Debian (the original mysql-common from MySQL) then this prevents MariaDB from being in a Debian repository.
The current package naming seems to have been chosen as a work around to solve some behavior where APT would prefer to install a MySQL package instead of an Ourdelta package (and this is inherited in current MariaDB packaging). (I will post in a comment an IRC discussion of the details with more info.)
Solution:
MariaDB must have unique package names and use Provides: and Conflicts: to properly replace existing MySQL packages. It is not a correct solution to produce packages that have the identical same name as the MySQL package.
There could be many different solutions. At the moment it is unclear why apt-get proposes to install a package that shouldn't even be considered since it "Conflict:"s with a package being installed instead. If this is true, it may be considered a bug in apt-get. (This needs to be re-verified as a first step of fixing this bug.)
Alternatively: for "mysql-common" we could decide that on Debian platforms we in fact "Depend:" on the original MySQL package and then provide additions in a "mariadb-common" package that installs additional configurations in /etc/mysql/conf.d/ and similarly we could omit to provide a libmysqlclient16 package at all.