X-Git-Url: https://git.tld-linux.org/?p=packages%2Fmysql.git;a=blobdiff_plain;f=mysql.spec;fp=mysql.spec;h=0e53bb8103c4faf52727215b7c65e006533ce88d;hp=a743ab166faffde663d6e71963d79550d770a014;hb=c8d45f00238c098b5c188d500203d0ecf21558e9;hpb=dd8112c2b70a7d6107e3276a3339d6ad870d349b diff --git a/mysql.spec b/mysql.spec index a743ab1..0e53bb8 100644 --- a/mysql.spec +++ b/mysql.spec @@ -50,6 +50,7 @@ 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 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: %{name}-dirs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: /usr/bin/setsid Requires: rc-scripts >= 0.2.0 @@ -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,6 +331,7 @@ 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 Obsoletes: libmysql10 < 4 Obsoletes: mysql-doc < 4.1.12 @@ -320,6 +349,7 @@ 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 @@ -376,22 +406,12 @@ Biblioteki statyczne MySQL. Цей пакет містить статичні бібліотеки програміста, необхідні для розробки програм-клієнтів. -%package doc -Summary: MySQL manual -Summary(pl.UTF-8): Podręcznik użytkownika MySQL -Group: Applications/Databases - -%description doc -This package contains manual in HTML format. - -%description doc -l pl.UTF-8 -Podręcznik MySQL-a w formacie HTML. - %package ndb Summary: MySQL - NDB Storage Engine Daemon Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB Group: Applications/Databases 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 @@ -443,6 +466,7 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC. %prep %setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version} +%patch0 -p1 %patch1 -p1 %if %{with sphinx} @@ -475,7 +499,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" \ - -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" \ @@ -486,15 +510,16 @@ CPPFLAGS="%{rpmcppflags}" \ -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 \ + -DMYSQL_UNIX_ADDR=/var/lib/mysql/%{mysqlversion}/mysql.sock \ %{?debug:-DWITH_DEBUG=ON} \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ %{!?with_ldap:-DWITH_AUTHENTICATION_LDAP=OFF} \ @@ -521,22 +546,21 @@ 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}} \ +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} \ $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 mv $RPM_BUILD_ROOT/etc/logrotate.d/{mysqlrouter,%{name}-router} @@ -551,8 +575,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 @@ -705,7 +729,7 @@ 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} \ @@ -920,7 +944,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,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 @@ -935,9 +959,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 %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/auth_socket.so @@ -979,9 +1000,7 @@ fi %if %{with sphinx} %attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_sphinx.so %endif -%dir %{_libdir}/mysql/%{mysqlversion}/private %{_libdir}/mysql/%{mysqlversion}/private/icudt*l -%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 @@ -998,7 +1017,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 -%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* @@ -1016,17 +1034,12 @@ fi %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(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 @@ -1065,9 +1078,35 @@ fi %files charsets %defattr(644,root,root,755) -%dir %{_datadir}/mysql/%{mysqlversion}/lang %{_datadir}/mysql/%{mysqlversion}/lang/charsets +%files -n mysql-common +%attr(751,root,root) %dir %{_sysconfdir}/mysql +%attr(751,root,root) %dir %{_libdir}/mysql +%attr(751,root,root) %dir %{_datadir}/mysql +%attr(751,root,root) %dir /var/lib/mysql +%attr(751,root,root) %dir /var/lib/mysql-files + +%files dirs +%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 @@ -1108,9 +1147,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}