Debian 10 released with MariaDB 10.3

The Debian project announced their 15th release, code name Buster, on July 6th 2019. Debian 10 ships with MariaDB 10.3 and Galera. There is no separate MariaDB Connector C package, but instead MariaDB 10.3 includes MariaDB Connector C 3.0. Like most other popular Linux distributions, Debian prefers MariaDB over the Oracle owned alternative and this is now the second major release of Debian that only ships with MariaDB, and no MySQL at all. Anybody attempting to run apt install mysql-server will end up with MariaDB server instead and any upgrades from older MySQL versions to new MariaDB versions happen seamlessly, just like users have learnt to expect from apt.

According to Debian statistics, MariaDB 10.1 is currently the most popular MariaDB release but once systems start to upgrade to Debian 10 it is likely that MariaDB 10.3 will take the lead.

Popcon July 2019

In addition to the MariaDB plugins already in Debian 10 (Connect, OQGraph, TokuDB, Mroonga, Spider, GSSapi etc) there are some new plugins and tools as well, most notably RocksDB and mariadb-backup. In Debian 10 the legacy libmariadbclient18 is now gone, and everything that used to rely on libmariadbclient18 or libmysqlclient18 now depends on the libmariadb3 library from LGPL licensed MariaDB Connector C.

MariaDB 10.3 in Debian continues to ship the unix socket authentication mode for root accounts by default, like it has been in Debian since 2015. This was finally adopted upstream and has been generally available since MariaDB 10.4, so there will be less mismatch between future MariaDB versions that have the same version numbers but different distribution origins.

MariaDB 10.3.16 and Galera 25.3.26 will ship in next Debian stable point release

Even though Debian had MariaDB 10.3.16 uploaded a couple of days after the MariaDB version’s micro release, it was not included into Debian 10 during release freeze policies. The first Debian 10 maintenance release will however have MariaDB 10.3.16, or the latest micro release of MariaDB at the time. The same applies for Galera 25.3.26.

The exact details of what package versions are available and where, when they were uploaded, and other details can be seen on the Debian tracker pages:

There are also people working on officially including the MariaDB ODBC connector in Debian since May 2019, but it has not yet been uploaded on Debian.

New GitLab and GitLab-CI workflow used for MariaDB in Debian

The Debian MariaDB/MySQL packaging team migrated in January 2018 to Debian’s new source code hosting service, Salsa, which is based on GitLab. Since then, GitLab’s features have been heavily utilized to improve workflows and quality assurance procedures. Most importantly, a GitLab-CI pipeline was adopted in August 2018 for the MariaDB Server packaging repository in Debian, and later also adopted in the Galera and MariaDB Connector C Debian packaging repositories.

The continuous integration pipeline has been constantly expanded and today consists of 18 jobs that run thousands of tests. Tests include upstream MariaDB tests, but also Debian-specific tests to ensure the server and libraries build in different environments and are configured correctly so that nothing in Debian that relies on them would break. This has significantly helped the packagers in ensuring a very high quality end user experience for system administrators using Debian (or its derivatives, like Ubuntu) who install and upgrade MariaDB.

Debian Salsa Gitlab-CI pipelines for mariadb-10.3

Credits

Based on the git summaryof commits done in the MariaDB 10.3 series in Debian, the list of contributors is as follows:

mariadb-10.3
112 Otto Kekäläinen 84.2%
7 Andreas Beckmann 5.3%
3 Faustin Lammler 2.3%
2 Julien Muchembled 1.5%
2 Samuel Thibault 1.5%
1 Adrian Bunk 0.8%
1 Gregor Riepl 0.8%
1 Helge Deller 0.8%
1 Helmut Grohne 0.8%
1 Olaf van der Spek 0.8%
1 Scott Kitterman 0.8%
1 Vicențiu Ciorbaru 0.8%

galera-3
107 Otto Kekäläinen 93.0%
3 Samuel Thibault 2.6%
1 Daniel Kahn Gillmor 0.9%
1 Dimitri John Ledkov 0.9%
1 Giovanni Mascellani 0.9%
1 Logan Rosen 0.9%

Thanks to the adoption of Salsa/GitLab, making contributions is now much easier for the MariaDB packaging code in Debian. See the Debian wiki page on contributing to MariaDB for details.

Next steps for MariaDB in Debian

While shipping security updates, fixing bugs and other business as usual for old releases continues, the release of Debian 10 means the release cycle for Debian 11 has now begun and there is a window of opportunity to make larger changes. Natural goals would of course be to upload MariaDB 10.4 and Galera 4 into Debian and plan around the upgrade automation, in particular since moving from Galera 3 to Galera 4 will require some special procedures for sysadmins.

Since MariaDB 10.4 upstream finally adopted unix authentication by default, as mentioned above, there is now an opportunity to proceed with upstreaming many other smaller changes made in Debian into upstream MariaDB and reducing the differences in the codebases. Down the road, slashing the delta between the two can open up surprising opportunities to be more effective in parallel work and a more integrated workflow and testing pipeline. More about that will be presented in blog articles later on.

Debconf19 next week

Next week the annual Debian developers’ conference Debconf19 will take place in Curitiba, Brazil. There will also be a talk on MariaDB packaging in Debian and some tangential talks about how the use of GitLab CI improved MariaDB’s quality in Debian, and on best practices around Salsa/GitLab CI systems.

If you want to participate in MariaDB in Debian but cannot attend, you can also chip in on the MariaDB Zulip chat, join the packaging mailing list in Debian or simply file bugs in Debian about the MariaDB packaging.