We're updating the issue view to help you get more done.Learn more

.deb upgrade from mysql to mariadb fails due to apt-get considering it a downgrade

On Debian wheezy upgrade from mysql->mariadb fails like this:

# apt-get install mariadb-server-5.5

The following packages have unmet dependencies:
 mariadb-server-5.5 : Depends: mariadb-client-5.5 (>= 5.5.28-mariadb1~wheezy) but it is not going to be installed
                      Depends: mariadb-server-core-5.5 (>= 5.5.28-mariadb1~wheezy) but it is not going to be installed

The root cause is this:

# apt-get install libmariadbclient18                                                                                 ~
 libmariadbclient18 : Depends: libmysqlclient18 (= 5.5.28-mariadb1~wheezy) but 5.5.28+dfsg-1 is to be instahlled

I believe the problem is that apt-get considers 5.5.28+dfsg-1 a newer version
than 5.5.28-mariadb1~wheezy, and it will by default not do a downgrade to
satisfy a dependency.

A work-around is to ask for the "downgrade" explicitly:

# apt-get install mariadb-server-5.5 libmysqlclient18=5.5.28-mariadb1~wheezy

This problem becomes more of an issue due to Oracle keeping security patches
secrect. This forces distros to upgrade to latest upstream version in released
distros, which means we will more often get a newer mysql version on top of an
earlier mariadb version, causing this issue.

One fix may be to re-write the -mariadb1~wheezy suffix to something that
apt-get considers newer than +dfsg-1, then apt-get will automatically install
the replacement package as it does not consider it a downgrade.

This however does not help if the distro introduces eg. mysql 5.5.30 while the
mariadb repositories still have only 5.5.29 - then it will still be considered
a downgrade.

Status

Assignee

Kristian Nielsen

Reporter

Kristian Nielsen