diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b9b7fd6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/mariadb-10.3.11.tar.gz
diff --git a/.mariadb.metadata b/.mariadb.metadata
new file mode 100644
index 0000000..503a619
--- /dev/null
+++ b/.mariadb.metadata
@@ -0,0 +1 @@
+7b75d7ec06642f26ce197e07f5ba16283061cc87 SOURCES/mariadb-10.3.11.tar.gz
diff --git a/SOURCES/LICENSE.clustercheck b/SOURCES/LICENSE.clustercheck
new file mode 100644
index 0000000..609015d
--- /dev/null
+++ b/SOURCES/LICENSE.clustercheck
@@ -0,0 +1,27 @@
+Copyright (c) 2012-2014, Olaf van Zandwijk
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+   may be used to endorse or promote products derived from this software without
+   specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/SOURCES/README.mysql-docs b/SOURCES/README.mysql-docs
new file mode 100644
index 0000000..dd894a7
--- /dev/null
+++ b/SOURCES/README.mysql-docs
@@ -0,0 +1,4 @@
+The official MySQL documentation is not freely redistributable, so we cannot
+include it in RHEL or Fedora.  You can find it on-line at
+
+http://dev.mysql.com/doc/
diff --git a/SOURCES/README.mysql-license b/SOURCES/README.mysql-license
new file mode 100644
index 0000000..ceabbcf
--- /dev/null
+++ b/SOURCES/README.mysql-license
@@ -0,0 +1,9 @@
+MySQL is distributed under GPL v2, but there are some licensing exceptions
+that allow the client libraries to be linked with a non-GPL application,
+so long as the application is under a license approved by Oracle.
+For details see
+
+http://www.mysql.com/about/legal/licensing/foss-exception/
+
+Some innobase code from Percona and Google is under BSD license.
+Some code related to test-suite is under LGPLv2.
diff --git a/SOURCES/README.wsrep_sst_rsync_tunnel b/SOURCES/README.wsrep_sst_rsync_tunnel
new file mode 100644
index 0000000..0222b34
--- /dev/null
+++ b/SOURCES/README.wsrep_sst_rsync_tunnel
@@ -0,0 +1,132 @@
+socat tunnel for encrypted rsync SST
+====================================
+
+`wsrep_sst_rsync_tunnel` is an extension of the rsync-based [SST](http://galeracluster.com/documentation-webpages/glossary.html#term-state-snapshot-transfer)
+implementation that ships with mariadb. Its purpose is to encrypt
+communication between the donor and the joiner during an SST.
+
+Encryption is implemented by means of a socat tunnel, using OPENSSL
+addresses. It can be configured via the regular openssl flags exposed
+by socat.
+
+
+## How to configure the script
+
+This SST script can configured by setting a few keys in your favorite
+mariadb option file in addition to the usual galera settings.
+
+    [mysqld]
+    ...
+    bind_address=<node-name>
+    wsrep_sst_method=rsync_tunnel
+    ...
+    
+    [sst]
+    tca=/path/to/your/ca-file.crt
+    tcert=/path/to/node/certificate.crt
+    tkey=/path/to/node/key.key
+    sockopt=<openssl-address-options-as-per-socat-manual>
+
+When a joiner node requests an SST, `wsrep_sst_rsync_tunnel` uses
+socat to listen to incoming SSL connections on port 4444 in lieu of
+the original rsync daemon. Received data will be forwarded to the
+rscynd daemon started locally to replicate the database.
+
+When a donor node serves the SST, `wsrep_sst_rsync_tunnel` makes
+a series of rsync calls that target a locally started socat daemon.
+The daemon tunnels all rsync traffic into an encrypted SSL connection
+that targets the joiner's end of the socat tunnel.
+
+Encryption parameters are specified under the `[sst]` group in the
+mariadb option file, where `tkey` and `tcert` are respectively the key
+and the certificate that are used by both sides of the socat tunnel.
+Each node typically has a different key and cert. Both key and
+certificate can be combined into a single PEM file and referenced by
+`tcert`. Option `tca` holds a list of the trusted signing
+certificates.
+
+In case you need to tweak the creation of the SSL connection, you can
+pass valid socat options (as per socat manual) via the `sockopt` key.
+For debugging purpose, the exact socat command that is being executed
+shows up in the mariadb log file.
+
+Note that socat verifies that the certificate's commonName matches
+that of the host that is being targeted. The target name comes from
+the value configured in `bind_address`, so it's important that it
+matches the certificate's commonName. An IP address can be used for
+`bind_address`, but you may get into trouble in case different
+hostnames resolve to the same IP (e.g. multiple networks per host).
+
+
+## Examples of use
+
+Suppose you're running a 3-node galera cluster
+`node1.my.cluster`, `node2.my.cluster`, `node3.my.cluster`.
+
+### Scenario: using self-signed certificates
+
+On each node, create a key and a certificate, and bundle them into a
+single PEM file. For instance on `node1.my.cluster`:
+
+    openssl genrsa -out /tls/mysql-$(hostname -f).key 2048
+    openssl req -new -key /tls/mysql-$(hostname -f).key -x509 -days 365000 -subj "/CN=$(hostname -f)" -out /tls/mysql-$(hostname -f).crt -batch
+    cat /tls/mysql-$(hostname -f).key /tls/mysql-$(hostname -f).crt > /tls/mysql.pem
+
+Then, on each node, create a cafile that will contain all the certs to
+trust:
+
+    for n in node1.my.cluster node2.my.cluster node3.my.cluster; do
+       ssh $n 'cat /tls/mysql-$(hostname -f).crt' >> /tls/all-mysql.crt
+    done
+
+Once you have those two files on each host, you can configure the SST
+appropriately. For instance from `/etc/my.cnf.d/galera.cnf`:
+
+    [mysqld]
+    ...
+    
+    [sst]
+    tca=/tls/all-mysql.crt
+    tcert=/tls/mysql.pem
+
+### Scenario: using self-signed certificates, without verification
+
+By default, when socat tries to establish a SSL connection to a peer,
+it also verifies that it can trust the peer's certificate. If for some
+reason you need to disable that feature, you can amend the previous
+configuration with a sockopt option:
+
+    [mysqld]
+    ...
+    
+    [sst]
+    tca=/tls/all-mysql.crt
+    tcert=/tls/mysql.pem
+    sockopt="verify=0"
+
+The associated sockopt value is passed to socat when
+the donor or the joiner configures his part of the tunnel.
+
+Note: please do not do so in production, this is inherently insecure
+as you will not verify the identity of the peer you're connecting to!
+
+### Scenario: using certificates from a CA
+
+Suppose you have a FreeIPA service which generated a key file and a
+certificate file for the three galera nodes, respectively located at
+/tls/mysql.key and /tls/mysql.crt.
+
+Assuming that the certificate for the FreeIPA server is available at
+/etc/ipa/ca.crt, you can configure you galera servers as follows:
+
+    [sst]
+    tca=/etc/ipa/ca.crt
+    tcert=/tls/mysql.crt
+    tkey=/tls/mysql.key
+
+## License
+
+Copyright © 2017 [Damien Ciabrini](https://github.com/dciabrin).
+This work is derived from the original `wsrep_rsync_sst`, copyright
+© 2010-2014 [Codership Oy](https://github.com/codership).
+Released under the GNU GPLv2.
diff --git a/SOURCES/clustercheck.sh b/SOURCES/clustercheck.sh
new file mode 100644
index 0000000..782dbb6
--- /dev/null
+++ b/SOURCES/clustercheck.sh
@@ -0,0 +1,89 @@
+#!/bin/bash
+#
+# Script to make a proxy (ie HAProxy) capable of monitoring Galera cluster nodes properly
+#
+# Author: Olaf van Zandwijk <olaf.vanzandwijk@nedap.com>
+# Author: Raghavendra Prabhu <raghavendra.prabhu@percona.com>
+# Author: Ryan O'Hara <rohara@redhat.com>
+#
+# Documentation and download: https://github.com/olafz/percona-clustercheck
+#
+# Based on the original script from Unai Rodriguez
+#
+
+if [ -f @INSTALL_SYSCONFDIR@/sysconfig/clustercheck ]; then
+    . @INSTALL_SYSCONFDIR@/sysconfig/clustercheck
+fi
+
+MYSQL_USERNAME="${MYSQL_USERNAME-clustercheckuser}"
+MYSQL_PASSWORD="${MYSQL_PASSWORD-clustercheckpassword!}"
+MYSQL_HOST="${MYSQL_HOST:-127.0.0.1}"
+MYSQL_PORT="${MYSQL_PORT:-3306}"
+ERR_FILE="${ERR_FILE:-/dev/null}"
+AVAILABLE_WHEN_DONOR=${AVAILABLE_WHEN_DONOR:-0}
+AVAILABLE_WHEN_READONLY=${AVAILABLE_WHEN_READONLY:-1}
+DEFAULTS_EXTRA_FILE=${DEFAULTS_EXTRA_FILE:-@INSTALL_SYSCONFDIR@/my.cnf}
+
+#Timeout exists for instances where mysqld may be hung
+TIMEOUT=10
+
+if [[ -r $DEFAULTS_EXTRA_FILE ]];then
+    MYSQL_CMDLINE="mysql --defaults-extra-file=$DEFAULTS_EXTRA_FILE -nNE \
+                    --connect-timeout=$TIMEOUT \
+                    --user=${MYSQL_USERNAME} --password=${MYSQL_PASSWORD} \
+                    --host=${MYSQL_HOST} --port=${MYSQL_PORT}"
+else
+    MYSQL_CMDLINE="mysql -nNE --connect-timeout=$TIMEOUT \
+                    --user=${MYSQL_USERNAME} --password=${MYSQL_PASSWORD} \
+                    --host=${MYSQL_HOST} --port=${MYSQL_PORT}"
+fi
+#
+# Perform the query to check the wsrep_local_state
+#
+WSREP_STATUS=$($MYSQL_CMDLINE -e "SHOW STATUS LIKE 'wsrep_local_state';" \
+    2>${ERR_FILE} | tail -1 2>>${ERR_FILE})
+
+if [[ "${WSREP_STATUS}" == "4" ]] || [[ "${WSREP_STATUS}" == "2" && ${AVAILABLE_WHEN_DONOR} == 1 ]]
+then
+    # Check only when set to 0 to avoid latency in response.
+    if [[ $AVAILABLE_WHEN_READONLY -eq 0 ]];then
+        READ_ONLY=$($MYSQL_CMDLINE -e "SHOW GLOBAL VARIABLES LIKE 'read_only';" \
+                    2>${ERR_FILE} | tail -1 2>>${ERR_FILE})
+
+        if [[ "${READ_ONLY}" == "ON" ]];then
+            # Galera cluster node local state is 'Synced', but it is in
+            # read-only mode. The variable AVAILABLE_WHEN_READONLY is set to 0.
+            # => return HTTP 503
+            # Shell return-code is 1
+            echo -en "HTTP/1.1 503 Service Unavailable\r\n"
+            echo -en "Content-Type: text/plain\r\n"
+            echo -en "Connection: close\r\n"
+            echo -en "Content-Length: 35\r\n"
+            echo -en "\r\n"
+            echo -en "Galera cluster node is read-only.\r\n"
+            sleep 0.1
+            exit 1
+        fi
+    fi
+    # Galera cluster node local state is 'Synced' => return HTTP 200
+    # Shell return-code is 0
+    echo -en "HTTP/1.1 200 OK\r\n"
+    echo -en "Content-Type: text/plain\r\n"
+    echo -en "Connection: close\r\n"
+    echo -en "Content-Length: 32\r\n"
+    echo -en "\r\n"
+    echo -en "Galera cluster node is synced.\r\n"
+    sleep 0.1
+    exit 0
+else
+    # Galera cluster node local state is not 'Synced' => return HTTP 503
+    # Shell return-code is 1
+    echo -en "HTTP/1.1 503 Service Unavailable\r\n"
+    echo -en "Content-Type: text/plain\r\n"
+    echo -en "Connection: close\r\n"
+    echo -en "Content-Length: 36\r\n"
+    echo -en "\r\n"
+    echo -en "Galera cluster node is not synced.\r\n"
+    sleep 0.1
+    exit 1
+fi
diff --git a/SOURCES/mariadb-annocheck.patch b/SOURCES/mariadb-annocheck.patch
new file mode 100644
index 0000000..d7456a4
--- /dev/null
+++ b/SOURCES/mariadb-annocheck.patch
@@ -0,0 +1,13 @@
+Harden the "hardened" flags even more to comply with RHEL8 security rules
+
+--- mariadb-10.3.10/CMakeLists.txt	2018-10-02 11:45:39.000000000 +0200
++++ mariadb-10.3.10/CMakeLists.txt_patched	2018-11-08 03:48:01.713969313 +0100
+@@ -226,7 +226,7 @@ IF(NOT WITH_TSAN)
+     # security-enhancing flags
+     MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
+     MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now")
+-    MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
++    MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector-strong --param=ssp-buffer-size=4")
+     MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
+   ENDIF()
+ ENDIF()
diff --git a/SOURCES/mariadb-covscan.patch b/SOURCES/mariadb-covscan.patch
new file mode 100644
index 0000000..2960d62
--- /dev/null
+++ b/SOURCES/mariadb-covscan.patch
@@ -0,0 +1,39 @@
+Error: SHELLCHECK_WARNING:
+/usr/bin/mysql_install_db:431:10: warning: Remove backticks to avoid executing output. [SC2092]
+#  429|     if test ! -d "$dir"
+#  430|     then
+#  431|->     if ! `mkdir -p "$dir"`
+#  432|       then
+#  433|         echo "Fatal error Can't create database directory '$dir'"
+--- mariadb-10.3.10/scripts/mysql_install_db.sh	2018-10-02 11:45:42.000000000 +0200
++++ mariadb-10.3.10/scripts/mysql_install_db.sh_patched	2018-11-14 10:06:54.868469138 +0100
+@@ -428,7 +428,7 @@ for dir in "$ldata" "$ldata/mysql"
+ do
+   if test ! -d "$dir"
+   then
+-    if ! `mkdir -p "$dir"`
++    if ! mkdir -p "$dir"
+     then
+       echo "Fatal error Can't create database directory '$dir'"
+       link_to_help
+
+
+
+Error: SHELLCHECK_WARNING:
+/usr/bin/mysqld_safe:716:8: warning: Remove backticks to avoid executing output. [SC2092]
+#  714|   if [ ! -d $mysql_unix_port_dir ]
+#  715|   then
+#  716|->   if ! `mkdir -p $mysql_unix_port_dir`
+#  717|     then
+#  718|       log_error "Fatal error Can't create database directory '$mysql_unix_port'"
+--- mariadb-10.3.10/scripts/mysqld_safe.sh	2018-10-02 11:45:42.000000000 +0200
++++ mariadb-10.3.10/scripts/mysqld_safe.sh_patched	2018-11-14 10:10:45.325464636 +0100
+@@ -713,7 +713,7 @@ safe_mysql_unix_port=${mysql_unix_port:-
+ mysql_unix_port_dir=`dirname $safe_mysql_unix_port`
+ if [ ! -d $mysql_unix_port_dir ]
+ then
+-  if ! `mkdir -p $mysql_unix_port_dir`
++  if ! mkdir -p $mysql_unix_port_dir
+   then
+     log_error "Fatal error Can't create database directory '$mysql_unix_port'"
+     exit 1
diff --git a/SOURCES/mariadb-logrotate.patch b/SOURCES/mariadb-logrotate.patch
new file mode 100644
index 0000000..fd58c42
--- /dev/null
+++ b/SOURCES/mariadb-logrotate.patch
@@ -0,0 +1,77 @@
+Adjust the mysql-log-rotate script in several ways:
+
+* Use the correct log file pathname for Red Hat installations.
+* Enable creation of the log file by logrotate (needed since
+  /var/log/ isn't writable by mysql user); and set the same 640
+  permissions we normally use.
+* Comment out the actual rotation commands, so that user must edit
+  the file to enable rotation.  This is unfortunate, but the fact
+  that the script will probably fail without manual configuration
+  (to set a root password) means that we can't really have it turned
+  on by default.  Fortunately, in most configurations the log file
+  is low-volume and so rotation is not critical functionality.
+
+See discussions at RH bugs 799735, 547007
+* Note they are from Fedora 15 / 16
+
+Update 3/2017
+* it would be big unexpected change for anyone upgrading, if we start shipping it now.
+  Maybe it is good candidate for shipping with MariaDB 10.2 ?
+* the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost
+  during flushing, the operation is not atomic.
+  We should not ship it in that state
+
+Update 6/2018
+* the SIGHUP causes server to flush all logs. No password admin needed, the only constraint is
+  beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can.
+* Submited as PR: https://github.com/MariaDB/server/pull/807
+
+--- mariadb-10.3.7/support-files/mysql-log-rotate.sh	2018-05-23 22:38:46.000000000 +0200
++++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched	2018-06-27 12:11:23.705719826 +0200
+@@ -1,25 +1,12 @@
+ # This logname can be set in /etc/my.cnf
+ # by setting the variable "err-log"
+-# in the [safe_mysqld] section as follows:
++# in the [mysqld] section as follows:
+ #
+-# [safe_mysqld]
+-# err-log=@localstatedir@/mysqld.log
+-#
+-# If the root user has a password you have to create a
+-# /root/.my.cnf configuration file with the following
+-# content:
+-#
+-# [mysqladmin]
+-# password = <secret> 
+-# user= root
+-#
+-# where "<secret>" is the password. 
+-#
+-# ATTENTION: This /root/.my.cnf should be readable ONLY
+-# for root !
++# [mysqld]
++# log_error=@LOG_LOCATION@
+ 
+-@localstatedir@/mysqld.log {
+-        # create 600 mysql mysql
++@LOG_LOCATION@ {
++        create 600 mysql mysql
+         notifempty
+ 	daily
+         rotate 3
+@@ -27,11 +14,9 @@
+         compress
+     postrotate
+ 	# just if mysqld is really running
+-	if test -x @bindir@/mysqladmin && \
+-	   @bindir@/mysqladmin ping &>/dev/null
+-	then
+-	   @bindir@/mysqladmin --local flush-error-log \
+-              flush-engine-log flush-general-log flush-slow-log
+-	fi
++        if [ -e @PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid ]
++        then
++           kill -1 $(<@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid)
++        fi
+     endscript
+ }
diff --git a/SOURCES/mariadb-ownsetup.patch b/SOURCES/mariadb-ownsetup.patch
new file mode 100644
index 0000000..23dcba8
--- /dev/null
+++ b/SOURCES/mariadb-ownsetup.patch
@@ -0,0 +1,31 @@
+diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt
+--- mariadb-10.1.8/support-files/CMakeLists.txt.p9	2015-11-03 11:38:46.029139464 +0100
++++ mariadb-10.1.8/support-files/CMakeLists.txt	2015-11-03 11:41:07.107605055 +0100
+@@ -62,6 +62,7 @@ IF(UNIX)
+   ENDIF()
+ 
+   CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY)
++  CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY)
+   INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development)
+ 
+   INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
+diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf
+--- mariadb-10.1.8/support-files/rpm/server.cnf.p9	2015-10-15 17:44:19.000000000 +0200
++++ mariadb-10.1.8/support-files/rpm/server.cnf	2015-11-03 11:38:25.228070808 +0100
+@@ -9,7 +9,16 @@
+ [server]
+ 
+ # this is only for the mysqld standalone daemon
++# Settings user and group are ignored when systemd is used.
++# If you need to run mysqld under a different user or group,
++# customize your systemd unit file for mysqld/mariadb according to the
++# instructions in http://fedoraproject.org/wiki/Systemd
+ [mysqld]
++datadir=@MYSQL_DATADIR@
++socket=@MYSQL_UNIX_ADDR@
++log-error=@LOG_LOCATION@
++pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid
++
+ 
+ #
+ # * Galera-related settings
diff --git a/SOURCES/mariadb-scripts.patch b/SOURCES/mariadb-scripts.patch
new file mode 100644
index 0000000..b684482
--- /dev/null
+++ b/SOURCES/mariadb-scripts.patch
@@ -0,0 +1,40 @@
+We have some downstream patches and other scripts that include variables to
+be expanded by cmake. Cmake needs to know about them, so adding them manually.
+
+--- mariadb-10.3.8/scripts/CMakeLists.txt	2018-07-02 09:34:11.000000000 +0200
++++ mariadb-10.3.8/scripts/CMakeLists.txt_patched	2018-07-03 10:58:15.954670153 +0200
+@@ -361,6 +361,34 @@ ELSE()
+       COMPONENT ${${file}_COMPONENT}
+      )
+   ENDFOREACH()
++
++  # files for systemd
++  SET(SYSTEMD_SCRIPTS
++    mysql.tmpfiles.d
++    mysql.service
++    mysql@.service
++    mysql-prepare-db-dir
++    mysql-check-socket
++    mysql-check-upgrade
++    mysql-scripts-common
++    mysql_config_multilib
++    clustercheck
++    galera_new_cluster
++    my.cnf
++  )
++  FOREACH(file ${SYSTEMD_SCRIPTS})
++    IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
++      CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
++        ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY)
++    ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.in)
++      CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.in
++        ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY)
++    ELSE()
++      MESSAGE(FATAL_ERROR "Can not find ${file}.sh or ${file}.in in "
++        "${CMAKE_CURRENT_SOURCE_DIR}" )
++    ENDIF()
++  ENDFOREACH()
++
+ ENDIF()
+ 
+ # Install libgcc as  mylibgcc.a
diff --git a/SOURCES/mariadb-server-galera.te b/SOURCES/mariadb-server-galera.te
new file mode 100644
index 0000000..bdce127
--- /dev/null
+++ b/SOURCES/mariadb-server-galera.te
@@ -0,0 +1,23 @@
+
+module mariadb-server-galera 1.0;
+
+require {
+    type mysqld_t;
+    type rsync_exec_t;
+    type anon_inodefs_t;
+    type proc_net_t;
+    type kerberos_port_t;
+    class file { read execute execute_no_trans getattr open };
+    class tcp_socket { name_bind name_connect };
+    class process { setpgid siginh rlimitinh noatsecure };
+}
+
+# allow mysqld to run rsyncd
+allow mysqld_t self:process setpgid;
+allow mysqld_t rsync_exec_t:file { read execute execute_no_trans getattr open };
+allow mysqld_t anon_inodefs_t:file getattr;
+allow mysqld_t proc_net_t:file { read open };
+
+# allow rsyncd to listen on port 4444
+allow mysqld_t kerberos_port_t:tcp_socket { name_bind name_connect };
+
diff --git a/SOURCES/mariadb-shebang.patch b/SOURCES/mariadb-shebang.patch
new file mode 100644
index 0000000..9a3d3f3
--- /dev/null
+++ b/SOURCES/mariadb-shebang.patch
@@ -0,0 +1,15 @@
+*** WARNING: mangling shebang in /usr/bin/myrocks_hotbackup from #!/usr/bin/env python to #!/usr/bin/python2. This will become an ERROR, fix it manually!
+
+Maintainer's note:
+This script is not python3 compatible:
+ModuleNotFoundError: No module named 'commands'
+
+diff -Naurp mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched
+--- mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup	2018-10-02 11:45:43.000000000 +0200
++++ mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched	2018-10-05 14:27:02.960060700 +0200
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python2
+ 
+ from __future__ import division
+ from optparse import OptionParser
diff --git a/SOURCES/my.cnf.in b/SOURCES/my.cnf.in
new file mode 100644
index 0000000..247e12d
--- /dev/null
+++ b/SOURCES/my.cnf.in
@@ -0,0 +1,18 @@
+#
+# This group is read both both by the client and the server
+# use it for options that affect everything
+#
+[client-server]
+
+#
+# This group is read by the server
+#
+[mysqld]
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+
+#
+# include all files from the config directory
+#
+!includedir @INSTALL_SYSCONF2DIR@
+
diff --git a/SOURCES/mysql-check-socket.sh b/SOURCES/mysql-check-socket.sh
new file mode 100644
index 0000000..407523f
--- /dev/null
+++ b/SOURCES/mysql-check-socket.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# We check if there is already a process using the socket file,
+# since otherwise the systemd service file could report false
+# positive result when starting and mysqld_safe could remove
+# a socket file, which is actually being used by a different daemon.
+
+source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common"
+
+if test -e "$socketfile" ; then
+    echo "Socket file $socketfile exists." >&2
+
+    # no write permissions
+    if ! test -w "$socketfile" ; then
+        echo "Not enough permission to write to the socket file $socketfile, which is suspicious." >&2
+        echo "Please, remove $socketfile manually to start the service." >&2
+        exit 1
+    fi
+
+    # not a socket file
+    if ! test -S "$socketfile" ; then
+        echo "The file $socketfile is not a socket file, which is suspicious." >&2
+        echo "Please, remove $socketfile manually to start the service." >&2
+        exit 1
+    fi
+
+    # some process uses the socket file
+    response=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1`
+    if [ $? -eq 0 ] || echo "$response" | grep -q "Access denied for user" ; then
+        echo "Is another MySQL daemon already running with the same unix socket?" >&2
+        echo "Please, stop the process using the socket $socketfile or remove the file manually to start the service." >&2
+        exit 1
+    fi
+
+    # socket file is a garbage
+    echo "No process is using $socketfile, which means it is a garbage, so it will be removed automatically." >&2
+fi
+
+exit 0
diff --git a/SOURCES/mysql-check-upgrade.sh b/SOURCES/mysql-check-upgrade.sh
new file mode 100644
index 0000000..1bfd3bc
--- /dev/null
+++ b/SOURCES/mysql-check-upgrade.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common"
+
+upgrade_info_file="$datadir/mysql_upgrade_info"
+version=0
+# get version as integer from mysql_upgrade_info file
+if [ -f "$upgrade_info_file" ] && [ -r "$upgrade_info_file" ] ; then
+    version_major=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\1/')
+    version_minor=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\2/')
+    if [[ $version_major =~ ^[0-9]+$ ]] && [[ $version_minor =~ ^[0-9]+$ ]] ; then
+        version=$((version_major*100+version_minor))
+    fi
+fi
+
+# compute current version as integer
+thisversion=$((@MAJOR_VERSION@*100+@MINOR_VERSION@))
+
+# provide warning in cases we should run mysql_upgrade
+if [ $version -ne $thisversion ] ; then
+
+    # give extra warning if some version seems to be skipped
+    if [ $version -gt 0 ] && [ $version -lt 505 ] ; then
+        echo "The datadir located at $datadir seems to be older than of a version 5.5. Please, mind that as a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series." >&2
+    fi
+
+    cat <<EOF >&2
+The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps:
+
+  1. Back-up your data before with 'mysql_upgrade'
+  2. Start the database daemon using 'service @DAEMON_NAME@ start'
+  3. Run 'mysql_upgrade' with a database user that has sufficient privileges
+
+Read more about 'mysql_upgrade' usage at:
+https://mariadb.com/kb/en/mariadb/documentation/sql-commands/table-commands/mysql_upgrade/
+EOF
+fi
+
+exit 0
diff --git a/SOURCES/mysql-prepare-db-dir.sh b/SOURCES/mysql-prepare-db-dir.sh
new file mode 100644
index 0000000..a82479f
--- /dev/null
+++ b/SOURCES/mysql-prepare-db-dir.sh
@@ -0,0 +1,137 @@
+#!/bin/sh
+
+# This script creates the mysql data directory during first service start.
+# In subsequent starts, it does nothing much.
+
+source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common"
+
+export LC_ALL=C
+
+# Returns content of the specified directory
+# If listing files fails, fake-file is returned so which means
+# we'll behave like there was some data initialized
+# Some files or directories are fine to be there, so those are
+# explicitly removed from the listing
+# @param <dir> datadir
+list_datadir ()
+{
+    ( ls -1A "$1" 2>/dev/null || echo "fake-file" ) | grep -v \
+    -e '^lost+found$' \
+    -e '\.err$' \
+    -e '^.bash_history$'
+}
+
+# Checks whether datadir should be initialized
+# @param <dir> datadir
+should_initialize ()
+{
+    test -z "$(list_datadir "$1")"
+}
+
+# If two args given first is user, second is group
+# otherwise the arg is the systemd service file
+if [ "$#" -eq 2 ]
+then
+    myuser="$1"
+    mygroup="$2"
+else
+    # Absorb configuration settings from the specified systemd service file,
+    # or the default service if not specified
+    SERVICE_NAME="$1"
+    if [ x"$SERVICE_NAME" = x ]
+    then
+        SERVICE_NAME=@DAEMON_NAME@.service
+    fi
+
+    myuser=`systemctl show -p User "${SERVICE_NAME}" |
+      sed 's/^User=//'`
+    if [ x"$myuser" = x ]
+    then
+        myuser=mysql
+    fi
+
+    mygroup=`systemctl show -p Group "${SERVICE_NAME}" |
+      sed 's/^Group=//'`
+    if [ x"$mygroup" = x ]
+    then
+        mygroup=mysql
+    fi
+fi
+
+# Set up the errlogfile with appropriate permissions
+if [ ! -e "$errlogfile" -a ! -h "$errlogfile" -a x$(dirname "$errlogfile") = "x/var/log" ]; then
+    case $(basename "$errlogfile") in
+        mysql*.log|mariadb*.log) install /dev/null -m0640 -o$myuser -g$mygroup "$errlogfile" ;;
+        *) ;;
+    esac
+else
+    # Provide some advice if the log file cannot be created by this script
+    errlogdir=$(dirname "$errlogfile")
+    if ! [ -d "$errlogdir" ] ; then
+        echo "The directory $errlogdir does not exist." >&2
+        exit 1
+    elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then
+        echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2
+        echo "The daemon will be run under $myuser:$mygroup" >&2
+        exit 1
+    fi
+fi
+
+# Make the data directory if doesn't exist or empty
+if should_initialize "$datadir" ; then
+    # First, make sure $datadir is there with correct permissions
+    # (note: if it's not, and we're not root, this'll fail ...)
+    if [ ! -e "$datadir" -a ! -h "$datadir" ]
+    then
+        mkdir -p "$datadir" || exit 1
+    fi
+    chown "$myuser:$mygroup" "$datadir"
+    chmod 0755 "$datadir"
+    [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
+
+    # Now create the database
+    echo "Initializing @NICE_PROJECT_NAME@ database" >&2
+    # Avoiding deletion of files not created by mysql_install_db is
+    # guarded by time check and sleep should help work-arounded
+    # potential issues on systems with 1 second resolution timestamps
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19
+    INITDB_TIMESTAMP=`LANG=C date -u`
+    sleep 1
+    @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2
+    ret=$?
+    if [ $ret -ne 0 ] ; then
+        echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2
+        echo "Perhaps @sysconfdir@/my.cnf is misconfigured or there is some problem with permissions of $datadir." >&2
+        # Clean up any partially-created database files
+        if [ ! -e "$datadir/mysql/user.frm" ] && [ -d "$datadir" ] ; then
+            echo "Initialization of @NICE_PROJECT_NAME@ database was not finished successfully." >&2
+            echo "Files created so far will be removed." >&2
+            find "$datadir" -mindepth 1 -maxdepth 1 -newermt "$INITDB_TIMESTAMP" \
+                 -not -name "lost+found" -exec rm -rf {} +
+            if [ $? -ne 0 ] ; then
+                echo "Removing of created files was not successfull." >&2
+                echo "Please, clean directory $datadir manually." >&2
+            fi
+        else
+            echo "However, part of data has been initialized and those will not be removed." >&2
+            echo "Please, clean directory $datadir manually." >&2
+        fi
+        exit $ret
+    fi
+    # upgrade does not need to be run on a fresh datadir
+    echo "@VERSION@-MariaDB" >"$datadir/mysql_upgrade_info"
+else
+    if [ -d "$datadir/mysql/" ] ; then
+        # mysql dir exists, it seems data are initialized properly
+        echo "Database @NICE_PROJECT_NAME@ is probably initialized in $datadir already, nothing is done."
+        echo "If this is not the case, make sure the $datadir is empty before running `basename $0`."
+    else
+        # if the directory is not empty but mysql/ directory is missing, then
+        # print error and let user to initialize manually or empty the directory
+        echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2
+        echo "Make sure the $datadir is empty before running `basename $0`." >&2
+        exit 1
+    fi
+fi
+
+exit 0
diff --git a/SOURCES/mysql-scripts-common.sh b/SOURCES/mysql-scripts-common.sh
new file mode 100644
index 0000000..e270433
--- /dev/null
+++ b/SOURCES/mysql-scripts-common.sh
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+# Some useful functions used in other MySQL helper scripts
+# This scripts defines variables datadir, errlogfile, socketfile
+
+export LC_ALL=C
+
+# extract value of a MySQL option from config files
+# Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ]
+# result is returned in $result
+# We use my_print_defaults which prints all options from multiple files,
+# with the more specific ones later; hence take the last match.
+get_mysql_option(){
+	if [ $# -ne 3 ] ; then
+		echo "get_mysql_option requires 3 arguments: section option default_value"
+		return
+	fi
+	sections="$1"
+	option_name="$2"
+	default_value="$3"
+	result=`@bindir@/my_print_defaults $my_print_defaults_extra_args $sections | sed -n "s/^--${option_name}=//p" | tail -n 1`
+	if [ -z "$result" ]; then
+	    # not found, use default
+	    result="${default_value}"
+	fi
+}
+
+# For the case of running more instances via systemd, scrits that source
+# this file can get --default-group-suffix or similar option as the first
+# argument. The utility my_print_defaults needs to use it as well, so the
+# scripts sourcing this file work with the same options as the daemon.
+my_print_defaults_extra_args=''
+while echo "$1" | grep -q '^--defaults' ; do
+	my_print_defaults_extra_args="${my_print_defaults_extra_args} $1"
+	shift
+done
+
+# Defaults here had better match what mysqld_safe will default to
+# The option values are generally defined on three important places
+# on the default installation:
+#  1) default values are hardcoded in the code of mysqld daemon or
+#     mysqld_safe script
+#  2) configurable values are defined in @sysconfdir@/my.cnf
+#  3) default values for helper scripts are specified bellow
+# So, in case values are defined in my.cnf, we need to get that value.
+# In case they are not defined in my.cnf, we need to get the same value
+# in the daemon, as in the helper scripts. Thus, default values here
+# must correspond with values defined in mysqld_safe script and source
+# code itself.
+
+server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ client-server"
+
+get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@"
+datadir="$result"
+
+# if there is log_error in the my.cnf, my_print_defaults still
+# returns log-error
+# log-error might be defined in mysqld_safe and mysqld sections,
+# the former has bigger priority
+get_mysql_option "$server_sections" log-error "$datadir/`uname -n`.err"
+errlogfile="$result"
+
+get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@"
+socketfile="$result"
+
+get_mysql_option "$server_sections" pid-file "$datadir/`uname -n`.pid"
+pidfile="$result"
+
diff --git a/SOURCES/mysql.service.in b/SOURCES/mysql.service.in
new file mode 100644
index 0000000..6f84dd3
--- /dev/null
+++ b/SOURCES/mysql.service.in
@@ -0,0 +1,73 @@
+# It's not recommended to modify this file in-place, because it will be
+# overwritten during package upgrades.  If you want to customize, the
+# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service",
+# containing
+#	.include /usr/lib/systemd/system/@DAEMON_NAME@.service
+#	...make your changes here...
+# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf",
+# which doesn't need to include ".include" call and which will be parsed
+# after the file @DAEMON_NAME@.service itself is parsed.
+#
+# For more info about custom unit files, see systemd.unit(5) or
+# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F
+
+# For example, if you want to increase mysql's open-files-limit to 10000,
+# you need to increase systemd's LimitNOFILE setting, so create a file named
+# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing:
+#	[Service]
+#	LimitNOFILE=10000
+
+# Note: /usr/lib/... is recommended in the .include line though /lib/...
+# still works.
+# Don't forget to reload systemd daemon after you change unit configuration:
+# root> systemctl --system daemon-reload
+
+# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance.
+
+[Unit]
+Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server
+Documentation=man:mysqld(8)
+Documentation=https://mariadb.com/kb/en/library/systemd/
+After=network.target
+
+[Install]
+WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
+
+[Service]
+Type=notify
+User=mysql
+Group=mysql
+
+ExecStartPre=@libexecdir@/mysql-check-socket
+# '%n' expands to 'Full unit name'; man systemd.unit
+ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n
+# MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf
+# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
+# per bug #547485
+ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
+ExecStartPost=@libexecdir@/mysql-check-upgrade
+
+# Setting this to true can break replication and the Type=notify settings
+# See also bind-address mysqld option.
+PrivateNetwork=false
+
+KillMode=process
+KillSignal=SIGTERM
+
+# Don't want to see an automated SIGKILL ever
+SendSIGKILL=no
+
+# Restart crashed server only, on-failure would also restart, for example, when
+# my.cnf contains unknown option
+Restart=on-abort
+RestartSec=5s
+
+UMask=007
+
+# Give a reasonable amount of time for the server to start up/shut down
+TimeoutSec=300
+
+# Place temp files in a secure directory, not /tmp
+PrivateTmp=true
diff --git a/SOURCES/mysql.tmpfiles.d.in b/SOURCES/mysql.tmpfiles.d.in
new file mode 100644
index 0000000..9e6b6e8
--- /dev/null
+++ b/SOURCES/mysql.tmpfiles.d.in
@@ -0,0 +1,3 @@
+# Do not edit this file.
+# To override this, put /etc/tmpfiles.d/mariadb.conf instead.
+d @PID_FILE_DIR@ 0755 mysql mysql -
diff --git a/SOURCES/mysql@.service.in b/SOURCES/mysql@.service.in
new file mode 100644
index 0000000..b36ce6d
--- /dev/null
+++ b/SOURCES/mysql@.service.in
@@ -0,0 +1,79 @@
+# Multi instance version of mariadb. For if you run mutiple verions at once.
+# Also used for @DAEMON_NAME@@bootstrap to bootstrap Galera.
+#
+# To use multi instance variant, use [mysqld.INSTANCENAME] as sections in my.cnf
+# and start the service via:
+#	systemctl start @DAEMON_NAME@@{instancename}.server
+#
+# It's not recommended to modify this file in-place, because it will be
+# overwritten during package upgrades.  If you want to customize, the
+# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service",
+# containing
+#	.include /usr/lib/systemd/system/@DAEMON_NAME@.service
+#	...make your changes here...
+# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf",
+# which doesn't need to include ".include" call and which will be parsed
+# after the file @DAEMON_NAME@.service itself is parsed.
+#
+# For more info about custom unit files, see systemd.unit(5) or
+# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F
+
+# For example, if you want to increase mysql's open-files-limit to 10000,
+# you need to increase systemd's LimitNOFILE setting, so create a file named
+# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing:
+#	[Service]
+#	LimitNOFILE=10000
+
+# Note: /usr/lib/... is recommended in the .include line though /lib/...
+# still works.
+# Don't forget to reload systemd daemon after you change unit configuration:
+# root> systemctl --system daemon-reload
+
+# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance.
+
+[Unit]
+Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server
+Documentation=man:mysqld(8)
+Documentation=https://mariadb.com/kb/en/library/systemd/
+After=network.target
+
+[Install]
+WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
+
+[Service]
+Type=notify
+User=mysql
+Group=mysql
+
+ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I
+ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n
+# MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf
+# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
+# per bug #547485
+ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
+ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I
+
+# Setting this to true can break replication and the Type=notify settings
+# See also bind-address mysqld option.
+PrivateNetwork=false
+
+KillMode=process
+KillSignal=SIGTERM
+
+# Don't want to see an automated SIGKILL ever
+SendSIGKILL=no
+
+# Restart crashed server only, on-failure would also restart, for example, when
+# my.cnf contains unknown option
+Restart=on-abort
+RestartSec=5s
+
+UMask=007
+
+# Give a reasonable amount of time for the server to start up/shut down
+TimeoutSec=300
+
+# Place temp files in a secure directory, not /tmp
+PrivateTmp=true
diff --git a/SOURCES/mysql_config_multilib.sh b/SOURCES/mysql_config_multilib.sh
new file mode 100644
index 0000000..06c2a2b
--- /dev/null
+++ b/SOURCES/mysql_config_multilib.sh
@@ -0,0 +1,26 @@
+#! /bin/sh
+#
+# Wrapper script for mysql_config to support multilib
+#
+# This command respects setarch
+
+bits=$(rpm --eval %__isa_bits)
+
+case $bits in
+    32|64) status=known ;;
+        *) status=unknown ;;
+esac
+
+if [ "$status" = "unknown" ] ; then
+    echo "$0: error: command 'rpm --eval %__isa_bits' returned unknown value: $bits"
+    exit 1
+fi
+
+
+if [ -x @bindir@/mysql_config-$bits ] ; then
+    @bindir@/mysql_config-$bits "$@"
+else
+    echo "$0: error: needed binary: @bindir@/mysql_config-$bits is missing"
+    exit 1
+fi
+
diff --git a/SOURCES/rh-skipped-tests-arm.list b/SOURCES/rh-skipped-tests-arm.list
new file mode 100644
index 0000000..9a970c6
--- /dev/null
+++ b/SOURCES/rh-skipped-tests-arm.list
@@ -0,0 +1,21 @@
+# Fails on aarch64
+encryption.create_or_replace : 
+encryption.innodb-redo-badkey : 
+encryption.innochecksum : 
+innodb_gis.kill_server : 
+innodb_gis.rtree_compress2 : 
+innodb_gis.rtree_search : 
+innodb_zip.wl6347_comp_indx_stat :
+innodb.innodb_defrag_concurrent : 
+parts.partition_alter1_1_innodb :
+parts.partition_alter1_2_innodb : 
+parts.partition_alter1_1_2_innodb :
+parts.partition_alter1_2_1_innodb :
+parts.partition_alter2_1_1_innodb : 
+parts.partition_alter1_2_2_innodb : 
+parts.partition_alter2_1_2_innodb : 
+parts.partition_alter2_2_1_innodb : 
+parts.partition_alter2_2_2_innodb : 
+parts.partition_alter4_innodb : 
+parts.partition_basic_innodb :
+parts.part_supported_sql_func_innodb :
diff --git a/SOURCES/rh-skipped-tests-base.list b/SOURCES/rh-skipped-tests-base.list
new file mode 100644
index 0000000..7a270fc
--- /dev/null
+++ b/SOURCES/rh-skipped-tests-base.list
@@ -0,0 +1,21 @@
+# Fails everywhere
+innodb.innodb_defrag_binlog : 
+main.openssl_1 : 
+main.openssl_6975 : 
+main.ssl : 
+main.ssl_cert_verify : 
+main.ssl_cipher : 
+main.ssl_crl_clients : 
+main.ssl_7937 : 
+main.ssl_8k_key : 
+main.userstat : 
+perfschema.cnf_option : 
+perfschema.nesting : 
+perfschema.socket_summary_by_event_name_func : 
+perfschema.socket_summary_by_instance_func : 
+rpl.rpl_row_img_blobs : 
+rpl.rpl_row_img_eng_min : 
+rpl.rpl_row_img_eng_noblob : 
+sys_vars.slave_parallel_threads_basic : 
+# Fails on i686
+main.myisampack : 
diff --git a/SOURCES/rh-skipped-tests-ppc.list b/SOURCES/rh-skipped-tests-ppc.list
new file mode 100644
index 0000000..48abefa
--- /dev/null
+++ b/SOURCES/rh-skipped-tests-ppc.list
@@ -0,0 +1,30 @@
+# Fails on ppc64le
+binlog_encryption.rpl_semi_sync : 
+encryption.create_or_replace : 
+innodb_gis.kill_server : 
+innodb_gis.rtree_compress2 : 
+innodb.innodb_defrag_concurrent : 
+innodb.temporary_table_optimization : 
+main.derived_cond_pushdown : 
+main.ps : 
+main.select : 
+main.select_jcl6 : 
+main.select_pkeycache : 
+main.sp : 
+main.type_float : 
+main.type_newdecimal : 
+main.type_ranges : 
+parts.partition_alter1_1_innodb : 
+parts.partition_alter1_2_innodb : 
+parts.partition_alter2_1_innodb : 
+parts.partition_alter2_2_innodb : 
+parts.partition_alter1_1_2_innodb : 
+parts.partition_alter1_2_1_innodb : 
+parts.partition_alter2_1_1_innodb : 
+parts.partition_alter1_2_2_innodb : 
+parts.partition_alter2_1_2_innodb : 
+parts.partition_alter2_2_1_innodb : 
+parts.partition_alter2_2_2_innodb : 
+parts.partition_alter4_innodb : 
+parts.partition_basic_innodb : 
+parts.part_supported_sql_func_innodb : 
diff --git a/SOURCES/rh-skipped-tests-s390.list b/SOURCES/rh-skipped-tests-s390.list
new file mode 100644
index 0000000..22ff70a
--- /dev/null
+++ b/SOURCES/rh-skipped-tests-s390.list
@@ -0,0 +1,6 @@
+# Fails on s390x
+binlog.binlog_flush_binlogs_delete_domain : 
+handler.heap : 
+handler.interface : 
+innodb_fts.innodb_fts_misc : 
+rpl.rpl_gtid_delete_domain : 
diff --git a/SOURCES/wsrep_sst_rsync_tunnel b/SOURCES/wsrep_sst_rsync_tunnel
new file mode 100644
index 0000000..562d191
--- /dev/null
+++ b/SOURCES/wsrep_sst_rsync_tunnel
@@ -0,0 +1,482 @@
+#!/bin/bash -ue
+
+# Copyright (C) 2010-2014 Codership Oy
+# Copyright (C) 2017 Damien Ciabrini <damien.ciabrini@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING. If not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston
+# MA  02110-1301  USA.
+
+# This is a reference script for rsync-based state snapshot tansfer
+# over an encrypted communication channel, managed by socat
+
+RSYNC_PID=                                      # rsync pid file
+RSYNC_CONF=                                     # rsync configuration file
+RSYNC_REAL_PID=                                 # rsync process id
+
+SOCAT_PID=                                      # socat pid file
+SOCAT_REAL_PID=                                 # socat process id
+
+SOCAT_OPTS=                                     # openssl connection args
+
+MODULE="rsync_tunnel_sst"
+
+OS=$(uname)
+[ "$OS" == "Darwin" ] && export -n LD_LIBRARY_PATH
+
+# Setting the path for lsof on CentOS
+export PATH="/usr/sbin:/sbin:$PATH"
+
+. $(dirname $0)/wsrep_sst_common
+
+wsrep_check_programs rsync socat
+
+cleanup_pid()
+{
+    local real_pid=$1
+    [ "0" != "$real_pid" ]            && \
+    kill $real_pid                    && \
+    sleep 0.5                         && \
+    kill -9 $real_pid >/dev/null 2>&1 || \
+    :
+}
+
+cleanup_tunnel()
+{
+    wsrep_log_info "cleanup socat PID: $SOCAT_REAL_PID"
+    [ -n "$SOCAT_REAL_PID" ] && cleanup_pid $SOCAT_REAL_PID
+    rm -rf "$SOCAT_PID"
+}
+
+cleanup_joiner()
+{
+    wsrep_log_info "Joiner cleanup. rsync PID: $RSYNC_REAL_PID"
+    [ -n "$RSYNC_REAL_PID" ] && cleanup_pid $RSYNC_REAL_PID
+    rm -rf "$RSYNC_CONF"
+    rm -rf "$MAGIC_FILE"
+    rm -rf "$RSYNC_PID"
+
+    cleanup_tunnel
+
+    wsrep_log_info "Joiner cleanup done."
+    if [ "${WSREP_SST_OPT_ROLE}" = "joiner" ];then
+        wsrep_cleanup_progress_file
+    fi
+}
+
+# Check whether process is still running.
+check_pid()
+{
+    local pid_file=$1
+    [ -r "$pid_file" ] && ps -p $(cat $pid_file) >/dev/null 2>&1
+}
+
+check_pid_and_port()
+{
+    local pid_file=$1
+    local service_pid=$2
+    local service_port=$3
+    local service_host=$4
+    local service_name=$5
+
+    if ! which lsof > /dev/null; then
+      wsrep_log_error "lsof tool not found in PATH! Make sure you have it installed."
+      exit 2 # ENOENT
+    fi
+
+    local port_info=$(lsof -i "@"$service_host:$service_port -Pn 2>/dev/null | \
+        grep "(LISTEN)")
+    local is_service=$(echo $port_info | \
+        grep -w '^'"$service_name"'[[:space:]]\+'"$service_pid" 2>/dev/null)
+
+    if [ -n "$port_info" -a -z "$is_service" ]; then
+        wsrep_log_error "$service_name daemon port '$service_port' has been taken"
+        exit 16 # EBUSY
+    fi
+
+    if ! check_pid $pid_file; then
+        wsrep_log_error "$service_name process terminated unexpectedly"
+        exit 10 # ECHILD
+    fi
+
+    [ -n "$port_info" ] && [ -n "$is_service" ] && \
+        [ $(cat $pid_file) -eq $service_pid ]
+}
+
+config_from_cnf()
+{
+    local group=$1
+    local key=$2
+    echo $($MY_PRINT_DEFAULTS $group | grep -- "--$key=" | cut -d= -f2- | tail -1)
+}
+
+setup_tunnel_args()
+{
+    tca=$(config_from_cnf sst tca)
+    tkey=$(config_from_cnf sst tkey)
+    tcert=$(config_from_cnf sst tcert)
+    sockopt=$(config_from_cnf sst sockopt)
+
+    if [ -z "$tcert" ]; then
+        wsrep_log_error "Encryption certificate not found in my.cnf"
+        exit 3
+    else
+        SOCAT_OPTS="cert=$tcert"
+    fi
+    [ -n "$tkey" ] && SOCAT_OPTS="$SOCAT_OPTS,key=$tkey"
+    [ -n "$tca" ] && SOCAT_OPTS="$SOCAT_OPTS,cafile=$tca"
+    wsrep_log_info "Encryption setting to be used for socat tunnel: $SOCAT_OPTS"
+
+    [ -n "$sockopt" ] && SOCAT_OPTS="$SOCAT_OPTS,$sockopt"
+}
+
+MAGIC_FILE="$WSREP_SST_OPT_DATA/rsync_tunnel_sst_complete"
+rm -rf "$MAGIC_FILE"
+
+BINLOG_TAR_FILE="$WSREP_SST_OPT_DATA/wsrep_sst_binlog.tar"
+BINLOG_N_FILES=1
+rm -f "$BINLOG_TAR_FILE" || :
+
+if ! [ -z $WSREP_SST_OPT_BINLOG ]
+then
+    BINLOG_DIRNAME=$(dirname $WSREP_SST_OPT_BINLOG)
+    BINLOG_FILENAME=$(basename $WSREP_SST_OPT_BINLOG)
+fi
+
+WSREP_LOG_DIR=${WSREP_LOG_DIR:-""}
+# if WSREP_LOG_DIR env. variable is not set, try to get it from my.cnf
+if [ -z "$WSREP_LOG_DIR" ]; then
+    WSREP_LOG_DIR=$($MY_PRINT_DEFAULTS --mysqld \
+                    | grep -- '--innodb[-_]log[-_]group[-_]home[-_]dir=' \
+                    | cut -b 29- )
+fi
+
+if [ -n "$WSREP_LOG_DIR" ]; then
+    # handle both relative and absolute paths
+    WSREP_LOG_DIR=$(cd $WSREP_SST_OPT_DATA; mkdir -p "$WSREP_LOG_DIR"; cd $WSREP_LOG_DIR; pwd -P)
+else
+    # default to datadir
+    WSREP_LOG_DIR=$(cd $WSREP_SST_OPT_DATA; pwd -P)
+fi
+
+# Old filter - include everything except selected
+# FILTER=(--exclude '*.err' --exclude '*.pid' --exclude '*.sock' \
+#         --exclude '*.conf' --exclude core --exclude 'galera.*' \
+#         --exclude grastate.txt --exclude '*.pem' \
+#         --exclude '*.[0-9][0-9][0-9][0-9][0-9][0-9]' --exclude '*.index')
+
+# New filter - exclude everything except dirs (schemas) and innodb files
+FILTER=(-f '- /lost+found' -f '- /.fseventsd' -f '- /.Trashes'
+        -f '+ /wsrep_sst_binlog.tar' -f '+ /ib_lru_dump' -f '+ /ibdata*' -f '+ /*/' -f '- /*')
+
+SOCAT_PID="$WSREP_SST_OPT_DATA/$MODULE-socat.pid"
+
+if check_pid $SOCAT_PID
+then
+    wsrep_log_error "socat tunnel already running."
+    exit 114 # EALREADY
+fi
+rm -rf "$SOCAT_PID"
+
+setup_tunnel_args
+
+if [ "$WSREP_SST_OPT_ROLE" = "donor" ]
+then
+
+    SOCAT_JOINER_ADDR=$(echo $WSREP_SST_OPT_ADDR | awk -F'/' '{print $1}')
+    # map to name in case we received an IP
+    SOCAT_JOINER_HOST=$(getent hosts $SOCAT_JOINER_ADDR | awk '{ print $2 }')
+    if [ -z "$SOCAT_JOINER_HOST" ]; then
+        SOCAT_JOINER_HOST=$SOCAT_JOINER_ADDR
+    fi
+    SOCAT_PORT=$(echo $SOCAT_JOINER_ADDR | awk -F ':' '{ print $2 }')
+    if [ -z "$SOCAT_PORT" ]
+    then
+        SOCAT_PORT=4444
+    fi
+    TARGET_ADDR=localhost:$SOCAT_PORT/$MODULE
+
+    trap cleanup_tunnel EXIT
+
+    # Socat forwards rsync connections to the joiner
+    SOCAT_SRC=tcp-listen:$SOCAT_PORT,bind=localhost,reuseaddr,fork
+    SOCAT_DST=openssl:$SOCAT_JOINER_HOST,$SOCAT_OPTS
+    wsrep_log_info "Setting up tunnel for donor: socat $SOCAT_SRC $SOCAT_DST"
+    socat $SOCAT_SRC $SOCAT_DST &
+    SOCAT_REAL_PID=$!
+    # This is ok because a local galera node doesn't run SST concurrently
+    echo $SOCAT_REAL_PID >"$SOCAT_PID"
+    until check_pid_and_port $SOCAT_PID $SOCAT_REAL_PID $SOCAT_PORT localhost "socat"
+    do
+        sleep 0.2
+    done
+
+    if [ $WSREP_SST_OPT_BYPASS -eq 0 ]
+    then
+
+        FLUSHED="$WSREP_SST_OPT_DATA/tables_flushed"
+        ERROR="$WSREP_SST_OPT_DATA/sst_error"
+
+        rm -rf "$FLUSHED"
+        rm -rf "$ERROR"
+
+        # Use deltaxfer only for WAN
+        inv=$(basename $0)
+        [ "$inv" = "wsrep_sst_rsync_wan" ] && WHOLE_FILE_OPT="" \
+                                           || WHOLE_FILE_OPT="--whole-file"
+
+        echo "flush tables"
+
+        # Wait for :
+        # (a) Tables to be flushed, AND
+        # (b) Cluster state ID & wsrep_gtid_domain_id to be written to the file, OR
+        # (c) ERROR file, in case flush tables operation failed.
+
+        while [ ! -r "$FLUSHED" ] && ! grep -q ':' "$FLUSHED" >/dev/null 2>&1
+        do
+            # Check whether ERROR file exists.
+            if [ -f "$ERROR" ]
+            then
+                # Flush tables operation failed.
+                rm -rf "$ERROR"
+                exit 255
+            fi
+
+            sleep 0.2
+        done
+
+        STATE="$(cat $FLUSHED)"
+        rm -rf "$FLUSHED"
+
+        sync
+
+        if ! [ -z $WSREP_SST_OPT_BINLOG ]
+        then
+            # Prepare binlog files
+            pushd $BINLOG_DIRNAME &> /dev/null
+            binlog_files_full=$(tail -n $BINLOG_N_FILES ${BINLOG_FILENAME}.index)
+            binlog_files=""
+            for ii in $binlog_files_full
+            do
+                binlog_files="$binlog_files $(basename $ii)"
+            done
+            if ! [ -z "$binlog_files" ]
+            then
+                wsrep_log_info "Preparing binlog files for transfer:"
+                tar -cvf $BINLOG_TAR_FILE $binlog_files >&2
+            fi
+            popd &> /dev/null
+        fi
+
+        # first, the normal directories, so that we can detect incompatible protocol
+        RC=0
+        rsync --owner --group --perms --links --specials \
+              --ignore-times --inplace --dirs --delete --quiet \
+              $WHOLE_FILE_OPT "${FILTER[@]}" "$WSREP_SST_OPT_DATA/" \
+              rsync://$TARGET_ADDR >&2 || RC=$?
+
+        if [ "$RC" -ne 0 ]; then
+            wsrep_log_error "rsync returned code $RC:"
+
+            case $RC in
+            12) RC=71  # EPROTO
+                wsrep_log_error \
+                "rsync server on the other end has incompatible protocol. " \
+                "Make sure you have the same version of rsync on all nodes."
+                ;;
+            22) RC=12  # ENOMEM
+                ;;
+            *)  RC=255 # unknown error
+                ;;
+            esac
+            exit $RC
+        fi
+
+        # second, we transfer InnoDB log files
+        rsync --owner --group --perms --links --specials \
+              --ignore-times --inplace --dirs --delete --quiet \
+              $WHOLE_FILE_OPT -f '+ /ib_logfile[0-9]*' -f '- **' "$WSREP_LOG_DIR/" \
+              rsync://$TARGET_ADDR-log_dir >&2 || RC=$?
+
+        if [ $RC -ne 0 ]; then
+            wsrep_log_error "rsync innodb_log_group_home_dir returned code $RC:"
+            exit 255 # unknown error
+        fi
+
+        # then, we parallelize the transfer of database directories, use . so that pathconcatenation works
+        pushd "$WSREP_SST_OPT_DATA" >/dev/null
+
+        count=1
+        [ "$OS" == "Linux" ] && count=$(grep -c processor /proc/cpuinfo)
+        [ "$OS" == "Darwin" -o "$OS" == "FreeBSD" ] && count=$(sysctl -n hw.ncpu)
+
+        find . -maxdepth 1 -mindepth 1 -type d -not -name "lost+found" -print0 | \
+             xargs -I{} -0 -P $count \
+             rsync --owner --group --perms --links --specials \
+             --ignore-times --inplace --recursive --delete --quiet \
+             $WHOLE_FILE_OPT --exclude '*/ib_logfile*' "$WSREP_SST_OPT_DATA"/{}/ \
+             rsync://$TARGET_ADDR/{} >&2 || RC=$?
+
+        popd >/dev/null
+
+        if [ $RC -ne 0 ]; then
+            wsrep_log_error "find/rsync returned code $RC:"
+            exit 255 # unknown error
+        fi
+
+    else # BYPASS
+        wsrep_log_info "Bypassing state dump."
+
+        # Store donor's wsrep GTID (state ID) and wsrep_gtid_domain_id
+        # (separated by a space).
+        STATE="$WSREP_SST_OPT_GTID $WSREP_SST_OPT_GTID_DOMAIN_ID"
+    fi
+
+    echo "continue" # now server can resume updating data
+
+    echo "$STATE" > "$MAGIC_FILE"
+    rsync --archive --quiet --checksum "$MAGIC_FILE" rsync://$TARGET_ADDR
+
+    echo "done $STATE"
+
+elif [ "$WSREP_SST_OPT_ROLE" = "joiner" ]
+then
+    wsrep_check_programs lsof socat
+
+    touch $SST_PROGRESS_FILE
+    MYSQLD_PID=$WSREP_SST_OPT_PARENT
+
+    RSYNC_PID="$WSREP_SST_OPT_DATA/$MODULE.pid"
+
+    if check_pid $RSYNC_PID
+    then
+        wsrep_log_error "rsync daemon already running."
+        exit 114 # EALREADY
+    fi
+    rm -rf "$RSYNC_PID"
+
+    ADDR=$WSREP_SST_OPT_ADDR
+    RSYNC_PORT=$(echo $ADDR | awk -F ':' '{ print $2 }')
+    if [ -z "$RSYNC_PORT" ]
+    then
+        RSYNC_PORT=4444
+        ADDR="$(echo $ADDR | awk -F ':' '{ print $1 }'):$RSYNC_PORT"
+    fi
+
+    SOCAT_ADDR=$(echo $ADDR | awk -F ':' '{ print $1 }')
+    # map to name in case we received an IP
+    SOCAT_HOST=$(getent hosts $SOCAT_ADDR | awk '{ print $2 }')
+    if [ -z "$SOCAT_HOST" ]; then
+        SOCAT_HOST=$SOCAT_ADDR
+    fi
+    SOCAT_PORT=$RSYNC_PORT
+
+    trap "exit 32" HUP PIPE
+    trap "exit 3"  INT TERM ABRT
+    trap cleanup_joiner EXIT
+
+    RSYNC_CONF="$WSREP_SST_OPT_DATA/$MODULE.conf"
+
+    if [ -n "${MYSQL_TMP_DIR:-}" ] ; then
+      SILENT="log file = $MYSQL_TMP_DIR/rsynd.log"
+    else
+      SILENT=""
+    fi
+
+cat << EOF > "$RSYNC_CONF"
+pid file = $RSYNC_PID
+use chroot = no
+read only = no
+timeout = 300
+$SILENT
+[$MODULE]
+    path = $WSREP_SST_OPT_DATA
+[$MODULE-log_dir]
+    path = $WSREP_LOG_DIR
+EOF
+
+#    rm -rf "$DATA"/ib_logfile* # we don't want old logs around
+
+    # Socat receives rsync connections from the donor
+    SOCAT_SRC=openssl-listen:$SOCAT_PORT,bind=$SOCAT_HOST,reuseaddr,fork,$SOCAT_OPTS
+    SOCAT_DST=tcp:localhost:$RSYNC_PORT
+    wsrep_log_info "Setting up tunnel for joiner: socat $SOCAT_SRC $SOCAT_DST"
+    socat $SOCAT_SRC $SOCAT_DST &
+    SOCAT_REAL_PID=$!
+    # This is ok because a local galera node doesn't run SST concurrently
+    echo $SOCAT_REAL_PID >"$SOCAT_PID"
+    until check_pid_and_port $SOCAT_PID $SOCAT_REAL_PID $SOCAT_PORT $SOCAT_HOST "socat"
+    do
+        sleep 0.2
+    done
+
+    wsrep_log_info "rsync --daemon --no-detach --address localhost --port $RSYNC_PORT --config \"$RSYNC_CONF\""
+    rsync --daemon --no-detach --address localhost --port $RSYNC_PORT --config "$RSYNC_CONF" &
+    RSYNC_REAL_PID=$!
+
+    until check_pid_and_port $RSYNC_PID $RSYNC_REAL_PID $RSYNC_PORT localhost "rsync"
+    do
+        sleep 0.2
+    done
+
+    echo "ready $ADDR/$MODULE"
+
+    # wait for SST to complete by monitoring magic file
+    while [ ! -r "$MAGIC_FILE" ] && check_pid "$RSYNC_PID" && \
+          check_pid "$SOCAT_PID" && ps -p $MYSQLD_PID >/dev/null
+    do
+        sleep 1
+    done
+
+    if ! ps -p $MYSQLD_PID >/dev/null
+    then
+        wsrep_log_error \
+        "Parent mysqld process (PID:$MYSQLD_PID) terminated unexpectedly."
+        exit 32
+    fi
+
+    if ! [ -z $WSREP_SST_OPT_BINLOG ]
+    then
+
+        pushd $BINLOG_DIRNAME &> /dev/null
+        if [ -f $BINLOG_TAR_FILE ]
+        then
+            # Clean up old binlog files first
+            rm -f ${BINLOG_FILENAME}.*
+            wsrep_log_info "Extracting binlog files:"
+            tar -xvf $BINLOG_TAR_FILE >&2
+            for ii in $(ls -1 ${BINLOG_FILENAME}.*)
+            do
+                echo ${BINLOG_DIRNAME}/${ii} >> ${BINLOG_FILENAME}.index
+            done
+        fi
+        popd &> /dev/null
+    fi
+    if [ -r "$MAGIC_FILE" ]
+    then
+        # UUID:seqno & wsrep_gtid_domain_id is received here.
+        cat "$MAGIC_FILE" # Output : UUID:seqno wsrep_gtid_domain_id
+    else
+        # this message should cause joiner to abort
+        echo "rsync process ended without creating '$MAGIC_FILE'"
+    fi
+    wsrep_cleanup_progress_file
+#    cleanup_joiner
+else
+    wsrep_log_error "Unrecognized role: '$WSREP_SST_OPT_ROLE'"
+    exit 22 # EINVAL
+fi
+
+rm -f $BINLOG_TAR_FILE || :
+
+exit 0
diff --git a/SPECS/mariadb.spec b/SPECS/mariadb.spec
new file mode 100644
index 0000000..d59bb6c
--- /dev/null
+++ b/SPECS/mariadb.spec
@@ -0,0 +1,2566 @@
+# Prefix that is used for patches
+%global pkg_name %{name}
+%global pkgnamepatch mariadb
+
+# Regression tests may take a long time (many cores recommended), skip them by
+%{!?runselftest:%global runselftest 1}
+
+# Set this to 1 to see which tests fail, but 0 on production ready build
+%{!?ignore_testsuite_result:%global ignore_testsuite_result 0}
+
+# In f20+ use unversioned docdirs, otherwise the old versioned one
+%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
+%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
+
+# By default, patch(1) creates backup files when chunks apply with offsets.
+# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
+%global _default_patch_flags --no-backup-if-mismatch
+
+
+
+# TokuDB engine
+#   https://mariadb.com/kb/en/mariadb/tokudb/
+#   TokuDB engine is available only for x86_64
+# Mroonga engine
+#   https://mariadb.com/kb/en/mariadb/about-mroonga/
+#   Current version in MariaDB, 7.07, only supports the x86_64
+#   Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
+# RocksDB engine
+#   https://mariadb.com/kb/en/library/myrocks-supported-platforms/
+#   RocksB engine is available only for x86_64
+#   RocksDB may be built with jemalloc, if specified in CMake
+# Cassandra engine
+#   Experimental version of the Cassandra storage engine
+#   The tests needs running cassandra server
+#   Do not build it for now
+%if %_arch == x86_64 && 0%{?fedora}
+%bcond_without tokudb
+%bcond_without mroonga
+%bcond_without rocksdb
+%bcond_with cassandra
+%else
+%bcond_with tokudb
+%bcond_with mroonga
+%bcond_with rocksdb
+%bcond_with cassandra
+%endif
+
+# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing
+# hierarchies and more complex graph structures to be handled in a relational fashion
+%bcond_without oqgraph
+
+# Other plugins
+%if 0%{?fedora}
+%bcond_without cracklib
+%bcond_without connect
+%bcond_without sphinx
+%else
+%bcond_with cracklib
+%bcond_with connect
+%bcond_with sphinx
+%endif
+%bcond_without gssapi
+
+# For some use cases we do not need some parts of the package. Set to "...with" to exclude
+%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
+%bcond_with    clibrary
+%else
+%bcond_without clibrary
+%endif
+%bcond_without embedded
+%bcond_without devel
+%bcond_without client
+%bcond_without common
+%bcond_without errmsg
+%bcond_without test
+%bcond_without galera
+%bcond_without backup
+%if 0%{?fedora}
+%bcond_without bench
+%else
+%bcond_with bench
+%endif
+
+# When there is already another package that ships /etc/my.cnf,
+# rather include it than ship the file again, since conflicts between
+# those files may create issues
+%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
+%bcond_with config
+%else
+%bcond_without config
+%endif
+
+# For deep debugging we need to build binaries with extra debug info
+%bcond_with    debug
+
+# Page compression algorithms for InnoDB & XtraDB
+# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot
+#   https://jira.mariadb.org/browse/MDEV-15932
+%bcond_without lz4
+
+
+
+# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
+# the bundled library, since the package cannot be build with older version
+%if 0%{?fedora} || 0%{?rhel} > 7
+%bcond_without unbundled_pcre
+%else
+%bcond_with unbundled_pcre
+%global pcre_bundled_version 8.42
+%endif
+
+# Include systemd files
+%global daemon_name %{name}
+%global daemondir %{_unitdir}
+%global daemon_no_prefix %{pkg_name}
+%global mysqld_pid_dir mariadb
+
+# We define some system's well known locations here so we can use them easily
+# later when building to another location (like SCL)
+%global logrotateddir %{_sysconfdir}/logrotate.d
+%global logfiledir %{_localstatedir}/log/%{daemon_name}
+%global logfile %{logfiledir}/%{daemon_name}.log
+# Directory for storing pid file
+%global pidfiledir %{_rundir}/%{mysqld_pid_dir}
+# Defining where database data live
+%global dbdatadir %{_localstatedir}/lib/mysql
+# Home directory of mysql user should be same for all packages that create it
+%global mysqluserhome /var/lib/mysql
+
+
+
+# Provide mysql names for compatibility
+%if 0%{?fedora}
+%bcond_without mysql_names
+%else
+%bcond_with    mysql_names
+%endif
+# Explicit conflicts with mysql
+%if 0%{?scl:1}
+%bcond_with    conflicts
+%else
+%bcond_without conflicts
+%endif
+
+
+
+# Make long macros shorter
+%global sameevr   %{epoch}:%{version}-%{release}
+
+Name:             mariadb
+Version:          10.3.11
+Release:          1%{?with_debug:.debug}%{?dist}
+Epoch:            3
+
+Summary:          A very fast and robust SQL database server
+URL:              http://mariadb.org
+# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license
+License:          GPLv2 with exceptions and LGPLv2 and BSD.
+
+Source0:          https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz
+Source2:          mysql_config_multilib.sh
+Source3:          my.cnf.in
+Source6:          README.mysql-docs
+Source7:          README.mysql-license
+Source8:          README.wsrep_sst_rsync_tunnel
+Source10:         mysql.tmpfiles.d.in
+Source11:         mysql.service.in
+Source12:         mysql-prepare-db-dir.sh
+Source14:         mysql-check-socket.sh
+Source15:         mysql-scripts-common.sh
+Source16:         mysql-check-upgrade.sh
+Source18:         mysql@.service.in
+Source50:         rh-skipped-tests-base.list
+Source51:         rh-skipped-tests-arm.list
+Source52:         rh-skipped-tests-s390.list
+Source53:         rh-skipped-tests-ppc.list
+# Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442
+# General upstream response was slightly positive
+Source70:         clustercheck.sh
+Source71:         LICENSE.clustercheck
+# Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism".
+# https://jira.mariadb.org/browse/MDEV-12646
+Source72:         mariadb-server-galera.te
+# Script to support encrypted rsync transfers when SST is required between nodes.
+# https://github.com/dciabrin/wsrep_sst_rsync_tunnel/blob/master/wsrep_sst_rsync_tunnel
+Source73:         wsrep_sst_rsync_tunnel
+
+#    Patch1: Fix python shebang to specificaly say the python version
+Patch1:           %{pkgnamepatch}-shebang.patch
+#   Patch4: Red Hat distributions specific logrotate fix
+#   it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2
+Patch4:           %{pkgnamepatch}-logrotate.patch
+#   Patch7: add to the CMake file all files where we want macros to be expanded
+Patch7:           %{pkgnamepatch}-scripts.patch
+#   Patch9: pre-configure to comply with guidelines
+Patch9:           %{pkgnamepatch}-ownsetup.patch
+#   Patch10: Add RHEL8 required security
+Patch10:          %{pkgnamepatch}-annocheck.patch
+#   Patch11: Fix issues found by static analysis
+Patch11:          %{pkgnamepatch}-covscan.patch
+
+BuildRequires:    cmake gcc-c++
+BuildRequires:    multilib-rpm-config
+BuildRequires:    selinux-policy-devel
+BuildRequires:    systemd systemd-devel
+
+# Page compression algorithms for InnoDB & XtraDB
+BuildRequires:    zlib-devel
+%{?with_lz4:BuildRequires:    lz4-devel}
+
+# asynchornous operations stuff; needed also for wsrep API
+BuildRequires:    libaio-devel
+# commands history features
+BuildRequires:    libedit-devel
+# CLI graphic; needed also for wsrep API
+BuildRequires:    ncurses-devel
+# debugging stuff
+BuildRequires:    systemtap-sdt-devel
+# Bison SQL parser; needed also for wsrep API
+BuildRequires:    bison bison-devel
+
+# auth_pam.so plugin will be build if pam-devel is installed
+BuildRequires:    pam-devel
+# use either new enough version of pcre or provide bundles(pcre)
+%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
+%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
+# Few utilities needs Perl
+%if 0%{?fedora} || 0%{?rhel} > 7
+BuildRequires:    perl-interpreter
+BuildRequires:    perl-generators
+%endif
+# Some tests requires python
+BuildRequires:    python3
+# Tests requires time and ps and some perl modules
+BuildRequires:    procps
+BuildRequires:    time
+BuildRequires:    perl(Env)
+BuildRequires:    perl(Exporter)
+BuildRequires:    perl(Fcntl)
+BuildRequires:    perl(File::Temp)
+BuildRequires:    perl(Data::Dumper)
+BuildRequires:    perl(Getopt::Long)
+BuildRequires:    perl(IPC::Open3)
+BuildRequires:    perl(Memoize)
+BuildRequires:    perl(Socket)
+BuildRequires:    perl(Sys::Hostname)
+BuildRequires:    perl(Test::More)
+BuildRequires:    perl(Time::HiRes)
+BuildRequires:    perl(Symbol)
+# for running some openssl tests rhbz#1189180
+BuildRequires:    openssl openssl-devel
+
+Requires:         bash coreutils grep
+
+Requires:         %{name}-common%{?_isa} = %{sameevr}
+
+%if %{with clibrary}
+# Explicit EVR requirement for -libs is needed for RHBZ#1406320
+Requires:         %{name}-libs%{?_isa} = %{sameevr}
+%else
+# If not built with client library in this package, use connector-c
+Requires:         mariadb-connector-c >= 3.0
+%endif
+
+%if %{with mysql_names}
+Provides:         mysql = %{sameevr}
+Provides:         mysql%{?_isa} = %{sameevr}
+Provides:         mysql-compat-client = %{sameevr}
+Provides:         mysql-compat-client%{?_isa} = %{sameevr}
+%endif
+
+Suggests:         %{name}-server%{?_isa} = %{sameevr}
+
+# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
+%{?with_conflicts:Conflicts:        mysql}
+
+# obsoletion of mariadb-galera
+Provides: mariadb-galera = %{sameevr}
+
+# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
+%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
+%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
+
+# Define license macro if not present
+%{!?_licensedir:%global license %doc}
+
+%description
+MariaDB is a community developed branch of MySQL - a multi-user, multi-threaded
+SQL database server. It is a client/server implementation consisting of
+a server daemon (mysqld) and many different client programs and libraries.
+The base package contains the standard MariaDB/MySQL client programs and
+generic MySQL files.
+
+
+%if %{with clibrary}
+%package          libs
+Summary:          The shared libraries required for MariaDB/MySQL clients
+Requires:         %{name}-common%{?_isa} = %{sameevr}
+%if %{with mysql_names}
+Provides:         mysql-libs = %{sameevr}
+Provides:         mysql-libs%{?_isa} = %{sameevr}
+%endif # mysql_names
+
+%description      libs
+The mariadb-libs package provides the essential shared libraries for any
+MariaDB/MySQL client program or interface. You will need to install this
+package to use any other MariaDB package or any clients that need to connect
+to a MariaDB/MySQL server.
+%endif #clibrary
+
+
+# At least main config file /etc/my.cnf is shared for client and server part
+# Since we want to support combination of different client and server
+# implementations (e.g. mariadb library and mysql server),
+# we need the config file(s) to be in a separate package, so no extra packages
+# are pulled, because these would likely conflict.
+# More specifically, the dependency on the main configuration file (/etc/my.cnf)
+# is supposed to be defined as Requires: /etc/my.cnf rather than requiring
+# a specific package, so installer app can choose whatever package fits to
+# the transaction.
+%if %{with config}
+%package          config
+Summary:          The config files required by server and client
+
+%description      config
+The package provides the config file my.cnf and my.cnf.d directory used by any
+MariaDB or MySQL program. You will need to install this package to use any
+other MariaDB or MySQL package if the config files are not provided in the
+package itself.
+%endif
+
+
+%if %{with common}
+%package          common
+Summary:          The shared files required by server and client
+Requires:         %{_sysconfdir}/my.cnf
+
+# obsoletion of mariadb-galera-common
+Provides: mariadb-galera-common = %{sameevr}
+
+%if %{without clibrary}
+Obsoletes: %{name}-libs <= %{sameevr}
+%endif
+
+%description      common
+The package provides the essential shared files for any MariaDB program.
+You will need to install this package to use any other MariaDB package.
+%endif
+
+
+%if %{with errmsg}
+%package          errmsg
+Summary:          The error messages files required by server and embedded
+Requires:         %{name}-common%{?_isa} = %{sameevr}
+
+%description      errmsg
+The package provides error messages files for the MariaDB daemon and the
+embedded server. You will need to install this package to use any of those
+MariaDB packages.
+%endif
+
+
+%if %{with galera}
+%package          server-galera
+Summary:          The configuration files and scripts for galera replication
+Requires:         %{name}-common%{?_isa} = %{sameevr}
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+Requires:         galera >= 25.3.3
+Requires(post):   libselinux-utils
+%if 0%{?rhel} > 7
+Requires(post):   policycoreutils-python-utils
+%else
+Requires(post):   policycoreutils-python
+%endif
+# wsrep requirements
+Requires:         lsof
+# Default wsrep_sst_method
+Requires:         rsync
+
+# obsoletion of mariadb-galera-server
+Provides: mariadb-galera-server = %{sameevr}
+
+%description      server-galera
+MariaDB is a multi-user, multi-threaded SQL database server. It is a
+client/server implementation consisting of a server daemon (mysqld)
+and many different client programs and libraries. This package contains
+the MariaDB server and some accompanying files and directories.
+MariaDB is a community developed branch of MySQL.
+%endif
+
+
+%package          server
+Summary:          The MariaDB server and related files
+
+# note: no version here = %%{version}-%%{release}
+%if %{with mysql_names}
+Requires:         mysql-compat-client%{?_isa}
+Requires:         mysql%{?_isa}
+Recommends:       %{name}%{?_isa}
+%else
+Requires:         %{name}%{?_isa}
+%endif
+Requires:         %{name}-common%{?_isa} = %{sameevr}
+Requires:         %{name}-errmsg%{?_isa} = %{sameevr}
+Recommends:       %{name}-server-utils%{?_isa} = %{sameevr}
+Recommends:       %{name}-backup%{?_isa} = %{sameevr}
+%{?with_cracklib:Recommends:       %{name}-cracklib-password-check%{?_isa} = %{sameevr}}
+%{?with_gssapi:Recommends:       %{name}-gssapi-server%{?_isa} = %{sameevr}}
+%{?with_rocksdb:Recommends:       %{name}-rocksdb-engine%{?_isa} = %{sameevr}}
+%{?with_tokudb:Recommends:       %{name}-tokudb-engine%{?_isa} = %{sameevr}}
+
+Suggests:         mytop
+Suggests:         logrotate
+
+Requires:         %{_sysconfdir}/my.cnf
+Requires:         %{_sysconfdir}/my.cnf.d
+
+# for fuser in mysql-check-socket
+Requires:         psmisc
+
+Requires:         coreutils
+Requires(pre):    /usr/sbin/useradd
+# We require this to be present for %%{_tmpfilesdir}
+Requires:         systemd
+# Make sure it's there when scriptlets run, too
+%{?systemd_requires}
+# RHBZ#1496131; use 'iproute' instead of 'net-tools'
+Requires:         iproute
+%if %{with mysql_names}
+Provides:         mysql-server = %{sameevr}
+Provides:         mysql-server%{?_isa} = %{sameevr}
+Provides:         mysql-compat-server = %{sameevr}
+Provides:         mysql-compat-server%{?_isa} = %{sameevr}
+%endif
+%{?with_conflicts:Conflicts:        mysql-server}
+
+%description      server
+MariaDB is a multi-user, multi-threaded SQL database server. It is a
+client/server implementation consisting of a server daemon (mysqld)
+and many different client programs and libraries. This package contains
+the MariaDB server and some accompanying files and directories.
+MariaDB is a community developed branch of MySQL.
+
+
+%if %{with oqgraph}
+%package          oqgraph-engine
+Summary:          The Open Query GRAPH engine for MariaDB
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+# boost and Judy required for oograph
+BuildRequires:    boost-devel Judy-devel
+
+%description      oqgraph-engine
+The package provides Open Query GRAPH engine (OQGRAPH) as plugin for MariaDB
+database server. OQGRAPH is a computation engine allowing hierarchies and more
+complex graph structures to be handled in a relational fashion. In a nutshell,
+tree structures and friend-of-a-friend style searches can now be done using
+standard SQL syntax, and results joined onto other tables.
+%endif
+
+
+%if %{with connect}
+%package          connect-engine
+Summary:          The CONNECT storage engine for MariaDB
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+
+%description      connect-engine
+The CONNECT storage engine enables MariaDB to access external local or
+remote data (MED). This is done by defining tables based on different data
+types, in particular files in various formats, data extracted from other DBMS
+or products (such as Excel), or data retrieved from the environment
+(for example DIR, WMI, and MAC tables).
+%endif
+
+
+%if %{with backup}
+%package          backup
+Summary:          The mariabackup tool for physical online backups
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+BuildRequires:    libarchive-devel
+
+%description      backup
+MariaDB Backup is an open source tool provided by MariaDB for performing
+physical online backups of InnoDB, Aria and MyISAM tables.
+For InnoDB, "hot online" backups are possible.
+%endif
+
+
+%if %{with rocksdb}
+%package          rocksdb-engine
+Summary:          The RocksDB storage engine for MariaDB
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+Provides:         bundled(rocksdb)
+
+%description      rocksdb-engine
+The RocksDB storage engine is used for high performance servers on SSD drives.
+%endif
+
+
+%if %{with tokudb}
+%package          tokudb-engine
+Summary:          The TokuDB storage engine for MariaDB
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+BuildRequires:    jemalloc-devel
+Requires:         jemalloc
+
+%description      tokudb-engine
+The TokuDB storage engine from Percona.
+%endif
+
+
+%if %{with cracklib}
+%package          cracklib-password-check
+Summary:          The password strength checking plugin
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+BuildRequires:    cracklib-dicts cracklib-devel
+Requires:         cracklib-dicts
+
+%description      cracklib-password-check
+CrackLib is a password strength checking library. It is installed by default
+in many Linux distributions and is invoked automatically (by pam_cracklib.so)
+whenever the user login password is modified.
+Now, with the cracklib_password_check password validation plugin, one can
+also use it to check MariaDB account passwords.
+%endif
+
+
+%if %{with gssapi}
+%package          gssapi-server
+Summary:          GSSAPI authentication plugin for server
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+BuildRequires:    krb5-devel
+
+%description      gssapi-server
+GSSAPI authentication server-side plugin for MariaDB for passwordless login.
+This plugin includes support for Kerberos on Unix.
+%endif
+
+
+%if %{with sphinx}
+%package          sphinx-engine
+Summary:          The Sphinx storage engine for MariaDB
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+BuildRequires:    sphinx libsphinxclient libsphinxclient-devel
+Requires:         sphinx libsphinxclient
+
+%description      sphinx-engine
+The Sphinx storage engine for MariaDB.
+%endif
+
+%if %{with cassandra}
+%package          cassandra-engine
+Summary:          The Cassandra storage engine for MariaDB - EXPERIMENTAL VERSION
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+BuildRequires:    cassandra thrift-devel
+
+%description      cassandra-engine
+The Cassandra storage engine for MariaDB. EXPERIMENTAL VERSION!
+%endif
+
+
+%package          server-utils
+Summary:          Non-essential server utilities for MariaDB/MySQL applications
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+%if %{with mysql_names}
+Provides:         mysql-perl = %{sameevr}
+%endif
+# mysqlhotcopy needs DBI/DBD support
+Requires:         perl(DBI) perl(DBD::mysql)
+
+%description      server-utils
+This package contains all non-essential server utilities and scripts for
+managing databases. It also contains all utilities requiring Perl and it is
+the only MariaDB sub-package, except test subpackage, that depends on Perl.
+
+
+%if %{with devel}
+%package          devel
+Summary:          Files for development of MariaDB/MySQL applications
+%{?with_clibrary:Requires:         %{name}-libs%{?_isa} = %{sameevr}}
+Requires:         openssl-devel
+%if %{without clibrary}
+Requires:         mariadb-connector-c-devel >= 3.0
+%endif
+%if %{with mysql_names}
+Provides:         mysql-devel = %{sameevr}
+Provides:         mysql-devel%{?_isa} = %{sameevr}
+%endif
+%{?with_conflicts:Conflicts:        mysql-devel}
+
+%description      devel
+MariaDB is a multi-user, multi-threaded SQL database server.
+MariaDB is a community developed branch of MySQL.
+%if %{with clibrary}
+This package contains everything needed for developing MariaDB/MySQL client
+and server applications.
+%else
+This package contains everything needed for developing MariaDB/MySQL server
+applications. For developing client applications, use mariadb-connector-c
+package.
+%endif
+%endif
+
+
+%if %{with embedded}
+%package          embedded
+Summary:          MariaDB as an embeddable library
+Requires:         %{name}-common%{?_isa} = %{sameevr}
+Requires:         %{name}-errmsg%{?_isa} = %{sameevr}
+%if %{with mysql_names}
+Provides:         mysql-embedded = %{sameevr}
+Provides:         mysql-embedded%{?_isa} = %{sameevr}
+%endif
+
+%description      embedded
+MariaDB is a multi-user, multi-threaded SQL database server. This
+package contains a version of the MariaDB server that can be embedded
+into a client application instead of running as a separate process.
+MariaDB is a community developed branch of MySQL.
+
+
+%package          embedded-devel
+Summary:          Development files for MariaDB as an embeddable library
+Requires:         %{name}-embedded%{?_isa} = %{sameevr}
+Requires:         %{name}-devel%{?_isa} = %{sameevr}
+# embedded-devel should require libaio-devel (rhbz#1290517)
+Requires:         libaio-devel
+%if %{with mysql_names}
+Provides:         mysql-embedded-devel = %{sameevr}
+Provides:         mysql-embedded-devel%{?_isa} = %{sameevr}
+%endif
+%{?with_conflicts:Conflicts:        mysql-embedded-devel}
+
+%description      embedded-devel
+MariaDB is a multi-user, multi-threaded SQL database server.
+MariaDB is a community developed branch of MySQL.
+This package contains files needed for developing and testing with
+the embedded version of the MariaDB server.
+%endif
+
+
+%if %{with bench}
+%package          bench
+Summary:          MariaDB benchmark scripts and data
+Requires:         %{name}%{?_isa} = %{sameevr}
+%if %{with mysql_names}
+Provides:         mysql-bench = %{sameevr}
+Provides:         mysql-bench%{?_isa} = %{sameevr}
+%endif
+%{?with_conflicts:Conflicts:        mysql-bench}
+
+%description      bench
+MariaDB is a multi-user, multi-threaded SQL database server.
+MariaDB is a community developed branch of MySQL.
+This package contains benchmark scripts and data for use when benchmarking
+MariaDB.
+%endif
+
+
+%if %{with test}
+%package          test
+Summary:          The test suite distributed with MariaDB
+Requires:         %{name}%{?_isa} = %{sameevr}
+Requires:         %{name}-common%{?_isa} = %{sameevr}
+Requires:         %{name}-server%{?_isa} = %{sameevr}
+Requires:         perl(Env)
+Requires:         perl(Exporter)
+Requires:         perl(Fcntl)
+Requires:         perl(File::Temp)
+Requires:         perl(Data::Dumper)
+Requires:         perl(Getopt::Long)
+Requires:         perl(IPC::Open3)
+Requires:         perl(Socket)
+Requires:         perl(Sys::Hostname)
+Requires:         perl(Test::More)
+Requires:         perl(Time::HiRes)
+%{?with_conflicts:Conflicts:        mysql-test}
+%if %{with mysql_names}
+Provides:         mysql-test = %{sameevr}
+Provides:         mysql-test%{?_isa} = %{sameevr}
+%endif
+
+%description      test
+MariaDB is a multi-user, multi-threaded SQL database server.
+MariaDB is a community developed branch of MySQL.
+This package contains the regression test suite distributed with the MariaDB
+sources.
+%endif
+
+
+%prep
+%setup -q -n mariadb-%{version}
+
+# Remove JAR files that upstream puts into tarball
+find . -name "*.jar" -type f -exec rm --verbose -f {} \;
+
+%patch1 -p1
+%patch4 -p1
+%patch7 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+
+# workaround for upstream bug #56342
+#rm mysql-test/t/ssl_8k_key-master.opt
+
+# generate a list of tests that fail, but are not disabled by upstream
+cat %{SOURCE50} | tee -a mysql-test/unstable-tests
+
+# disable some tests failing on different architectures
+%ifarch %{arm} aarch64
+cat %{SOURCE51} | tee -a mysql-test/unstable-tests
+%endif
+
+%ifarch s390 s390x
+cat %{SOURCE52} | tee -a mysql-test/unstable-tests
+%endif
+
+%ifarch ppc ppc64 ppc64p7 ppc64le
+cat %{SOURCE53} | tee -a mysql-test/unstable-tests
+%endif
+
+cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \
+   %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} %{SOURCE73} scripts
+
+%if %{with galera}
+# prepare selinux policy
+mkdir selinux
+sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{name}-server-galera.te
+%endif
+
+
+# Get version of PCRE, that upstream use
+pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'`
+pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'`
+
+%if %{without unbundled_pcre}
+# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles
+if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ]
+then
+  echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n"
+  exit 1
+fi
+%else
+# Check if the PCRE version that upstream use, is the same as the one present in system
+pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null `
+if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ]
+then
+  echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n"
+fi
+%endif # PCRE
+
+
+%if %{without rocksdb}
+rm -r storage/rocksdb/
+%endif
+
+# Remove python scripts remains from tokudb upstream (those files are not used anyway)
+rm -r storage/tokudb/mysql-test/tokudb/t/*.py
+
+
+
+%build
+
+# fail quickly and obviously if user tries to build as root
+%if %runselftest
+    if [ x"$(id -u)" = "x0" ]; then
+        echo "mysql's regression tests fail if run as root."
+        echo "If you really need to build the RPM as root, use"
+        echo "--nocheck to skip the regression tests."
+        exit 1
+    fi
+%endif
+
+CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+# force PIC mode so that we can build libmysqld.so
+CFLAGS="$CFLAGS -fPIC"
+# Override all optimization flags when making a debug build
+%{?with_debug: CFLAGS="$CFLAGS -O0 -g"}
+
+CXXFLAGS="$CFLAGS"
+export CFLAGS CXXFLAGS
+
+
+# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
+# so we can't use %%{_datadir} and so forth here.
+%cmake . \
+         -DBUILD_CONFIG=mysql_release \
+         -DFEATURE_SET="community" \
+         -DINSTALL_LAYOUT=RPM \
+         -DDAEMON_NAME="%{daemon_name}" \
+         -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \
+         -DLOG_LOCATION="%{logfile}" \
+         -DPID_FILE_DIR="%{pidfiledir}" \
+         -DNICE_PROJECT_NAME="MariaDB" \
+         -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \
+         -DCMAKE_INSTALL_PREFIX="%{_prefix}" \
+         -DINSTALL_SYSCONFDIR="%{_sysconfdir}" \
+         -DINSTALL_SYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \
+         -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \
+         -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \
+         -DINSTALL_INCLUDEDIR=include/mysql \
+         -DINSTALL_INFODIR=share/info \
+         -DINSTALL_LIBDIR="%{_lib}" \
+         -DINSTALL_MANDIR=share/man \
+         -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \
+         -DINSTALL_MYSQLTESTDIR=%{?with_test:share/mysql-test}%{!?with_test:} \
+         -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \
+         -DINSTALL_SBINDIR=libexec \
+         -DINSTALL_SCRIPTDIR=bin \
+         -DINSTALL_SQLBENCHDIR=share \
+         -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
+         -DMYSQL_DATADIR="%{dbdatadir}" \
+         -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
+         -DTMPDIR=/var/tmp \
+         -DENABLED_LOCAL_INFILE=ON \
+         -DENABLE_DTRACE=ON \
+         -DSECURITY_HARDENED=ON \
+         -DWITH_WSREP=%{?with_galera:ON}%{!?with_galera:OFF} \
+         -DWITH_INNODB_DISALLOW_WRITES=%{?with_galera:ON}%{!?with_galera:OFF} \
+         -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
+         -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
+         -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
+         -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
+         -DWITH_SSL=system \
+         -DWITH_ZLIB=system \
+         -DWITH_JEMALLOC=%{?with_tokudb:YES}%{!?with_tokudb:NO} \
+         -DLZ4_LIBS=%{_libdir}/liblz4.so \
+         -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
+         -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \
+         -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \
+         -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \
+         -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
+         -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
+         -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
+         -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
+         -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
+         -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
+         -DCONNECT_WITH_MONGO=OFF \
+         -DCONNECT_WITH_JDBC=OFF \
+%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON}
+
+# Print all Cmake options values
+# cmake -LAH for List Advanced Help
+cmake -LA
+
+make %{?_smp_mflags} VERBOSE=1
+
+
+# build selinux policy
+%if %{with galera}
+pushd selinux
+make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp
+%endif
+
+%install
+make DESTDIR=%{buildroot} install
+
+# multilib header support #1625157
+for header in mysql/server/my_config.h mysql/server/private/config.h; do
+%multilib_fix_c_header --file %{_includedir}/$header
+done
+
+ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz
+
+# multilib support for shell scripts
+# we only apply this to known Red Hat multilib arches, per bug #181335
+if [ %multilib_capable ]
+then
+mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits}
+install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config
+# Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961
+ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1
+fi
+
+# Upstream install this into arch-independent directory
+# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340
+# TODO: check, if it changes location inside that file depending on values passed to Cmake
+mkdir -p %{buildroot}/%{_libdir}/pkgconfig
+mv %{buildroot}/%{_datadir}/pkgconfig/mariadb.pc %{buildroot}/%{_libdir}/pkgconfig
+rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc
+
+# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
+# but that's pretty wacko --- see also %%{name}-file-contents.patch)
+install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/
+install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/
+rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/
+
+# Logfile creation
+mkdir -p %{buildroot}%{logfiledir}
+chmod 0750 %{buildroot}%{logfiledir}
+touch %{buildroot}%{logfile}
+
+# current setting in my.cnf is to use /var/run/mariadb for creating pid file,
+# however since my.cnf is not updated by RPM if changed, we need to create mysqld
+# as well because users can have odd settings in their /etc/my.cnf
+mkdir -p %{buildroot}%{pidfiledir}
+install -p -m 0755 -d %{buildroot}%{dbdatadir}
+
+%if %{with config}
+install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
+%else
+rm scripts/my.cnf
+%endif
+
+# use different config file name for each variant of server (mariadb / mysql)
+mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
+
+# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
+mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf
+
+# remove SysV init script and a symlink to that, we pack our very own
+rm %{buildroot}%{_sysconfdir}/init.d/mysql
+rm %{buildroot}%{_libexecdir}/rcmysql
+# install systemd unit files and scripts for handling server startup
+install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
+install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service
+# Remove the upstream version
+rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf
+# Install downstream version
+install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
+%if 0%{?mysqld_pid_dir:1}
+echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
+%endif #pid
+
+# helper scripts for service starting
+install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir
+install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket
+install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade
+install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
+
+# install aditional galera selinux policy
+%if %{with galera}
+install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
+%endif
+
+%if %{with test}
+# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink
+mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
+ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
+# Provide symlink expected by RH QA tests
+ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
+%endif
+
+
+# Client that uses libmysqld embedded server.
+# Pretty much like normal mysql command line client, but it doesn't require a running mariadb server.
+%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded}
+rm %{buildroot}%{_mandir}/man1/mysql_embedded.1*
+# Static libraries
+rm %{buildroot}%{_libdir}/*.a
+# This script creates the MySQL system tables and starts the server.
+# Upstream says:
+#   It looks like it's just "mysql_install_db && mysqld_safe"
+#   I've never heard of anyone using it, I'd say, no need to pack it.
+rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
+# FS files first-bytes recoginiton
+# Not updated by upstream since nobody realy use that
+rm %{buildroot}%{_datadir}/%{pkg_name}/magic
+
+# Upstream ships them because of, https://jira.mariadb.org/browse/MDEV-10797
+# In Fedora we use our own systemd unit files and scripts
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
+
+# Binary for monitoring MySQL performance
+# Shipped as a standalona package in Fedora
+rm %{buildroot}%{_bindir}/mytop
+
+# put logrotate script where it needs to be
+mkdir -p %{buildroot}%{logrotateddir}
+mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
+chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name}
+
+# copy additional docs into build tree so %%doc will find them
+install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}}
+install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}}
+install -p -m 0644 %{SOURCE8} %{basename:%{SOURCE8}}
+install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}}
+install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}}
+
+# install galera config file
+sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf
+install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+# install the clustercheck script
+mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
+touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
+install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
+
+# remove duplicate logrotate script
+rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
+# Remove AppArmor files
+rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
+
+# script without shebang: https://jira.mariadb.org/browse/MDEV-14266
+chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
+
+# Add wsrep_sst_rsync_tunnel script
+install -p -m 0755 scripts/wsrep_sst_rsync_tunnel %{buildroot}%{_bindir}/wsrep_sst_rsync_tunnel
+
+# Disable plugins
+%if %{with ggsapi}
+sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+%if %{with cracklib}
+sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%endif
+
+%if %{without embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+%endif
+
+
+%if %{without clibrary}
+rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf
+# Client library and links
+rm %{buildroot}%{_libdir}/libmariadb.so.*
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+unlink %{buildroot}%{_libdir}/libmariadb.so
+# Client plugins
+rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so}
+%endif
+
+%if %{without clibrary} || %{without devel}
+rm %{buildroot}%{_bindir}/mysql_config*
+rm %{buildroot}%{_bindir}/mariadb_config
+rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
+unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
+%endif
+
+%if %{without clibrary} && %{with devel}
+# This files are already included in mariadb-connector-c
+rm %{buildroot}%{_includedir}/mysql/mysql_version.h
+rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\
+mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h}
+rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql}
+%endif
+
+%if %{without devel}
+rm -r %{buildroot}%{_includedir}/mysql
+rm %{buildroot}%{_datadir}/aclocal/mysql.m4
+rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc
+%if %{with clibrary}
+rm %{buildroot}%{_libdir}/libmariadb*.so
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+%endif # clibrary
+%endif # devel
+
+%if %{without client}
+rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\
+mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
+mysqldump,mysqlimport,mysqlshow,mysqlslap}
+rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\
+mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
+mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
+rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf
+%endif
+
+%if %{without tokudb}
+# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support
+rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
+rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
+%else
+%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
+echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf
+%endif
+# Move to better location, systemd config files has to be in /lib/
+mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}%{_unitdir}
+%endif
+
+%if %{without config}
+rm %{buildroot}%{_sysconfdir}/my.cnf
+%endif
+
+%if %{without common}
+rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets
+%endif
+
+%if %{without gssapi}
+rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
+%endif
+
+%if %{without errmsg}
+rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt
+rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\
+french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\
+polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi}
+%endif
+
+%if %{without bench}
+rm -r %{buildroot}%{_datadir}/sql-bench
+%endif
+
+%if %{without test}
+%if %{with embedded}
+rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
+rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
+%endif # embedded
+rm %{buildroot}%{_bindir}/test-connect-t
+rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
+rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
+%endif # test
+
+%if %{without galera}
+rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
+rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster}
+rm %{buildroot}%{_bindir}/galera_recovery
+rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
+%endif
+
+%if %{without rocksdb}
+rm %{buildroot}%{_mandir}/man1/mysql_ldb.1*
+%endif
+
+%check
+%if %{with test}
+%if %runselftest
+
+# Workaround for rhbz#1618810
+OPENSSL_SYSTEM_CIPHERS_OVERRIDE=xyz_nonexistent_file
+export OPENSSL_SYSTEM_CIPHERS_OVERRIDE
+OPENSSL_CONF=''
+export OPENSSL_CONF
+
+# hack to let 32- and 64-bit tests run concurrently on same build machine
+export MTR_PARALLEL=1
+# builds might happen at the same host, avoid collision
+export MTR_BUILD_THREAD=%{__isa_bits}
+
+# The cmake build scripts don't provide any simple way to control the
+# options for mysql-test-run, so ignore the make target and just call it
+# manually.  Nonstandard options chosen are:
+# --force to continue tests after a failure
+# no retries please
+# test SSL with --ssl
+# skip tests that are listed in rh-skipped-tests.list
+# avoid redundant test runs with --binlog-format=mixed
+# increase timeouts to prevent unwanted failures during mass rebuilds
+
+# Usefull arguments:
+#    --do-test=mysql_client_test_nonblock \
+#    --skip-rpl
+#    --suite=roles
+#    --mem for running in the RAM; Not enough space in KOJI for this
+
+(
+  set -ex
+
+  cd mysql-test
+  perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \
+    --suite-timeout=900 --testcase-timeout=30 \
+    --mysqld=--binlog-format=mixed --force-restart \
+    --shutdown-timeout=60 --max-test-fail=10 --big-test \
+    --skip-test=spider \
+%if %{ignore_testsuite_result}
+    --max-test-fail=9999 || :
+%else
+    --skip-test-list=unstable-tests
+%endif
+
+# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate)
+  perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \
+    --suite-timeout=60 --testcase-timeout=10 \
+    --mysqld=--binlog-format=mixed --force-restart \
+    --shutdown-timeout=60 --max-test-fail=0 --big-test \
+    --skip-ssl --suite=spider,spider/bg \
+%if %{ignore_testsuite_result}
+    --max-test-fail=999 || :
+%endif
+)
+
+%endif # if dry run
+%endif # with test
+
+
+
+%pre server
+/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
+/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \
+  -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
+
+%if %{with clibrary}
+# Can be dropped on F27 EOL
+%ldconfig_scriptlets libs
+%endif
+
+%if %{with embedded}
+# Can be dropped on F27 EOL
+%ldconfig_scriptlets embedded
+%endif
+
+%if %{with galera}
+%post server-galera
+# Do what README at support-files/policy/selinux/README and upstream page
+# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend:
+semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || :
+semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || :
+semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || :
+semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || :
+%endif
+
+%post server
+%systemd_post %{daemon_name}.service
+
+%preun server
+%systemd_preun %{daemon_name}.service
+
+%if %{with galera}
+%postun server-galera
+if [ $1 -eq 0 ]; then
+    semodule -r %{name}-server-galera 2>/dev/null || :
+fi
+%endif
+
+%postun server
+%systemd_postun_with_restart %{daemon_name}.service
+
+
+
+%if %{with client}
+%files
+%{_bindir}/msql2mysql
+%{_bindir}/mysql
+%{_bindir}/mysql_find_rows
+%{_bindir}/mysql_plugin
+%{_bindir}/mysql_waitpid
+%{_bindir}/mysqlaccess
+%{_bindir}/mysqladmin
+%{_bindir}/mysqlbinlog
+%{_bindir}/mysqlcheck
+%{_bindir}/mysqldump
+%{_bindir}/mysqlimport
+%{_bindir}/mysqlshow
+%{_bindir}/mysqlslap
+
+%{_mandir}/man1/msql2mysql.1*
+%{_mandir}/man1/mysql.1*
+%{_mandir}/man1/mysql_find_rows.1*
+%{_mandir}/man1/mysql_plugin.1*
+%{_mandir}/man1/mysql_waitpid.1*
+%{_mandir}/man1/mysqlaccess.1*
+%{_mandir}/man1/mysqladmin.1*
+%{_mandir}/man1/mysqlbinlog.1*
+%{_mandir}/man1/mysqlcheck.1*
+%{_mandir}/man1/mysqldump.1*
+%{_mandir}/man1/mysqlimport.1*
+%{_mandir}/man1/mysqlshow.1*
+%{_mandir}/man1/mysqlslap.1*
+%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
+%endif
+
+%if %{with clibrary}
+%files libs
+%{_libdir}/libmariadb.so.*
+%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
+%endif
+
+%if %{with config}
+%files config
+# Although the default my.cnf contains only server settings, we put it in the
+# common package because it can be used for client settings too.
+%dir %{_sysconfdir}/my.cnf.d
+%config(noreplace) %{_sysconfdir}/my.cnf
+%endif
+
+%if %{with common}
+%files common
+%doc %{_datadir}/doc/%{_pkgdocdirname}
+%dir %{_datadir}/%{pkg_name}
+%{_datadir}/%{pkg_name}/charsets
+%if %{with clibrary}
+%{_libdir}/%{pkg_name}/plugin/dialog.so
+%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
+%endif # clibrary
+%endif # common
+
+%if %{with errmsg}
+%files errmsg
+%{_datadir}/%{pkg_name}/errmsg-utf8.txt
+%{_datadir}/%{pkg_name}/english
+%lang(cs) %{_datadir}/%{pkg_name}/czech
+%lang(da) %{_datadir}/%{pkg_name}/danish
+%lang(nl) %{_datadir}/%{pkg_name}/dutch
+%lang(et) %{_datadir}/%{pkg_name}/estonian
+%lang(fr) %{_datadir}/%{pkg_name}/french
+%lang(de) %{_datadir}/%{pkg_name}/german
+%lang(el) %{_datadir}/%{pkg_name}/greek
+%lang(hi) %{_datadir}/%{pkg_name}/hindi
+%lang(hu) %{_datadir}/%{pkg_name}/hungarian
+%lang(it) %{_datadir}/%{pkg_name}/italian
+%lang(ja) %{_datadir}/%{pkg_name}/japanese
+%lang(ko) %{_datadir}/%{pkg_name}/korean
+%lang(no) %{_datadir}/%{pkg_name}/norwegian
+%lang(no) %{_datadir}/%{pkg_name}/norwegian-ny
+%lang(pl) %{_datadir}/%{pkg_name}/polish
+%lang(pt) %{_datadir}/%{pkg_name}/portuguese
+%lang(ro) %{_datadir}/%{pkg_name}/romanian
+%lang(ru) %{_datadir}/%{pkg_name}/russian
+%lang(sr) %{_datadir}/%{pkg_name}/serbian
+%lang(sk) %{_datadir}/%{pkg_name}/slovak
+%lang(es) %{_datadir}/%{pkg_name}/spanish
+%lang(sv) %{_datadir}/%{pkg_name}/swedish
+%lang(uk) %{_datadir}/%{pkg_name}/ukrainian
+%endif
+
+%if %{with galera}
+%files server-galera
+%doc Docs/README-wsrep
+%license LICENSE.clustercheck
+%{_bindir}/clustercheck
+%{_bindir}/galera_new_cluster
+%{_bindir}/galera_recovery
+%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
+%config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf
+%attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck
+%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
+%endif
+
+%files server
+%doc README.wsrep_sst_rsync_tunnel
+
+%{_bindir}/aria_chk
+%{_bindir}/aria_dump_log
+%{_bindir}/aria_ftdump
+%{_bindir}/aria_pack
+%{_bindir}/aria_read_log
+%{_bindir}/mariadb-service-convert
+%{_bindir}/myisamchk
+%{_bindir}/myisam_ftdump
+%{_bindir}/myisamlog
+%{_bindir}/myisampack
+%{_bindir}/my_print_defaults
+%{_bindir}/mysql_install_db
+%{_bindir}/mysql_secure_installation
+%{_bindir}/mysql_tzinfo_to_sql
+%{_bindir}/mysqld_safe
+%{_bindir}/innochecksum
+%{_bindir}/replace
+%{_bindir}/resolve_stack_dump
+%{_bindir}/resolveip
+# wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296
+%{_bindir}/wsrep_*
+
+%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
+%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset
+
+%{_libexecdir}/mysqld
+
+%{_libdir}/%{pkg_name}/INFO_SRC
+%{_libdir}/%{pkg_name}/INFO_BIN
+%if %{without common}
+%dir %{_datadir}/%{pkg_name}
+%endif
+
+%dir %{_libdir}/%{pkg_name}
+%dir %{_libdir}/%{pkg_name}/plugin
+%{_libdir}/%{pkg_name}/plugin/*
+%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
+%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
+%{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so}
+%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so}
+%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so}
+%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
+%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
+%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so}
+%if %{with clibrary}
+%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
+%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
+%endif
+
+%{_mandir}/man1/aria_chk.1*
+%{_mandir}/man1/aria_dump_log.1*
+%{_mandir}/man1/aria_ftdump.1*
+%{_mandir}/man1/aria_pack.1*
+%{_mandir}/man1/aria_read_log.1*
+%{_mandir}/man1/galera_new_cluster.1*
+%{_mandir}/man1/galera_recovery.1*
+%{_mandir}/man1/mariadb-service-convert.1*
+%{_mandir}/man1/myisamchk.1*
+%{_mandir}/man1/myisamlog.1*
+%{_mandir}/man1/myisampack.1*
+%{_mandir}/man1/myisam_ftdump.1*
+%{_mandir}/man1/my_print_defaults.1*
+%{_mandir}/man1/mysql.server.1*
+%{_mandir}/man1/mysql_install_db.1*
+%{_mandir}/man1/mysql_secure_installation.1*
+%{_mandir}/man1/mysql_tzinfo_to_sql.1*
+%{_mandir}/man1/mysqld_safe.1*
+%{_mandir}/man1/mysqld_safe_helper.1*
+%{_mandir}/man1/innochecksum.1*
+%{_mandir}/man1/replace.1*
+%{_mandir}/man1/resolveip.1*
+%{_mandir}/man1/resolve_stack_dump.1*
+%{_mandir}/man8/mysqld.8*
+%{_mandir}/man1/wsrep_*.1*
+
+%{_datadir}/%{pkg_name}/fill_help_tables.sql
+%{_datadir}/%{pkg_name}/install_spider.sql
+%{_datadir}/%{pkg_name}/maria_add_gis_sp.sql
+%{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql
+%{_datadir}/%{pkg_name}/mysql_system_tables.sql
+%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql
+%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql
+%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql
+%{_datadir}/%{pkg_name}/mysql_performance_tables.sql
+%{_datadir}/%{pkg_name}/mysql_test_db.sql
+%if %{with mroonga}
+%{_datadir}/%{pkg_name}/mroonga/install.sql
+%{_datadir}/%{pkg_name}/mroonga/uninstall.sql
+%license %{_datadir}/%{pkg_name}/mroonga/COPYING
+%license %{_datadir}/%{pkg_name}/mroonga/AUTHORS
+%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt
+%license %{_datadir}/groonga/COPYING
+%doc %{_datadir}/groonga-normalizer-mysql/README.md
+%doc %{_datadir}/groonga/README.md
+%endif
+%{_datadir}/%{pkg_name}/wsrep.cnf
+%{_datadir}/%{pkg_name}/wsrep_notify
+%dir %{_datadir}/%{pkg_name}/policy
+%dir %{_datadir}/%{pkg_name}/policy/selinux
+%{_datadir}/%{pkg_name}/policy/selinux/README
+%{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.*
+%{_datadir}/%{pkg_name}/policy/selinux/mariadb.*
+%{_datadir}/%{pkg_name}/systemd/mariadb.service
+# mariadb@ is installed only when we have cmake newer than 3.3
+%if 0%{?fedora} || 0%{?rhel} > 7
+%{_datadir}/%{pkg_name}/systemd/mariadb@.service
+%endif
+
+%{daemondir}/%{daemon_name}*
+%{_libexecdir}/mysql-prepare-db-dir
+%{_libexecdir}/mysql-check-socket
+%{_libexecdir}/mysql-check-upgrade
+%{_libexecdir}/mysql-scripts-common
+
+%attr(0755,mysql,mysql) %dir %{pidfiledir}
+%attr(0755,mysql,mysql) %dir %{dbdatadir}
+%attr(0750,mysql,mysql) %dir %{logfiledir}
+# This does what it should.
+# RPMLint error "conffile-without-noreplace-flag /var/log/mariadb/mariadb.log" is false positive.
+%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
+%config(noreplace) %{logrotateddir}/%{daemon_name}
+
+%{_tmpfilesdir}/%{name}.conf
+%{_sysusersdir}/%{name}.conf
+
+%if %{with cracklib}
+%files cracklib-password-check
+%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so
+%endif
+
+%if %{with backup}
+%files backup
+%{_bindir}/mariabackup
+%{_bindir}/mbstream
+%{_mandir}/man1/mariabackup.1*
+%{_mandir}/man1/mbstream.1*
+%endif
+
+%if %{with rocksdb}
+%files rocksdb-engine
+%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
+%{_bindir}/myrocks_hotbackup
+%{_bindir}/mysql_ldb
+%{_bindir}/sst_dump
+%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so
+%{_mandir}/man1/mysql_ldb.1*
+%endif
+
+%if %{with tokudb}
+%files tokudb-engine
+%{_bindir}/tokuftdump
+%{_bindir}/tokuft_logprint
+%{_mandir}/man1/tokuftdump.1*
+%{_mandir}/man1/tokuft_logprint.1*
+%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf
+%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so
+%{_unitdir}/mariadb.service.d/tokudb.conf
+%endif
+
+%if %{with gssapi}
+%files gssapi-server
+%{_libdir}/%{pkg_name}/plugin/auth_gssapi.so
+%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+
+%if %{with sphinx}
+%files sphinx-engine
+%{_libdir}/%{pkg_name}/plugin/ha_sphinx.so
+%endif
+
+%if %{with oqgraph}
+%files oqgraph-engine
+%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf
+%{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so
+%endif
+
+%if %{with connect}
+%files connect-engine
+%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf
+%{_libdir}/%{pkg_name}/plugin/ha_connect.so
+%endif
+
+%if %{with cassandra}
+%files cassandra-engine
+%config(noreplace) %{_sysconfdir}/my.cnf.d/cassandra.cnf
+%{_libdir}/%{pkg_name}/plugin/ha_cassandra.so
+%endif
+
+%files server-utils
+# Perl utilities
+%{_bindir}/mysql_convert_table_format
+%{_bindir}/mysql_fix_extensions
+%{_bindir}/mysql_setpermission
+%{_bindir}/mysqldumpslow
+%{_bindir}/mysqld_multi
+%{_bindir}/mysqlhotcopy
+%{_mandir}/man1/mysql_convert_table_format.1*
+%{_mandir}/man1/mysql_fix_extensions.1*
+%{_mandir}/man1/mysqldumpslow.1*
+%{_mandir}/man1/mysqld_multi.1*
+%{_mandir}/man1/mysqlhotcopy.1*
+%{_mandir}/man1/mysql_setpermission.1*
+# Utilities that can be used remotely
+%{_bindir}/mysql_upgrade
+%{_bindir}/perror
+%{_mandir}/man1/mysql_upgrade.1*
+%{_mandir}/man1/perror.1*
+# Other utilities
+%{_bindir}/mysqld_safe_helper
+
+%if %{with devel}
+%files devel
+%{_includedir}/*
+%{_datadir}/aclocal/mysql.m4
+%{_libdir}/pkgconfig/mariadb.pc
+%if %{with clibrary}
+%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
+%{_bindir}/mysql_config*
+%{_bindir}/mariadb_config*
+%{_libdir}/libmariadb.so
+%{_libdir}/libmysqlclient.so
+%{_libdir}/libmysqlclient_r.so
+%{_mandir}/man1/mysql_config*
+%{_mandir}/man1/mariadb_config*
+%endif
+%endif
+
+%if %{with embedded}
+%files embedded
+%{_libdir}/libmariadbd.so.*
+
+%files embedded-devel
+%{_libdir}/libmysqld.so
+%{_libdir}/libmariadbd.so
+%endif
+
+%if %{with bench}
+%files bench
+%{_datadir}/sql-bench
+%doc %{_datadir}/sql-bench/README
+%endif
+
+%if %{with test}
+%files test
+%if %{with embedded}
+%{_bindir}/test-connect-t
+%{_bindir}/mysql_client_test_embedded
+%{_bindir}/mysqltest_embedded
+%{_mandir}/man1/mysql_client_test_embedded.1*
+%{_mandir}/man1/mysqltest_embedded.1*
+%endif
+%{_bindir}/mysql_client_test
+%{_bindir}/my_safe_process
+%{_bindir}/mysqltest
+%attr(-,mysql,mysql) %{_datadir}/mysql-test
+%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/my_safe_process.1*
+%{_mandir}/man1/mysqltest.1*
+%{_mandir}/man1/mysql-stress-test.pl.1*
+%{_mandir}/man1/mysql-test-run.pl.1*
+%endif
+
+%changelog
+* Mon Dec 10 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.11-1
+- Rebase to 10.3.11
+- Remove README.mysql-cnf as we don't ship example configuration files anymore
+  Resolves: #1653318
+- CVEs fixed:
+  CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156
+  CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173
+  CVE-2018-3200, CVE-2018-3284
+
+* Fri Oct 12 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.10-3
+- Fix "-fstack-protector-strong" static analysis errors
+  Resolves: #1624139
+- Add wsrep_sst_rsync_tunnel script, add README
+  Resolves: #1650463
+- Fix few covscan issues
+  Resolves: #1649707
+- Fix galera_new_cluster script
+  Resolves: #1641663
+
+* Fri Oct 12 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.10-2
+- Fix RPMDiff errors - license and path macros
+  Resolves: #1638720
+
+* Fri Oct 05 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.10-1
+- Rebase to 10.3.10
+  Resolves: #1637034
+
+* Wed Aug 22 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.9-1
+- Rebase to 10.3.9
+- Add workaround for short SSL certificates
+- Fix parallel installability for x86_64 and i686 devel packages
+- CVEs fixed: #1603531
+  CVE-2018-3058 CVE-2018-3063 CVE-2018-3064 CVE-2018-3066
+
+* Mon Aug 13 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.8-6
+- Use openssl-devel instead of pkgconfig(openssl)
+- Enable conflicts against mysql (instead of community-mysql)
+  Related: #1581034
+
+* Sun Aug 12 2018 Honza Horak <hhorak@redhat.com> - 3:10.3.8-5
+- Define explicit conflicts with mysql
+  Resolves: #1581034
+
+* Wed Jul 25 2018 Honza Horak <hhorak@redhat.com> - 3:10.3.8-4
+- Do not build config on systems where mariadb-connector-c-config exists instead
+
+* Tue Jul 17 2018 Honza Horak <hhorak@redhat.com> - 3:10.3.8-3
+- Move config files mysql-clients.cnf and enable_encryption.preset to correct
+  sub-packages, similar to what upstream does
+
+* Tue Jul 03 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.8-1
+- Rebase to 10.3.8
+- Build TokuDB with jemalloc
+
+* Wed Jun 27 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.7-2
+- Rebase to 10.3.7
+- Remove the galera obsoletes
+
+* Tue Jun 05 2018 Honza Horak <hhorak@redhat.com> - 3:10.2.15-2
+- Use mysqladmin for checking the socket
+- Jemalloc dependency moved to the TokuDB subpackage.
+  CMake jemalloc option removed, not used anymore.
+  The server doesn't need jemalloc since 10.2: https://jira.mariadb.org/browse/MDEV-11059
+- Build MariaDB with TokuDB without Jemalloc.
+
+* Wed May 23 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.15-1
+- Rebase to 10.2.15
+- CVEs fixed: #1568962
+  CVE-2018-2755 CVE-2018-2761 CVE-2018-2766 CVE-2018-2771 CVE-2018-2781
+  CVE-2018-2782 CVE-2018-2784 CVE-2018-2787 CVE-2018-2813 CVE-2018-2817
+  CVE-2018-2819 CVE-2018-2786 CVE-2018-2759 CVE-2018-2777 CVE-2018-2810
+
+* Thu Mar 29 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.14-1
+- Rebase to 10.2.14
+- Update testsuite run for SSL self signed certificates
+
+* Tue Mar 6 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.13-2
+- Further fix of ldconfig scriptlets for F27
+- Fix hardcoded paths, move unversioned libraries and symlinks to the devel subpackage
+
+* Thu Mar 1 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.13-1
+- Rebase to 10.2.13
+
+* Mon Feb 26 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.12-8
+- SPECfile refresh, RHEL6, SySV init and old fedora stuff removed
+
+* Sun Feb 25 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.12-7
+- Rebuilt for ldconfig_post and ldconfig_postun bug
+  Related: #1548331
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3:10.2.12-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Fri Jan 26 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.12-5
+- Use '-ldl' compiler flag when associated library used
+  Resolves: #1538990
+
+* Thu Jan 25 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.12-4
+- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
+  configuration by upstream (without Jemalloc).
+  Jemmalloc has been updated to version 5, which isn't backwards compatible.
+- Use downstream tmpfiles instead of the upstream one
+  Related: #1538066
+
+* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 3:10.2.12-3
+- Rebuilt for switch to libxcrypt
+
+* Thu Jan 11 2018 Honza Horak <hhorak@redhat.com> - 3:10.2.12-1
+- Do not build connect plugin with mongo and jdbc connectors
+- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
+  same as it is done in case of systemd unit file
+  Related: #1455850
+- Print the same messages as before when starting the service in SysV init,
+  to not scare users
+  Related: #1463411
+
+* Wed Jan 10 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.12-1
+- Rebase to 10.2.12
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
+- TokuDB disabled
+
+* Mon Dec 11 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.11-2
+- Temporary fix for #1523875 removed, bug in Annobin fixed
+  Resolves: #1523875
+
+* Sat Dec 09 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.11-1
+- Rebase to 10.2.11
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
+- Temporary fix for #1523875 intoruced
+  Related: #1523875
+
+* Wed Dec 06 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.10-2
+- Fix PID file location
+  Related: #1483331, #1515779
+- Remove 'Group' tags as they should not be used any more
+  Related: https://fedoraproject.org/wiki/RPMGroups
+
+* Mon Nov 20 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.10-1
+- Rebase to 10.2.10 version
+- Patch 2: mariadb-install-test.patch has been incorporated by upstream
+- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
+- Update PCRE check
+- Start using location libdir/mariadb for plugins
+- Move libraries to libdir
+- Divided to more sub-packages to match upstream's RPM list
+  Resolves: #1490401; #1400463
+- Update of Cmake arguments to supported format
+  Related: https://lists.launchpad.net/maria-discuss/msg04852.html
+- Remove false Provides
+
+* Thu Oct 05 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.9-3
+- Fix client library obsolete
+  Related: #1498956
+- Enable testsuite again
+- RPMLint error fix:
+  Remove unused python scripts which remained from TokuDB upstream
+- RPMLint error fix: description line too long
+
+* Wed Oct 04 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.9-2
+- Fix of "with" and "without" macros, so they works
+- Use 'iproute' dependency instead of 'net-tools'
+  Related: #1496131
+- Set server package to own /usr/lib64/mysql directory
+- Use correct obsolete, so upgrade from maridb 10.1 to 10.2 is possible
+  with dnf "--allowerasing" option
+  Related: #1497234
+- Fix building with client library
+
+* Thu Sep 28 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.9-1
+- Rebase to 10.2.9
+- Testsuite temorarly disabled in order to fast deploy critical fix
+  Related: #1497234
+
+* Wed Sep 20 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.8-5
+- Fix building without client library part
+- Start building mariadb without client library part,
+  use mariadb-connector-c package >= 3.0 instead
+- Use obosletes of "-libs" in "-common", if built without client library part
+
+* Mon Aug 28 2017 Honza Horak <hhorak@redhat.com> - 3:10.2.8-2
+- Fix paths in galera_recovery and galera_new_cluster
+  Resolves: #1403416
+- Support --defaults-group-suffix properly in systemd unit file
+  Resolves: #1485777
+- Allow 4567 port for tcp as well
+- Install mysql-wait-ready on RHEL-6 for the SysV init
+- Run mysql-prepare-db-dir as non-root
+- Sync mysql.init with community-mysql
+
+* Sun Aug 20 2017 Honza Horak <hhorak@redhat.com> - 3:10.2.8-1
+- Rebase to 10.2.8
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3:10.2.7-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3:10.2.7-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Tue Jul 25 2017 Adam Williamson <awilliam@redhat.com> - 3:10.2.7-6
+- Revert previous change, go back to libmariadb headers (RHBZ #1474764)
+
+* Fri Jul 21 2017 Adam Williamson <awilliam@redhat.com> - 3:10.2.7-5
+- Install correct headers (server, not client) - MDEV-13370
+
+* Wed Jul 19 2017 Jonathan Wakely <jwakely@redhat.com> - 3:10.2.7-4
+- Rebuilt for s390x binutils bug
+
+* Tue Jul 18 2017 Jonathan Wakely <jwakely@redhat.com> - 3:10.2.7-3
+- Rebuilt for Boost 1.64
+
+* Thu Jul 13 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.7-2
+- Remove mysql-wait-* scripts. They aren't needed when using systemd "Type=notify"
+
+* Thu Jul 13 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.7-1
+- Rebase to 10.2.7
+- Get back mysql_config, its "--libmysqld-libs" is still needed
+
+* Wed Jul 12 2017 Adam Williamson <awilliam@redhat.com> - 3:10.2.6-4
+- Add manual Provides: for the libmysqlcient compat symlink
+
+* Wed Jul 12 2017 Adam Williamson <awilliam@redhat.com> - 3:10.2.6-3
+- Move libmysqlclient.so.18 compat link to -libs subpackage
+
+* Tue Jul 11 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.6-2
+- Disable Dtrace
+- Disable Sphinx, circural dependency
+
+* Tue Jul 11 2017 Michal Schorm <mschorm@redhat.com> - 3:10.2.6-1
+- Rebase to 10.2.6
+- SSL patch removed
+- 'libmariadb.so.3' replaced 'limysqlclient.so.18.0.0', symlinks provided
+- "make test" removed, it needs running server and same test are included in the testsuite
+
+* Mon Jul 10 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.25-1
+- Rebase to 10.1.25
+- Disable plugins 'cracklib' and 'gssapi' by default
+- Related: #1468028, #1464070
+- Looks like the testsuite removes its 'var' content correctly,
+  no need to do that explicitly.
+
+* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 3:10.1.24-5
+- Rebuild due to bug in RPM (RHBZ #1468476)
+
+* Mon Jun 19 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.24-4
+- Use "/run" location instead of "/var/run" symlink
+- Related: #1455811
+- Remove AppArmor files
+
+* Fri Jun 09 2017 Honza Horak <hhorak@redhat.com> - 3:10.1.24-3
+- Downstream script mariadb-prepare-db-dir fixed for CVE-2017-3265
+- Resolves: #1458940
+- Check properly that datadir includes only expected files
+- Related: #1356897
+
+* Wed Jun 07 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.24-2
+- Fixed incorrect Jemalloc initialization; #1459671
+
+* Fri Jun 02 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.24-1
+- Rebase to 10.1.24
+- Build dependecies Bison and Libarchive added, others corrected
+- Disabling Mroonga engine for i686 architecture, as it is not supported by MariaDB
+- Removed patches: (fixed by upstream)
+    Patch5:  mariadb-file-contents.patch
+    Patch14: mariadb-example-config-files.patch
+    Patch31: mariadb-string-overflow.patch
+    Patch32: mariadb-basedir.patch
+    Patch41: mariadb-galera-new-cluster-help.patch
+- Resolves: rhbz#1414387
+    CVE-2017-3313
+- Resolves partly: rhbz#1443408
+    CVE-2017-3308 CVE-2017-3309 CVE-2017-3453 CVE-2017-3456 CVE-2017-3464
+
+* Tue May 23 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.21-6
+- Plugin oqgraph enabled
+- Plugin jemalloc enabled
+- 'force' option for 'rm' removed
+- Enabled '--big-test' option for the testsuite
+- Disabled '--skip-rpl' option for the testsuite = replication tests enabled
+- Multilib manpage added
+
+* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3:10.1.21-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
+
+* Tue Mar 07 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.21-4
+- Cracklib plugin enabled
+- Removed strmov patch, it is no longer needed. The issue was fixed long ago in both MariaDB and MySQL
+
+* Wed Feb 15 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.21-3
+- Fix for some RPMLint issues
+- Fix: Only server utilities can be move to server-utils subpackage. The rest (from client)
+  were moved back to where they came from (client - the main subpackage)
+- Added correct "Obsoletes" for the server-utils subpackage
+- Fixed FTBFS in F26 on x86_64, because of -Werror option
+- Related: #1421092, #1395127
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3:10.1.21-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Jan 24 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.21-1
+- Rebase to version 10.1.21
+- Most of the non-essential utilites has been moved to the new sub-package mariadb-server-utils
+- Patches "admincrash" and "errno" removed, they are no longer relevant
+  "mysql-embedded-check.c" removed, no longer relevant
+- Buildrequires krb5-devel duplicity removed
+- Manpage for mysql_secure_installation extended
+- Preparation for the CrackLib plugin to be added (waiting for correct SELinux rules to be relased)
+- Related: #1260821, #1205082, #1414387
+
+* Tue Jan 03 2017 Honza Horak <hhorak@redhat.com> - 3:10.1.20-3
+- Add explicit EVR requirement in main package for -libs
+- Related: #1406320
+
+* Tue Dec 20 2016 Honza Horak <hhorak@redhat.com> - 3:10.1.20-2
+- Use correct macro when removing doc files
+- Resolves: #1400981
+
+* Sat Dec 17 2016 Michal Schorm <mschorm@redhat.com> - 3:10.1.20-1
+- Rebase to version 10.1.20
+- Related: #1405258
+
+* Fri Dec 02 2016 Michal Schorm <mschorm@redhat.com> - 3:10.1.19-6
+- Move patch from specfile to standalone patch file
+- Related: #1382988
+
+* Thu Dec 01 2016 Rex Dieter <rdieter@fedoraproject.org> - 3:10.1.19-6
+- -devel: use pkgconfig(openssl) to allow any implementation (like compat-openssl10)
+
+* Wed Nov 30 2016 Michal Schorm <mschorm@redhat.com> - 3:10.1.19-5
+- Testsuite blacklists heavily updated. Current tracker: #1399847
+- Log-error option added to all config files examples
+- Resolves: #1382988
+
+* Wed Nov 16 2016 Michal Schorm <mschorm@redhat.com> - 3:10.1.19-4
+- JdbcMariaDB.jar test removed
+- PCRE version check added
+- Related: #1382988, #1396945, #1096787
+
+* Wed Nov 16 2016 Michal Schorm <mschorm@redhat.com> - 3:10.1.19-4
+- test suite ENABLED, consensus was made it still should be run every build
+
+* Wed Nov 16 2016 Michal Schorm <mschorm@redhat.com> - 3:10.1.19-2
+- fixed bug 1382988
+- added comment to the test suite
+- test suite DISABLED for most builds in Koji, see comments
+
+* Wed Nov 16 2016 Michal Schorm <mschorm@redhat.com> - 3:10.1.19-1
+- Update to 10.1.19
+- added temporary support to build with OpenSSL 1.0 on Fedora >= 26
+- added krb5-devel pkg as Buldrquires to prevent gssapi failure
+
+* Tue Oct  4 2016 Jakub Dorňák <jdornak@redhat.com> - 3:10.1.18-1
+- Update to 10.1.18
+
+* Wed Aug 31 2016 Jakub Dorňák <jdornak@redhat.com> - 3:10.1.17-1
+- Update to 10.1.17
+
+* Mon Aug 29 2016 Jakub Dorňák <jdornak@redhat.com> - 3:10.1.16-2
+- Fixed galera replication
+- Resolves: #1352946
+
+* Tue Jul 19 2016 Jakub Dorňák <jdornak@redhat.com> - 3:10.1.16-1
+- Update to 10.1.16
+
+* Fri Jul 15 2016 Honza Horak <hhorak@redhat.com> - 3:10.1.14-5
+- Fail build when test-suite fails
+- Use license macro for inclusion of licenses
+
+* Thu Jul 14 2016 Honza Horak <hhorak@redhat.com> - 3:10.1.14-4
+- Revert Update to 10.1.15, this release is broken
+  https://lists.launchpad.net/maria-discuss/msg03691.html
+
+* Thu Jul 14 2016 Honza Horak <hhorak@redhat.com> - 2:10.1.15-3
+- Check datadir more carefully to avoid unwanted data corruption
+- Related: #1335849
+
+* Thu Jul  7 2016 Jakub Dorňák <jdornak@redhat.com> - 2:10.1.15-2
+- Bump epoch
+  (related to the downgrade from the pre-release version)
+
+* Fri Jul  1 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.15-1
+- Update to 10.1.15
+
+* Fri Jul  1 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.14-3
+- Revert "Update to 10.2.0"
+  It is possible that MariaDB 10.2.0 won't be stable till f25 GA.
+
+* Tue Jun 21 2016 Pavel Raiskup <praiskup@redhat.com> - 1:10.1.14-3
+- BR multilib-rpm-config and use it for multilib workarounds
+- install architecture dependant pc file to arch-dependant location
+
+* Thu May 26 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.2.0-2
+- Fix mysql-prepare-db-dir
+- Resolves: #1335849
+
+* Thu May 12 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.2.0-1
+- Update to 10.2.0
+
+* Thu May 12 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.14-1
+- Add selinux policy
+- Update to 10.1.14 (includes various bug fixes)
+- Add -h and --help options to galera_new_cluster
+
+* Thu Apr  7 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.13-3
+- wsrep_on in galera.cnf
+
+* Tue Apr  5 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.13-2
+- Moved /etc/sysconfig/clustercheck
+  and /usr/share/mariadb/systemd/use_galera_new_cluster.conf
+  to mariadb-server-galera
+
+* Tue Mar 29 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.13-1
+- Update to 10.1.13
+
+* Wed Mar 23 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.12-4
+- Fixed conflict with mariadb-galera-server
+
+* Tue Mar 22 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.12-3
+- Add subpackage mariadb-server-galera
+- Resolves: 1310622
+
+* Tue Mar 01 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.12-2
+- Rebuild for BZ#1309199 (symbol versioning)
+
+* Mon Feb 29 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.12-1
+- Update to 10.1.12
+
+* Tue Feb 16 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.11-9
+- Remove dangling symlink to /etc/init.d/mysql
+
+* Sat Feb 13 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.11-8
+- Use epoch for obsoleting mariadb-galera-server
+
+* Fri Feb 12 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.11-7
+- Add Provides: bundled(pcre) in case we build with bundled pcre
+- Related: #1302296
+- embedded-devel should require libaio-devel
+- Resolves: #1290517
+
+* Fri Feb 12 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.11-6
+- Fix typo s/obsolate/obsolete/
+
+* Thu Feb 11 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.11-5
+- Add missing requirements for proper wsrep functionality
+- Obsolate mariadb-galera & mariadb-galera-server (thanks Tomas Repik)
+- Resolves: #1279753
+- Re-enable using libedit, which should be now fixed
+- Related: #1201988
+- Remove mariadb-wait-ready call from systemd unit, we have now systemd notify support
+- Make mariadb@.service similar to mariadb.service
+
+* Mon Feb 08 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.11-4
+- Use systemd unit file more compatible with upstream
+
+* Sun Feb 07 2016 Honza Horak <hhorak@redhat.com> - 1:10.1.11-3
+- Temporarily disabling oqgraph for
+  https://mariadb.atlassian.net/browse/MDEV-9479
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:10.1.11-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Feb  3 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.11-1
+- Update to 10.1.11
+
+* Tue Jan 19 2016 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.10-1
+- Update to 10.1.10
+
+* Mon Dec 07 2015 Dan Horák <dan[at]danny.cz> - 1:10.1.8-3
+- rebuilt for s390(x)
+
+* Tue Nov 03 2015 Honza Horak <hhorak@redhat.com> - 1:10.1.8-2
+- Expand variables in server.cnf
+
+* Thu Oct 22 2015 Jakub Dorňák <jdornak@redhat.com> - 1:10.1.8-1
+- Update to 10.1.8
+
+* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 1:10.0.21-2
+- Rebuilt for Boost 1.59
+
+* Mon Aug 10 2015 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.21-1
+- Update to 10.0.21
+
+* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:10.0.20-3
+- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
+
+* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 1:10.0.20-2
+- rebuild for Boost 1.58
+
+* Tue Jun 23 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.20-1
+- Update to 10.0.20
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:10.0.19-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Wed Jun 03 2015 Dan Horák <dan[at]danny.cz> - 1:10.0.19-2
+- Update lists of failing tests (jdornak)
+- Related: #1149647
+
+* Mon May 11 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.19-1
+- Update to 10.0.19
+
+* Thu May 07 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.18-1
+- Update to 10.0.18
+
+* Thu May 07 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.17-4
+- Include client plugins into -common package since they are used by both -libs
+  and base packages.
+- Do not use libedit
+- Related: #1201988
+- Let plugin dir to be owned by -common
+- Use correct comment in the init script
+- Related: #1184604
+- Add openssl as BuildRequires to run some openssl tests during build
+- Related: #1189180
+- Fail in case any command in check fails
+- Related: #1124791
+- Fix mysqladmin crash if run with -u root -p
+- Resolves: #1207170
+
+* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1:10.0.17-3
+- Rebuilt for GCC 5 C++11 ABI change
+
+* Fri Mar 06 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.17-2
+- Wait for daemon ends
+- Resolves: #1072958
+- Do not include symlink to libmysqlclient if not shipping the library
+- Do not use scl prefix more than once in paths
+  Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html
+
+* Wed Mar 04 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.17-1
+- Rebase to version 10.0.17
+- Added variable for turn off skipping some tests
+
+* Tue Mar 03 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.16-6
+- Check permissions when starting service on RHEL-6
+- Resolves: #1194699
+- Do not create test database by default
+- Related: #1194611
+
+* Fri Feb 13 2015 Matej Muzila <mmuzila@redhat.com> - 1:10.0.16-4
+- Enable tokudb
+
+* Tue Feb 10 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.16-3
+- Fix openssl_1 test
+
+* Wed Feb  4 2015 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.16-2
+- Include new certificate for tests
+- Update lists of failing tests
+- Related: #1186110
+
+* Tue Feb  3 2015 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.16-9
+- Rebase to version 10.0.16
+- Resolves: #1187895
+
+* Tue Jan 27 2015 Petr Machata <pmachata@redhat.com> - 1:10.0.15-9
+- Rebuild for boost 1.57.0
+
+* Mon Jan 26 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.15-8
+- Fix typo in the config file
+
+* Sun Jan 25 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.15-7
+- Do not create log file in post script
+
+* Sat Jan 24 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.15-6
+- Move server settings to config file under my.cnf.d dir
+
+* Sat Jan 24 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.15-5
+- Fix path for sysconfig file
+  Filter provides in el6 properly
+  Fix initscript file location
+
+* Tue Jan 06 2015 Honza Horak <hhorak@redhat.com> - 1:10.0.15-4
+- Disable failing tests connect.mrr, connect.updelx2 on ppc and s390
+
+* Mon Dec 22 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.15-3
+- Fix macros paths in my.cnf
+- Create old location for pid file if it remained in my.cnf
+
+* Fri Dec 05 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.15-2
+- Rework usage of macros and remove some compatibility artefacts
+
+* Thu Nov 27 2014 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.15-1
+- Update to 10.0.15
+
+* Thu Nov 20 2014 Jan Stanek <jstanek@redhat.com> - 1:10.0.14-8
+- Applied upstream fix for mysql_config --cflags output.
+- Resolves: #1160845
+
+* Fri Oct 24 2014 Jan Stanek <jstanek@redhat.com> - 1:10.0.14-7
+- Fixed compat service file.
+- Resolves: #1155700
+
+* Mon Oct 13 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.14-6
+- Remove bundled cmd-line-utils
+- Related: #1079637
+- Move mysqlimport man page to proper package
+- Disable main.key_cache test on s390
+  Releated: #1149647
+
+* Wed Oct 08 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.14-5
+- Disable tests connect.part_file, connect.part_table
+  and connect.updelx
+- Related: #1149647
+
+* Wed Oct 01 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.14-4
+- Add bcond_without mysql_names
+  Use more correct path when deleting mysql logrotate script
+
+* Wed Oct 01 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.14-3
+- Build with system libedit
+- Resolves: #1079637
+
+* Mon Sep 29 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.14-2
+- Add with_debug option
+
+* Mon Sep 29 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.14-1
+- Update to 10.0.14
+
+* Wed Sep 24 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.13-8
+- Move connect engine to a separate package
+  Rename oqgraph engine to align with upstream packages
+- Move some files to correspond with MariaDB upstream packages
+  client.cnf into -libs, mysql_plugin and msql2mysql into base,
+  tokuftdump and aria_* into -server, errmsg-utf8.txt into -errmsg
+- Remove duplicate cnf files packaged using %%doc
+- Check upgrade script added to warn about need for mysql_upgrade
+
+* Wed Sep 24 2014 Matej Muzila <mmuzila@redhat.com> - 1:10.0.13-7
+- Client related libraries moved from mariadb-server to mariadb-libs
+- Related: #1138843
+
+* Mon Sep 08 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.13-6
+- Disable vcol_supported_sql_funcs_myisam test on all arches
+- Related: #1096787
+- Install systemd service file on RHEL-7+
+  Server requires any mysql package, so it should be fine with older client
+
+* Thu Sep 04 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.13-5
+- Fix paths in mysql_install_db script
+- Resolves: #1134328
+- Use %%cmake macro
+
+* Tue Aug 19 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.13-4
+- Build config subpackage everytime
+- Disable failing tests: innodb_simulate_comp_failures_small, key_cache
+  rhbz#1096787
+
+* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:10.0.13-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Thu Aug 14 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.13-2
+- Include mysqld_unit only if required; enable tokudb in f20-
+
+* Wed Aug 13 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.13-1
+- Rebase to version 10.0.13
+
+* Tue Aug 12 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.12-8
+- Introduce -config subpackage and ship base config files here
+
+* Tue Aug  5 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.12-7
+- Adopt changes from mysql, thanks Bjorn Munch <bjorn.munch@oracle.com>
+
+* Mon Jul 28 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.12-6
+- Use explicit sysconfdir
+- Absolut path for default value for pid file and error log
+
+* Tue Jul 22 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.12-5
+- Hardcoded paths removed to work fine in chroot
+- Spec rewrite to be more similar to oterh MySQL implementations
+- Use variable for daemon unit name
+- Include SysV init script if built on older system
+- Add possibility to not ship some sub-packages
+
+* Mon Jul 21 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.12-4
+- Reformating spec and removing unnecessary snippets
+
+* Tue Jul 15 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.12-3
+- Enable OQGRAPH engine and package it as a sub-package
+- Add support for TokuDB engine for x86_64 (currently still disabled)
+- Re-enable tokudb_innodb_xa_crash again, seems to be fixed now
+- Drop superfluous -libs and -embedded ldconfig deps (thanks Ville Skyttä)
+- Separate -lib and -common sub-packages
+- Require /etc/my.cnf instead of shipping it
+- Include README.mysql-cnf
+- Multilib support re-worked
+- Introduce new option with_mysqld_unit
+- Removed obsolete mysql-cluster, the package should already be removed
+- Improve error message when log file is not writable
+- Compile all binaries with full RELRO (RHBZ#1092548)
+- Use modern symbol filtering with compatible backup
+- Add more groupnames for server's my.cnf
+- Error messages now provided by a separate package (thanks Alexander Barkov)
+- Expand paths in helper scripts using cmake
+
+* Wed Jun 18 2014 Mikko Tiihonen <mikko.tiihonen@iki.fi> - 1:10.0.12-2
+- Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9
+
+* Tue Jun 17 2014 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.12-1
+- Rebase to version 10.0.12
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:10.0.11-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Tue Jun  3 2014 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.11-4
+- rebuild with tests failing on different arches disabled (#1096787)
+
+* Thu May 29 2014 Dan Horák <dan[at]danny.cz> - 1:10.0.11-2
+- rebuild with tests failing on big endian arches disabled (#1096787)
+
+* Wed May 14 2014 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.11-1
+- Rebase to version 10.0.11
+
+* Mon May 05 2014 Honza Horak <hhorak@redhat.com> - 1:10.0.10-3
+- Script for socket check enhanced
+
+* Thu Apr 10 2014 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.10-2
+- use system pcre library
+
+* Thu Apr 10 2014 Jakub Dorňák <jdornak@redhat.com> - 1:10.0.10-1
+- Rebase to version 10.0.10
+
+* Wed Mar 12 2014 Honza Horak <hhorak@redhat.com> - 1:5.5.36-2
+- Server crashes on SQL select containing more group by and left join statements using innodb tables
+- Resolves: #1065676
+- Fix paths in helper scripts
+- Move language files into mariadb directory
+
+* Thu Mar 06 2014 Honza Horak <hhorak@redhat.com> - 1:5.5.36-1
+- Rebase to 5.5.36
+  https://kb.askmonty.org/en/mariadb-5536-changelog/
+
+* Tue Feb 25 2014 Honza Horak <hhorak@redhat.com> 1:5.5.35-5
+- Daemon helper scripts sanity changes and spec files clean-up
+
+* Tue Feb 11 2014 Honza Horak <hhorak@redhat.com> 1:5.5.35-4
+- Fix typo in mysqld.service
+- Resolves: #1063981
+
+* Wed Feb  5 2014 Honza Horak <hhorak@redhat.com> 1:5.5.35-3
+- Do not touch the log file in post script, so it does not get wrong owner
+- Resolves: #1061045
+
+* Thu Jan 30 2014 Honza Horak <hhorak@redhat.com> 1:5.5.35-1
+- Rebase to 5.5.35
+  https://kb.askmonty.org/en/mariadb-5535-changelog/
+  Also fixes: CVE-2014-0001, CVE-2014-0412, CVE-2014-0437, CVE-2013-5908,
+  CVE-2014-0420, CVE-2014-0393, CVE-2013-5891, CVE-2014-0386, CVE-2014-0401,
+  CVE-2014-0402
+- Resolves: #1054043
+- Resolves: #1059546
+
+* Tue Jan 14 2014 Honza Horak <hhorak@redhat.com> - 1:5.5.34-9
+- Adopt compatible system versioning
+- Related: #1045013
+- Use compatibility mysqld.service instead of link
+- Related: #1014311
+
+* Mon Jan 13 2014 Rex Dieter <rdieter@fedoraproject.org> 1:5.5.34-8
+- move mysql_config alternatives scriptlets to -devel too
+
+* Fri Jan 10 2014 Honza Horak <hhorak@redhat.com> 1:5.5.34-7
+- Build with -O3 on ppc64
+- Related: #1051069
+- Move mysql_config to -devel sub-package and remove Require: mariadb
+- Related: #1050920
+
+* Fri Jan 10 2014 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> 1:5.5.34-6
+- Disable main.gis-precise test also for AArch64
+- Disable perfschema.func_file_io and perfschema.func_mutex for AArch64
+  (like it is done for 32-bit ARM)
+
+* Fri Jan 10 2014 Honza Horak <hhorak@redhat.com> 1:5.5.34-5
+- Clean all non-needed doc files properly
+
+* Wed Jan  8 2014 Honza Horak <hhorak@redhat.com> 1:5.5.34-4
+- Read socketfile location in mariadb-prepare-db-dir script
+
+* Mon Jan  6 2014 Honza Horak <hhorak@redhat.com> 1:5.5.34-3
+- Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl
+  which now makes mariadb/mysql FTBFS because openssl_1 test fails
+- Related: #1044565
+- Use upstream's layout for symbols version in client library
+- Related: #1045013
+- Check if socket file is not being used by another process at a time
+  of starting the service
+- Related: #1045435
+- Use %%ghost directive for the log file
+- Related: 1043501
+
+* Wed Nov 27 2013 Honza Horak <hhorak@redhat.com> 1:5.5.34-2
+- Fix mariadb-wait-ready script
+
+* Fri Nov 22 2013 Honza Horak <hhorak@redhat.com> 1:5.5.34-1
+- Rebase to 5.5.34
+
+* Mon Nov  4 2013 Honza Horak <hhorak@redhat.com> 1:5.5.33a-4
+- Fix spec file to be ready for backport by Oden Eriksson
+- Resolves: #1026404
+
+* Mon Nov  4 2013 Honza Horak <hhorak@redhat.com> 1:5.5.33a-3
+- Add pam-devel to build-requires in order to build
+- Related: #1019945
+- Check if correct process is running in mysql-wait-ready script
+- Related: #1026313
+
+* Mon Oct 14 2013 Honza Horak <hhorak@redhat.com> 1:5.5.33a-2
+- Turn on test suite
+
+* Thu Oct 10 2013 Honza Horak <hhorak@redhat.com> 1:5.5.33a-1
+- Rebase to 5.5.33a
+  https://kb.askmonty.org/en/mariadb-5533-changelog/
+  https://kb.askmonty.org/en/mariadb-5533a-changelog/
+- Enable outfile_loaddata test
+- Disable tokudb_innodb_xa_crash test
+
+* Mon Sep  2 2013 Honza Horak <hhorak@redhat.com> - 1:5.5.32-12
+- Re-organize my.cnf to include only generic settings
+- Resolves: #1003115
+- Move pid file location to /var/run/mariadb
+- Make mysqld a symlink to mariadb unit file rather than the opposite way
+- Related: #999589
+
+* Thu Aug 29 2013 Honza Horak <hhorak@redhat.com> - 1:5.5.32-11
+- Move log file into /var/log/mariadb/mariadb.log
+- Rename logrotate script to mariadb
+- Resolves: #999589
+
+* Wed Aug 14 2013 Rex Dieter <rdieter@fedoraproject.org> 1:5.5.32-10
+- fix alternatives usage
+
+* Tue Aug 13 2013 Honza Horak <hhorak@redhat.com> - 1:5.5.32-9
+- Multilib issues solved by alternatives
+- Resolves: #986959
+
+* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 1:5.5.32-8
+- Perl 5.18 rebuild
+
+* Wed Jul 31 2013 Honza Horak <hhorak@redhat.com> - 1:5.5.32-7
+- Do not use login shell for mysql user
+
+* Tue Jul 30 2013 Honza Horak <hhorak@redhat.com> - 1:5.5.32-6
+- Remove unneeded systemd-sysv requires
+- Provide mysql-compat-server symbol
+- Create mariadb.service symlink
+- Fix multilib header location for arm
+- Enhance documentation in the unit file
+- Use scriptstub instead of links to avoid multilib conflicts
+- Add condition for doc placement in F20+
+
+* Sun Jul 28 2013 Dennis Gilmore <dennis@ausil.us> - 1:5.5.32-5
+- remove "Requires(pretrans): systemd" since its not possible
+- when installing mariadb and systemd at the same time. as in a new install
+
+* Sat Jul 27 2013 Kevin Fenzi <kevin@scrye.com> 1:5.5.32-4
+- Set rpm doc macro to install docs in unversioned dir
+
+* Fri Jul 26 2013 Dennis Gilmore <dennis@ausil.us> 1:5.5.32-3
+- add Requires(pre) on systemd for the server package
+
+* Tue Jul 23 2013 Dennis Gilmore <dennis@ausil.us> 1:5.5.32-2
+- replace systemd-units requires with systemd
+- remove solaris files
+
+* Fri Jul 19 2013 Honza Horak <hhorak@redhat.com> 1:5.5.32-1
+- Rebase to 5.5.32
+  https://kb.askmonty.org/en/mariadb-5532-changelog/
+- Clean-up un-necessary systemd snippets
+
+* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 1:5.5.31-7
+- Perl 5.18 rebuild
+
+* Mon Jul  1 2013 Honza Horak <hhorak@redhat.com> 1:5.5.31-6
+- Test suite params enhanced to decrease server condition influence
+- Fix misleading error message when uninstalling built-in plugins
+- Related: #966873
+
+* Thu Jun 27 2013 Honza Horak <hhorak@redhat.com> 1:5.5.31-5
+- Apply fixes found by Coverity static analysis tool
+
+* Wed Jun 19 2013 Honza Horak <hhorak@redhat.com> 1:5.5.31-4
+- Do not use pretrans scriptlet, which doesn't work in anaconda
+- Resolves: #975348
+
+* Fri Jun 14 2013 Honza Horak <hhorak@redhat.com> 1:5.5.31-3
+- Explicitly enable mysqld if it was enabled in the beginning
+  of the transaction.
+
+* Thu Jun 13 2013 Honza Horak <hhorak@redhat.com> 1:5.5.31-2
+- Apply man page fix from Jan Stanek
+
+* Fri May 24 2013 Honza Horak <hhorak@redhat.com> 1:5.5.31-1
+- Rebase to 5.5.31
+  https://kb.askmonty.org/en/mariadb-5531-changelog/
+- Preserve time-stamps in case of installed files
+- Use /var/tmp instead of /tmp, since the later is using tmpfs,
+  which can cause problems
+- Resolves: #962087
+- Fix test suite requirements
+
+* Sun May  5 2013 Honza Horak <hhorak@redhat.com> 1:5.5.30-2
+- Remove mytop utility, which is packaged separately
+- Resolve multilib conflicts in mysql/private/config.h
+
+* Fri Mar 22 2013 Honza Horak <hhorak@redhat.com> 1:5.5.30-1
+- Rebase to 5.5.30
+  https://kb.askmonty.org/en/mariadb-5530-changelog/
+
+* Fri Mar 22 2013 Honza Horak <hhorak@redhat.com> 1:5.5.29-11
+- Obsolete MySQL since it is now renamed to community-mysql
+- Remove real- virtual names
+
+* Thu Mar 21 2013 Honza Horak <hhorak@redhat.com> 1:5.5.29-10
+- Adding epoch to have higher priority than other mysql implementations
+  when comes to provider comparison
+
+* Wed Mar 13 2013 Honza Horak <hhorak@redhat.com> 5.5.29-9
+- Let mariadb-embedded-devel conflict with MySQL-embedded-devel
+- Adjust mariadb-sortbuffer.patch to correspond with upstream patch
+
+* Mon Mar  4 2013 Honza Horak <hhorak@redhat.com> 5.5.29-8
+- Mask expected warnings about setrlimit in test suite
+
+* Thu Feb 28 2013 Honza Horak <hhorak@redhat.com> 5.5.29-7
+- Use configured prefix value instead of guessing basedir
+  in mysql_config
+- Resolves: #916189
+- Export dynamic columns and non-blocking API functions documented
+  by upstream
+
+* Wed Feb 27 2013 Honza Horak <hhorak@redhat.com> 5.5.29-6
+- Fix sort_buffer_length option type
+
+* Wed Feb 13 2013 Honza Horak <hhorak@redhat.com> 5.5.29-5
+- Suppress warnings in tests and skip tests also on ppc64p7
+
+* Tue Feb 12 2013 Honza Horak <hhorak@redhat.com> 5.5.29-4
+- Suppress warning in tests on ppc
+- Enable fixed index_merge_myisam test case
+
+* Thu Feb 07 2013 Honza Horak <hhorak@redhat.com> 5.5.29-3
+- Packages need to provide also %%_isa version of mysql package
+- Provide own symbols with real- prefix to distinguish from mysql
+  unambiguously
+- Fix format for buffer size in error messages (MDEV-4156)
+- Disable some tests that fail on ppc and s390
+- Conflict only with real-mysql, otherwise mariadb conflicts with ourself
+
+* Tue Feb 05 2013 Honza Horak <hhorak@redhat.com> 5.5.29-2
+- Let mariadb-libs to own /etc/my.cnf.d
+
+* Thu Jan 31 2013 Honza Horak <hhorak@redhat.com> 5.5.29-1
+- Rebase to 5.5.29
+  https://kb.askmonty.org/en/mariadb-5529-changelog/
+- Fix inaccurate default for socket location in mysqld-wait-ready
+- Resolves: #890535
+
+* Thu Jan 31 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-8
+- Enable obsoleting mysql
+
+* Wed Jan 30 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-7
+- Adding necessary hacks for perl dependency checking, rpm is still
+  not wise enough
+- Namespace sanity re-added for symbol default_charset_info
+
+* Mon Jan 28 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-6
+- Removed %%{_isa} from provides/obsoletes, which doesn't allow
+  proper obsoleting
+- Do not obsolete mysql at the time of testing
+
+* Thu Jan 10 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-5
+- Added licenses LGPLv2 and BSD
+- Removed wrong usage of %%{epoch}
+- Test-suite is run in %%check
+- Removed perl dependency checking adjustment, rpm seems to be smart enough
+- Other minor spec file fixes
+
+* Tue Dec 18 2012 Honza Horak <hhorak@redhat.com> 5.5.28a-4
+- Packaging of MariaDB based on MySQL package
+