On Thu, Jan 19, 2017 at 03:01:47PM +0000, Robie Basak wrote: > I wonder if we should have both mariadb-common and mysql-server-5.7 (ie. > everything that asks for a custom my.cnf symlink) declare a virtual > package? So add: > > Provides: mysql-my-cnf > Conflicts: mysql-my-cnf > > to both mariadb-common and to mysql-server-5.7. > > To be clear, mysql-common would not change. It would continue to provide > the "default" symlink for my.cnf for packages that want them, and we > should continue to negotiate any changes needed to that.
I haven't had any feedback on this proposal, so let's have some bugs open so it doesn't get forgotten. The rule would be: any package that arranges a /etc/mysql/my.cnf symlink, usually via /usr/share/mysql-common/configure-symlinks, MUST Provide and Conflict mysql-my-cnf, with the exception of mysql-common. This will ensure that only one of the MariaDB and MySQL my.cnf symlinks is active at once, since having both active is broken. This will mean that some combinations of MySQL+MariaDB will become impossible, but this a fundamental limitation anyway. Otto, you mentioned that MariaDB's client requires some MariaDB-specific configuration directives. With my scheme above, mysql-client-5.7 could still be concurrently installed with mariadb-client-10.1, since mysql-client-5.7 doesn't need anything special. This may break mysql-client-5.7 if it doesn't understand some MariaDB configuration specifics. If we find this to be the case, we could add a separate "mysql-client-5.7 Conflicts: mariadb-common" as necessary. This way we'd be expressing the exact limitations through dependencies, and allow all combinations that do actually work. This presumably can't go in during the stretch freeze, so is it time to branch off in git for stretch across mysql-defaults, mysql-5.7 (maybe not needed as it's not in stretch) and mariadb-10.1 as needed, so we can start committing changes for post-stretch?
signature.asc
Description: PGP signature