]> TLD Linux GIT Repositories - packages/mysql.git/blobdiff - mysql.spec
- fix bcond comment (breaks build)
[packages/mysql.git] / mysql.spec
index 6a5f75dfeeecfc6142d851ea3e983164f6450d82..15f44b10ec0d8d81fa17723586db423b8b55c911 100644 (file)
 %bcond_with    tests           # run test suite
 %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.2
-%define mysqlpriority 82
+%define mysqlversion 8.4
+%define mysqlpriority 84
 
 Summary:       MySQL: a very fast and reliable SQL database engine
 Summary(de.UTF-8):     MySQL: ist eine SQL-Datenbank
@@ -25,12 +26,12 @@ Summary(ru.UTF-8):  MySQL - быстрый SQL-сервер
 Summary(uk.UTF-8):     MySQL - швидкий SQL-сервер
 Summary(zh_CN.UTF-8):  MySQL数据库服务器
 Name:          mysql-%{mysqlversion}
-Version:       8.2.0
+Version:       8.4.0
 Release:        1
 License:       GPL v2 + MySQL FOSS License Exception
 Group:         Applications/Databases
 Source0:       http://cdn.mysql.com/Downloads/MySQL-%{mysqlversion}/mysql-%{version}.tar.gz
-# Source0-md5: 9ddeecbdb046cd4a8a4340445206130d
+# Source0-md5: c3b1ccd1ba5b09f118ce6e27f0f0df98
 Source100:     http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz
 # Source100-md5:       5cac34f3d78a9d612ca4301abfcbd666
 %if %{without system_boost}
@@ -120,7 +121,6 @@ BuildRoot:  %{tmpdir}/mysql-%{version}-root-%(id -u -n)
 
 %define                _libexecdir     %{_sbindir}
 %define                _localstatedir  /var/lib/%{name}
-%define                _mysqlhome      /home/services/%{name}
 
 %define                mysqldatadir    share/mysql/%{mysqlversion}
 %define                mysqllibdir     %{_lib}/mysql/%{mysqlversion}
@@ -256,7 +256,7 @@ MySQL - wspólne pliki i katalogi.
 Summary:        Common directories for MysSQL %{mysqlversion}
 Summary(pl.UTF-8):      Wspólne pliki i katalogi dla MySQL %{mysqlversion}
 Group:          Applicataion/Databases
-Requires:      mysql-common >= %{version}-%{release}
+Requires:      mysql-common >= 8.0.0
 
 %description dirs
 Common directories for MysSQL %{mysqlversion}
@@ -343,7 +343,7 @@ Shared libraries for MySQL.
 %description libs -l pl.UTF-8
 Biblioteki współdzielone MySQL.
 
-%package devel
+%package -n mysql-devel
 Summary:       MySQL - development header files and other files
 Summary(pl.UTF-8):     MySQL - Pliki nagłówkowe i inne dla programistów
 Summary(pt.UTF-8):     MySQL - Medições de desempenho
@@ -354,56 +354,55 @@ Requires: %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 %{?with_ssl:Requires:  openssl-devel >= 1.1.1}
 Requires:      zlib-devel >= 1.2.12
-Provides:      mysql-devel = %{version}-%{release}
 Obsoletes:     MySQL-devel < 3.22.27
 Obsoletes:     libmysql10-devel < 4
 Obsoletes:     webscalesql-devel
 
-%description devel
+%description -n mysql-devel
 This package contains the development header files and other files
 necessary to develop MySQL client applications.
 
-%description devel -l fr.UTF-8
+%description -n mysql-devel -l fr.UTF-8
 Ce package contient les fichiers entetes et les librairies de
 developpement necessaires pour developper des applications clientes
 MySQL.
 
-%description devel -l pl.UTF-8
+%description -n mysql-devel -l pl.UTF-8
 Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji
 klienckich MySQL.
 
-%description devel -l pt_BR.UTF-8
+%description -n mysql-devel -l pt_BR.UTF-8
 Este pacote contém os arquivos de cabeçalho (header files) e
 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
 
-%description devel -l ru.UTF-8
+%description -n mysql-devel -l ru.UTF-8
 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
 разработки клиентских приложений.
 
-%description devel -l uk.UTF-8
+%description -n mysql-devel -l uk.UTF-8
 Цей пакет містить хедери та бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
-%package static
+%package -n mysql-static
 Summary:       MySQL static libraries
 Summary(pl.UTF-8):     Biblioteki statyczne MySQL
 Summary(ru.UTF-8):     MySQL - статические библиотеки
 Summary(uk.UTF-8):     MySQL - статичні бібліотеки
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
+Requires:      mysql-devel = %{version}-%{release}
 Obsoletes:     MySQL-static < 3.22.27
 
-%description static
+%description -n mysql-static
 MySQL static libraries.
 
-%description static -l pl.UTF-8
+%description -n mysql-static -l pl.UTF-8
 Biblioteki statyczne MySQL.
 
-%description static -l ru.UTF-8
+%description -n mysql-static -l ru.UTF-8
 Этот пакет содержит статические библиотеки разработчика, необходимые
 для разработки клиентских приложений.
 
-%description static -l uk.UTF-8
+%description -n mysql-static -l uk.UTF-8
 Цей пакет містить статичні бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
@@ -464,6 +463,22 @@ This package contains the standard MySQL NDB CPC Daemon.
 %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
 %setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
 
@@ -505,21 +520,23 @@ CPPFLAGS="%{rpmcppflags}" \
        %{?with_systemtap:-DENABLE_DTRACE=ON} \
        -DFEATURE_SET="community" \
        -DINSTALL_LAYOUT=RPM \
-        -DINSTALL_BINDIR=%{mysqllibdir}/bin \
-        -DINSTALL_SBINDIR=%{mysqllibdir}/sbin \
-        -DINSTALL_MANDIR=%{mysqldatadir}/man \
-        -DINSTALL_LIBDIR=%{_lib} \
-        -DINSTALL_PRIV_LIBDIR=%{_libdir}/mysql/%{mysqlversion}/private \
+       -DINSTALL_BINDIR=%{mysqllibdir}/bin \
+       -DINSTALL_SBINDIR=%{mysqllibdir}/sbin \
+       -DINSTALL_MANDIR=%{mysqldatadir}/man \
+       -DINSTALL_LIBDIR=%{_lib} \
+       -DINSTALL_PRIV_LIBDIR=%{_libdir}/mysql/%{mysqlversion}/private \
        -DINSTALL_MYSQLTESTDIR_RPM="" \
        -DINSTALL_MYSQLDATADIR=/var/lib/mysql/%{mysqlversion} \
        -DINSTALL_PLUGINDIR=%{_lib}/mysql/%{mysqlversion}/plugin \
-        -DINSTALL_SECURE_FILE_PRIVDIR=/var/lib/mysql-files/%{mysqlversion} \
+       -DINSTALL_SECURE_FILE_PRIVDIR=/var/lib/mysql-files/%{mysqlversion} \
        -DINSTALL_SQLBENCHDIR=%{_datadir} \
        -DINSTALL_SUPPORTFILESDIR=share/mysql/%{mysqlversion}/support \
        -DINSTALL_MYSQLSHAREDIR=share/mysql/%{mysqlversion}/lang \
        -DINSTALL_MYSQLTESTDIR=share/mysql/%{mysqlversion}/test \
-        -DROUTER_INSTALL_LIBDIR=%{_libdir}/mysql/%{mysqlversion}/router/private \
-        -DROUTER_INSTALL_PLUGINDIR=%{_libdir}/mysql/%{mysqlversion}/router \
+       -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 \
@@ -533,7 +550,7 @@ CPPFLAGS="%{rpmcppflags}" \
        -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 \
@@ -547,9 +564,8 @@ CPPFLAGS="%{rpmcppflags}" \
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql/%{mysqlversion},skel} \
-          $RPM_BUILD_ROOT/var/{log/{archive,}/mysql/%{mysqlversion},lib/{mysql,mysql-files}/%{mysqlversion}} \
-          $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 \
@@ -562,9 +578,12 @@ sed -e 's,@mysqlversion@,%{mysqlversion},g;' %{SOURCE3} >$RPM_BUILD_ROOT/etc/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}
        cp mysqld.conf mysqld.tmp
@@ -606,7 +625,6 @@ sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlvers
 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
 
 # do not clobber users $PATH
-%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/mysql_upgrade
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/innochecksum
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamchk
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamlog
@@ -625,12 +643,10 @@ sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlvers
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlman.1*
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlslap.1*
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/comp_err.1*
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/lz4_decompress.1*
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/zlib_decompress.1*
 
 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/test
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/{comp_err,mysql_client_test,mysql_keyring_encryption_test,mysqlslap,mysqltest,mysqltest_safe_process,mysqlxtest,zlib_decompress}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/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
@@ -648,10 +664,6 @@ sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlvers
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%pre
-%groupadd -g 89 mysql
-%useradd -u 89 -d %{_mysqlhome} -s /bin/false -g mysql -c "%{name} Server" mysql
-
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add %{name}
@@ -670,18 +682,6 @@ update-alternatives \
 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 %{_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* || :
 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* || :
@@ -697,9 +697,6 @@ update-alternatives \
 update-alternatives \
        --install %{_sbindir}/myisampack myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack %{mysqlpriority} \
        --slave %{_mandir}/man1/myisampack.1 myisampack.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1* || :
-update-alternatives \
-       --install %{_sbindir}/mysql_upgrade mysql_upgrade %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade %{mysqlpriority} \
-       --slave %{_mandir}/man1/mysql_upgrade.1 mysql_upgrade.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_upgrade.1* || :
 update-alternatives \
        --install %{_sbindir}/mysqlcheck mysqlcheck %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck %{mysqlpriority} \
        --slave %{_mandir}/man1/mysqlcheck.1 mysqlcheck.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1* || :
@@ -712,18 +709,21 @@ update-alternatives \
 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 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 || :
        update-alternatives --remove innochecksum %{_libdir}/mysql/%{mysqlversion}/sbin/innochecksum || :
        update-alternatives --remove my_print_defaults %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults || :
        update-alternatives --remove myisamchk %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk || :
        update-alternatives --remove myisamlog %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog || :
        update-alternatives --remove myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack || :
-       update-alternatives --remove mysql_upgrade %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade || :
        update-alternatives --remove mysqlcheck %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck || :
        update-alternatives --remove mysqld %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld || :
+fi
+
+%pre -n mysql-common
+%groupadd -g 89 mysql
+%useradd -u 89 -d /var/lib/mysql -s /bin/false -g mysql -c "MySQL Server" mysql
+
+%postun -n mysql-common
+if [ "$1" = "0" ]; then
        %userremove mysql
        %groupremove mysql
 fi
@@ -802,6 +802,16 @@ if [ $1 -eq 0 ]; then
        update-alternatives --remove mysqldumpslow %{_libdir}/mysql/%{mysqlversion}/bin/mysqldumpslow || :
 fi
 
+%posttrans -n mysql-devel
+update-alternatives \
+       --install %{_bindir}/mysql_config mysql_config %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysql_config.1 mysql_config.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config.1* || :
+
+%postun -n mysql-devel
+if [ $1 -eq 0 ]; then
+       update-alternatives --remove mysql_config %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config || :
+fi
+
 %post ndb
 /sbin/chkconfig --add %{name}-ndb
 %service %{name}-ndb restart "%{name} NDB engine"
@@ -939,27 +949,54 @@ fi
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
+%pre router
+%groupadd -g 348 mysqlrouter
+%useradd -u 348 -d /var/lib/mysqlrouter -s /bin/false -g mysqlrouter -c "MySQL Router" mysqlrouter
+
+%post  router
+/sbin/ldconfig
+
+%posttrans router
+update-alternatives \
+       --install %{_bindir}/mysqlrouter mysqlrouter %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter.1 mysqlrouter.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlrouter_keyring mysqlrouter_keyring %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_keyring %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter_keyring.1 mysqlrouter_keyring.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_keyring.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlrouter_passwd mysqlrouter_passwd %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_passwd %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter_passwd.1 mysqlrouter_passwd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_passwd.1* || :
+update-alternatives \
+       --install %{_bindir}/mysqlrouter_plugin_info mysqlrouter_plugin_info %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_plugin_info %{mysqlpriority} \
+       --slave %{_mandir}/man1/mysqlrouter_plugin_info.1 mysqlrouter_plugin_info.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_plugin_info.1* || :
+
+%postun        router
+/sbin/ldconfig
+if [ "$1" = "0" ]; then
+       update-alternatives --remove mysqlrouter %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter || :
+       update-alternatives --remove mysqlrouter_keyring %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_keyring || :
+       update-alternatives --remove mysqlrouter_passwd %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_passwd || :
+       update-alternatives --remove mysqlrouter_plugin_info %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_plugin_info || :
+       %userremove mysqlrouter
+       %groupremove mysqlrouter
+fi
+
 %files
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-router
 %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}/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}/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}/sbin/innochecksum
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld
+%dir %{_libdir}/mysql/%{mysqlversion}/plugin
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/adt_null.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth_socket.so
@@ -980,7 +1017,6 @@ fi
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ddl_rewriter.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/group_replication.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_mock.so
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/keyring_file.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/keyring_udf.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/libpluginmecab.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/locking_service.so
@@ -1001,36 +1037,15 @@ fi
 %if %{with sphinx}
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_sphinx.so
 %endif
+%dir %{_libdir}/mysql/%{mysqlversion}/private
 %{_libdir}/mysql/%{mysqlversion}/private/icudt*l
-%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/ibd2sdi.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/innochecksum.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/my_print_defaults.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisamchk.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisamlog.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_upgrade.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_passwd.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_plugin_info.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man8/mysqld.8*
 
 %if %{?debug:1}0
@@ -1039,12 +1054,14 @@ fi
 %{_datadir}/mysql/%{mysqlversion}/man/man1/*resolve_stack_dump.1*
 %endif
 
-%attr(700,mysql,mysql) %{_mysqlhome}
+%attr(750,mysql,mysql) %dir /var/log/mysql/%{mysqlversion}
+%attr(750,mysql,mysql) %dir /var/log/archive/mysql/%{mysqlversion}
 %attr(640,mysql,mysql) %ghost /var/log/mysql/%{mysqlversion}/*
 
 # This is template for configuration file which is created after 'service mysql init'
 %{_datadir}/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
@@ -1081,42 +1098,42 @@ fi
 %defattr(644,root,root,755)
 %{_datadir}/mysql/%{mysqlversion}/lang/charsets
 
+%if %{with default}
 %files -n mysql-common
+%defattr(644,root,root,755)
 %attr(751,root,root) %dir %{_sysconfdir}/mysql
-%attr(751,root,root) %dir %{_libdir}/mysql
-%attr(751,root,root) %dir %{_datadir}/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)
 %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}
-%attr(750,mysql,mysql) %dir /var/log/mysql/%{mysqlversion}
-%attr(750,mysql,mysql) %dir /var/log/archive/mysql/%{mysqlversion}
 %dir %{_libdir}/mysql/%{mysqlversion}
 %dir %{_libdir}/mysql/%{mysqlversion}/bin
 %dir %{_libdir}/mysql/%{mysqlversion}/sbin
-%dir %{_libdir}/mysql/%{mysqlversion}/plugin
-%dir %{_libdir}/mysql/%{mysqlversion}/private
-%dir %{_libdir}/mysql/%{mysqlversion}/router
-%dir %{_libdir}/mysql/%{mysqlversion}/router/private
 %dir %{_datadir}/mysql/%{mysqlversion}
 %dir %{_datadir}/mysql/%{mysqlversion}/man
 %dir %{_datadir}/mysql/%{mysqlversion}/man/man1
 %dir %{_datadir}/mysql/%{mysqlversion}/man/man8
-%dir %{_datadir}/mysql/%{mysqlversion}/lang
 
 %files extras
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_ssl_rsa_setup
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/perror
 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisam_ftdump.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_ssl_rsa_setup.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_secure_installation.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_tzinfo_to_sql.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/perror.1*
@@ -1135,7 +1152,6 @@ fi
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlpump
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqladmin.1*
@@ -1143,7 +1159,6 @@ fi
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config_editor.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldump.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlimport.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlpump.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlshow.1*
 
 %files libs
@@ -1151,13 +1166,14 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/%{mysqlversion}/mysql-client.conf
 %{_sysconfdir}/mysql/%{mysqlversion}/my.cnf
 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.22
+%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
 
-%files devel
+%if %{with default}
+%files -n mysql-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config
 %attr(755,root,root) %{_libdir}/libmysqlclient.so
@@ -1170,12 +1186,13 @@ fi
 %{_aclocaldir}/mysql.m4
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config.1*
 
-%files static
+%files -n mysql-static
 %defattr(644,root,root,755)
 %{_libdir}/libmysqlclient.a
 %if %{with ndb}
 %{_libdir}/libndbclient.a
 %endif
+%endif
 
 %if %{with ndb}
 %files ndb
@@ -1236,3 +1253,39 @@ fi
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_cpcd.1*
 %endif
+
+%files router
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-router
+%{_sysconfdir}/ld.so.conf.d/%{name}-router.conf
+%dir %{_libdir}/mysql/%{mysqlversion}/router
+%dir %{_libdir}/mysql/%{mysqlversion}/router/private
+%attr(750,root,root) %dir /var/lib/mysqlrouter/%{mysqlversion}
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_keyring
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_passwd
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter_plugin_info
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/connection_pool.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/destination_status.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/http_auth_backend.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/http_auth_realm.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/http_server.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/io.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/keepalive.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/metadata_cache.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_api.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_connection_pool.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_metadata_cache.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_router.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/rest_routing.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/router_openssl.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/router_protobuf.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/routing.so
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/private/libmysqlharness*.so*
+%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/private/libmysqlrouter*.so*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_passwd.1*
+%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlrouter_plugin_info.1*
+%attr(750,mysqlrouter,mysqlrouter) %dir /var/log/mysqlrouter/%{mysqlversion}
+%attr(750,mysqlrouter,mysqlrouter) %dir /var/log/archive/mysqlrouter/%{mysqlversion}
+%attr(640,mysql,mysql) %ghost /var/log/mysqlrouter/%{mysqlversion}/*