See new wiki page at https://salsa.debian.org/mariadb-team/mariadb-server/-/wikis/MariaDB-in-Debian
Since 2013 there has been a schema in place so that packages can define that they can be satisfied with any MySQL variant using virtual-mysql-* dependencies.
Since 2016 June a new schema has been introduced, where packages can be defined that they depend on exactly one MySQL variant that the release team has decided is default. These default-mysql-* metapackages are provided by the mysql-defaults package. For details, see https://lists.debian.org/debian-devel-announce/2016/09/msg00000.html
In 2026, a plan was announced on debian-devel@ to dismantle the default-mysql-* virtual package construct provided by the mysql-defaults source package. With the recent releases of MySQL 9.7 and MariaDB 12.3, there is now enough divergence between the two codebases to warrant dismantling this metapackage in the Fork (Debian 14) cycle.
The change in 2016:
- BEFORE: Build-Depends: libmysqlclient-dev
- AFTER: Build-Depends: default-libmysqlclient-dev
- BEFORE: Depends: mysql-server | virtual-mysql-server OR Depends: mariadb-server | virtual-mysql-server
- AFTER: Depends: default-mysql-server | virtual-mysql-server
- BEFORE: Depends: mysql-client | virtual-mysql-client OR Depends: mariadb-client | virtual-mariadb-client
- AFTER: Depends: default-mysql-client | default-mysql-client
In 2026 we are asking maintainers to switch defaut-mysql-* directly to the MariaDB equivalent (libmariadb-dev, libmariadb-dev-compat, mariadb-client, mariadb-server, etc). For example 'Recommends: mariadb-server'.
