]> TLD Linux GIT Repositories - packages/mysql.git/blobdiff - mysql.spec
- fix too restrictive permissions on shared directories
[packages/mysql.git] / mysql.spec
index a743ab166faffde663d6e71963d79550d770a014..5fdde4876368a65feabed97c461c67f006bec027 100644 (file)
@@ -26,7 +26,7 @@ Summary(uk.UTF-8):    MySQL - швидкий SQL-сервер
 Summary(zh_CN.UTF-8):  MySQL数据库服务器
 Name:          mysql-%{mysqlversion}
 Version:       8.2.0
 Summary(zh_CN.UTF-8):  MySQL数据库服务器
 Name:          mysql-%{mysqlversion}
 Version:       8.2.0
-Release:        0.1
+Release:        1
 License:       GPL v2 + MySQL FOSS License Exception
 Group:         Applications/Databases
 Source0:       http://cdn.mysql.com/Downloads/MySQL-%{mysqlversion}/mysql-%{version}.tar.gz
 License:       GPL v2 + MySQL FOSS License Exception
 Group:         Applications/Databases
 Source0:       http://cdn.mysql.com/Downloads/MySQL-%{mysqlversion}/mysql-%{version}.tar.gz
@@ -50,6 +50,7 @@ Source11:     mysql-ndb-cpc.init
 Source12:      mysql-ndb-cpc.sysconfig
 Source13:      mysql-client.conf
 Source14:      my.cnf
 Source12:      mysql-ndb-cpc.sysconfig
 Source13:      mysql-client.conf
 Source14:      my.cnf
+Patch0:                no_relative_paths.patch
 Patch1:                mysql-system-xxhash.patch
 
 Patch17:       mysql-5.7-sphinx.patch
 Patch1:                mysql-system-xxhash.patch
 
 Patch17:       mysql-5.7-sphinx.patch
@@ -99,6 +100,7 @@ Requires(pre):       /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
 Requires(pre): /usr/sbin/useradd
 Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      /usr/bin/setsid
 Requires:      rc-scripts >= 0.2.0
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      /usr/bin/setsid
 Requires:      rc-scripts >= 0.2.0
@@ -118,7 +120,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}
@@ -228,6 +229,7 @@ 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
 BuildArch:     noarch
 
 %description charsets
@@ -238,12 +240,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 mysql-common
+Summary:        Common MySQL files and directories
+Summary(pl.UTF-8):      MySQL - wspólne pliki i katalogi
+Group:          Applicataion/Databases
+
+%description -n mysql-common
+Common MySQL files and directories.
+
+%description -n mysql-common -l pl.UTF-8
+MySQL - wspólne pliki i katalogi.
+
+%package dirs
+Summary:        Common directories for MysSQL %{mysqlversion}
+Summary(pl.UTF-8):      Wspólne pliki i katalogi dla MySQL %{mysqlversion}
+Group:          Applicataion/Databases
+Requires:      mysql-common >= %{version}-%{release}
+
+%description dirs
+Common directories for MysSQL %{mysqlversion}
+
+%description dirs -l pl.UTF-8
+Wspólne pliki i katalogi dla MySQL %{mysqlversion}
+
 %package extras
 Summary:       MySQL additional utilities
 Summary(pl.UTF-8):     Dodatkowe narzędzia do MySQL
 Group:         Applications/Databases
 Requires:      alternatives
 Requires:      %{name}-client = %{version}-%{release}
 %package extras
 Summary:       MySQL additional utilities
 Summary(pl.UTF-8):     Dodatkowe narzędzia do MySQL
 Group:         Applications/Databases
 Requires:      alternatives
 Requires:      %{name}-client = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description extras
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description extras
@@ -277,6 +303,7 @@ Summary(uk.UTF-8):  MySQL клієнт
 Group:         Applications/Databases
 Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
 Group:         Applications/Databases
 Requires:      alternatives
 Requires:      %{name}-charsets = %{version}-%{release}
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      readline >= 6.2
 Obsoletes:     MySQL-client < 3.22.27
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      readline >= 6.2
 Obsoletes:     MySQL-client < 3.22.27
@@ -303,7 +330,9 @@ 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
+Requires:      %{name}-dirs = %{version}-%{release}
 Requires:      zlib >= 1.2.12
 Requires:      zlib >= 1.2.12
+Provides:      mysql-libs = %{version}-%{release}
 Obsoletes:     libmysql10 < 4
 Obsoletes:     mysql-doc < 4.1.12
 
 Obsoletes:     libmysql10 < 4
 Obsoletes:     mysql-doc < 4.1.12
 
@@ -313,85 +342,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}
 %{?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
 Цей пакет містить статичні бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
 Цей пакет містить статичні бібліотеки програміста, необхідні для
 розробки програм-клієнтів.
 
-%package doc
-Summary:       MySQL manual
-Summary(pl.UTF-8):     Podręcznik użytkownika MySQL
-Group:         Applications/Databases
-
-%description doc
-This package contains manual in HTML format.
-
-%description doc -l pl.UTF-8
-Podręcznik MySQL-a w formacie HTML.
-
 %package ndb
 Summary:       MySQL - NDB Storage Engine Daemon
 Summary(pl.UTF-8):     MySQL - demon silnika przechowywania danych NDB
 Group:         Applications/Databases
 Requires:      alternatives
 %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
@@ -406,6 +425,7 @@ Summary:    MySQL - NDB Clients
 Summary(pl.UTF-8):     MySQL - programy klienckie NDB
 Group:         Applications/Databases
 Requires:      alternatives
 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
@@ -419,6 +439,7 @@ Summary:    MySQL - NDB Management Daemon
 Summary(pl.UTF-8):     MySQL - demon zarządzający NDB
 Group:         Applications/Databases
 Requires:      alternatives
 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
@@ -432,6 +453,7 @@ Summary:    MySQL - NDB CPC Daemon
 Summary(pl.UTF-8):     MySQL - demon NDB CPC
 Group:         Applications/Databases
 Requires:      alternatives
 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
@@ -443,6 +465,7 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 %prep
 %setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
 
 %prep
 %setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version}
 
+%patch0 -p1
 %patch1 -p1
 
 %if %{with sphinx}
 %patch1 -p1
 
 %if %{with sphinx}
@@ -475,7 +498,7 @@ CPPFLAGS="%{rpmcppflags}" \
        -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
        -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" \
        -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
        -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="PLD/Linux Distribution MySQL RPM" \
+       -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
        -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
        %{?with_systemtap:-DENABLE_DTRACE=ON} \
        -DFEATURE_SET="community" \
        -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
        %{?with_systemtap:-DENABLE_DTRACE=ON} \
        -DFEATURE_SET="community" \
@@ -486,15 +509,16 @@ CPPFLAGS="%{rpmcppflags}" \
         -DINSTALL_LIBDIR=%{_lib} \
         -DINSTALL_PRIV_LIBDIR=%{_libdir}/mysql/%{mysqlversion}/private \
        -DINSTALL_MYSQLTESTDIR_RPM="" \
         -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_PLUGINDIR=%{_lib}/mysql/%{mysqlversion}/plugin \
-        -DINSTALL_SECURE_FILE_PRIVDIR=/var/lib/%{name}-files \
+        -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 \
        -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 \
-       -DMYSQL_UNIX_ADDR=/var/lib/%{name}/mysql.sock \
+       -DMYSQL_UNIX_ADDR=/var/lib/mysql/%{mysqlversion}/mysql.sock \
        %{?debug:-DWITH_DEBUG=ON} \
        -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
        %{!?with_ldap:-DWITH_AUTHENTICATION_LDAP=OFF} \
        %{?debug:-DWITH_DEBUG=ON} \
        -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
        %{!?with_ldap:-DWITH_AUTHENTICATION_LDAP=OFF} \
@@ -521,22 +545,20 @@ 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,%{name},skel} \
-          $RPM_BUILD_ROOT/var/{log/{archive,}/%{name},lib/{%{name},%{name}-files}} \
-          $RPM_BUILD_ROOT%{_mysqlhome} \
+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%{_libdir}
 
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
           $RPM_BUILD_ROOT%{_libdir}
 
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-sed -e 's#{MYSQL_MAJOR}#%{mysqlversion}#g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
-sed -e 's#{MYSQL_MAJOR}#%{mysqlversion}#g' %{SOURCE3} > $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+sed -e 's,@mysqlbindir@,%{_libdir}/mysql/%{mysqlversion}/bin,g; s,@mysqlsbindir@,%{_libdir}/mysql/%{mysqlversion}/sbin,g; s,@mysqlversion@,%{mysqlversion},g;' %{SOURCE1} >$RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-%{mysqlversion}
+sed -e 's,@mysqlversion@,%{mysqlversion},g;' %{SOURCE2} >$RPM_BUILD_ROOT/etc/sysconfig/mysql-%{mysqlversion}
+sed -e 's,@mysqlversion@,%{mysqlversion},g;' %{SOURCE3} >$RPM_BUILD_ROOT/etc/logrotate.d/mysql-%{mysqlversion}
 # This is template for configuration file which is created after 'service mysql init'
 # This is template for configuration file which is created after 'service mysql init'
-sed -e 's#{MYSQL_MAJOR}#%{mysqlversion}#g' %{SOURCE4} > mysqld.conf
-sed -e 's#{MYSQL_MAJOR}#%{mysqlversion}#g' %{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
 
 mv $RPM_BUILD_ROOT/etc/logrotate.d/{mysqlrouter,%{name}-router}
 
 
 mv $RPM_BUILD_ROOT/etc/logrotate.d/{mysqlrouter,%{name}-router}
 
@@ -551,8 +573,8 @@ 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}/mysql/%{mysqlversion}/mysqld.conf
 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
 
 cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/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 %{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
 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
 
 # NDB
@@ -623,10 +645,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}
@@ -699,13 +717,21 @@ 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
 
 %posttrans client
 update-alternatives \
        %userremove mysql
        %groupremove mysql
 fi
 
 %posttrans client
 update-alternatives \
-       --install %{_bindir}/mysql mysql %{_libdir}/mysql/%{mysqlversion}/bin/mysql %{mysqlprioity} \
+       --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/mysql.1 mysql.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.1* || :
 update-alternatives \
        --install %{_bindir}/mysqladmin mysqladmin %{_libdir}/mysql/%{mysqlversion}/bin/mysqladmin %{mysqlpriority} \
@@ -777,6 +803,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"
@@ -920,7 +956,7 @@ fi
 %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,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}/%{name}/clusters.conf
+%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/ibd2sdi
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_migrate_keyring
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlrouter
@@ -935,9 +971,6 @@ 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}
-%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
@@ -979,9 +1012,7 @@ 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
-%dir %{_libdir}/mysql/%{mysqlversion}/router
 %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/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
@@ -998,7 +1029,6 @@ fi
 %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/router_openssl.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/router_protobuf.so
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/router/routing.so
-%dir %{_libdir}/mysql/%{mysqlversion}/router/private
 %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*
 %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*
@@ -1016,17 +1046,11 @@ fi
 
 %if %{?debug:1}0
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/*resolve_stack_dump
 
 %if %{?debug:1}0
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/*resolve_stack_dump
-%{_datadir}/%{name}/mysqld.sym
+%{_datadir}/mysql/%{mysqlversion}/mysqld.sym
 %{_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}
-# root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
-%attr(751,root,root) /var/lib/%{name}
-%attr(750,mysql,mysql) %dir /var/lib/%{name}-files
-%attr(750,mysql,mysql) %dir /var/log/%{name}
-%attr(750,mysql,mysql) %dir /var/log/archive/%{name}
-%attr(640,mysql,mysql) %ghost /var/log/%{name}/*
+%attr(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
 
 # This is template for configuration file which is created after 'service mysql init'
 %{_datadir}/mysql/%{mysqlversion}/mysqld.conf
@@ -1065,9 +1089,39 @@ fi
 
 %files charsets
 %defattr(644,root,root,755)
 
 %files charsets
 %defattr(644,root,root,755)
-%dir %{_datadir}/mysql/%{mysqlversion}/lang
 %{_datadir}/mysql/%{mysqlversion}/lang/charsets
 
 %{_datadir}/mysql/%{mysqlversion}/lang/charsets
 
+%files -n mysql-common
+%defattr(644,root,root,755)
+%attr(751,root,root) %dir %{_sysconfdir}/mysql
+%dir %{_libdir}/mysql
+%dir %{_datadir}/mysql
+%attr(751,root,root) %dir /var/lib/mysql
+%attr(751,root,root) %dir /var/lib/mysql-files
+%attr(751,root,root) %dir /var/log/mysql
+%attr(751,root,root) %dir /var/log/archive/mysql
+
+%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
 %files extras
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump
@@ -1108,9 +1162,8 @@ fi
 
 %files libs
 %defattr(644,root,root,755)
 
 %files libs
 %defattr(644,root,root,755)
-%attr(751,root,root) %dir %{_sysconfdir}/%{name}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
-%{_sysconfdir}/%{name}/my.cnf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/%{mysqlversion}/mysql-client.conf
+%{_sysconfdir}/mysql/%{mysqlversion}/my.cnf
 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.22
 %if %{with ndb}
 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.22
 %if %{with ndb}
@@ -1118,7 +1171,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
@@ -1131,7 +1184,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}