Contributions to MariaDB packaging are welcome! Just state your interest on the pkg-mysql-maint mailing list or send git pull requests directly.



* Complete Debian package listings: mariadb



5.5 Galera

10.0 Galera

10.1 (includes Galera WSREP consumer patches)

Galera package (WSREP provider)

MariaDB client LGPL version


Ubuntu inherits packages from Debian:

Note that Ubuntu automatically also provides debug packages. For details see

Ubuntu micro release procedure (security update):

Binaries for public testing

The directory is browseable and there you can find build logs and both binary and source packages. Build logs have the git hash appended so it is possible to track build logs per commit.

Latest test packages can be installed after adding the sources.list line corresponding to your distro:

  # Debian unstable, all packages in one repository
  deb sid-amd64/
  deb sid-i386/

  # Debian unstable, per-package repositories
  deb mariadb-10.0-sid-amd64/
  deb mariadb-10.0-sid-i386/

  # Debian stable
  deb mariadb-10.0-jessie-amd64/
  deb mariadb-10.0-jessie-i386/

  # Ubuntu latest LTS
  deb mariadb-5.5-trusty-amd64/
  deb mariadb-5.5-trusty-i386/
  deb mariadb-10.0-trusty-amd64/
  deb mariadb-10.0-trusty-i386/

For a full list of available repositories, please browse

There is also a Launchpad page that provides public build logs and testable binaries via PPA repository. See (link to 10.0 - other series also available)

Building yourself

Basically you can just run gbp-clone --pristine-tar git:// to check out the code in all branches and then run git-buildpackage  --git-pristine-tar to build directly on your own computer, on with --git-pbuilder to use separate chroot environments for installing build dependencies and building. Without pbuilder you need to manually install the build dependencies with apt-get.

See more commands in script at

Also see the debian/README.Maintaner file inside the package.

Packaging background

How MariaDB works

Regarding circular dependencies:

Regarding symbol and soname changes in MariaDB:

In the future it might be possible to run something like

   licensecheck --copyright -r . -c . | /usr/lib/cdbs/licensecheck2dep5 > /tmp/copyright

..but at the moment it does not work, so the license file is a hybrid with automation plus manual clean up.

Script license-reconcile can be used to lint the copyright file, but it cannot generate a correct file.

Related issue filed upstream:


Long-term items

  1. Create systemd scripts? Copy from mysql-5.6 package or from upstream MariaDB if closes

  2. In which package should the file live? Should that package depend also on mariadb-server and draw in all of server because the shared lib uses stuff from the server package?
  3. Drop old legacy: mysqld.sym.gz, INFO_SRC, INFO_BIN. Remove in rules legacy lines about STATIC_MYSQLD (was for autotools, does not work with cmake anymore)

  4. Rewrite parallel job support for cmake and skip old make style with -j and jobserver.

  5. Check if dirs files are really needed nowdays (e.g. mariadb-server-10.0.dirs)

  6. Use utf-8 as default in my.cnf as Gentoo does and most users probably want (instead of current latin-1)?

  7. Start using cyassl from Debian instead of bundled library (not possible according to upstream yet). Bundled YaSSL is used instead of OpenSSL.

  8. Add autopkg tests to detect changes introduced by other uploaded packages: (examples at

  9. Implement metadata.yml DEP12). Confirm with Duck that all URLs are functional.

  10. Review all install scripts (pre/post/inst/rm) and remove all legacy stuff and replace the long echos with file templates (or at least use printf instead of echo). This was postponed until mysql-5.5->5.6 transition is done and whole mysql-maint team can participate, as the install scripts are (almost) the same across all packages.

  11. Implement config and data files de-coupling across the MySQL variants, see

  12. Add question to installer to make feedback plugin opt-in very easy.
  13. Old hardening-wrapper supported PIE protection, but it does not work anymore with dpkg-buildflags. Research how hardening could be as optimal as possible now, see

  14. Use Travis CI for building and testing packages under development, e.g.