[debian-mysql] Fixing the jessie->stretch upgrade path

Norvald H. Ryeng norvald.ryeng at oracle.com
Fri May 12 11:31:28 UTC 2017

On Fri, 12 May 2017 11:26:13 +0200
Ondřej Surý <ondrej at sury.org> wrote:

> Dear release team and fellow MySQL/MariaDB maintainers,
> the situation in stretch in regards to clean upgrade path from jessie
> is a little bit unfortunate. It works for most cases when something
> depends on default-mysql-server and pulls it as a dependency. But in
> situations where mysql-server was the top dependency, it simply
> uninstalls mysql-server-5.5 without any replacement.
> I understand the reasons why we are here, but the situation where user
> needs to do:
> apt-get update
> # apt-get upgrade
> apt-get install default-mysql-server
> apt-get dist-upgrade
> is very inconvenient for the users and I foresee this will cause a lot
> of complaints, because it's quite common to run just "mysql-server" on
> the server.
> Therefore I am proposing a one time fix specifically targeted at
> stretch. I would like to prepare 'mysql-transitional' package that
> will create a couple of dummy/transitional packages structured like
> this:
> mysql-server depends on default-mysql-server
> mysql-client depends on default-mysql-client
> The version would be 5.5.999+mariadb, so it is always higher than
> version in jessie, but always lower than version in sid, as I don't
> want force epoch on mysql-5.7.

I agree that this sounds like it will work for stretch, and it's much
better than bumping epoch on mysql-5.7.

As you say, it's a one time fix, but I'm a bit concerned about what
happens when those packages again are provided by MySQL. Let's think
through what will happen in buster. There are three options:

1) Buster contains only MariaDB. Will these packages also be in buster?
If not, what happens on upgrade from stretch to buster? Will we have
the same problem again?

2) Buster contains both MySQL and MariaDB. MariaDB is default. The
mysql-server and mysql-client packages are provided by MySQL, but
default-mysql-server and default-mysql-client point to MariaDB. How
will the upgrade go? Some users have installed mysql-server or
mysql-client explicitly, while others have installed a different
package that depends on default-mysql-server or default-mysql-client.

3) Buster contains both MySQL and MariaDB. MySQL is default. The
mysql-server and mysql-client packages are provided by MySQL, and the
default-mysql-server and default-mysql-client packages point to MySQL.
I assume the dist-upgrade will move users back to MySQL, but will there
be other problems?

We should think through these scenarios so that we're sure we're not
creating bigger problems for ourselves in the future.

Best regards,

Norvald H. Ryeng

More information about the pkg-mysql-maint mailing list