]> TLD Linux GIT Repositories - packages/mysql.git/blobdiff - mysql.spec
- fix bcond comment (breaks build)
[packages/mysql.git] / mysql.spec
index 3ad3d151ae3155ca9387f1155e9b6b61cfb0b90c..15f44b10ec0d8d81fa17723586db423b8b55c911 100644 (file)
@@ -1,31 +1,22 @@
-# 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)
-#
 # Conditional build:
 # 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_without raid            # RAID support
 %bcond_without ssl             # OpenSSL support
 %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_without raid            # RAID support
 %bcond_without ssl             # OpenSSL support
-%bcond_without systemtap       # systemtap/dtrace probes
+%bcond_with    systemtap       # systemtap/dtrace probes
 %bcond_without tcpd            # libwrap (tcp_wrappers) support
 %bcond_without tcpd            # libwrap (tcp_wrappers) support
-%bcond_without sphinx          # Sphinx storage engine support
-%bcond_with    tests           # FIXME: don't run correctly
+%bcond_with    sphinx          # Sphinx storage engine support
+# 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    ndb             # NDB is now a separate product, this here is broken, so disable it
+%bcond_without ldap            # LDAP auth support (requires MIT Kerberos)
+%bcond_with    default         # default version of MySQL (with common and devel)
+
+%define mysqlversion 8.4
+%define mysqlpriority 84
 
 
-%define                rel     1
-%define                percona_rel     76.1
-%include       /usr/lib/rpm/macros.perl
 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
 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
@@ -34,63 +25,73 @@ 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数据库服务器
 Summary(ru.UTF-8):     MySQL - быстрый SQL-сервер
 Summary(uk.UTF-8):     MySQL - швидкий SQL-сервер
 Summary(zh_CN.UTF-8):  MySQL数据库服务器
-Name:          mysql
-Version:       5.6.28
-Release:       %{percona_rel}.%{rel}
-License:       GPL + MySQL FLOSS Exception
+Name:          mysql-%{mysqlversion}
+Version:       8.4.0
+Release:        1
+License:       GPL v2 + MySQL FOSS License Exception
 Group:         Applications/Databases
 Group:         Applications/Databases
-Source0:       http://www.percona.com/downloads/Percona-Server-5.6/LATEST/source/tarball/percona-server-%{version}-%{percona_rel}.tar.gz
-# Source0-md5: f779df3d75a4a019fe9f17e0a2e0e176
-Source100:     http://www.sphinxsearch.com/files/sphinx-2.2.10-release.tar.gz
-# Source100-md5:       dda52b24d8348fc09e26d8a649a231d2
-Source1:       %{name}.init
-Source2:       %{name}.sysconfig
-Source3:       %{name}.logrotate
-Source4:       %{name}d.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
+Source0:       http://cdn.mysql.com/Downloads/MySQL-%{mysqlversion}/mysql-%{version}.tar.gz
+# Source0-md5: c3b1ccd1ba5b09f118ce6e27f0f0df98
+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_77_0.tar.bz2
+# Source101-md5:       09dc857466718f27237144c6f2432d86
+%endif
+Source1:       mysql.init
+Source2:       mysql.sysconfig
+Source3:       mysql.logrotate
+Source4:       mysqld.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
 Source14:      my.cnf
-Patch1:                %{name}-versioning.patch
-Patch2:                %{name}hotcopy-5.0-5.5.patch
-Patch3:                bug-67402.patch
-Patch4:                %{name}-no-default-secure-auth.patch
-# from fedora
-Patch6:                %{name}-system-users.patch
-
-Patch9:                %{name}-build.patch
-Patch11:       %{name}-upgrade.patch
-Patch12:       %{name}-config.patch
-Patch14:       %{name}-bug-43594.patch
-Patch18:       %{name}-sphinx.patch
-Patch19:       %{name}-chain-certs.patch
-# from fedora
-Patch20:       %{name}-dubious-exports.patch
-Patch21:       bug-66589.patch
-Patch22:       bug-44278.patch
+Patch0:                no_relative_paths.patch
+Patch1:                mysql-system-xxhash.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
 URL:           http://www.mysql.com/products/community/
 BuildRequires: bison >= 1.875
-BuildRequires: cmake >= 2.6
-BuildRequires: readline-devel >= 6.2
-BuildRequires: libstdc++-devel >= 5:4.0
-BuildRequires: automake
+%{?with_system_boost:BuildRequires:    boost-devel >= 1.77.0}
+BuildRequires: cmake >= 2.8.2
+%{?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}
 %{?with_tcpd:BuildRequires:    libwrap-devel}
+BuildRequires: lz4-devel
+BuildRequires: mecab-devel
 BuildRequires: ncurses-devel >= 4.2
 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
 BuildRequires: pam-devel
-%{?with_autodeps:BuildRequires:        perl-DBI}
 BuildRequires: perl-devel >= 1:5.6.1
 BuildRequires: perl-devel >= 1:5.6.1
-BuildRequires: python-modules
+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: 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: 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
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -98,27 +99,31 @@ Requires(pre):      /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(triggerpostun):       sed >= 4.0
+Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
 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
 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)
 %{?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
 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                _orgname        percona-server
 %define                _libexecdir     %{_sbindir}
 %define                _libexecdir     %{_sbindir}
-%define                _localstatedir  /var/lib/mysql
-%define                _mysqlhome      /home/services/mysql
+%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
 
 %description
 MySQL is a true multi-user, multi-threaded SQL (Structured Query
@@ -225,6 +230,8 @@ MySQL - це SQL (Structured Query Language) сервер бази даних. M
 Summary:       MySQL - character sets definitions
 Summary(pl.UTF-8):     MySQL - definicje kodowań znaków
 Group:         Applications/Databases
 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
 
 %description charsets
 This package contains character sets definitions needed by both client
@@ -234,37 +241,36 @@ and server.
 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
 klienta.
 
 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
 klienta.
 
-%package -n mysqlhotcopy
-Summary:       mysqlhotcopy - A MySQL database backup program
-Summary(pl.UTF-8):     mysqlhotcopy - program do tworzenia kopii zapasowych baz MySQL
-Group:         Applications/Databases
-Requires:      perl-DBD-mysql
+%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 mysqlhotcopy
-mysqlhotcopy uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a
-database backup quickly. It is the fastest way to make a backup of the
-database or single tables, but it can be run only on the same machine
-where the database directories are located. mysqlhotcopy works only
-for backing up MyISAM and ARCHIVE tables.
+%description -n mysql-common -l pl.UTF-8
+MySQL - wspólne pliki i katalogi.
 
 
-See innobackup package to backup InnoDB tables.
+%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 >= 8.0.0
 
 
-%description -n mysqlhotcopy -l pl.UTF-8
-mysqlhotcopy wykorzystuje LOCK TABLES, FLUSH TABLES oraz cp i scp do
-szybkiego tworzenia kopii zapasowych baz danych. Jest to najszybszy
-sposób wykonania kopii zapasowej bazy danych lub pojedynczych tabel,
-ale może działać tylko na maszynie, na której znajdują się katalogi z
-bazą danych. mysqlhotcopy działa tylko dla tabel typu MyISAM i
-ARCHIVE.
+%description dirs
+Common directories for MysSQL %{mysqlversion}
 
 
-Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie
-innobackup.
+%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
 
 %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}-client = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description extras
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description extras
@@ -279,10 +285,9 @@ pakiecie %{name}-extras-perl).
 Summary:       MySQL additional utilities written in Perl
 Summary(pl.UTF-8):     Dodatkowe narzędzia do MySQL napisane w Perlu
 Group:         Applications/Databases
 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:      %{name}-extras = %{version}-%{release}
-# this is just for the sake of smooth upgrade, not to break systems
-Requires:      mysqlhotcopy = %{version}-%{release}
-Requires:      perl(DBD::mysql)
+Requires:      perl-DBD-mysql
 
 %description extras-perl
 MySQL additional utilities written in Perl.
 
 %description extras-perl
 MySQL additional utilities written in Perl.
@@ -297,10 +302,12 @@ Summary(pt.UTF-8):        MySQL - Cliente
 Summary(ru.UTF-8):     MySQL клиент
 Summary(uk.UTF-8):     MySQL клієнт
 Group:         Applications/Databases
 Summary(ru.UTF-8):     MySQL клиент
 Summary(uk.UTF-8):     MySQL клієнт
 Group:         Applications/Databases
+Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
 Requires:      %{name}-charsets = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      readline >= 6.2
 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.
 
 %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
 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
 Obsoletes:     mysql-doc < 4.1.12
 
 %description libs
@@ -333,110 +343,75 @@ Shared libraries for MySQL.
 %description libs -l pl.UTF-8
 Biblioteki współdzielone 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
 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}
 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.
 
 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.
 
 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.
 
 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.
 
 Este pacote contém os arquivos de cabeçalho (header files) e
 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
 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.
 
 MySQL static libraries.
 
-%description static -l pl.UTF-8
+%description -n mysql-static -l pl.UTF-8
 Biblioteki statyczne MySQL.
 
 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
-Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
-
-%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
 %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
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb
@@ -450,6 +425,8 @@ NDB.
 Summary:       MySQL - NDB Clients
 Summary(pl.UTF-8):     MySQL - programy klienckie NDB
 Group:         Applications/Databases
 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
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb-client
@@ -462,6 +439,8 @@ 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
 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
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb-mgm
@@ -474,6 +453,8 @@ Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
 Summary:       MySQL - NDB CPC Daemon
 Summary(pl.UTF-8):     MySQL - demon NDB CPC
 Group:         Applications/Databases
 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
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description ndb-cpc
@@ -482,40 +463,45 @@ This package contains the standard MySQL NDB CPC Daemon.
 %description ndb-cpc -l pl.UTF-8
 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 
 %description ndb-cpc -l pl.UTF-8
 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 
+%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.
+
+%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
 %prep
-%setup -q -n percona-server-%{version}-%{percona_rel} %{?with_sphinx:-a100}
+%setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
 
 
-# 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.*
+%patch0 -p1
+%patch1 -p1
 
 %if %{with sphinx}
 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
 
 %if %{with sphinx}
 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
-mv sphinx-*/mysqlse storage/sphinx
+%{__mv} sphinx-*/mysqlse storage/sphinx
+%patch17 -p1
 %patch18 -p1
 %endif
 %patch18 -p1
 %endif
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
 
 
-%patch6 -p1
-
-%patch9 -p1
-%patch11 -p1
-%patch12 -p1
-%patch14 -p0
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
+%patch24 -p1
+%patch25 -p1
 
 # to get these files rebuild
 
 # 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
+[ -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
 
 %build
 install -d build
@@ -524,35 +510,53 @@ cd build
 # (it defaults to first cluster but user may change it to whatever
 # cluster it wants)
 
 # (it defaults to first cluster but user may change it to whatever
 # cluster it wants)
 
-%cmake \
+CPPFLAGS="%{rpmcppflags}" \
+%cmake .. \
        -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
        -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
-       -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
-       -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
+       -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 \
        -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_LIBDIR=%{_lib} \
+       -DINSTALL_PRIV_LIBDIR=%{_libdir}/mysql/%{mysqlversion}/private \
        -DINSTALL_MYSQLTESTDIR_RPM="" \
        -DINSTALL_MYSQLTESTDIR_RPM="" \
-       -DINSTALL_PLUGINDIR=%{_libdir}/%{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_SQLBENCHDIR=%{_datadir} \
-       -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
-       -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.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 \
        %{?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_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
-       -DWITH_PAM=ON \
        -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
        -DWITH_PIC=ON \
        -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
        -DWITH_PIC=ON \
-       -DWITH_READLINE=system \
-       -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
-       -DWITHOUT_TOKUDB=1 \
-       -DWITHOUT_TOKUDB_STORAGE_ENGINE=1 \
+       %{?with_ldap:-DWITH_LDAP=system} \
+       -DWITH_KERBEROS=system \
+       -DWITH_LIBEVENT=system \
+       -DWITH_LZ4=system \
+       -DWITH_PROTOBUF=system \
+       -DWITH_SASL=system \
        -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
        -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_ZLIB=system \
-       ..
+       -DWITH_EDITLINE=system \
+       -DWITH_MECAB=system \
+       -DTMPDIR=/var/tmp
 
 %{__make}
 
 
 %{__make}
 
@@ -560,21 +564,25 @@ cd build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \
-          $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,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
 
           $RPM_BUILD_ROOT%{_libdir}
 
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
-cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
+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'
 # 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}
 
 # remove innodb directives from mysqld.conf if mysqld is configured without
 %if %{without innodb}
@@ -586,544 +594,698 @@ 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 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
 %if %{with ndb}
 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
 
 # NDB
 %if %{with ndb}
-install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
-cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
-install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
-cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
-install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
-cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
+install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb
+cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb
+install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb-mgm
+cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb-mgm
+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
 
 %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
 
 # 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
 
 # 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
 
 # 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
 # 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}}/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}/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
 
 # 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%{_bindir}/mysql_waitpid
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
-%{__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*
 
 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
 
 # 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} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1*
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1*
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
-%{__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
-
-# 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,mysql_test_event_tracking,mysqlslap,mysqltest,mysqltest_safe_process,mysqlxtest}
+%{__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
 
 
 %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
 %post
 /sbin/ldconfig
-/sbin/chkconfig --add mysql
-%service mysql restart
+/sbin/chkconfig --add %{name}
+%service %{name} restart
 
 %preun
 if [ "$1" = "0" ]; then
 
 %preun
 if [ "$1" = "0" ]; then
-       %service -q mysql stop
-       /sbin/chkconfig --del mysql
+       %service -q %{name} stop
+       /sbin/chkconfig --del %{name}
 fi
 
 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}/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
 %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 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
 
 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
 %post ndb
-/sbin/chkconfig --add mysql-ndb
-%service mysql-ndb restart "mysql NDB engine"
+/sbin/chkconfig --add %{name}-ndb
+%service %{name}-ndb restart "%{name} NDB engine"
 
 %preun ndb
 if [ "$1" = "0" ]; then
 
 %preun ndb
 if [ "$1" = "0" ]; then
-       %service mysql-ndb stop
-       /sbin/chkconfig --del mysql-ndb
+       %service %{name}-ndb stop
+       /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
 fi
 
 %post ndb-mgm
-/sbin/chkconfig --add mysql-ndb-mgm
-%service mysql-ndb-mgm restart "mysql NDB management node"
+/sbin/chkconfig --add %{name}-ndb-mgm
+%service %{name}-ndb-mgm restart "%{name} NDB management node"
 
 %preun ndb-mgm
 if [ "$1" = "0" ]; then
 
 %preun ndb-mgm
 if [ "$1" = "0" ]; then
-       %service mysql-ndb-mgm stop
-       /sbin/chkconfig --del mysql-ndb-mgm
+       %service %{name}-ndb-mgm stop
+       /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
 fi
 
 %post ndb-cpc
-/sbin/chkconfig --add mysql-ndb-cpc
-%service mysql-ndb-cpc restart "mysql NDB CPC"
+/sbin/chkconfig --add %{name}-ndb-cpc
+%service %{name}-ndb-cpc restart "%{name} NDB CPC"
 
 %preun ndb-cpc
 if [ "$1" = "0" ]; then
 
 %preun ndb-cpc
 if [ "$1" = "0" ]; then
-       %service mysql-ndb-cpc stop
-       /sbin/chkconfig --del mysql-ndb-cpc
+       %service %{name}-ndb-cpc stop
+       /sbin/chkconfig --del %{name}-ndb-cpc
 fi
 
 fi
 
-%post   libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
-
-%triggerpostun -- mysql < 4.0.20-2.4
-# For clusters in /etc/%{name}/clusters.conf
-if [ -f /etc/sysconfig/mysql ]; then
-       . /etc/sysconfig/mysql
-       if [ -n "$MYSQL_DB_CLUSTERS" ]; then
-               for i in "$MYSQL_DB_CLUSTERS"; do
-                       echo "$i/mysqld.conf=$i" >> /etc/%{name}/clusters.conf
-               done
-               echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
-               echo "# USE /etc/%{name}/clusters.conf instead" >> /etc/sysconfig/mysql
-               echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/%{name}/clusters.conf."
-               echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/%{name}/clusters.conf."
-       fi
+%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
 
 fi
 
-%triggerpostun -- mysql < 4.1.1
-# For better compatibility with prevoius versions:
-for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
-       if echo "$config" | grep -q '^/'; then
-               config_file="$config"
-       elif [ -f "/etc/%{name}/$config" ]; then
-               config_file=/etc/%{name}/$config
-       else
-               clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
-               if [ -z "$clusterdir" ]; then
-                       echo >&2 "Can't find cluster dir for $config!"
-                       echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
-                       exit 1
-               fi
-               config_file="$clusterdir/mysqld.conf"
-       fi
-
-       if [ ! -f "$config_file" ]; then
-                       echo >&2 "Lost myself! Please report this (with above errors, if any) to TLD Linux mailing lists."
-                       exit 1
-       fi
-       echo "Adding option old-passwords to config: $config_file"
-       echo "If you want to use new, better passwords - remove it"
-
-       # sed magic to add 'old-passwords' to [mysqld] section
-       sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
-               a
-               a; Compatibility options:
-               aold-passwords
-       }
-       ' $config_file
-done
-
-%banner -e %{name}-4.1.x <<-EOF
-       If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
-       mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
-EOF
-#'
-
-%triggerpostun -- mysql < 5.1.0
-configs=""
-for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
-       if echo "$config" | grep -q '^/'; then
-               config_file="$config"
-       elif [ -f "/etc/%{name}/$config" ]; then
-               config_file=/etc/%{name}/$config
-       else
-               clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
-               if [ -z "$clusterdir" ]; then
-                       echo >&2 "Can't find cluster dir for $config!"
-                       echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
-                       exit 1
-               fi
-               config_file="$clusterdir/mysqld.conf"
-       fi
-
-       if [ ! -f "$config_file" ]; then
-               echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
-               continue
-       fi
-       configs="$configs $config_file"
-done
-
-(
-echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
-echo 'Thus, you should invoke:'
-for config in $configs; do
-       sed -i -e '
-               s/set-variable\s*=\s* //
-               # use # as comment in config
-               s/^;/#/
-       ' $config
-
-       datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
-       echo "# mysql_upgrade --datadir=$datadir"
-done
-) | %banner -e %{name}-5.1
-
-%triggerpostun -- mysql < 5.5.0
-configs=""
-for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
-       if echo "$config" | grep -q '^/'; then
-               config_file="$config"
-       elif [ -f "/etc/%{name}/$config" ]; then
-               config_file=/etc/%{name}/$config
-       else
-               clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
-               if [ -z "$clusterdir" ]; then
-                       echo >&2 "Can't find cluster dir for $config!"
-                       echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
-                       exit 1
-               fi
-               config_file="$clusterdir/mysqld.conf"
-       fi
-
-       if [ ! -f "$config_file" ]; then
-               echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
-               continue
-       fi
-       configs="$configs $config_file"
-done
-
-(
-echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
-echo 'Thus, you should invoke:'
-for config in $configs; do
-       sed -i -e '
-               s/^language *= *polish/lc-messages = pl_PL/i
-               s/set-variable\s*=\s* //
-               s/^skip-locking/skip-external-locking/
-               # this is not valid for server. it is client option
-               s/^default-character-set/# client-config: &/
-               # use # as comment in config
-               s/^;/#/
-       ' $config
-
-       socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs)
-       echo "# mysql_upgrade ${socket:+--socket=$socket}"
-done
-) | %banner -e %{name}-5.5
+%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)
 
 %files
 %defattr(644,root,root,755)
-%doc build/support-files/*.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,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) %{_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.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.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/dialog.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.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/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/validate_password.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/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_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}
 %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
 %endif
-# for plugins
-%attr(755,root,root) %{_libdir}/libmysqlservices.so
-%{_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/mysqlcheck.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man8/mysqld.8*
 
 %if %{?debug:1}0
 
 %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
 
 %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/mysql
-%attr(750,mysql,mysql) %dir /var/log/archive/mysql
-%attr(640,mysql,mysql) %ghost /var/log/mysql/*
+%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'
 
 # This is template for configuration file which is created after 'service mysql init'
-%{_datadir}/%{name}/mysqld.conf
-%{_datadir}/%{name}/mysql_security_commands.sql
-%{_datadir}/%{name}/mysql_system_tables_data.sql
-%{_datadir}/%{name}/mysql_system_tables.sql
-%{_datadir}/%{name}/mysql_test_data_timezone.sql
-
-%{_datadir}/%{name}/english
-%{_datadir}/%{name}/dictionary.txt
-%{_datadir}/%{name}/fill_help_tables.sql
-%{_datadir}/%{name}/innodb_memcached_config.sql
-%lang(bg) %{_datadir}/%{name}/bulgarian
-%lang(cs) %{_datadir}/%{name}/czech
-%lang(da) %{_datadir}/%{name}/danish
-%lang(de) %{_datadir}/%{name}/german
-%lang(el) %{_datadir}/%{name}/greek
-%lang(es) %{_datadir}/%{name}/spanish
-%lang(et) %{_datadir}/%{name}/estonian
-%lang(fr) %{_datadir}/%{name}/french
-%lang(hu) %{_datadir}/%{name}/hungarian
-%lang(it) %{_datadir}/%{name}/italian
-%lang(ja) %{_datadir}/%{name}/japanese
-%lang(ko) %{_datadir}/%{name}/korean
-%lang(nl) %{_datadir}/%{name}/dutch
-%lang(nb) %{_datadir}/%{name}/norwegian
-%lang(nn) %{_datadir}/%{name}/norwegian-ny
-%lang(pl) %{_datadir}/%{name}/polish
-%lang(pt) %{_datadir}/%{name}/portuguese
-%lang(ro) %{_datadir}/%{name}/romanian
-%lang(ru) %{_datadir}/%{name}/russian
-%lang(sr) %{_datadir}/%{name}/serbian
-%lang(sk) %{_datadir}/%{name}/slovak
-%lang(sv) %{_datadir}/%{name}/swedish
-%lang(uk) %{_datadir}/%{name}/ukrainian
+%{_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}/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)
 
 %files charsets
 %defattr(644,root,root,755)
-%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/charsets
+%{_datadir}/mysql/%{mysqlversion}/lang/charsets
 
 
-%files extras
+%if %{with default}
+%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
+%endif
+
+%files dirs
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/msql2mysql
-%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/msql2mysql.1*
-%{_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*
-
-%files -n mysqlhotcopy
+%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)
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mysqlhotcopy
-%{_mandir}/man1/mysqlhotcopy.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_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_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)
 
 %files extras-perl
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mysql_convert_table_format
-%attr(755,root,root) %{_bindir}/mysql_find_rows
-%attr(755,root,root) %{_bindir}/mysql_fix_extensions
-%attr(755,root,root) %{_bindir}/mysql_setpermission
-%attr(755,root,root) %{_bindir}/mysql_zap
-%attr(755,root,root) %{_bindir}/mysqlaccess
-%attr(755,root,root) %{_bindir}/mysqldumpslow
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysqlaccess.conf
-%{_mandir}/man1/mysql_convert_table_format.1*
-%{_mandir}/man1/mysql_find_rows.1*
-%{_mandir}/man1/mysql_fix_extensions.1*
-%{_mandir}/man1/mysql_setpermission.1*
-%{_mandir}/man1/mysql_zap.1*
-%{_mandir}/man1/mysqlaccess.1*
-%{_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)
 
 %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}/mysql
-%attr(755,root,root) %{_bindir}/mysqladmin
-%attr(755,root,root) %{_bindir}/mysqlbinlog
-%attr(755,root,root) %{_bindir}/mysqlbug
-%attr(755,root,root) %{_bindir}/mysql_config_editor
-%attr(755,root,root) %{_bindir}/mysqldump
-%attr(755,root,root) %{_bindir}/mysqlimport
-%attr(755,root,root) %{_bindir}/mysqlshow
-%{_mandir}/man1/mysql.1*
-%{_mandir}/man1/mysqladmin.1*
-%{_mandir}/man1/mysqlbinlog.1*
-%{_mandir}/man1/mysqlbug.1*
-%{_mandir}/man1/mysql_config_editor.1*
-%{_mandir}/man1/mysqldump.1*
-%{_mandir}/man1/mysqlimport.1*
-%{_mandir}/man1/mysqlshow.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/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/mysqlshow.1*
 
 %files libs
 %defattr(644,root,root,755)
 
 %files libs
 %defattr(644,root,root,755)
-%attr(751,root,root) %dir %{_sysconfdir}/mysql
-%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) %{_libdir}/libmysqlclient.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.18
-%attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18
+%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.24
 %if %{with ndb}
 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
 %endif
 
 %if %{with ndb}
 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
 %endif
 
-%files devel
+%if %{with default}
+%files -n mysql-devel
 %defattr(644,root,root,755)
 %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
 %attr(755,root,root) %{_libdir}/libmysqlclient.so
-%attr(755,root,root) %{_libdir}/libmysqlclient_r.so
 %if %{with ndb}
 %attr(755,root,root) %{_libdir}/libndbclient.so
 %endif
 %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
 %{_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
 %defattr(644,root,root,755)
 %{_libdir}/libmysqlclient.a
-%{_libdir}/libmysqlclient_r.a
 %if %{with ndb}
 %{_libdir}/libndbclient.a
 %endif
 %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
-%dir %{_datadir}/sql-bench
-%{_datadir}/sql-bench/[CDRl]*
-%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
-%{_mandir}/man1/mysqlslap.1*
-%{_mandir}/man1/mysqltest.1*
-%{_mandir}/man1/mysqltest_embedded.1*
+%endif
 
 %if %{with ndb}
 %files ndb
 %defattr(644,root,root,755)
 
 %if %{with ndb}
 %files ndb
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/ndbd
-%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
+%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/mysql-ndb
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
-%{_mandir}/man1/ndbd_redo_log_reader.1*
-%{_mandir}/man8/ndbd.8*
+%{_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)
 
 %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)
 
 %files ndb-mgm
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/ndb_mgmd
-%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
+%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/mysql-ndb-mgm
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
-%{_mandir}/man8/ndb_mgmd.8*
+%{_datadir}/mysql/%{mysqlversion}/man/man8/ndb_mgmd.8*
 
 %files ndb-cpc
 %defattr(644,root,root,755)
 
 %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(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
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
-%{_mandir}/man1/ndb_cpcd.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_cpcd.1*
 %endif
 %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}/*