On Fri, 12 May 2017 14:09:02 +0200 Ondřej Surý <ond...@sury.org> wrote:
> On Fri, May 12, 2017, at 13:31, Norvald H. Ryeng wrote: > > On Fri, 12 May 2017 11:26:13 +0200 > > Ondřej Surý <ond...@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: > > And all of them would be easily solved by having the > mariadb-server-10.X and mariadb-client-10.X Conflicts with > mysql-server and mysql-client. And as long as MySQL and MariaDB are not co-installable, they should conflict. But below you say we must make the packages co-installable to have both I'm a bit confused. Can you please elaborate? > > 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? > > default-mysql-* will already be installed, it will pull new > mariadb-*-10.x packages and mysql-server/mysql-client will be removed. > Nothing must depend on mysql-server/mysql-client already, so those > will be just dangling packages ready to be removed. > > > 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. > > I don't think this is going to happen, but if it does, we will have to > make MariaDB and MySQL coinstallable with each other, because the > packages might depend on specific flavour. The default is to include MySQL in buster. The release team only made a decision about stretch, so unless they make a new decision, MySQL will be in buster. Therefore, we have to handle this case. That said, I definitely wouldn't mind making the packages co-installable, no matter what ends up in which version of Debian. Best regards, Norvald H. Ryeng