Control: tags -1 -patch > Solution (should work for stretch release cycle and probably beyond): > > Firstly, the db_critical input should be a boolean question > (defaulting to false) rather than a note (and it should perhaps > mention /etc/mysql/debian.cnf as well, but I'm not sure about that), > to allow the sysadmin to bail out. > > If the sysadmin does bail out, then the preinst will fail and the > installation will abort. Even though the mysql-server packages will > have been removed by this time (because of the package conflicts), it > is much easier for the sysadmin to just (re)install mysql-5.7 than to > have to undo the mariadb-server installation in addition.
Actually at one point it was like this, but having dpkg fail is a really bad user experience because then all operations are stuck and dpkg will be screaming on all operations and hindering most install/remove operations. It is better to enable everything else to pass (e.g a apt upgrade or dist-upgrade) to complete and let users fix one issue at the time afterwards. The root of this is the flags system, that has been in MySQL Debian packaging for years already. The flags system is brittle and needs to be replaced by something robust, as designed in our previous sprint (https://pad.ubuntu.com/mysql-sprint) and tracked in the Launchpad bug at https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1490071

