]> TLD Linux GIT Repositories - packages/mysql.git/blobdiff - mysql.spec
- keep common dirs for mysqlrouter in mysql-common, fix /var/{lib,log} dirs
[packages/mysql.git] / mysql.spec
index 6a5f75dfeeecfc6142d851ea3e983164f6450d82..c71fd823203e9a95b020ae40548107d11a862e40 100644 (file)
@@ -52,6 +52,7 @@ Source13:     mysql-client.conf
 Source14:      my.cnf
 Patch0:                no_relative_paths.patch
 Patch1:                mysql-system-xxhash.patch
 Source14:      my.cnf
 Patch0:                no_relative_paths.patch
 Patch1:                mysql-system-xxhash.patch
+Patch2:                zlib.patch
 
 Patch17:       mysql-5.7-sphinx.patch
 Patch18:       mysql-sphinx.patch
 
 Patch17:       mysql-5.7-sphinx.patch
 Patch18:       mysql-sphinx.patch
@@ -120,7 +121,6 @@ BuildRoot:  %{tmpdir}/mysql-%{version}-root-%(id -u -n)
 
 %define                _libexecdir     %{_sbindir}
 %define                _localstatedir  /var/lib/%{name}
 
 %define                _libexecdir     %{_sbindir}
 %define                _localstatedir  /var/lib/%{name}
-%define                _mysqlhome      /home/services/%{name}
 
 %define                mysqldatadir    share/mysql/%{mysqlversion}
 %define                mysqllibdir     %{_lib}/mysql/%{mysqlversion}
 
 %define                mysqldatadir    share/mysql/%{mysqlversion}
 %define                mysqllibdir     %{_lib}/mysql/%{mysqlversion}
@@ -343,7 +343,7 @@ 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:       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
 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
 
 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}
+Requires:      mysql-devel = %{version}-%{release}
 Obsoletes:     MySQL-static < 3.22.27
 
 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
 Цей пакет містить статичні бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
 Цей пакет містить статичні бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
@@ -464,11 +463,28 @@ 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
 %setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
 
 %patch0 -p1
 %patch1 -p1
 %prep
 %setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
 
 %patch0 -p1
 %patch1 -p1
+%patch2 -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
@@ -505,21 +521,23 @@ CPPFLAGS="%{rpmcppflags}" \
        %{?with_systemtap:-DENABLE_DTRACE=ON} \
        -DFEATURE_SET="community" \
        -DINSTALL_LAYOUT=RPM \
        %{?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_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 \
        -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 \
        -DMYSQL_UNIX_ADDR=/var/lib/mysql/%{mysqlversion}/mysql.sock \
        %{?debug:-DWITH_DEBUG=ON} \
        -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
@@ -533,7 +551,7 @@ CPPFLAGS="%{rpmcppflags}" \
        -DWITH_LZ4=system \
        -DWITH_PROTOBUF=system \
        -DWITH_SASL=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_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
        %{!?with_system_boost:-DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)"} \
        -DWITH_ZLIB=system \
@@ -547,9 +565,8 @@ CPPFLAGS="%{rpmcppflags}" \
 
 %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/%{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 \
           $RPM_BUILD_ROOT%{_libdir}
 
 %{__make} -C build install \
@@ -562,9 +579,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
 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}
 
 
 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
 # remove innodb directives from mysqld.conf if mysqld is configured without
 %if %{without innodb}
        cp mysqld.conf mysqld.tmp
@@ -648,10 +668,6 @@ sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlvers
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %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}
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add %{name}
@@ -670,18 +686,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}/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* || :
 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* || :
@@ -712,10 +716,6 @@ 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 || :
 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 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 || :
@@ -724,6 +724,14 @@ if [ "$1" = "0" ]; then
        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 || :
        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
        %userremove mysql
        %groupremove mysql
 fi
@@ -802,6 +810,16 @@ if [ $1 -eq 0 ]; then
        update-alternatives --remove mysqldumpslow %{_libdir}/mysql/%{mysqlversion}/bin/mysqldumpslow || :
 fi
 
        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"
 %post ndb
 /sbin/chkconfig --add %{name}-ndb
 %service %{name}-ndb restart "%{name} NDB engine"
@@ -939,19 +957,46 @@ fi
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
 %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}
 %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(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/innochecksum
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk
@@ -960,6 +1005,7 @@ fi
 %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
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld
+%dir %{_libdir}/mysql/%{mysqlversion}/plugin
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/adt_null.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth_socket.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/adt_null.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth_socket.so
@@ -1001,25 +1047,8 @@ fi
 %if %{with sphinx}
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_sphinx.so
 %endif
 %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
 %{_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/ibd2sdi.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/innochecksum.1*
 %{_datadir}/mysql/%{mysqlversion}/man/man1/my_print_defaults.1*
@@ -1028,9 +1057,6 @@ fi
 %{_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/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
 %{_datadir}/mysql/%{mysqlversion}/man/man8/mysqld.8*
 
 %if %{?debug:1}0
@@ -1039,12 +1065,14 @@ fi
 %{_datadir}/mysql/%{mysqlversion}/man/man1/*resolve_stack_dump.1*
 %endif
 
 %{_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
 
 %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
 %{_datadir}/mysql/%{mysqlversion}/lang/english
 %{_datadir}/mysql/%{mysqlversion}/lang/dictionary.txt
 %{_datadir}/mysql/%{mysqlversion}/lang/messages_to_clients.txt
@@ -1082,31 +1110,31 @@ fi
 %{_datadir}/mysql/%{mysqlversion}/lang/charsets
 
 %files -n mysql-common
 %{_datadir}/mysql/%{mysqlversion}/lang/charsets
 
 %files -n mysql-common
+%defattr(644,root,root,755)
 %attr(751,root,root) %dir %{_sysconfdir}/mysql
 %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/mysql
 %attr(751,root,root) %dir /var/lib/mysql-files
+%attr(751,root,root) %dir /var/lib/mysqlrouter
+%attr(751,root,root) %dir /var/log/mysql
+%attr(751,root,root) %dir /var/log/archive/mysql
+%attr(751,root,root) %dir /var/log/mysqlrouter
+%attr(751,root,root) %dir /var/log/archive/mysqlrouter
 
 %files dirs
 
 %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(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}
 %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}
 %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)
 
 %files extras
 %defattr(644,root,root,755)
@@ -1157,7 +1185,7 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
 %endif
 
 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
 %endif
 
-%files devel
+%files -n mysql-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config
 %attr(755,root,root) %{_libdir}/libmysqlclient.so
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config
 %attr(755,root,root) %{_libdir}/libmysqlclient.so
@@ -1170,7 +1198,7 @@ fi
 %{_aclocaldir}/mysql.m4
 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config.1*
 
 %{_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}
 %defattr(644,root,root,755)
 %{_libdir}/libmysqlclient.a
 %if %{with ndb}
@@ -1236,3 +1264,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
 %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}/*