X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=mysql.spec;h=c71fd823203e9a95b020ae40548107d11a862e40;hb=45b681a59f6e61e0324f532f88f1a9addcd14c45;hp=a743ab166faffde663d6e71963d79550d770a014;hpb=dd8112c2b70a7d6107e3276a3339d6ad870d349b;p=packages%2Fmysql.git diff --git a/mysql.spec b/mysql.spec index a743ab1..c71fd82 100644 --- a/mysql.spec +++ b/mysql.spec @@ -26,7 +26,7 @@ Summary(uk.UTF-8): MySQL - швидкий SQL-сервер 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 @@ -50,7 +50,9 @@ Source11: mysql-ndb-cpc.init Source12: mysql-ndb-cpc.sysconfig Source13: mysql-client.conf 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 @@ -99,6 +101,7 @@ Requires(pre): /usr/sbin/groupadd 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 @@ -118,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} @@ -228,6 +230,7 @@ MySQL - це SQL (Structured Query Language) сервер бази даних. M 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 @@ -238,12 +241,36 @@ and server. Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i klienta. +%package -n mysql-common +Summary: Common MySQL files and directories +Summary(pl.UTF-8): MySQL - wspólne pliki i katalogi +Group: Applicataion/Databases + +%description -n mysql-common +Common MySQL files and directories. + +%description -n mysql-common -l pl.UTF-8 +MySQL - wspólne pliki i katalogi. + +%package dirs +Summary: Common directories for MysSQL %{mysqlversion} +Summary(pl.UTF-8): Wspólne pliki i katalogi dla MySQL %{mysqlversion} +Group: Applicataion/Databases +Requires: mysql-common >= %{version}-%{release} + +%description dirs +Common directories for MysSQL %{mysqlversion} + +%description dirs -l pl.UTF-8 +Wspólne pliki i katalogi dla MySQL %{mysqlversion} + %package extras Summary: MySQL additional utilities Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL Group: Applications/Databases Requires: alternatives Requires: %{name}-client = %{version}-%{release} +Requires: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description extras @@ -277,6 +304,7 @@ Summary(uk.UTF-8): MySQL клієнт Group: Applications/Databases Requires: alternatives Requires: %{name}-charsets = %{version}-%{release} +Requires: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: readline >= 6.2 Obsoletes: MySQL-client < 3.22.27 @@ -303,7 +331,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 +Requires: %{name}-dirs = %{version}-%{release} Requires: zlib >= 1.2.12 +Provides: mysql-libs = %{version}-%{release} Obsoletes: libmysql10 < 4 Obsoletes: mysql-doc < 4.1.12 @@ -313,85 +343,75 @@ Shared libraries for MySQL. %description libs -l pl.UTF-8 Biblioteki współdzielone MySQL. -%package devel +%package -n mysql-devel Summary: MySQL - development header files and other files Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i inne dla programistów Summary(pt.UTF-8): MySQL - Medições de desempenho Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста Group: Development/Libraries +Requires: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %{?with_ssl:Requires: openssl-devel >= 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 Цей пакет містить статичні бібліотеки програміста, необхідні для розробки програм-клієнтів. -%package doc -Summary: MySQL manual -Summary(pl.UTF-8): Podręcznik użytkownika MySQL -Group: Applications/Databases - -%description doc -This package contains manual in HTML format. - -%description doc -l pl.UTF-8 -Podręcznik MySQL-a w formacie HTML. - %package ndb Summary: MySQL - NDB Storage Engine Daemon Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB Group: Applications/Databases Requires: alternatives +Requires: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description ndb @@ -406,6 +426,7 @@ Summary: MySQL - NDB Clients Summary(pl.UTF-8): MySQL - programy klienckie NDB Group: Applications/Databases Requires: alternatives +Requires: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description ndb-client @@ -419,6 +440,7 @@ Summary: MySQL - NDB Management Daemon Summary(pl.UTF-8): MySQL - demon zarządzający NDB Group: Applications/Databases Requires: alternatives +Requires: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description ndb-mgm @@ -432,6 +454,7 @@ Summary: MySQL - NDB CPC Daemon Summary(pl.UTF-8): MySQL - demon NDB CPC Group: Applications/Databases Requires: alternatives +Requires: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description ndb-cpc @@ -440,10 +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. +%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 +%patch2 -p1 %if %{with sphinx} # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51 @@ -475,26 +516,29 @@ 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" \ - -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" \ -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/%{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 \ - -DMYSQL_UNIX_ADDR=/var/lib/%{name}/mysql.sock \ + -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 \ %{!?with_ldap:-DWITH_AUTHENTICATION_LDAP=OFF} \ @@ -507,7 +551,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 \ @@ -521,25 +565,26 @@ CPPFLAGS="%{rpmcppflags}" \ %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/{ld.so.conf.d,logrotate.d,rc.d/init.d,sysconfig,mysql/%{mysqlversion},skel} \ + $RPM_BUILD_ROOT/var/{log/{archive,}/{mysql,mysqlrouter}/%{mysqlversion},lib/{mysql,mysql-files,mysqlrouter}/%{mysqlversion}} \ $RPM_BUILD_ROOT%{_libdir} %{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT -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' -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 +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 @@ -551,8 +596,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 -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 @@ -623,10 +668,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} @@ -645,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}/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* || : @@ -687,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 || : - 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 || : @@ -699,13 +724,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 || : +fi + +%pre -n mysql-common +%groupadd -g 89 mysql +%useradd -u 89 -d /var/lib/mysql -s /bin/false -g mysql -c "MySQL Server" mysql + +%postun -n mysql-common +if [ "$1" = "0" ]; then %userremove mysql %groupremove mysql fi %posttrans client update-alternatives \ - --install %{_bindir}/mysql mysql %{_libdir}/mysql/%{mysqlversion}/bin/mysql %{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} \ @@ -777,6 +810,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" @@ -914,19 +957,46 @@ 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}/%{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/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 @@ -935,8 +1005,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 - -%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 @@ -981,26 +1049,6 @@ fi %endif %dir %{_libdir}/mysql/%{mysqlversion}/private %{_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/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 -%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* %{_datadir}/mysql/%{mysqlversion}/man/man1/innochecksum.1* %{_datadir}/mysql/%{mysqlversion}/man/man1/my_print_defaults.1* @@ -1009,28 +1057,22 @@ 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/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 %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 -%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(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 @@ -1065,9 +1107,35 @@ fi %files charsets %defattr(644,root,root,755) -%dir %{_datadir}/mysql/%{mysqlversion}/lang %{_datadir}/mysql/%{mysqlversion}/lang/charsets +%files -n mysql-common +%defattr(644,root,root,755) +%attr(751,root,root) %dir %{_sysconfdir}/mysql +%dir %{_libdir}/mysql +%dir %{_datadir}/mysql +%attr(751,root,root) %dir /var/lib/mysql +%attr(751,root,root) %dir /var/lib/mysql-files +%attr(751,root,root) %dir /var/lib/mysqlrouter +%attr(751,root,root) %dir /var/log/mysql +%attr(751,root,root) %dir /var/log/archive/mysql +%attr(751,root,root) %dir /var/log/mysqlrouter +%attr(751,root,root) %dir /var/log/archive/mysqlrouter + +%files dirs +%defattr(644,root,root,755) +%attr(751,root,root) %dir %{_sysconfdir}/mysql/%{mysqlversion} +# root:root is proper here for mysql.rpm while mysql:mysql is potential security hole +%attr(751,root,root) %dir /var/lib/mysql/%{mysqlversion} +%attr(750,mysql,mysql) %dir /var/lib/mysql-files/%{mysqlversion} +%dir %{_libdir}/mysql/%{mysqlversion} +%dir %{_libdir}/mysql/%{mysqlversion}/bin +%dir %{_libdir}/mysql/%{mysqlversion}/sbin +%dir %{_datadir}/mysql/%{mysqlversion} +%dir %{_datadir}/mysql/%{mysqlversion}/man +%dir %{_datadir}/mysql/%{mysqlversion}/man/man1 +%dir %{_datadir}/mysql/%{mysqlversion}/man/man8 + %files extras %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump @@ -1108,9 +1176,8 @@ fi %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} @@ -1118,7 +1185,7 @@ fi %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 @@ -1131,7 +1198,7 @@ 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} @@ -1197,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 + +%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}/*