Merge downstream Debian/Ubuntu packaging into upstream MariaDB


== Motivation ==

Merge downstream .deb-packaging into upstream MariaDB to unify, streamline and ease future release packaging. This will also fix some packaging errors in current deb-packages.

== Patch description ==

List of notable changes:

  • Completely new Debian packaging standard (3.0 quilt) including rules file, patch conventions and .files -> .install file listing conventions

  • The will no longer be a debian/dist subfolder and the packaging of Debian an Ubuntu will be unified (= Debian will ship with AppArmor files included)

  • Support for Debian releases before Wheezy (7) and Ubuntu releases before Precise (12.04) will be dropped

The upstream MariaDB contents of debian/* will not be fully identical to the downstream Debian/Ubuntu one.

List of intended differences between Debian master and MariaDB master regarding debian/ contents:

  • control file: maintainer, uploaders, VCS and browser links

  • omitted packages (not allowed in Debian): libmariadbclient18, libmysqlclient18, libmariadbclient-dev, mysql-common

  • omitted plugins (problematic in Debian): Handler socket, TokuDB, Mroonga, Cassandra

  • keep in repo

To close this bug please:

1) Merge selected parts of debian/* from to via pull requests arriving from branch ok-debpkg at

2) Backport form MariaDB development head to 10.1, 10.0 and maybe even 5.5 commits that fix individual issues.

== Quality assurance ==

The new debian/* contents represents the state of the art of Debian packaging. The mariadb-5.5 and mariadb-10.0 has passed all Debian quality assurance and landed in the official Debian repositories. More details at

These same packages have also gone downstream to Ubuntu, has passed Ubuntu QA and are included since the Ubuntu 14.04 release.

Buildbot test for ok-debpkg branch:

== Roll-out planning ==

This merge should be safe to release with 10.1. All new installs and upgrades using the repo or mixing it with official Debian or Ubuntu repository contents is expected to work.

Below are the different scenarios how releasing the new packging at will affect current installs/upgrades:

A) If users currently have a repo enabled, those packages will have a + in their version number. Debian package manager will always consider e.g. 10.1.6+maria as more recent than 10.1.6 from the native repositories. Therefore people having repositories will always get primarly the packages from repositories. It is very unlikely that a Debian repository would ever have a more recent release than in (e.g. 10.1.7 would override 10.1.6+maria, but that is not likely to take place as always releases first).

B) The new packaging is designed and tested that it allows seamless upgrades from old deb packaging generation to new generation. Whether the new packaging is from or distro repositories does not matter.

C) Backwards works only partially, but is a rare case (e.g. current Ubuntu users trying to upgrade from new style debs 10.0 to repo old style debs 10.0 will see issues, e.g. MDEV-5977). As soon as this merge is done and publishes packages using the new packaging this corner case is fixed.

D) If users remove the from their install, they will automatically have their 10.1.6+maria updated to Debian/Ubuntu native 5.5.39 once it is released in Debian.

E) Like previously, upgrading from MySQL 5.5 to MariaDB 5.5 works seamlessly and backwards also. Updating from MariaDB 5.5 to 10.0 works seamlessly but backwards will have issues (downgrade flag, InnoDB log size mismatch etc) the package manager will not solve automatically. If users dump and import data manually, and in between completely purge and install the packages, then users can always migrate to whatever version.


Otto Kekäläinen


Otto Kekäläinen



Fix versions