]> TLD Linux GIT Repositories - packages/mysql.git/blobdiff - mysql.spec
- keep common dirs for mysqlrouter in mysql-common, fix /var/{lib,log} dirs
[packages/mysql.git] / mysql.spec
index a73f76b7e3105229b01d3e0be600ffc04af7b7ed..c71fd823203e9a95b020ae40548107d11a862e40 100644 (file)
@@ -1,27 +1,4 @@
-# TODO:
-# - mysqldump ... (invalid usage) prints to stdout not stderr (idiotic if you want to create dump and get usage in .sql)
-# - http://bugs.mysql.com/bug.php?id=16470
-# - innodb are dynamic (= as plugins) ?
-# - missing have_archive, have_merge
-# - is plugin_dir lib64 safe?
-# - Using NDB Cluster... could not find sci transporter in /{include, lib}
-# - !!! Makefiles for libmysqld.so !!!
-# - segfaults on select from non-mysql user (caused by builder environment):
-#     https://bugs.launchpad.net/pld-linux/+bug/381904
-#     (profiling disabled temporaily to workaround this)
-# - unpackaged files:
-#        /usr/COPYING.AGPLv3
-#        /usr/COPYING.GPLv2
-#        /usr/PATENTS
-#        /usr/README.md
-#        /usr/bin/mysqlxtest
-#        /usr/include/backup.h
-# NOTE:
-# - mysql 'root' user will be 'root' not 'mysql' with 5.7 package
-#   this is to make pld consistent what the rest of the world uses.
-#
 # Conditional build:
-%bcond_with    autodeps        # BR packages needed only for resolving deps
 %bcond_without innodb          # InnoDB storage engine support
 %bcond_without big_tables      # Support tables with more than 4G rows even on 32 bit platforms
 %bcond_without federated       # Federated storage engine support
 %bcond_with    systemtap       # systemtap/dtrace probes
 %bcond_without tcpd            # libwrap (tcp_wrappers) support
 %bcond_with    sphinx          # Sphinx storage engine support
-%bcond_with    tokudb          # TokuDB
-%bcond_without rocksdb         # RocksDB
-# mysql needs boost 1.59.0 and doesn't support newer/older boost versions
-%bcond_with    system_boost    # Use system boost package
-%bcond_with    tests           # FIXME: don't run correctly
+# mysql needs boost 1.77.0 and doesn't support newer/older boost versions
+%bcond_with    system_boost
+%bcond_with    tests           # run test suite
 %bcond_with    ndb             # NDB is now a separate product, this here is broken, so disable it
-%bcond_with    coredumper      # coredumper support
+%bcond_without ldap            # LDAP auth support (requires MIT Kerberos)
 
-# tokudb is only supported on x86_64
-%ifnarch %{x8664}
-%undefine      with_rocksdb
-%undefine      with_tokudb
-%endif
+%define mysqlversion 8.2
+%define mysqlpriority 82
 
-%define                rel     2
-%define                percona_rel     40
 Summary:       MySQL: a very fast and reliable SQL database engine
 Summary(de.UTF-8):     MySQL: ist eine SQL-Datenbank
 Summary(fr.UTF-8):     MySQL: un serveur SQL rapide et fiable
@@ -54,67 +24,74 @@ Summary(pt_BR.UTF-8):       MySQL: Um servidor SQL rápido e confiável
 Summary(ru.UTF-8):     MySQL - быстрый SQL-сервер
 Summary(uk.UTF-8):     MySQL - швидкий SQL-сервер
 Summary(zh_CN.UTF-8):  MySQL数据库服务器
-Name:          mysql
-Version:       5.7.37
-Release:       %{percona_rel}.%{rel}
-License:       GPL + MySQL FLOSS Exception
+Name:          mysql-%{mysqlversion}
+Version:       8.2.0
+Release:        1
+License:       GPL v2 + MySQL FOSS License Exception
 Group:         Applications/Databases
-Source0:       https://www.percona.com/downloads/Percona-Server-5.7/LATEST/source/tarball/percona-server-%{version}-%{percona_rel}.tar.gz
-# Source0-md5: ab5a63fbe6872b719c49f1bbf091c09b
+Source0:       http://cdn.mysql.com/Downloads/MySQL-%{mysqlversion}/mysql-%{version}.tar.gz
+# Source0-md5: 9ddeecbdb046cd4a8a4340445206130d
 Source100:     http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz
 # Source100-md5:       5cac34f3d78a9d612ca4301abfcbd666
 %if %{without system_boost}
-Source101:      http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2
-# Source101-md5:       6aa9a5c6a4ca1016edd0ed1178e3cb87
+Source101:     http://downloads.sourceforge.net/boost/boost_1_77_0.tar.bz2
+# Source101-md5:       09dc857466718f27237144c6f2432d86
 %endif
-Source1:       %{name}.init
-Source2:       %{name}.sysconfig
-Source3:       %{name}.logrotate
+Source1:       mysql.init
+Source2:       mysql.sysconfig
+Source3:       mysql.logrotate
 Source4:       mysqld.conf
-Source5:       %{name}-clusters.conf
-Source7:       %{name}-ndb.init
-Source8:       %{name}-ndb.sysconfig
-Source9:       %{name}-ndb-mgm.init
-Source10:      %{name}-ndb-mgm.sysconfig
-Source11:      %{name}-ndb-cpc.init
-Source12:      %{name}-ndb-cpc.sysconfig
-Source13:      %{name}-client.conf
+Source5:       mysql-clusters.conf
+Source7:       mysql-ndb.init
+Source8:       mysql-ndb.sysconfig
+Source9:       mysql-ndb-mgm.init
+Source10:      mysql-ndb-mgm.sysconfig
+Source11:      mysql-ndb-cpc.init
+Source12:      mysql-ndb-cpc.sysconfig
+Source13:      mysql-client.conf
 Source14:      my.cnf
-Patch0:                mysql-opt.patch
-Patch1:                mysql-versioning.patch
-Patch2:                mysql-protobuf.patch
-Patch3:                build.patch
-Patch4:                mysql-sphinx.patch
-Patch5:                mysql-5.7-sphinx.patch
-Patch6:                mysql-chain-certs.patch
-Patch7:                mysql-dubious-exports.patch
-Patch8:                mysql-cmake.patch
-Patch9:                openssl-3.patch
-URL:           https://www.percona.com/software/mysql-database/percona-server
+Patch0:                no_relative_paths.patch
+Patch1:                mysql-system-xxhash.patch
+Patch2:                zlib.patch
+
+Patch17:       mysql-5.7-sphinx.patch
+Patch18:       mysql-sphinx.patch
+
+Patch24:       mysql-cmake.patch
+Patch25:       mysql-readline.patch
+
+URL:           http://www.mysql.com/products/community/
 BuildRequires: bison >= 1.875
+%{?with_system_boost:BuildRequires:    boost-devel >= 1.77.0}
 BuildRequires: cmake >= 2.8.2
-BuildRequires: curl-devel
-BuildRequires: readline-devel >= 6.2
-BuildRequires: libstdc++-devel >= 5:4.0
-BuildRequires: automake
-%{?with_system_boost:BuildRequires:    boost-devel = 1.59.0}
+%{?with_ldap:BuildRequires:    cyrus-sasl-devel}
+# for configure and tests
+%{?with_ldap:BuildRequires:    cyrus-sasl-scram}
+BuildRequires: libaio-devel
+BuildRequires: libevent-devel
 BuildRequires: libhsclient-devel
+BuildRequires: libstdc++-devel >= 5:7.1
 %{?with_tcpd:BuildRequires:    libwrap-devel}
-BuildRequires: lz4-devel >= 1:1.9.3
+BuildRequires: lz4-devel
 BuildRequires: mecab-devel
 BuildRequires: ncurses-devel >= 4.2
-%{?with_ssl:BuildRequires:     openssl-devel >= 0.9.7d}
+%{?with_ssl:BuildRequires:     openssl-devel >= 1.1.1}
+%{?with_ldap:BuildRequires:    openldap-devel}
 BuildRequires: pam-devel
-%{?with_autodeps:BuildRequires:        perl-DBI}
 BuildRequires: perl-devel >= 1:5.6.1
-BuildRequires: protobuf-devel
+BuildRequires: protobuf-devel >= 2.5
 BuildRequires: python3-modules
+BuildRequires: readline-devel >= 6.2
 BuildRequires: rpcsvc-proto
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpm-perlprov >= 4.1-13
-BuildRequires: rpmbuild(macros) >= 1.597
+BuildRequires: rpmbuild(macros) >= 1.605
 BuildRequires: sed >= 4.0
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
-BuildRequires: zlib-devel
+BuildRequires: xxHash-devel
+BuildRequires: zlib-devel >= 1.2.12
+BuildRequires: zstd-devel
+Requires(post):        sed >= 4.0
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -122,137 +99,139 @@ Requires(pre):   /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(post):        sed >= 4.0
+Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      /usr/bin/setsid
 Requires:      rc-scripts >= 0.2.0
-Suggests:      mysql-client
+Suggests:      %{name}-client
 %{?with_tcpd:Suggests: tcp_wrappers}
 Suggests:      vim-syntax-mycnf
 Provides:      MySQL-server
 Provides:      group(mysql)
 Provides:      msqlormysql
 Provides:      user(mysql)
-Obsoletes:     MySQL
-Obsoletes:     mysql-server
+Obsoletes:     MySQL < 3.22.27
+Obsoletes:     mysql-server < 4
 Conflicts:     logrotate < 3.8.0
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# "MySQL supports only 64-bit platforms."
+BuildArch:      %{x8664} %{arch64}
+BuildRoot:     %{tmpdir}/mysql-%{version}-root-%(id -u -n)
 
 %define                _libexecdir     %{_sbindir}
-%define                _localstatedir  /var/lib/mysql
-%define                _mysqlhome      /home/services/%{name}
+%define                _localstatedir  /var/lib/%{name}
+
+%define                mysqldatadir    share/mysql/%{mysqlversion}
+%define                mysqllibdir     %{_lib}/mysql/%{mysqlversion}
 
 %description
-MySQL is a true multi-user, multi-threaded SQL (Structured
-Query Language) database server. SQL is the most popular database
-language in the world. MySQL is a client/server
-implementation that consists of a server daemon mysqld and many
-different client programs/libraries.
-
-The main goals of MySQL are speed, robustness and easy to
-use. MySQL was originally developed because we at Tcx needed
-a SQL server that could handle very big databases with magnitude
-higher speed than what any database vendor could offer to us. We have
-now been using MySQL since 1996 in a environment with more
-than 40 databases, 10,000 tables, of which more than 500 have more
-than 7 million rows. This is about 50G of mission critical data.
-
-The base upon which MySQL is built is a set of routines that
-have been used in a highly demanding production environment for many
-years. While MySQL is still in development, it already offers
-a rich and highly useful function set.
+MySQL is a true multi-user, multi-threaded SQL (Structured Query
+Language) database server. SQL is the most popular database language
+in the world. MySQL is a client/server implementation that consists of
+a server daemon mysqld and many different client programs/libraries.
+
+The main goals of MySQL are speed, robustness and easy to use. MySQL
+was originally developed because we at Tcx needed a SQL server that
+could handle very big databases with magnitude higher speed than what
+any database vendor could offer to us. We have now been using MySQL
+since 1996 in a environment with more than 40 databases, 10,000
+tables, of which more than 500 have more than 7 million rows. This is
+about 50G of mission critical data.
+
+The base upon which MySQL is built is a set of routines that have been
+used in a highly demanding production environment for many years.
+While MySQL is still in development, it already offers a rich and
+highly useful function set.
 
 %description -l fr.UTF-8
-MySQL est un serveur de bases de donnees SQL vraiment
-multi-usagers et multi-taches. Le langage SQL est le langage de bases
-de donnees le plus populaire au monde. MySQL est une
-implementation client/serveur qui consiste en un serveur (mysqld) et
-differents programmes/bibliotheques clientes.
-
-Les objectifs principaux de MySQL sont: vitesse, robustesse
-et facilite d'utilisation. MySQL fut originalement developpe
-parce que nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait
-gerer de tres grandes bases de donnees avec une vitesse d'un ordre de
-magnitude superieur a ce que n'importe quel vendeur pouvait nous
-offrir. Nous utilisons MySQL depuis 1996 dans un
-environnement avec plus de 40 bases de donnees, 10000 tables,
-desquelles plus de 500 ont plus de 7 millions de lignes. Ceci
-represente environ 50G de donnees critiques.
-
-A la base de la conception de MySQL, on retrouve une serie de
-routines qui ont ete utilisees dans un environnement de production
-pendant plusieurs annees. Meme si MySQL est encore en
-developpement, il offre deja une riche et utile serie de fonctions.
+MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
+multi-taches. Le langage SQL est le langage de bases de donnees le
+plus populaire au monde. MySQL est une implementation client/serveur
+qui consiste en un serveur (mysqld) et differents
+programmes/bibliotheques clientes.
+
+Les objectifs principaux de MySQL sont: vitesse, robustesse et
+facilite d'utilisation. MySQL fut originalement developpe parce que
+nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
+tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
+superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
+utilisons MySQL depuis 1996 dans un environnement avec plus de 40
+bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
+millions de lignes. Ceci represente environ 50G de donnees critiques.
+
+A la base de la conception de MySQL, on retrouve une serie de routines
+qui ont ete utilisees dans un environnement de production pendant
+plusieurs annees. Meme si MySQL est encore en developpement, il offre
+deja une riche et utile serie de fonctions.
 
 %description -l pl.UTF-8
-MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer
-baz danych SQL. SQL jest najpopularniejszym na świecie językiem
-używanym do baz danych. MySQL to implementacja klient/serwer
-składająca się z demona mysqld i wielu różnych programów i bibliotek
-klienckich.
-
-Głównymi celami MySQL-a są szybkość, potęga i łatwość
-użytkowania. MySQL oryginalnie był tworzony, ponieważ autorzy
-w Tcx potrzebowali serwera SQL do obsługi bardzo dużych baz danych z
-szybkością o wiele większą, niż mogli zaoferować inni producenci baz
-danych. Używają go od 1996 roku w środowisku z ponad 40 bazami danych,
-10 000 tabel, z których ponad 500 zawiera ponad 7 milionów rekordów -
-w sumie około 50GB krytycznych danych.
-
-Baza, na której oparty jest MySQL, składa się ze zbioru
-procedur, które były używane w bardzo wymagającym środowisku
-produkcyjnym przez wiele lat. Pomimo, że MySQL jest ciągle
-rozwijany, już oferuje bogaty i użyteczny zbiór funkcji.
+MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
+SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
+danych. MySQL to implementacja klient/serwer składająca się z demona
+mysqld i wielu różnych programów i bibliotek klienckich.
+
+Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
+MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
+serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
+większą, niż mogli zaoferować inni producenci baz danych. Używają go
+od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
+których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
+50GB krytycznych danych.
+
+Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
+które były używane w bardzo wymagającym środowisku produkcyjnym przez
+wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
+i użyteczny zbiór funkcji.
 
 %description -l de.UTF-8
-MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz
-zu Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
+MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
+Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
 einem Primärschlüssel versehen werden. Es ist aber keine Definition
 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
-MySQL-Datenbank völlig allein für die (referenzielle)
-Integrität der Daten verantwortlich. Allein durch die Nutzung externer
+MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
+Daten verantwortlich. Allein durch die Nutzung externer
 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
-ermöglicht. Diese Projekte sind aber getrennt von MySQL zu
-betrachten.
+ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
 
 %description -l pt_BR.UTF-8
-O MySQL é um servidor de banco de dados SQL realmente
-multiusuário e multi-tarefa. A linguagem SQL é a mais popular
-linguagem para banco de dados no mundo. O MySQL é uma
-implementação cliente/servidor que consiste de um servidor chamado
-mysqld e diversos programas/bibliotecas clientes. Os principais
-objetivos do MySQL são: velocidade, robustez e facilidade de
-uso. O MySQL foi originalmente desenvolvido porque nós na Tcx
-precisávamos de um servidor SQL que pudesse lidar com grandes bases de
-dados e com uma velocidade muito maior do que a que qualquer vendedor
-podia nos oferecer. Estamos usando o MySQL desde 1996 em um
-ambiente com mais de 40 bases de dados com 10.000 tabelas, das quais
-mais de 500 têm mais de 7 milhões de linhas. Isto é o equivalente a
-aproximadamente 50G de dados críticos. A base da construção do Percona
-Server é uma série de rotinas que foram usadas em um ambiente de
-produção com alta demanda por muitos anos. Mesmo o MySQL
-estando ainda em desenvolvimento, ele já oferece um conjunto de
+O MySQL é um servidor de banco de dados SQL realmente multiusuário e
+multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
+dados no mundo. O MySQL é uma implementação cliente/servidor que
+consiste de um servidor chamado mysqld e diversos
+programas/bibliotecas clientes. Os principais objetivos do MySQL são:
+velocidade, robustez e facilidade de uso. O MySQL foi originalmente
+desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
+pudesse lidar com grandes bases de dados e com uma velocidade muito
+maior do que a que qualquer vendedor podia nos oferecer. Estamos
+usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
+com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
+linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
+A base da construção do MySQL é uma série de rotinas que foram usadas
+em um ambiente de produção com alta demanda por muitos anos. Mesmo o
+MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
 funções muito ricas e úteis. Veja a documentação para maiores
 informações.
 
 %description -l ru.UTF-8
-MySQL - это SQL (Structured Query Language) сервер базы
´Ð°Ð½Ð½Ñ\8bÑ\85. MySQL Ð±Ñ\8bла Ð½Ð°Ð¿Ð¸Ñ\81ана Michael'ом (monty) Widenius'ом.
¡Ð¼. Ñ\84айл CREDITS Ð² Ð´Ð¸Ñ\81Ñ\82Ñ\80ибÑ\83Ñ\82иве Ð½Ð° Ð¿Ñ\80едмеÑ\82 Ð´Ñ\80Ñ\83гиÑ\85 Ñ\83Ñ\87аÑ\81Ñ\82ников Ð¿Ñ\80оекÑ\82а и
¿Ñ\80оÑ\87ей Ð¸Ð½Ñ\84оÑ\80маÑ\86ии Ð¾ MySQL.
+MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
±Ñ\8bла Ð½Ð°Ð¿Ð¸Ñ\81ана Michael'ом (monty) Widenius'ом. Ð¡Ð¼. Ñ\84айл CREDITS Ð²
´Ð¸Ñ\81Ñ\82Ñ\80ибÑ\83Ñ\82иве Ð½Ð° Ð¿Ñ\80едмеÑ\82 Ð´Ñ\80Ñ\83гиÑ\85 Ñ\83Ñ\87аÑ\81Ñ\82ников Ð¿Ñ\80оекÑ\82а Ð¸ Ð¿Ñ\80оÑ\87ей Ð¸Ð½Ñ\84оÑ\80маÑ\86ии
+о MySQL.
 
 %description -l uk.UTF-8
-MySQL - це SQL (Structured Query Language) сервер бази даних.
-MySQL було написано Michael'ом (monty) Widenius'ом. Див. файл
-CREDITS в дистрибутиві для інформації про інших учасників проекту та
\96нÑ\88оÑ\97 Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\97.
+MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
+було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
+дистрибутиві для інформації про інших учасників проекту та іншої
+інформації.
 
 %package charsets
 Summary:       MySQL - character sets definitions
 Summary(pl.UTF-8):     MySQL - definicje kodowań znaków
 Group:         Applications/Databases
+Requires:      %{name}-dirs = %{version}-%{release}
+BuildArch:     noarch
 
 %description charsets
 This package contains character sets definitions needed by both client
@@ -262,25 +241,51 @@ and server.
 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
 klienta.
 
+%package -n mysql-common
+Summary:        Common MySQL files and directories
+Summary(pl.UTF-8):      MySQL - wspólne pliki i katalogi
+Group:          Applicataion/Databases
+
+%description -n mysql-common
+Common MySQL files and directories.
+
+%description -n mysql-common -l pl.UTF-8
+MySQL - wspólne pliki i katalogi.
+
+%package dirs
+Summary:        Common directories for MysSQL %{mysqlversion}
+Summary(pl.UTF-8):      Wspólne pliki i katalogi dla MySQL %{mysqlversion}
+Group:          Applicataion/Databases
+Requires:      mysql-common >= %{version}-%{release}
+
+%description dirs
+Common directories for MysSQL %{mysqlversion}
+
+%description dirs -l pl.UTF-8
+Wspólne pliki i katalogi dla MySQL %{mysqlversion}
+
 %package extras
 Summary:       MySQL additional utilities
 Summary(pl.UTF-8):     Dodatkowe narzędzia do MySQL
 Group:         Applications/Databases
+Requires:      alternatives
 Requires:      %{name}-client = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description extras
-MySQL additional utilities except Perl scripts (they may be
-found in %{name}-extras-perl package).
+MySQL additional utilities except Perl scripts (they may be found in
+%{name}-extras-perl package).
 
 %description extras -l pl.UTF-8
-Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla
-(które są w pakiecie %{name}-extras-perl).
+Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
+pakiecie %{name}-extras-perl).
 
 %package extras-perl
 Summary:       MySQL additional utilities written in Perl
 Summary(pl.UTF-8):     Dodatkowe narzędzia do MySQL napisane w Perlu
 Group:         Applications/Databases
+Requires:      alternatives
 Requires:      %{name}-extras = %{version}-%{release}
 Requires:      perl-DBD-mysql
 
@@ -297,10 +302,12 @@ Summary(pt.UTF-8):        MySQL - Cliente
 Summary(ru.UTF-8):     MySQL клиент
 Summary(uk.UTF-8):     MySQL клієнт
 Group:         Applications/Databases
+Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      readline >= 6.2
-Obsoletes:     MySQL-client
+Obsoletes:     MySQL-client < 3.22.27
 
 %description client
 This package contains the standard MySQL clients.
@@ -324,7 +331,10 @@ Este pacote contém os clientes padrão para o MySQL.
 Summary:       Shared libraries for MySQL
 Summary(pl.UTF-8):     Biblioteki współdzielone MySQL
 Group:         Libraries
-Obsoletes:     libmysql10
+Requires:      %{name}-dirs = %{version}-%{release}
+Requires:      zlib >= 1.2.12
+Provides:      mysql-libs = %{version}-%{release}
+Obsoletes:     libmysql10 < 4
 Obsoletes:     mysql-doc < 4.1.12
 
 %description libs
@@ -333,119 +343,79 @@ Shared libraries for MySQL.
 %description libs -l pl.UTF-8
 Biblioteki współdzielone MySQL.
 
-%package devel
+%package -n mysql-devel
 Summary:       MySQL - development header files and other files
 Summary(pl.UTF-8):     MySQL - Pliki nagłówkowe i inne dla programistów
 Summary(pt.UTF-8):     MySQL - Medições de desempenho
 Summary(ru.UTF-8):     MySQL - хедеры и библиотеки разработчика
 Summary(uk.UTF-8):     MySQL - хедери та бібліотеки програміста
 Group:         Development/Libraries
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
-%{?with_ssl:Requires: openssl-devel}
-Requires:      zlib-devel
-Obsoletes:     MySQL-devel
-Obsoletes:     libmysql10-devel
+%{?with_ssl:Requires:  openssl-devel >= 1.1.1}
+Requires:      zlib-devel >= 1.2.12
+Obsoletes:     MySQL-devel < 3.22.27
+Obsoletes:     libmysql10-devel < 4
 Obsoletes:     webscalesql-devel
 
-%description devel
+%description -n mysql-devel
 This package contains the development header files and other files
 necessary to develop MySQL client applications.
 
-%description devel -l fr.UTF-8
+%description -n mysql-devel -l fr.UTF-8
 Ce package contient les fichiers entetes et les librairies de
 developpement necessaires pour developper des applications clientes
 MySQL.
 
-%description devel -l pl.UTF-8
+%description -n mysql-devel -l pl.UTF-8
 Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji
 klienckich MySQL.
 
-%description devel -l pt_BR.UTF-8
+%description -n mysql-devel -l pt_BR.UTF-8
 Este pacote contém os arquivos de cabeçalho (header files) e
-bibliotecas necessárias para desenvolver aplicações clientes do
-MySQL.
+bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
 
-%description devel -l ru.UTF-8
+%description -n mysql-devel -l ru.UTF-8
 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
 разработки клиентских приложений.
 
-%description devel -l uk.UTF-8
+%description -n mysql-devel -l uk.UTF-8
 Цей пакет містить хедери та бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
-%package static
+%package -n mysql-static
 Summary:       MySQL static libraries
 Summary(pl.UTF-8):     Biblioteki statyczne MySQL
 Summary(ru.UTF-8):     MySQL - статические библиотеки
 Summary(uk.UTF-8):     MySQL - статичні бібліотеки
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-Obsoletes:     MySQL-static
+Requires:      mysql-devel = %{version}-%{release}
+Obsoletes:     MySQL-static < 3.22.27
 
-%description static
+%description -n mysql-static
 MySQL static libraries.
 
-%description static -l pl.UTF-8
+%description -n mysql-static -l pl.UTF-8
 Biblioteki statyczne MySQL.
 
-%description static -l ru.UTF-8
+%description -n mysql-static -l ru.UTF-8
 Этот пакет содержит статические библиотеки разработчика, необходимые
 для разработки клиентских приложений.
 
-%description static -l uk.UTF-8
+%description -n mysql-static -l uk.UTF-8
 Цей пакет містить статичні бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
-%package bench
-Summary:       MySQL - Benchmarks
-Summary(pl.UTF-8):     MySQL - Programy testujące szybkość działania bazy
-Summary(pt.UTF-8):     MySQL - Medições de desempenho
-Summary(ru.UTF-8):     MySQL - бенчмарки
-Summary(uk.UTF-8):     MySQL - бенчмарки
-Group:         Applications/Databases
-Requires:      %{name} = %{version}-%{release}
-Requires:      %{name}-client
-Requires:      perl(DBD::mysql)
-Obsoletes:     MySQL-bench
-
-%description bench
-This package contains MySQL benchmark scripts and data.
-
-%description bench -l pl.UTF-8
-Programy testujące szybkość serwera MySQL.
-
-%description bench -l pt_BR.UTF-8
-Este pacote contém medições de desempenho de scripts e dados do
-MySQL.
-
-%description bench -l ru.UTF-8
-Этот пакет содержит скрипты и данные для оценки производительности
-MySQL.
-
-%description bench -l uk.UTF-8
-Цей пакет містить скрипти та дані для оцінки продуктивності Percona
-Server.
-
-%package doc
-Summary:       MySQL manual
-Summary(pl.UTF-8):     Podręcznik użytkownika MySQL
-Group:         Applications/Databases
-
-%description doc
-This package contains manual in HTML format.
-
-%description doc -l pl.UTF-8
-Podręcznik MySQL-a w formacie HTML.
-
 %package ndb
 Summary:       MySQL - NDB Storage Engine Daemon
 Summary(pl.UTF-8):     MySQL - demon silnika przechowywania danych NDB
 Group:         Applications/Databases
+Requires:      alternatives
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb
-This package contains the standard MySQL NDB Storage Engine
-Daemon.
+This package contains the standard MySQL NDB Storage Engine Daemon.
 
 %description ndb -l pl.UTF-8
 Ten pakiet zawiera standardowego demona silnika przechowywania danych
@@ -455,6 +425,8 @@ NDB.
 Summary:       MySQL - NDB Clients
 Summary(pl.UTF-8):     MySQL - programy klienckie NDB
 Group:         Applications/Databases
+Requires:      alternatives
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb-client
@@ -467,20 +439,22 @@ Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
 Summary:       MySQL - NDB Management Daemon
 Summary(pl.UTF-8):     MySQL - demon zarządzający NDB
 Group:         Applications/Databases
+Requires:      alternatives
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb-mgm
-This package contains the standard MySQL NDB Management
-Daemon.
+This package contains the standard MySQL NDB Management Daemon.
 
 %description ndb-mgm -l pl.UTF-8
-Ten pakiet zawiera standardowego demona zarządzającego MySQL
-NDB.
+Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
 
 %package ndb-cpc
 Summary:       MySQL - NDB CPC Daemon
 Summary(pl.UTF-8):     MySQL - demon NDB CPC
 Group:         Applications/Databases
+Requires:      alternatives
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb-cpc
@@ -489,34 +463,46 @@ This package contains the standard MySQL NDB CPC Daemon.
 %description ndb-cpc -l pl.UTF-8
 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 
-%prep
-%setup -q -n percona-server-%{version}-%{percona_rel} %{?with_sphinx:-a100} %{!?with_system_boost:-a101}
+%package router
+Summary:       MySQL Router
+Summary(pl.UTF-8):     MySQL Router
+Group:         Applications/Databases
+Requires:      alternatives
+Requires:      %{name}-dirs = %{version}-%{release}
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description router
+The MySQL Router software delivers a fast, multi-threaded way of
+routing connections from MySQL Clients to MySQL Servers.
 
-# we want to use old, mysql compatible client library name
-find . -name CMakeLists.txt -exec sed -i -e 's#perconaserverclient#mysqlclient#g' "{}" ";"
-sed -i -e 's#perconaserverclient#mysqlclient#g' libmysql/libmysql.{ver.in,map} scripts/mysql_config.*
+%description router -l pl.UTF-8
+Oprogramowanie MySQL Router zapewnia szybki i wielowątkowy sposób
+przekierowywania połączeń od klientów MySQL do serwerów MySQL.
+
+%prep
+%setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
 
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
+
 %if %{with sphinx}
 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
 %{__mv} sphinx-*/mysqlse storage/sphinx
-%patch4 -p1
-%patch5 -p1
+%patch17 -p1
+%patch18 -p1
 %endif
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
+
+%patch24 -p1
+%patch25 -p1
 
 # to get these files rebuild
 [ -f sql/sql_yacc.cc ] && %{__rm} sql/sql_yacc.cc
 [ -f sql/sql_yacc.h ] && %{__rm} sql/sql_yacc.h
 
-# map has more sane versioning that default "global everything" in ver.in
-#cp -p libmysql/libmysql.map libmysql/libmysql.ver.in
+# ensure sytstem lib
+# need to keep xxhash.[ch]
+%{__rm} -rv extra/lz4/lz4**
 
 %build
 install -d build
@@ -525,95 +511,79 @@ cd build
 # (it defaults to first cluster but user may change it to whatever
 # cluster it wants)
 
-%if "%{cc_version}" >= "7.0"
-FALLTHROUGH_OPT="-Wimplicit-fallthrough=0"
-%else
-FALLTHROUGH_OPT=
-%endif
-
 CPPFLAGS="%{rpmcppflags}" \
 %cmake .. \
        -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
-       -DCMAKE_C_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT" \
-       -DCMAKE_CXX_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT" \
-       -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT -Wno-shadow" \
-       -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT -Wno-shadow" \
+       -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
+       -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
        -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
        -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
        %{?with_systemtap:-DENABLE_DTRACE=ON} \
        -DFEATURE_SET="community" \
        -DINSTALL_LAYOUT=RPM \
+       -DINSTALL_BINDIR=%{mysqllibdir}/bin \
+       -DINSTALL_SBINDIR=%{mysqllibdir}/sbin \
+       -DINSTALL_MANDIR=%{mysqldatadir}/man \
        -DINSTALL_LIBDIR=%{_lib} \
+       -DINSTALL_PRIV_LIBDIR=%{_libdir}/mysql/%{mysqlversion}/private \
        -DINSTALL_MYSQLTESTDIR_RPM="" \
-       -DINSTALL_PLUGINDIR=%{_lib}/%{name}/plugin \
+       -DINSTALL_MYSQLDATADIR=/var/lib/mysql/%{mysqlversion} \
+       -DINSTALL_PLUGINDIR=%{_lib}/mysql/%{mysqlversion}/plugin \
+       -DINSTALL_SECURE_FILE_PRIVDIR=/var/lib/mysql-files/%{mysqlversion} \
        -DINSTALL_SQLBENCHDIR=%{_datadir} \
-       -DINSTALL_SUPPORTFILESDIR=share/%{name}-support \
-       -DINSTALL_MYSQLSHAREDIR=share/%{name} \
-       -DINSTALL_SECURE_FILE_PRIVDIR="" \
-       -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
+       -DINSTALL_SUPPORTFILESDIR=share/mysql/%{mysqlversion}/support \
+       -DINSTALL_MYSQLSHAREDIR=share/mysql/%{mysqlversion}/lang \
+       -DINSTALL_MYSQLTESTDIR=share/mysql/%{mysqlversion}/test \
+       -DROUTER_INSTALL_DATADIR=/var/lib/mysqlrouter/%{mysqlversion} \
+       -DROUTER_INSTALL_LIBDIR=%{_libdir}/mysql/%{mysqlversion}/router/private \
+       -DROUTER_INSTALL_LOGDIR=/var/log/mysqlrouter/%{mysqlversion} \
+       -DROUTER_INSTALL_PLUGINDIR=%{_libdir}/mysql/%{mysqlversion}/router \
+       -DMYSQL_UNIX_ADDR=/var/lib/mysql/%{mysqlversion}/mysql.sock \
        %{?debug:-DWITH_DEBUG=ON} \
        -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-       -DWITH_FAST_MUTEXES=ON \
+       %{!?with_ldap:-DWITH_AUTHENTICATION_LDAP=OFF} \
        -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
-       -DWITH_PAM=ON \
        -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
        -DWITH_PIC=ON \
-       -DWITH_SCALABILITY_METRICS=ON \
-       -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
-       -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
-       -DWITH_COREDUMPER=%{?with_coredumper:ON}%{!?with_coredumper:OFF} \
-       %{!?with_tokudb:-DWITHOUT_TOKUDB=ON} \
-       %{!?with_rocksdb:-DWITHOUT_ROCKSDB=ON} \
-%if %{without system_boost}
-       %{!?with_system_boost:-DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)"} \
-%endif
+       %{?with_ldap:-DWITH_LDAP=system} \
+       -DWITH_KERBEROS=system \
        -DWITH_LIBEVENT=system \
        -DWITH_LZ4=system \
-       -DWITH_MECAB=system \
        -DWITH_PROTOBUF=system \
-       -DWITH_READLINE=system \
+       -DWITH_SASL=system \
+       -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
+       -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
+       %{!?with_system_boost:-DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)"} \
        -DWITH_ZLIB=system \
+       -DWITH_EDITLINE=system \
+       -DWITH_MECAB=system \
        -DTMPDIR=/var/tmp
 
 %{__make}
 
-%if %{with tests}
-%{__make} test
-
-cd mysql-test
-
-MTR_BINDIR=$(pwd)/../build/ \
-%{__perl} ./mysql-test-run.pl \
-       --force \
-       --retry=0 \
-       --ssl \
-       --suite-timeout=720 \
-       --testcase-timeout=30 \
-       --mysqld=--binlog-format=mixed \
-       --force-restart \
-       --shutdown-timeout=60 \
-       --max-test-fail=0 \
-       --big-test \
-       --skip-test-list=unstable-tests
-%endif
+%{?with_tests:%{__make} test}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,%{name},skel} \
-          $RPM_BUILD_ROOT/var/{log/{archive,}/%{name},lib/mysql} \
-          $RPM_BUILD_ROOT%{_mysqlhome} \
+install -d $RPM_BUILD_ROOT/etc/{ld.so.conf.d,logrotate.d,rc.d/init.d,sysconfig,mysql/%{mysqlversion},skel} \
+          $RPM_BUILD_ROOT/var/{log/{archive,}/{mysql,mysqlrouter}/%{mysqlversion},lib/{mysql,mysql-files,mysqlrouter}/%{mysqlversion}} \
           $RPM_BUILD_ROOT%{_libdir}
 
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
-cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+sed -e 's,@mysqlbindir@,%{_libdir}/mysql/%{mysqlversion}/bin,g; s,@mysqlsbindir@,%{_libdir}/mysql/%{mysqlversion}/sbin,g; s,@mysqlversion@,%{mysqlversion},g;' %{SOURCE1} >$RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-%{mysqlversion}
+sed -e 's,@mysqlversion@,%{mysqlversion},g;' %{SOURCE2} >$RPM_BUILD_ROOT/etc/sysconfig/mysql-%{mysqlversion}
+sed -e 's,@mysqlversion@,%{mysqlversion},g;' %{SOURCE3} >$RPM_BUILD_ROOT/etc/logrotate.d/mysql-%{mysqlversion}
 # This is template for configuration file which is created after 'service mysql init'
-cp -a %{SOURCE4} mysqld.conf
-cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/clusters.conf
-touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log
+sed -e 's,@mysqlversion@,%{mysqlversion},g;' %{SOURCE4} >mysqld.conf
+sed -e 's,@mysqlversion@,%{mysqlversion},g;' %{SOURCE5} >$RPM_BUILD_ROOT%{_sysconfdir}/mysql/%{mysqlversion}/clusters.conf
+touch $RPM_BUILD_ROOT/var/log/mysql/%{mysqlversion}/{mysqld,query,slow}.log
+touch $RPM_BUILD_ROOT/var/log/mysqlrouter/%{mysqlversion}/mysqlrouter.log
+
+mv $RPM_BUILD_ROOT/etc/logrotate.d/{mysqlrouter,%{name}-router}
+
+echo "%{_libdir}/mysql/%{mysqlversion}/router/private" >$RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-router.conf
 
 # remove innodb directives from mysqld.conf if mysqld is configured without
 %if %{without innodb}
@@ -625,9 +595,9 @@ touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log
 cp mysqld.conf mysqld.tmp
 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
 
-cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.conf
-cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf
-ln -s mysql-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
+cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/mysqld.conf
+cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/%{mysqlversion}/mysql-client.conf
+ln -s mysql-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/mysql/%{mysqlversion}/my.cnf
 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
 
 # NDB
@@ -640,71 +610,64 @@ install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb-cpc
 cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb-cpc
 %endif
 
-sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config
-sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
-sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
+sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysql_config
+sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysql_config
+sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysql_config
 
 # remove known unpackaged files
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}-support
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/support
 
 # rename not to be so generic name
-mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
-mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
-
-# move to _sysconfdir
-#mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
 
 # not useful without -debug build
-%{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
-%{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
 # generate symbols file, so one can generate backtrace using it
 # mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack.
 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
 
 # do not clobber users $PATH
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
-#mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
-sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/mysql_upgrade
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/innochecksum
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamchk
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamlog
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisampack
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/my_print_defaults
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/mysqlcheck
 
 # delete - functionality in initscript / rpm
 # note: mysql_install_db (and thus resolveip) are needed by digikam
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysqld_safe
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysqld_multi
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqld_{multi,safe}*
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.server*
+
+# man pages for removed commands
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlman.1*
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlslap.1*
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/comp_err.1*
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/lz4_decompress.1*
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/zlib_decompress.1*
 
 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test
-# libmysqld examples
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded}
-
-# not needed
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.*
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/udf_example.so
-
-# not an .info file
-%{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/test
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/{comp_err,mysql_client_test,mysql_keyring_encryption_test,mysqlslap,mysqltest,mysqltest_safe_process,mysqlxtest,zlib_decompress}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/test_udf_services.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_example_*.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_log_sink_test.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_pfs_example*.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_test_*.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/test_services_*.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/libdaemon_example.*
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/daemon_example.ini
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/libtest*.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/pfs_example*.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/rewrite_example.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/udf_example.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/test_security_context.so
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%pre
-%groupadd -g 89 mysql
-%useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
-
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add %{name}
@@ -716,13 +679,147 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del %{name}
 fi
 
+%posttrans
+update-alternatives \
+       --install %{_bindir}/ibd2sdi ibd2sdi %{_libdir}/mysql/%{mysqlversion}/bin/ibd2sdi %{mysqlpriority} \
+       --slave %{_mandir}/man1/ibd2sdi.1 ibd2sdi.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ibd2sdi.1* || :
+update-alternatives \
+       --install %{_bindir}/mysql_migrate_keyring mysql_migrate_keyring %{_libdir}/mysql/%{mysqlversion}/bin/mysql_migrate_keyring %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_migrate_keyring.1 mysql_migrate_keyring.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_migrate_keyring.1* || :
+update-alternatives \
+       --install %{_sbindir}/innochecksum innochecksum %{_libdir}/mysql/%{mysqlversion}/sbin/innochecksum %{mysqlpriority} \
+       --slave %{_mandir}/man1/innochecksum.1 innochecksum.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/innochecksum.1* || :
+update-alternatives \
+       --install %{_sbindir}/my_print_defaults my_print_defaults %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults %{mysqlpriority} \
+       --slave %{_mandir}/man1/my_print_defaults.1 my_print_defaults.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/my_print_defaults.1* || :
+update-alternatives \
+       --install %{_sbindir}/myisamchk myisamchk %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk %{mysqlpriority} \
+       --slave %{_mandir}/man1/myisamchk.1 myisamchk.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisamchk.1* || :
+update-alternatives \
+       --install %{_sbindir}/myisamlog myisamlog %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog %{mysqlpriority} \
+       --slave %{_mandir}/man1/myisamlog.1 myisamlog.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisamlog.1* || :
+update-alternatives \
+       --install %{_sbindir}/myisampack myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack %{mysqlpriority} \
+       --slave %{_mandir}/man1/myisampack.1 myisampack.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1* || :
+update-alternatives \
+       --install %{_sbindir}/mysql_upgrade mysql_upgrade %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_upgrade.1 mysql_upgrade.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_upgrade.1* || :
+update-alternatives \
+       --install %{_sbindir}/mysqlcheck mysqlcheck %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlcheck.1 mysqlcheck.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1* || :
+update-alternatives \
+       --install %{_sbindir}/mysqld mysqld %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld %{mysqlpriority} \
+       --slave %{_mandir}/man8/mysqld.8 mysqld.8 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqld.8* || :
+
 %postun
 /sbin/ldconfig
+if [ "$1" = "0" ]; then
+       update-alternatives --remove ibd2sdi %{_libdir}/mysql/%{mysqlversion}/bin/ibd2sdi || :
+       update-alternatives --remove mysql_migrate_keyring %{_libdir}/mysql/%{mysqlversion}/bin/mysql_migrate_keyring || :
+       update-alternatives --remove innochecksum %{_libdir}/mysql/%{mysqlversion}/sbin/innochecksum || :
+       update-alternatives --remove my_print_defaults %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults || :
+       update-alternatives --remove myisamchk %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk || :
+       update-alternatives --remove myisamlog %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog || :
+       update-alternatives --remove myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack || :
+       update-alternatives --remove mysql_upgrade %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade || :
+       update-alternatives --remove mysqlcheck %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck || :
+       update-alternatives --remove mysqld %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld || :
+fi
+
+%pre -n mysql-common
+%groupadd -g 89 mysql
+%useradd -u 89 -d /var/lib/mysql -s /bin/false -g mysql -c "MySQL Server" mysql
+
+%postun -n mysql-common
 if [ "$1" = "0" ]; then
        %userremove mysql
        %groupremove mysql
 fi
 
+%posttrans client
+update-alternatives \
+       --install %{_bindir}/mysql mysql %{_libdir}/mysql/%{mysqlversion}/bin/mysql %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql.1 mysql.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqladmin mysqladmin %{_libdir}/mysql/%{mysqlversion}/bin/mysqladmin %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqladmin.1 mysqladmin.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqladmin.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlbinlog mysqlbinlog %{_libdir}/mysql/%{mysqlversion}/bin/mysqlbinlog %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlbinlog.1 mysqlbinlog.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlbinlog.1* || :
+update-alternatives \
+       --install %{_bindir}/mysql_config_editor mysql_config_editor %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_config_editor.1 mysql_config_editor.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config_editor.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqldump mysqldump %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqldump.1 mysqldump.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldump.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlimport mysqlimport %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlimport.1 mysqlimport.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlimport.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlpump mysqlpump %{_libdir}/mysql/%{mysqlversion}/bin/mysqlpump %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlpump.1 mysqlpump.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlpump.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlshow mysqlshow %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlshow.1 mysqlshow.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlshow.1* || :
+
+%postun client
+if [ $1 -eq 0 ]; then
+       update-alternatives --remove mysql %{_libdir}/mysql/%{mysqlversion}/bin/mysql || :
+       update-alternatives --remove mysqladmin %{_libdir}/mysql/%{mysqlversion}/bin/mysqladmin || :
+       update-alternatives --remove mysqlbinlog %{_libdir}/mysql/%{mysqlversion}/bin/mysqlbinlog || :
+       update-alternatives --remove mysql_config_editor %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor || :
+       update-alternatives --remove mysqldump %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump || :
+       update-alternatives --remove mysqlimport %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport || :
+       update-alternatives --remove mysqlpump %{_libdir}/mysql/%{mysqlversion}/bin/mysqlpump || :
+       update-alternatives --remove mysqlshow %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow || :
+fi
+
+%posttrans extras
+update-alternatives \
+       --install %{_bindir}/myisam_ftdump myisam_ftdump %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump %{mysqlpriority} \
+       --slave %{_mandir}/man1/myisam_ftdump.1 myisam_ftdump.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisam_ftdump.1* || :
+update-alternatives \
+       --install %{_bindir}/mysql_secure_installation mysql_secure_installation %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_secure_installation.1 mysql_secure_installation.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_secure_installation.1* || :
+update-alternatives \
+       --install %{_bindir}/mysql_ssl_rsa_setup mysql_ssl_rsa_setup %{_libdir}/mysql/%{mysqlversion}/bin/mysql_ssl_rsa_setup %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_ssl_rsa_setup.1 mysql_ssl_rsa_setup.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_ssl_rsa_setup.1* || :
+update-alternatives \
+       --install %{_bindir}/mysql_tzinfo_to_sql mysql_tzinfo_to_sql %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_tzinfo_to_sql.1 mysql_tzinfo_to_sql.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_tzinfo_to_sql.1* || :
+update-alternatives \
+       --install %{_bindir}/perror perror %{_libdir}/mysql/%{mysqlversion}/bin/perror %{mysqlpriority} \
+       --slave %{_mandir}/man1/perror.1 perror.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/perror.1* || :
+
+%postun extras
+if [ $1 -eq 0 ]; then
+       update-alternatives --remove myisam_ftdump %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump || :
+       update-alternatives --remove mysql_secure_installation %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation || :
+       update-alternatives --remove mysql_ssl_rsa_setup %{_libdir}/mysql/%{mysqlversion}/bin/mysql_ssl_rsa_setup || :
+       update-alternatives --remove mysql_tzinfo_to_sql %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql || :
+       update-alternatives --remove perror %{_libdir}/mysql/%{mysqlversion}/bin/perror || :
+fi
+
+%posttrans extras-perl
+update-alternatives \
+       --install %{_bindir}/mysqldumpslow mysqldumpslow %{_libdir}/mysql/%{mysqlversion}/bin/mysqldumpslow %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqldumpslow.1 mysqldumpslow.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldumpslow.1* || :
+
+%postun extras-perl
+if [ $1 -eq 0 ]; then
+       update-alternatives --remove mysqldumpslow %{_libdir}/mysql/%{mysqlversion}/bin/mysqldumpslow || :
+fi
+
+%posttrans -n mysql-devel
+update-alternatives \
+       --install %{_bindir}/mysql_config mysql_config %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_config.1 mysql_config.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config.1* || :
+
+%postun -n mysql-devel
+if [ $1 -eq 0 ]; then
+       update-alternatives --remove mysql_config %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config || :
+fi
+
 %post ndb
 /sbin/chkconfig --add %{name}-ndb
 %service %{name}-ndb restart "%{name} NDB engine"
@@ -733,6 +830,90 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del %{name}-ndb
 fi
 
+%posttrans ndb
+update-alternatives \
+       --install %{_sbindir}/ndbd ndbd %{_libdir}/mysql/%{mysqlversion}/sbin/ndbd %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndbd.1 ndbd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndbd.1* || :
+
+%postun ndb
+if [ "$1" = "0" ]; then
+       update-alternatives --remove ndbd %{_libdir}/mysql/%{mysqlversion}/sbin/ndbd || :
+fi
+
+%posttrans ndb-client
+update-alternatives \
+       --install %{_bindir}/ndb_config ndb_config %{_libdir}/mysql/%{mysqlversion}/bin/ndb_config %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_config.1 ndb_config.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_config.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_delete_all ndb_delete_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_delete_all %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_delete_all.1 ndb_delete_all.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_delete_all.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_desc ndb_desc %{_libdir}/mysql/%{mysqlversion}/bin/ndb_desc %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_desc.1 ndb_desc.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_desc.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_drop_index ndb_drop_index %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_index %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_drop_index.1 ndb_drop_index.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_index.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_drop_table ndb_drop_table %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_table %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_drop_table.1 ndb_drop_table.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_table.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_error_reporter ndb_error_reporter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_error_reporter %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_error_reporter.1 ndb_error_reporter.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_error_reporter.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_mgm ndb_mgm %{_libdir}/mysql/%{mysqlversion}/bin/ndb_mgm %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_mgm.1 ndb_mgm.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_mgm.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_print_backup_file ndb_print_backup_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_backup_file %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_print_backup_file.1 ndb_print_backup_file.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_backup_file.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_print_schema_file ndb_print_schema_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_schema_file %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_print_schema_file.1 ndb_print_schema_file.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_schema_file.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_print_sys_file ndb_print_sys_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_sys_file %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_print_sys_file.1 ndb_print_sys_file.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_sys_file.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_restore ndb_restore %{_libdir}/mysql/%{mysqlversion}/bin/ndb_restore %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_restore.1 ndb_restore.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_restore.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_select_all ndb_select_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_all %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_select_all.1 ndb_select_all.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_all.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_select_count ndb_select_count %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_count %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_select_count.1 ndb_select_count.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_count.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_show_tables ndb_show_tables %{_libdir}/mysql/%{mysqlversion}/bin/ndb_show_tables %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_show_tables.1 ndb_show_tables.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_show_tables.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_size.pl ndb_size.pl %{_libdir}/mysql/%{mysqlversion}/bin/ndb_size.pl %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_size.pl.1 ndb_size.pl.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_size.pl.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_test_platform ndb_test_platform %{_libdir}/mysql/%{mysqlversion}/bin/ndb_test_platform %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_test_platform.1 ndb_test_platform.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_test_platform.1* || :
+update-alternatives \
+       --install %{_bindir}/ndb_waiter ndb_waiter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_waiter %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_waiter.1 ndb_waiter.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_waiter.1* || :
+
+%postun ndb-client
+if [ $1 -eq 0 ]; then
+       update-alternatives --remove ndb_config %{_libdir}/mysql/%{mysqlversion}/bin/ndb_config || :
+       update-alternatives --remove ndb_delete_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_delete_all || :
+       update-alternatives --remove ndb_desc %{_libdir}/mysql/%{mysqlversion}/bin/ndb_desc || :
+       update-alternatives --remove ndb_drop_index %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_index || :
+       update-alternatives --remove ndb_drop_table %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_table || :
+       update-alternatives --remove ndb_error_reporter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_error_reporter || :
+       update-alternatives --remove ndb_mgm %{_libdir}/mysql/%{mysqlversion}/bin/ndb_mgm || :
+       update-alternatives --remove ndb_print_backup_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_backup_file || :
+       update-alternatives --remove ndb_print_schema_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_schema_file || :
+       update-alternatives --remove ndb_print_sys_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_sys_file || :
+       update-alternatives --remove ndb_restore %{_libdir}/mysql/%{mysqlversion}/bin/ndb_restore || :
+       update-alternatives --remove ndb_select_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_all || :
+       update-alternatives --remove ndb_select_count %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_count || :
+       update-alternatives --remove ndb_show_tables %{_libdir}/mysql/%{mysqlversion}/bin/ndb_show_tables || :
+       update-alternatives --remove ndb_size.pl %{_libdir}/mysql/%{mysqlversion}/bin/ndb_size.pl || :
+       update-alternatives --remove ndb_test_platform %{_libdir}/mysql/%{mysqlversion}/bin/ndb_test_platform || :
+       update-alternatives --remove ndb_waiter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_waiter || :
+fi
+
 %post ndb-mgm
 /sbin/chkconfig --add %{name}-ndb-mgm
 %service %{name}-ndb-mgm restart "%{name} NDB management node"
@@ -743,9 +924,19 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del %{name}-ndb-mgm
 fi
 
+%posttrans ndb-mgm
+update-alternatives \
+       --install %{_sbindir}/ndb_mgmd ndb_mgmd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_mgmd %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_mgmd.1 ndb_mgmd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_mgmd.1* || :
+
+%postun ndb-mgm
+if [ "$1" = "0" ]; then
+       update-alternatives --remove ndb_mgmd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_mgmd || :
+fi
+
 %post ndb-cpc
 /sbin/chkconfig --add %{name}-ndb-cpc
-%service %{name}-ndb-cpc restart "mysql NDB CPC"
+%service %{name}-ndb-cpc restart "%{name} NDB CPC"
 
 %preun ndb-cpc
 if [ "$1" = "0" ]; then
@@ -753,318 +944,359 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del %{name}-ndb-cpc
 fi
 
-%post   libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
+%posttrans ndb-cpc
+update-alternatives \
+       --install %{_sbindir}/ndb_cpcd ndb_cpcd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_cpcd %{mysqlpriority} \
+       --slave %{_mandir}/man1/ndb_cpcd.1 ndb_cpcd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_cpcd.1* || :
+
+%postun ndb-cpc
+if [ "$1" = "0" ]; then
+       update-alternatives --remove ndb_cpcd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_cpcd || :
+fi
+
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
+
+%pre router
+%groupadd -g 348 mysqlrouter
+%useradd -u 348 -d /var/lib/mysqlrouter -s /bin/false -g mysqlrouter -c "MySQL Router" mysqlrouter
+
+%post  router
+/sbin/ldconfig
+
+%posttrans router
+update-alternatives \
+       --install %{_bindir}/mysqlrouter mysqlrouter %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter.1 mysqlrouter.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlrouter_keyring mysqlrouter_keyring %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_keyring %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter_keyring.1 mysqlrouter_keyring.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_keyring.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlrouter_passwd mysqlrouter_passwd %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_passwd %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter_passwd.1 mysqlrouter_passwd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_passwd.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlrouter_plugin_info mysqlrouter_plugin_info %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_plugin_info %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter_plugin_info.1 mysqlrouter_plugin_info.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_plugin_info.1* || :
+
+%postun        router
+/sbin/ldconfig
+if [ "$1" = "0" ]; then
+       update-alternatives --remove mysqlrouter %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter || :
+       update-alternatives --remove mysqlrouter_keyring %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_keyring || :
+       update-alternatives --remove mysqlrouter_passwd %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_passwd || :
+       update-alternatives --remove mysqlrouter_plugin_info %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_plugin_info || :
+       %userremove mysqlrouter
+       %groupremove mysqlrouter
+fi
 
 %files
 %defattr(644,root,root,755)
-%doc build-ps/rpm/*.cnf
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
 %attr(754,root,root) /etc/rc.d/init.d/%{name}
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf
-%attr(755,root,root) %{_bindir}/ps_mysqld_helper
-%attr(755,root,root) %{_bindir}/ps_tokudb_admin
-%attr(755,root,root) %{_bindir}/ps-admin
-%attr(755,root,root) %{_sbindir}/innochecksum
-%attr(755,root,root) %{_sbindir}/my_print_defaults
-%attr(755,root,root) %{_sbindir}/myisamchk
-%attr(755,root,root) %{_sbindir}/myisamlog
-%attr(755,root,root) %{_sbindir}/myisampack
-%attr(755,root,root) %{_sbindir}/mysql_plugin
-%attr(755,root,root) %{_sbindir}/mysql_upgrade
-%attr(755,root,root) %{_sbindir}/mysqlcheck
-%attr(755,root,root) %{_sbindir}/mysqld
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/plugin
-%attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/audit_log.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_ldap_sasl_client.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/connection_control.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/data_masking.ini
-%attr(755,root,root) %{_libdir}/%{name}/plugin/data_masking.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/group_replication.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_file.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_udf.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_vault.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libpluginmecab.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv1a_udf.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv_udf.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libmurmur_udf.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_framework.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_services.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_services_threaded.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_detach.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_info.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_in_thd.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_2_sessions.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_all_col_types.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_cmds_1.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_commit.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_complex.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_errors.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_lock.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_processlist.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_replication.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_shutdown.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_sqlmode.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_stored_procedures_functions.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_views_triggers.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_x_sessions_deinit.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_x_sessions_init.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/locking_service.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_no_login.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/mysqlx.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/query_response_time.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/replication_observers_example_plugin.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/rewrite_example.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/rewriter.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/scalability_metrics.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/test_security_context.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/test_udf_services.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/version_token.so
+%attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/%{mysqlversion}/clusters.conf
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ibd2sdi
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_migrate_keyring
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/innochecksum
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld
+%dir %{_libdir}/mysql/%{mysqlversion}/plugin
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/adt_null.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth_socket.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth_test_plugin.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_audit_api_message_emit.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_keyring_file.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_log_filter_dragnet.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_log_sink_json.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_log_sink_syseventlog.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_mysqlbackup.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_mysqlx_global_reset.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_query_attributes.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_reference_cache.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_udf_*_func.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_validate_password.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/conflicting_variables.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/connection_control.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ddl_rewriter.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/group_replication.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_mock.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/keyring_file.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/keyring_udf.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/libpluginmecab.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/locking_service.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/mypluglib.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/mysql_clone.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/mysql_no_login.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/qa_auth_client.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/qa_auth_interface.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/qa_auth_server.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/replication_observers_example_plugin.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/rewriter.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_master.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_replica.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_slave.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_source.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/validate_password.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/version_token.so
 %if %{with sphinx}
-%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_sphinx.so
 %endif
-%if %{with tokudb}
-%attr(755,root,root) %{_bindir}/tokuft_logprint
-%attr(755,root,root) %{_bindir}/tokuftdump
-%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_tokudb.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/tokudb_backup.so
-%attr(755,root,root) %{_libdir}/libHotBackup.so
-%endif
-%if %{with rocksdb}
-%attr(755,root,root) %{_bindir}/ldb
-%attr(755,root,root) %{_bindir}/mysql_ldb
-%attr(755,root,root) %{_bindir}/sst_dump
-%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_rocksdb.so
-%endif
-# for plugins
-%{_mandir}/man1/innochecksum.1*
-%{_mandir}/man1/my_print_defaults.1*
-%{_mandir}/man1/myisamchk.1*
-%{_mandir}/man1/myisamlog.1*
-%{_mandir}/man1/myisampack.1*
-%{_mandir}/man1/mysql_plugin.1*
-%{_mandir}/man1/mysql_upgrade.1*
-%{_mandir}/man1/mysqlcheck.1*
-%{_mandir}/man8/mysqld.8*
+%dir %{_libdir}/mysql/%{mysqlversion}/private
+%{_libdir}/mysql/%{mysqlversion}/private/icudt*l
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ibd2sdi.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/innochecksum.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/my_print_defaults.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/myisamchk.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/myisamlog.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_upgrade.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man8/mysqld.8*
 
 %if %{?debug:1}0
-%attr(755,root,root) %{_bindir}/*resolve_stack_dump
-%{_datadir}/%{name}/mysqld.sym
-%{_mandir}/man1/*resolve_stack_dump.1*
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/*resolve_stack_dump
+%{_datadir}/mysql/%{mysqlversion}/mysqld.sym
+%{_datadir}/mysql/%{mysqlversion}/man/man1/*resolve_stack_dump.1*
 %endif
 
-%attr(700,mysql,mysql) %{_mysqlhome}
-# root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
-%attr(751,root,root) /var/lib/mysql
-%attr(750,mysql,mysql) %dir /var/log/%{name}
-%attr(750,mysql,mysql) %dir /var/log/archive/%{name}
-%attr(640,mysql,mysql) %ghost /var/log/%{name}/*
+%attr(750,mysql,mysql) %dir /var/log/mysql/%{mysqlversion}
+%attr(750,mysql,mysql) %dir /var/log/archive/mysql/%{mysqlversion}
+%attr(640,mysql,mysql) %ghost /var/log/mysql/%{mysqlversion}/*
 
 # This is template for configuration file which is created after 'service mysql init'
-%{_datadir}/%{name}/mysqld.conf
-%{_datadir}/%{name}/install_rewriter.sql
-%{_datadir}/%{name}/mysql_security_commands.sql
-%{_datadir}/%{name}/mysql_sys_schema.sql
-%{_datadir}/%{name}/mysql_system_tables.sql
-%{_datadir}/%{name}/mysql_system_tables_data.sql
-%{_datadir}/%{name}/mysql_test_data_timezone.sql
-%{_datadir}/%{name}/uninstall_rewriter.sql
-
-%{_datadir}/%{name}/english
-%{_datadir}/%{name}/dictionary.txt
-%{_datadir}/%{name}/fill_help_tables.sql
-%{_datadir}/%{name}/innodb_memcached_config.sql
+%{_datadir}/mysql/%{mysqlversion}/mysqld.conf
+
+%dir %{_datadir}/mysql/%{mysqlversion}/lang
+%{_datadir}/mysql/%{mysqlversion}/lang/english
+%{_datadir}/mysql/%{mysqlversion}/lang/dictionary.txt
+%{_datadir}/mysql/%{mysqlversion}/lang/messages_to_clients.txt
+%{_datadir}/mysql/%{mysqlversion}/lang/messages_to_error_log.txt
+%{_datadir}/mysql/%{mysqlversion}/lang/install_rewriter.sql
+%{_datadir}/mysql/%{mysqlversion}/lang/uninstall_rewriter.sql
 # Don't mark these with %%lang. These are used depending
 # on database client settings.
-%{_datadir}/%{name}/bulgarian
-%{_datadir}/%{name}/czech
-%{_datadir}/%{name}/danish
-%{_datadir}/%{name}/german
-%{_datadir}/%{name}/greek
-%{_datadir}/%{name}/spanish
-%{_datadir}/%{name}/estonian
-%{_datadir}/%{name}/french
-%{_datadir}/%{name}/hungarian
-%{_datadir}/%{name}/italian
-%{_datadir}/%{name}/japanese
-%{_datadir}/%{name}/korean
-%{_datadir}/%{name}/dutch
-%{_datadir}/%{name}/norwegian
-%{_datadir}/%{name}/norwegian-ny
-%{_datadir}/%{name}/polish
-%{_datadir}/%{name}/portuguese
-%{_datadir}/%{name}/romanian
-%{_datadir}/%{name}/russian
-%{_datadir}/%{name}/serbian
-%{_datadir}/%{name}/slovak
-%{_datadir}/%{name}/swedish
-%{_datadir}/%{name}/ukrainian
+%{_datadir}/mysql/%{mysqlversion}/lang/bulgarian
+%{_datadir}/mysql/%{mysqlversion}/lang/czech
+%{_datadir}/mysql/%{mysqlversion}/lang/danish
+%{_datadir}/mysql/%{mysqlversion}/lang/german
+%{_datadir}/mysql/%{mysqlversion}/lang/greek
+%{_datadir}/mysql/%{mysqlversion}/lang/spanish
+%{_datadir}/mysql/%{mysqlversion}/lang/estonian
+%{_datadir}/mysql/%{mysqlversion}/lang/french
+%{_datadir}/mysql/%{mysqlversion}/lang/hungarian
+%{_datadir}/mysql/%{mysqlversion}/lang/italian
+%{_datadir}/mysql/%{mysqlversion}/lang/japanese
+%{_datadir}/mysql/%{mysqlversion}/lang/korean
+%{_datadir}/mysql/%{mysqlversion}/lang/dutch
+%{_datadir}/mysql/%{mysqlversion}/lang/norwegian
+%{_datadir}/mysql/%{mysqlversion}/lang/norwegian-ny
+%{_datadir}/mysql/%{mysqlversion}/lang/polish
+%{_datadir}/mysql/%{mysqlversion}/lang/portuguese
+%{_datadir}/mysql/%{mysqlversion}/lang/romanian
+%{_datadir}/mysql/%{mysqlversion}/lang/russian
+%{_datadir}/mysql/%{mysqlversion}/lang/serbian
+%{_datadir}/mysql/%{mysqlversion}/lang/slovak
+%{_datadir}/mysql/%{mysqlversion}/lang/swedish
+%{_datadir}/mysql/%{mysqlversion}/lang/ukrainian
 
 %files charsets
 %defattr(644,root,root,755)
-%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/charsets
+%{_datadir}/mysql/%{mysqlversion}/lang/charsets
+
+%files -n mysql-common
+%defattr(644,root,root,755)
+%attr(751,root,root) %dir %{_sysconfdir}/mysql
+%dir %{_libdir}/mysql
+%dir %{_datadir}/mysql
+%attr(751,root,root) %dir /var/lib/mysql
+%attr(751,root,root) %dir /var/lib/mysql-files
+%attr(751,root,root) %dir /var/lib/mysqlrouter
+%attr(751,root,root) %dir /var/log/mysql
+%attr(751,root,root) %dir /var/log/archive/mysql
+%attr(751,root,root) %dir /var/log/mysqlrouter
+%attr(751,root,root) %dir /var/log/archive/mysqlrouter
+
+%files dirs
+%defattr(644,root,root,755)
+%attr(751,root,root) %dir %{_sysconfdir}/mysql/%{mysqlversion}
+# root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
+%attr(751,root,root) %dir /var/lib/mysql/%{mysqlversion}
+%attr(750,mysql,mysql) %dir /var/lib/mysql-files/%{mysqlversion}
+%dir %{_libdir}/mysql/%{mysqlversion}
+%dir %{_libdir}/mysql/%{mysqlversion}/bin
+%dir %{_libdir}/mysql/%{mysqlversion}/sbin
+%dir %{_datadir}/mysql/%{mysqlversion}
+%dir %{_datadir}/mysql/%{mysqlversion}/man
+%dir %{_datadir}/mysql/%{mysqlversion}/man/man1
+%dir %{_datadir}/mysql/%{mysqlversion}/man/man8
 
 %files extras
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/myisam_ftdump
-%attr(755,root,root) %{_bindir}/mysql_install_db
-%attr(755,root,root) %{_bindir}/mysql_secure_installation
-%attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
-%attr(755,root,root) %{_bindir}/perror
-%attr(755,root,root) %{_bindir}/replace
-%attr(755,root,root) %{_bindir}/resolveip
-%{_mandir}/man1/myisam_ftdump.1*
-%{_mandir}/man1/mysql_install_db.1*
-%{_mandir}/man1/mysql_secure_installation.1*
-%{_mandir}/man1/mysql_tzinfo_to_sql.1*
-%{_mandir}/man1/perror.1*
-%{_mandir}/man1/replace.1*
-%{_mandir}/man1/resolveip.1*
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_ssl_rsa_setup
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/perror
+%{_datadir}/mysql/%{mysqlversion}/man/man1/myisam_ftdump.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_ssl_rsa_setup.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_secure_installation.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_tzinfo_to_sql.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/perror.1*
 
 %files extras-perl
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mysqldumpslow
-%{_mandir}/man1/mysqldumpslow.1*
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqldumpslow
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldumpslow.1*
 
 %files client
 %defattr(644,root,root,755)
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf
-%attr(755,root,root) %{_bindir}/lz4_decompress
-%attr(755,root,root) %{_bindir}/mysql
-%attr(755,root,root) %{_bindir}/mysql_config_editor
-%attr(755,root,root) %{_bindir}/mysql_ssl_rsa_setup
-%attr(755,root,root) %{_bindir}/mysqladmin
-%attr(755,root,root) %{_bindir}/mysqlbinlog
-%attr(755,root,root) %{_bindir}/mysqldump
-%attr(755,root,root) %{_bindir}/mysqlimport
-%attr(755,root,root) %{_bindir}/mysqlpump
-%attr(755,root,root) %{_bindir}/mysqlshow
-%attr(755,root,root) %{_bindir}/zlib_decompress
-%{_mandir}/man1/lz4_decompress.1*
-%{_mandir}/man1/mysql.1*
-%{_mandir}/man1/mysql_config_editor.1*
-%{_mandir}/man1/mysql_ssl_rsa_setup.1*
-%{_mandir}/man1/mysqladmin.1*
-%{_mandir}/man1/mysqlbinlog.1*
-%{_mandir}/man1/mysqldump.1*
-%{_mandir}/man1/mysqlimport.1*
-%{_mandir}/man1/mysqlpump.1*
-%{_mandir}/man1/mysqlshow.1*
-%{_mandir}/man1/zlib_decompress.1*
+%attr(600,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.my.cnf
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqladmin
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlbinlog
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlpump
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqladmin.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlbinlog.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config_editor.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldump.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlimport.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlpump.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlshow.1*
 
 %files libs
 %defattr(644,root,root,755)
-%attr(751,root,root) %dir %{_sysconfdir}/%{name}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
-%{_sysconfdir}/%{name}/my.cnf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/%{mysqlversion}/mysql-client.conf
+%{_sysconfdir}/mysql/%{mysqlversion}/my.cnf
 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.20
+%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.22
 %if %{with ndb}
 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
 %endif
 
-%files devel
+%files -n mysql-devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mysql_config
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config
 %attr(755,root,root) %{_libdir}/libmysqlclient.so
-%{_pkgconfigdir}/mysqlclient.pc
 %if %{with ndb}
 %attr(755,root,root) %{_libdir}/libndbclient.so
 %endif
-# static-only so far
-%{_libdir}/libmysqld.a
+%{_pkgconfigdir}/mysqlclient.pc
 %{_libdir}/libmysqlservices.a
 %{_includedir}/mysql
 %{_aclocaldir}/mysql.m4
-%{_mandir}/man1/mysql_config.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config.1*
 
-%files static
+%files -n mysql-static
 %defattr(644,root,root,755)
 %{_libdir}/libmysqlclient.a
 %if %{with ndb}
 %{_libdir}/libndbclient.a
 %endif
 
-%files bench
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mysqlslap
-%attr(755,root,root) %{_bindir}/mysqltest
-%{_mandir}/man1/mysqlslap.1*
-
 %if %{with ndb}
 %files ndb
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/ndbd
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/ndbd
 %attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}-ndb
-%{_mandir}/man1/ndbd_redo_log_reader.1*
-%{_mandir}/man8/ndbd.8*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndbd_redo_log_reader.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man8/ndbd.8*
 
 %files ndb-client
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ndb_config
-%attr(755,root,root) %{_bindir}/ndb_delete_all
-%attr(755,root,root) %{_bindir}/ndb_desc
-%attr(755,root,root) %{_bindir}/ndb_drop_index
-%attr(755,root,root) %{_bindir}/ndb_drop_table
-%attr(755,root,root) %{_bindir}/ndb_error_reporter
-%attr(755,root,root) %{_bindir}/ndb_mgm
-%attr(755,root,root) %{_bindir}/ndb_print_backup_file
-%attr(755,root,root) %{_bindir}/ndb_print_schema_file
-%attr(755,root,root) %{_bindir}/ndb_print_sys_file
-%attr(755,root,root) %{_bindir}/ndb_restore
-%attr(755,root,root) %{_bindir}/ndb_select_all
-%attr(755,root,root) %{_bindir}/ndb_select_count
-%attr(755,root,root) %{_bindir}/ndb_show_tables
-%attr(755,root,root) %{_bindir}/ndb_size.pl
-%attr(755,root,root) %{_bindir}/ndb_test_platform
-%attr(755,root,root) %{_bindir}/ndb_waiter
-%{_mandir}/man1/ndb_config.1*
-%{_mandir}/man1/ndb_delete_all.1*
-%{_mandir}/man1/ndb_desc.1*
-%{_mandir}/man1/ndb_drop_index.1*
-%{_mandir}/man1/ndb_drop_table.1*
-%{_mandir}/man1/ndb_error_reporter.1*
-%{_mandir}/man1/ndb_mgm.1*
-%{_mandir}/man1/ndb_print_backup_file.1*
-%{_mandir}/man1/ndb_print_schema_file.1*
-%{_mandir}/man1/ndb_print_sys_file.1*
-%{_mandir}/man1/ndb_restore.1*
-%{_mandir}/man1/ndb_select_all.1*
-%{_mandir}/man1/ndb_select_count.1*
-%{_mandir}/man1/ndb_show_tables.1*
-%{_mandir}/man1/ndb_size.pl.1*
-%{_mandir}/man1/ndb_waiter.1*
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_config
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_delete_all
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_desc
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_index
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_table
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_error_reporter
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_mgm
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_backup_file
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_schema_file
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_sys_file
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_restore
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_all
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_count
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_show_tables
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_size.pl
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_test_platform
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_waiter
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_config.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_delete_all.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_desc.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_index.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_table.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_error_reporter.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_mgm.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_backup_file.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_schema_file.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_sys_file.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_restore.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_all.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_count.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_show_tables.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_size.pl.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_waiter.1*
 
 %files ndb-mgm
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/ndb_mgmd
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_mgmd
 %attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb-mgm
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}-ndb-mgm
-%{_mandir}/man8/ndb_mgmd.8*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
+%{_datadir}/mysql/%{mysqlversion}/man/man8/ndb_mgmd.8*
 
 %files ndb-cpc
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/ndb_cpcd
-%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}-ndb-cpc
-%{_mandir}/man1/ndb_cpcd.1*
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_cpcd
+%attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb-cpc
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_cpcd.1*
 %endif
+
+%files router
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-router
+%{_sysconfdir}/ld.so.conf.d/%{name}-router.conf
+%dir %{_libdir}/mysql/%{mysqlversion}/router
+%dir %{_libdir}/mysql/%{mysqlversion}/router/private
+%attr(750,root,root) %dir /var/lib/mysqlrouter/%{mysqlversion}
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_keyring
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_passwd
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_plugin_info
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/connection_pool.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/destination_status.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/http_auth_backend.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/http_auth_realm.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/http_server.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/io.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/keepalive.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/metadata_cache.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_api.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_connection_pool.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_metadata_cache.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_router.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_routing.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/router_openssl.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/router_protobuf.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/routing.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/private/libmysqlharness*.so*
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/private/libmysqlrouter*.so*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_passwd.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_plugin_info.1*
+%attr(750,mysqlrouter,mysqlrouter) %dir /var/log/mysqlrouter/%{mysqlversion}
+%attr(750,mysqlrouter,mysqlrouter) %dir /var/log/archive/mysqlrouter/%{mysqlversion}
+%attr(640,mysql,mysql) %ghost /var/log/mysqlrouter/%{mysqlversion}/*