Skip to content
This repository has been archived by the owner on Sep 23, 2024. It is now read-only.
Carl George edited this page Feb 7, 2020 · 1 revision

This package provides MariaDB 10.3, based on the Fedora mariadb package.

Implementation

This package faced the same challenges as mariadb102. MariaDB 5.5 (EL7 stock version), 10.0, and 10.1 all provided libmysqlclient.so.18. This allowed us to easily swap stock mariadb-libs package for our mariadb100u-libs or mariadb101u-libs packages and not cause issues for software that builds against that library. In 10.2 and higher the library was renamed to libmariadb.so.3, so that approach no longer works. To make matters more complicated, while Fedora has split the configuration files out to mariadb-config, EL7 has the configuration files in the mariadb-libs package.

Here's how we have worked around these problems:

  • In mariadb100u and mariadb101u, all the packages were safe replacement packages, providing and conflicting with their equivalent stock name. Most mariadb103 packages are also safe replacement, but mariadb103-libs is parallel installable with stock mariadb-libs, in order to have both libmysqlclient.so.18 and libmariadb.so.3 at the same time. Search for the parallel_libs macro in the spec file for more details.

  • Since we're keeping mariadb-libs installed, and it contains the main configuration files, we disable the config package in mariadb103 and change requirements for /etc/my.cnf to stock mariadb-libs.

  • Stock mariadb-libs also contains files that have moved to the mariadb-common and mariadb-errmsg packages in Fedora. Thankfully these weren't an issue because stock mariadb-libs places these files in /usr/share/mysql, and the Fedora spec file puts them in /usr/share/mariadb.

Installation

Thanks to these changes, installation on systems that just have mariadb-libs installed (e.g. postfix dependency) is simple.

# yum install mariadb103-server

If you are switching from mariadb-server, mariadb100u-server, or mariadb101u-server, the easiest solution is to use the yum4 tech preview (a.k.a. dnf) with the --allowerasing flag.

dnf --allowerasing install mariadb103-server

If you don't want to use yum4/dnf, you can use any method that removes the conflicting packages in the same transaction, such as with yum swap or yum shell.

yum swap -- mariadb mariadb-server -- mariadb102-server
yum swap -- mariadb100u-config mariadb100u-server -- mariadb102-server
yum swap -- mariadb101u-config mariadb101u-server -- mariadb102-server
Clone this wiki locally