X-Git-Url: https://git.tld-linux.org/?p=packages%2Fmysql.git;a=blobdiff_plain;f=mysql.spec;h=b5871316fad791224b0d238b8e8422913a950786;hp=521fa82fa0e3bb6d5431dc5906b008041d774525;hb=HEAD;hpb=5d87e23e83778b780ea870de884296569fd5b127 diff --git a/mysql.spec b/mysql.spec index 521fa82..15f44b1 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,31 +1,22 @@ -# TODO: -# - mysqldump ... (invalid usage) prints to stdout not stderr (idiotic if you want to create dump and get usage in .sql) -# - http://bugs.mysql.com/bug.php?id=16470 -# - innodb are dynamic (= as plugins) ? -# - missing have_archive, have_merge -# - is plugin_dir lib64 safe? -# - Using NDB Cluster... could not find sci transporter in /{include, lib} -# - !!! Makefiles for libmysqld.so !!! -# - segfaults on select from non-mysql user (caused by builder environment): -# https://bugs.launchpad.net/pld-linux/+bug/381904 -# (profiling disabled temporaily to workaround this) -# # Conditional build: -%bcond_with autodeps # BR packages needed only for resolving deps %bcond_without innodb # InnoDB storage engine support %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms %bcond_without federated # Federated storage engine support %bcond_without raid # RAID support %bcond_without ssl # OpenSSL support -%bcond_without systemtap # systemtap/dtrace probes +%bcond_with systemtap # systemtap/dtrace probes %bcond_without tcpd # libwrap (tcp_wrappers) support -%bcond_without sphinx # Sphinx storage engine support -%bcond_with tests # FIXME: don't run correctly +%bcond_with sphinx # Sphinx storage engine support +# mysql needs boost 1.77.0 and doesn't support newer/older boost versions +%bcond_with system_boost +%bcond_with tests # run test suite %bcond_with ndb # NDB is now a separate product, this here is broken, so disable it +%bcond_without ldap # LDAP auth support (requires MIT Kerberos) +%bcond_with default # default version of MySQL (with common and devel) + +%define mysqlversion 8.4 +%define mysqlpriority 84 -%define rel 3 -%define percona_rel 64.1 -%include /usr/lib/rpm/macros.perl Summary: MySQL: a very fast and reliable SQL database engine Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable @@ -34,72 +25,73 @@ Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável Summary(ru.UTF-8): MySQL - быстрый SQL-сервер Summary(uk.UTF-8): MySQL - швидкий SQL-сервер Summary(zh_CN.UTF-8): MySQL数据库服务器 -Name: mysql -Version: 5.6.16 -Release: %{percona_rel}.%{rel} -License: GPL + MySQL FLOSS Exception +Name: mysql-%{mysqlversion} +Version: 8.4.0 +Release: 1 +License: GPL v2 + MySQL FOSS License Exception Group: Applications/Databases -# Source0Download: http://dev.mysql.com/downloads/mysql/5.5.html#downloads -# Source0: http://vesta.informatik.rwth-aachen.de/mysql/Downloads/MySQL-5.5/%{name}-%{version}.tar.gz -Source0: http://www.percona.com/downloads/Percona-Server-5.6/LATEST/source/tarball/percona-server-%{version}-%{percona_rel}.tar.gz -# Source0-md5: ba75fbcc530dc74ebb978cf450c011b3 -Source100: http://www.sphinxsearch.com/files/sphinx-2.1.6-release.tar.gz -# Source100-md5: f416c743c0e0f4e337b4549928d8494f -Source1: %{name}.init -Source2: %{name}.sysconfig -Source3: %{name}.logrotate -Source4: %{name}d.conf -Source5: %{name}-clusters.conf -Source7: %{name}-ndb.init -Source8: %{name}-ndb.sysconfig -Source9: %{name}-ndb-mgm.init -Source10: %{name}-ndb-mgm.sysconfig -Source11: %{name}-ndb-cpc.init -Source12: %{name}-ndb-cpc.sysconfig -Source13: %{name}-client.conf +Source0: http://cdn.mysql.com/Downloads/MySQL-%{mysqlversion}/mysql-%{version}.tar.gz +# Source0-md5: c3b1ccd1ba5b09f118ce6e27f0f0df98 +Source100: http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz +# Source100-md5: 5cac34f3d78a9d612ca4301abfcbd666 +%if %{without system_boost} +Source101: http://downloads.sourceforge.net/boost/boost_1_77_0.tar.bz2 +# Source101-md5: 09dc857466718f27237144c6f2432d86 +%endif +Source1: mysql.init +Source2: mysql.sysconfig +Source3: mysql.logrotate +Source4: mysqld.conf +Source5: mysql-clusters.conf +Source7: mysql-ndb.init +Source8: mysql-ndb.sysconfig +Source9: mysql-ndb-mgm.init +Source10: mysql-ndb-mgm.sysconfig +Source11: mysql-ndb-cpc.init +Source12: mysql-ndb-cpc.sysconfig +Source13: mysql-client.conf Source14: my.cnf -Patch1: %{name}-versioning.patch -Patch2: %{name}hotcopy-5.0-5.5.patch -Patch3: bug-67402.patch -Patch4: %{name}-no-default-secure-auth.patch -# from fedora -Patch6: %{name}-system-users.patch - -Patch9: %{name}-build.patch -Patch11: %{name}-upgrade.patch -Patch12: %{name}-config.patch -Patch14: %{name}-bug-43594.patch -Patch18: %{name}-sphinx.patch -Patch19: %{name}-chain-certs.patch -# from fedora -Patch20: %{name}-dubious-exports.patch -Patch21: bison3.patch -Patch22: bug-66589.patch -Patch23: bug-44278.patch -Patch24: %{name}-cmake.patch -Patch25: %{name}-readline.patch +Patch0: no_relative_paths.patch +Patch1: mysql-system-xxhash.patch + +Patch17: mysql-5.7-sphinx.patch +Patch18: mysql-sphinx.patch + +Patch24: mysql-cmake.patch +Patch25: mysql-readline.patch + URL: http://www.mysql.com/products/community/ BuildRequires: bison >= 1.875 -BuildRequires: cmake >= 2.6 -BuildRequires: readline-devel >= 6.2 -%if "%{pld_release}" == "ac" -BuildRequires: libstdc++4-devel >= 5:4.0 -%else -BuildRequires: libstdc++-devel >= 5:4.0 -%endif -BuildRequires: automake +%{?with_system_boost:BuildRequires: boost-devel >= 1.77.0} +BuildRequires: cmake >= 2.8.2 +%{?with_ldap:BuildRequires: cyrus-sasl-devel} +# for configure and tests +%{?with_ldap:BuildRequires: cyrus-sasl-scram} +BuildRequires: libaio-devel +BuildRequires: libevent-devel +BuildRequires: libhsclient-devel +BuildRequires: libstdc++-devel >= 5:7.1 %{?with_tcpd:BuildRequires: libwrap-devel} +BuildRequires: lz4-devel +BuildRequires: mecab-devel BuildRequires: ncurses-devel >= 4.2 -%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} +%{?with_ssl:BuildRequires: openssl-devel >= 1.1.1} +%{?with_ldap:BuildRequires: openldap-devel} BuildRequires: pam-devel -%{?with_autodeps:BuildRequires: perl-DBI} BuildRequires: perl-devel >= 1:5.6.1 -BuildRequires: python-modules +BuildRequires: protobuf-devel >= 2.5 +BuildRequires: python3-modules +BuildRequires: readline-devel >= 6.2 +BuildRequires: rpcsvc-proto +BuildRequires: rpm-build >= 4.6 BuildRequires: rpm-perlprov >= 4.1-13 -BuildRequires: rpmbuild(macros) >= 1.597 +BuildRequires: rpmbuild(macros) >= 1.605 BuildRequires: sed >= 4.0 %{?with_systemtap:BuildRequires: systemtap-sdt-devel} -BuildRequires: zlib-devel +BuildRequires: xxHash-devel +BuildRequires: zlib-devel >= 1.2.12 +BuildRequires: zstd-devel +Requires(post): sed >= 4.0 Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel @@ -107,27 +99,31 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires(triggerpostun): sed >= 4.0 +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 -Suggests: mysql-client +Suggests: %{name}-client %{?with_tcpd:Suggests: tcp_wrappers} Suggests: vim-syntax-mycnf Provides: MySQL-server Provides: group(mysql) Provides: msqlormysql Provides: user(mysql) -Obsoletes: MySQL -Obsoletes: mysql-server +Obsoletes: MySQL < 3.22.27 +Obsoletes: mysql-server < 4 Conflicts: logrotate < 3.8.0 -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +# "MySQL supports only 64-bit platforms." +BuildArch: %{x8664} %{arch64} +BuildRoot: %{tmpdir}/mysql-%{version}-root-%(id -u -n) -%define _orgname percona-server %define _libexecdir %{_sbindir} -%define _localstatedir /var/lib/mysql -%define _mysqlhome /home/services/mysql +%define _localstatedir /var/lib/%{name} + +%define mysqldatadir share/mysql/%{mysqlversion} +%define mysqllibdir %{_lib}/mysql/%{mysqlversion} %description MySQL is a true multi-user, multi-threaded SQL (Structured Query @@ -234,6 +230,8 @@ 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 This package contains character sets definitions needed by both client @@ -243,37 +241,36 @@ and server. Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i klienta. -%package -n mysqlhotcopy -Summary: mysqlhotcopy - A MySQL database backup program -Summary(pl.UTF-8): mysqlhotcopy - program do tworzenia kopii zapasowych baz MySQL -Group: Applications/Databases -Requires: perl-DBD-mysql +%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 mysqlhotcopy -mysqlhotcopy uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a -database backup quickly. It is the fastest way to make a backup of the -database or single tables, but it can be run only on the same machine -where the database directories are located. mysqlhotcopy works only -for backing up MyISAM and ARCHIVE tables. +%description -n mysql-common -l pl.UTF-8 +MySQL - wspólne pliki i katalogi. -See innobackup package to backup InnoDB tables. +%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 >= 8.0.0 -%description -n mysqlhotcopy -l pl.UTF-8 -mysqlhotcopy wykorzystuje LOCK TABLES, FLUSH TABLES oraz cp i scp do -szybkiego tworzenia kopii zapasowych baz danych. Jest to najszybszy -sposób wykonania kopii zapasowej bazy danych lub pojedynczych tabel, -ale może działać tylko na maszynie, na której znajdują się katalogi z -bazą danych. mysqlhotcopy działa tylko dla tabel typu MyISAM i -ARCHIVE. +%description dirs +Common directories for MysSQL %{mysqlversion} -Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie -innobackup. +%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 @@ -288,10 +285,9 @@ pakiecie %{name}-extras-perl). Summary: MySQL additional utilities written in Perl Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu Group: Applications/Databases +Requires: alternatives Requires: %{name}-extras = %{version}-%{release} -# this is just for the sake of smooth upgrade, not to break systems -Requires: mysqlhotcopy = %{version}-%{release} -Requires: perl(DBD::mysql) +Requires: perl-DBD-mysql %description extras-perl MySQL additional utilities written in Perl. @@ -306,10 +302,12 @@ Summary(pt.UTF-8): MySQL - Cliente Summary(ru.UTF-8): MySQL клиент 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 +Obsoletes: MySQL-client < 3.22.27 %description client This package contains the standard MySQL clients. @@ -333,7 +331,10 @@ 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 -Obsoletes: libmysql10 +Requires: %{name}-dirs = %{version}-%{release} +Requires: zlib >= 1.2.12 +Provides: mysql-libs = %{version}-%{release} +Obsoletes: libmysql10 < 4 Obsoletes: mysql-doc < 4.1.12 %description libs @@ -342,110 +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} -Requires: zlib-devel -Obsoletes: MySQL-devel -Obsoletes: libmysql10-devel +%{?with_ssl:Requires: openssl-devel >= 1.1.1} +Requires: zlib-devel >= 1.2.12 +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} -Obsoletes: MySQL-static +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 bench -Summary: MySQL - Benchmarks -Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy -Summary(pt.UTF-8): MySQL - Medições de desempenho -Summary(ru.UTF-8): MySQL - бенчмарки -Summary(uk.UTF-8): MySQL - бенчмарки -Group: Applications/Databases -Requires: %{name} = %{version}-%{release} -Requires: %{name}-client -Requires: perl(DBD::mysql) -Obsoletes: MySQL-bench - -%description bench -This package contains MySQL benchmark scripts and data. - -%description bench -l pl.UTF-8 -Programy testujące szybkość serwera MySQL. - -%description bench -l pt_BR.UTF-8 -Este pacote contém medições de desempenho de scripts e dados do MySQL. - -%description bench -l ru.UTF-8 -Этот пакет содержит скрипты и данные для оценки производительности -MySQL. - -%description bench -l uk.UTF-8 -Цей пакет містить скрипти та дані для оцінки продуктивності 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 @@ -459,6 +425,8 @@ NDB. 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 @@ -471,6 +439,8 @@ Ten pakiet zawiera standardowe programy klienckie MySQL NDB. 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 @@ -483,6 +453,8 @@ Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB. 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 @@ -491,43 +463,45 @@ 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 -n percona-server-%{version}-%{percona_rel} %{?with_sphinx:-a100} +%setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -n mysql-%{version} -# we want to use old, mysql compatible client library name -find . -name CMakeLists.txt -exec sed -i -e 's#perconaserverclient#mysqlclient#g' "{}" ";" -sed -i -e 's#perconaserverclient#mysqlclient#g' libmysql/libmysql.{ver.in,map} scripts/mysql_config.* +%patch0 -p1 +%patch1 -p1 %if %{with sphinx} # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51 -mv sphinx-*/mysqlse storage/sphinx +%{__mv} sphinx-*/mysqlse storage/sphinx +%patch17 -p1 %patch18 -p1 %endif -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 - -%patch6 -p1 - -%patch9 -p1 -%patch11 -p1 -%patch12 -p1 -%patch14 -p0 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 + %patch24 -p1 %patch25 -p1 # to get these files rebuild -[ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc -[ -f sql/sql_yacc.h ] && rm sql/sql_yacc.h +[ -f sql/sql_yacc.cc ] && %{__rm} sql/sql_yacc.cc +[ -f sql/sql_yacc.h ] && %{__rm} sql/sql_yacc.h -# map has more sane versioning that default "global everything" in ver.in -cp -p libmysql/libmysql.map libmysql/libmysql.ver.in +# ensure sytstem lib +# need to keep xxhash.[ch] +%{__rm} -rv extra/lz4/lz4** %build install -d build @@ -536,44 +510,53 @@ cd build # (it defaults to first cluster but user may change it to whatever # cluster it wants) -%if "%{pld_release}" == "ac" -# add suffix, but allow ccache, etc in ~/.rpmmacros -%{expand:%%define __cc %(echo '%__cc' | sed -e 's,-gcc,-gcc4,')} -%{expand:%%define __cxx %(echo '%__cxx' | sed -e 's,-g++,-g++4,')} -%{expand:%%define __cpp %(echo '%__cpp' | sed -e 's,-gcc,-gcc4,')} -%endif - -%cmake \ +CPPFLAGS="%{rpmcppflags}" \ +%cmake .. \ -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \ - -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \ - -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \ - -DCOMPILATION_COMMENT="PLD/Linux Distribution MySQL RPM" \ + -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="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_MYSQLTESTDIR_RPM="" \ - -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \ + -DINSTALL_MYSQLDATADIR=/var/lib/mysql/%{mysqlversion} \ + -DINSTALL_PLUGINDIR=%{_lib}/mysql/%{mysqlversion}/plugin \ + -DINSTALL_SECURE_FILE_PRIVDIR=/var/lib/mysql-files/%{mysqlversion} \ -DINSTALL_SQLBENCHDIR=%{_datadir} \ - -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{_orgname}-support \ - -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \ + -DINSTALL_SUPPORTFILESDIR=share/mysql/%{mysqlversion}/support \ + -DINSTALL_MYSQLSHAREDIR=share/mysql/%{mysqlversion}/lang \ + -DINSTALL_MYSQLTESTDIR=share/mysql/%{mysqlversion}/test \ + -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 \ - -DWITH_FAST_MUTEXES=ON \ + %{!?with_ldap:-DWITH_AUTHENTICATION_LDAP=OFF} \ -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \ - -DWITH_PAM=ON \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_PIC=ON \ - -DWITH_EDITLINE=system \ -%if "%{pld_release}" == "ac" - -DWITH_SSL=%{?with_ssl:bundled}%{!?with_ssl:no} \ -%else - -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \ -%endif + %{?with_ldap:-DWITH_LDAP=system} \ + -DWITH_KERBEROS=system \ + -DWITH_LIBEVENT=system \ + -DWITH_LZ4=system \ + -DWITH_PROTOBUF=system \ + -DWITH_SASL=system \ -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_EDITLINE=system \ + -DWITH_MECAB=system \ + -DTMPDIR=/var/tmp %{__make} @@ -581,21 +564,25 @@ cd build %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \ - $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \ - $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 -install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql -cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql -cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql +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' -cp -a %{SOURCE4} mysqld.conf -cp -a %{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} @@ -607,556 +594,698 @@ touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log 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}/%{_orgname}/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 mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/mysqld.conf +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 %if %{with ndb} -install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb -cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb -install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm -cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm -install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc -cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc +install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb +cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb +install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb-mgm +cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb-mgm +install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb-cpc +cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb-cpc %endif -sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config -sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config -sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config +sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysql_config +sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysql_config +sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysql_config # remove known unpackaged files -%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{_orgname}-support +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/support # rename not to be so generic name -mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump -mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1 - -# move to _sysconfdir -mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf # not useful without -debug build -%{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump} -%{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1} # generate symbols file, so one can generate backtrace using it -# mysql_resolve_stack_dump -s %{_datadir}/%{_orgname}/mysqld.sym -n mysqld.stack. +# mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack. # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html -%{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/mysqld.sym} +%{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym} # do not clobber users $PATH -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack -#mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults -sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db -mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/innochecksum +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamchk +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamlog +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisampack +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/my_print_defaults +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/mysqlcheck # delete - functionality in initscript / rpm # note: mysql_install_db (and thus resolveip) are needed by digikam -%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe -%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}* -#rm $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/mysql-log-rotate -#rm $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/mysql.server -#rm $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/binary-configure -%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{_orgname}/errmsg-utf8.txt -%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1* -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server* -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1* -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1* +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysqld_safe +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/mysqld_multi +%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqld_{multi,safe}* +%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.server* + +# man pages for removed commands +%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlman.1* +%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlslap.1* +%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/comp_err.1* # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault -%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1* -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1* -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1* -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1* -%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test -# libmysqld examples -%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded} - -# not needed -%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.* -%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini - -# not an .info file -%{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/test +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/{comp_err,mysql_client_test,mysql_keyring_encryption_test,mysql_test_event_tracking,mysqlslap,mysqltest,mysqltest_safe_process,mysqlxtest} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/test_udf_services.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_example_*.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_log_sink_test.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_pfs_example*.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_test_*.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/test_services_*.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/libdaemon_example.* +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/daemon_example.ini +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/libtest*.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/pfs_example*.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/rewrite_example.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/udf_example.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/test_security_context.so %clean rm -rf $RPM_BUILD_ROOT -%pre -%groupadd -g 89 mysql -%useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql - %post /sbin/ldconfig -/sbin/chkconfig --add mysql -%service mysql restart +/sbin/chkconfig --add %{name} +%service %{name} restart %preun if [ "$1" = "0" ]; then - %service -q mysql stop - /sbin/chkconfig --del mysql + %service -q %{name} stop + /sbin/chkconfig --del %{name} fi +%posttrans +update-alternatives \ + --install %{_bindir}/ibd2sdi ibd2sdi %{_libdir}/mysql/%{mysqlversion}/bin/ibd2sdi %{mysqlpriority} \ + --slave %{_mandir}/man1/ibd2sdi.1 ibd2sdi.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ibd2sdi.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 %{_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}/my_print_defaults my_print_defaults %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults %{mysqlpriority} \ + --slave %{_mandir}/man1/my_print_defaults.1 my_print_defaults.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/my_print_defaults.1* || : +update-alternatives \ + --install %{_sbindir}/myisamchk myisamchk %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk %{mysqlpriority} \ + --slave %{_mandir}/man1/myisamchk.1 myisamchk.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisamchk.1* || : +update-alternatives \ + --install %{_sbindir}/myisamlog myisamlog %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog %{mysqlpriority} \ + --slave %{_mandir}/man1/myisamlog.1 myisamlog.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisamlog.1* || : +update-alternatives \ + --install %{_sbindir}/myisampack myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack %{mysqlpriority} \ + --slave %{_mandir}/man1/myisampack.1 myisampack.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1* || : +update-alternatives \ + --install %{_sbindir}/mysqlcheck mysqlcheck %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck %{mysqlpriority} \ + --slave %{_mandir}/man1/mysqlcheck.1 mysqlcheck.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1* || : +update-alternatives \ + --install %{_sbindir}/mysqld mysqld %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld %{mysqlpriority} \ + --slave %{_mandir}/man8/mysqld.8 mysqld.8 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqld.8* || : + %postun /sbin/ldconfig +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 innochecksum %{_libdir}/mysql/%{mysqlversion}/sbin/innochecksum || : + update-alternatives --remove my_print_defaults %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults || : + update-alternatives --remove myisamchk %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk || : + update-alternatives --remove myisamlog %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog || : + update-alternatives --remove myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack || : + update-alternatives --remove 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 %{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/mysqladmin.1 mysqladmin.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqladmin.1* || : +update-alternatives \ + --install %{_bindir}/mysqlbinlog mysqlbinlog %{_libdir}/mysql/%{mysqlversion}/bin/mysqlbinlog %{mysqlpriority} \ + --slave %{_mandir}/man1/mysqlbinlog.1 mysqlbinlog.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlbinlog.1* || : +update-alternatives \ + --install %{_bindir}/mysql_config_editor mysql_config_editor %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor %{mysqlpriority} \ + --slave %{_mandir}/man1/mysql_config_editor.1 mysql_config_editor.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config_editor.1* || : +update-alternatives \ + --install %{_bindir}/mysqldump mysqldump %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump %{mysqlpriority} \ + --slave %{_mandir}/man1/mysqldump.1 mysqldump.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldump.1* || : +update-alternatives \ + --install %{_bindir}/mysqlimport mysqlimport %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport %{mysqlpriority} \ + --slave %{_mandir}/man1/mysqlimport.1 mysqlimport.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlimport.1* || : +update-alternatives \ + --install %{_bindir}/mysqlpump mysqlpump %{_libdir}/mysql/%{mysqlversion}/bin/mysqlpump %{mysqlpriority} \ + --slave %{_mandir}/man1/mysqlpump.1 mysqlpump.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlpump.1* || : +update-alternatives \ + --install %{_bindir}/mysqlshow mysqlshow %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow %{mysqlpriority} \ + --slave %{_mandir}/man1/mysqlshow.1 mysqlshow.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlshow.1* || : + +%postun client +if [ $1 -eq 0 ]; then + update-alternatives --remove mysql %{_libdir}/mysql/%{mysqlversion}/bin/mysql || : + update-alternatives --remove mysqladmin %{_libdir}/mysql/%{mysqlversion}/bin/mysqladmin || : + update-alternatives --remove mysqlbinlog %{_libdir}/mysql/%{mysqlversion}/bin/mysqlbinlog || : + update-alternatives --remove mysql_config_editor %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor || : + update-alternatives --remove mysqldump %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump || : + update-alternatives --remove mysqlimport %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport || : + update-alternatives --remove mysqlpump %{_libdir}/mysql/%{mysqlversion}/bin/mysqlpump || : + update-alternatives --remove mysqlshow %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow || : +fi + +%posttrans extras +update-alternatives \ + --install %{_bindir}/myisam_ftdump myisam_ftdump %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump %{mysqlpriority} \ + --slave %{_mandir}/man1/myisam_ftdump.1 myisam_ftdump.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisam_ftdump.1* || : +update-alternatives \ + --install %{_bindir}/mysql_secure_installation mysql_secure_installation %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation %{mysqlpriority} \ + --slave %{_mandir}/man1/mysql_secure_installation.1 mysql_secure_installation.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_secure_installation.1* || : +update-alternatives \ + --install %{_bindir}/mysql_ssl_rsa_setup mysql_ssl_rsa_setup %{_libdir}/mysql/%{mysqlversion}/bin/mysql_ssl_rsa_setup %{mysqlpriority} \ + --slave %{_mandir}/man1/mysql_ssl_rsa_setup.1 mysql_ssl_rsa_setup.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_ssl_rsa_setup.1* || : +update-alternatives \ + --install %{_bindir}/mysql_tzinfo_to_sql mysql_tzinfo_to_sql %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql %{mysqlpriority} \ + --slave %{_mandir}/man1/mysql_tzinfo_to_sql.1 mysql_tzinfo_to_sql.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_tzinfo_to_sql.1* || : +update-alternatives \ + --install %{_bindir}/perror perror %{_libdir}/mysql/%{mysqlversion}/bin/perror %{mysqlpriority} \ + --slave %{_mandir}/man1/perror.1 perror.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/perror.1* || : + +%postun extras +if [ $1 -eq 0 ]; then + update-alternatives --remove myisam_ftdump %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump || : + update-alternatives --remove mysql_secure_installation %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation || : + update-alternatives --remove mysql_ssl_rsa_setup %{_libdir}/mysql/%{mysqlversion}/bin/mysql_ssl_rsa_setup || : + update-alternatives --remove mysql_tzinfo_to_sql %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql || : + update-alternatives --remove perror %{_libdir}/mysql/%{mysqlversion}/bin/perror || : +fi + +%posttrans extras-perl +update-alternatives \ + --install %{_bindir}/mysqldumpslow mysqldumpslow %{_libdir}/mysql/%{mysqlversion}/bin/mysqldumpslow %{mysqlpriority} \ + --slave %{_mandir}/man1/mysqldumpslow.1 mysqldumpslow.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldumpslow.1* || : + +%postun extras-perl +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 mysql-ndb -%service mysql-ndb restart "mysql NDB engine" +/sbin/chkconfig --add %{name}-ndb +%service %{name}-ndb restart "%{name} NDB engine" %preun ndb if [ "$1" = "0" ]; then - %service mysql-ndb stop - /sbin/chkconfig --del mysql-ndb + %service %{name}-ndb stop + /sbin/chkconfig --del %{name}-ndb +fi + +%posttrans ndb +update-alternatives \ + --install %{_sbindir}/ndbd ndbd %{_libdir}/mysql/%{mysqlversion}/sbin/ndbd %{mysqlpriority} \ + --slave %{_mandir}/man1/ndbd.1 ndbd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndbd.1* || : + +%postun ndb +if [ "$1" = "0" ]; then + update-alternatives --remove ndbd %{_libdir}/mysql/%{mysqlversion}/sbin/ndbd || : +fi + +%posttrans ndb-client +update-alternatives \ + --install %{_bindir}/ndb_config ndb_config %{_libdir}/mysql/%{mysqlversion}/bin/ndb_config %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_config.1 ndb_config.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_config.1* || : +update-alternatives \ + --install %{_bindir}/ndb_delete_all ndb_delete_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_delete_all %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_delete_all.1 ndb_delete_all.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_delete_all.1* || : +update-alternatives \ + --install %{_bindir}/ndb_desc ndb_desc %{_libdir}/mysql/%{mysqlversion}/bin/ndb_desc %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_desc.1 ndb_desc.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_desc.1* || : +update-alternatives \ + --install %{_bindir}/ndb_drop_index ndb_drop_index %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_index %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_drop_index.1 ndb_drop_index.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_index.1* || : +update-alternatives \ + --install %{_bindir}/ndb_drop_table ndb_drop_table %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_table %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_drop_table.1 ndb_drop_table.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_table.1* || : +update-alternatives \ + --install %{_bindir}/ndb_error_reporter ndb_error_reporter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_error_reporter %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_error_reporter.1 ndb_error_reporter.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_error_reporter.1* || : +update-alternatives \ + --install %{_bindir}/ndb_mgm ndb_mgm %{_libdir}/mysql/%{mysqlversion}/bin/ndb_mgm %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_mgm.1 ndb_mgm.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_mgm.1* || : +update-alternatives \ + --install %{_bindir}/ndb_print_backup_file ndb_print_backup_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_backup_file %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_print_backup_file.1 ndb_print_backup_file.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_backup_file.1* || : +update-alternatives \ + --install %{_bindir}/ndb_print_schema_file ndb_print_schema_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_schema_file %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_print_schema_file.1 ndb_print_schema_file.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_schema_file.1* || : +update-alternatives \ + --install %{_bindir}/ndb_print_sys_file ndb_print_sys_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_sys_file %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_print_sys_file.1 ndb_print_sys_file.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_sys_file.1* || : +update-alternatives \ + --install %{_bindir}/ndb_restore ndb_restore %{_libdir}/mysql/%{mysqlversion}/bin/ndb_restore %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_restore.1 ndb_restore.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_restore.1* || : +update-alternatives \ + --install %{_bindir}/ndb_select_all ndb_select_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_all %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_select_all.1 ndb_select_all.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_all.1* || : +update-alternatives \ + --install %{_bindir}/ndb_select_count ndb_select_count %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_count %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_select_count.1 ndb_select_count.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_count.1* || : +update-alternatives \ + --install %{_bindir}/ndb_show_tables ndb_show_tables %{_libdir}/mysql/%{mysqlversion}/bin/ndb_show_tables %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_show_tables.1 ndb_show_tables.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_show_tables.1* || : +update-alternatives \ + --install %{_bindir}/ndb_size.pl ndb_size.pl %{_libdir}/mysql/%{mysqlversion}/bin/ndb_size.pl %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_size.pl.1 ndb_size.pl.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_size.pl.1* || : +update-alternatives \ + --install %{_bindir}/ndb_test_platform ndb_test_platform %{_libdir}/mysql/%{mysqlversion}/bin/ndb_test_platform %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_test_platform.1 ndb_test_platform.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_test_platform.1* || : +update-alternatives \ + --install %{_bindir}/ndb_waiter ndb_waiter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_waiter %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_waiter.1 ndb_waiter.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_waiter.1* || : + +%postun ndb-client +if [ $1 -eq 0 ]; then + update-alternatives --remove ndb_config %{_libdir}/mysql/%{mysqlversion}/bin/ndb_config || : + update-alternatives --remove ndb_delete_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_delete_all || : + update-alternatives --remove ndb_desc %{_libdir}/mysql/%{mysqlversion}/bin/ndb_desc || : + update-alternatives --remove ndb_drop_index %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_index || : + update-alternatives --remove ndb_drop_table %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_table || : + update-alternatives --remove ndb_error_reporter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_error_reporter || : + update-alternatives --remove ndb_mgm %{_libdir}/mysql/%{mysqlversion}/bin/ndb_mgm || : + update-alternatives --remove ndb_print_backup_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_backup_file || : + update-alternatives --remove ndb_print_schema_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_schema_file || : + update-alternatives --remove ndb_print_sys_file %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_sys_file || : + update-alternatives --remove ndb_restore %{_libdir}/mysql/%{mysqlversion}/bin/ndb_restore || : + update-alternatives --remove ndb_select_all %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_all || : + update-alternatives --remove ndb_select_count %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_count || : + update-alternatives --remove ndb_show_tables %{_libdir}/mysql/%{mysqlversion}/bin/ndb_show_tables || : + update-alternatives --remove ndb_size.pl %{_libdir}/mysql/%{mysqlversion}/bin/ndb_size.pl || : + update-alternatives --remove ndb_test_platform %{_libdir}/mysql/%{mysqlversion}/bin/ndb_test_platform || : + update-alternatives --remove ndb_waiter %{_libdir}/mysql/%{mysqlversion}/bin/ndb_waiter || : fi %post ndb-mgm -/sbin/chkconfig --add mysql-ndb-mgm -%service mysql-ndb-mgm restart "mysql NDB management node" +/sbin/chkconfig --add %{name}-ndb-mgm +%service %{name}-ndb-mgm restart "%{name} NDB management node" %preun ndb-mgm if [ "$1" = "0" ]; then - %service mysql-ndb-mgm stop - /sbin/chkconfig --del mysql-ndb-mgm + %service %{name}-ndb-mgm stop + /sbin/chkconfig --del %{name}-ndb-mgm +fi + +%posttrans ndb-mgm +update-alternatives \ + --install %{_sbindir}/ndb_mgmd ndb_mgmd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_mgmd %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_mgmd.1 ndb_mgmd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_mgmd.1* || : + +%postun ndb-mgm +if [ "$1" = "0" ]; then + update-alternatives --remove ndb_mgmd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_mgmd || : fi %post ndb-cpc -/sbin/chkconfig --add mysql-ndb-cpc -%service mysql-ndb-cpc restart "mysql NDB CPC" +/sbin/chkconfig --add %{name}-ndb-cpc +%service %{name}-ndb-cpc restart "%{name} NDB CPC" %preun ndb-cpc if [ "$1" = "0" ]; then - %service mysql-ndb-cpc stop - /sbin/chkconfig --del mysql-ndb-cpc + %service %{name}-ndb-cpc stop + /sbin/chkconfig --del %{name}-ndb-cpc fi -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig - -%triggerpostun -- mysql < 4.0.20-2.4 -# For clusters in /etc/%{name}/clusters.conf -if [ -f /etc/sysconfig/mysql ]; then - . /etc/sysconfig/mysql - if [ -n "$MYSQL_DB_CLUSTERS" ]; then - for i in "$MYSQL_DB_CLUSTERS"; do - echo "$i/mysqld.conf=$i" >> /etc/%{name}/clusters.conf - done - echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql - echo "# USE /etc/%{name}/clusters.conf instead" >> /etc/sysconfig/mysql - echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/%{name}/clusters.conf." - echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/%{name}/clusters.conf." - fi +%posttrans ndb-cpc +update-alternatives \ + --install %{_sbindir}/ndb_cpcd ndb_cpcd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_cpcd %{mysqlpriority} \ + --slave %{_mandir}/man1/ndb_cpcd.1 ndb_cpcd.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_cpcd.1* || : + +%postun ndb-cpc +if [ "$1" = "0" ]; then + update-alternatives --remove ndb_cpcd %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_cpcd || : fi -%triggerpostun -- mysql < 4.1.1 -# For better compatibility with prevoius versions: -for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do - if echo "$config" | grep -q '^/'; then - config_file="$config" - elif [ -f "/etc/%{name}/$config" ]; then - config_file=/etc/%{name}/$config - else - clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf) - if [ -z "$clusterdir" ]; then - echo >&2 "Can't find cluster dir for $config!" - echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf" - exit 1 - fi - config_file="$clusterdir/mysqld.conf" - fi - - if [ ! -f "$config_file" ]; then - echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" - exit 1 - fi - echo "Adding option old-passwords to config: $config_file" - echo "If you want to use new, better passwords - remove it" - - # sed magic to add 'old-passwords' to [mysqld] section - sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{ - a - a; Compatibility options: - aold-passwords - } - ' $config_file -done - -%banner -e %{name}-4.1.x <<-EOF - If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data: - mysql -u mysql mysql < %{_datadir}/%{_orgname}/fill_help_tables.sql -EOF -#' - -%triggerpostun -- mysql < 5.1.0 -configs="" -for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do - if echo "$config" | grep -q '^/'; then - config_file="$config" - elif [ -f "/etc/%{name}/$config" ]; then - config_file=/etc/%{name}/$config - else - clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf) - if [ -z "$clusterdir" ]; then - echo >&2 "Can't find cluster dir for $config!" - echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf" - exit 1 - fi - config_file="$clusterdir/mysqld.conf" - fi - - if [ ! -f "$config_file" ]; then - echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" - continue - fi - configs="$configs $config_file" -done - -( -echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.' -echo 'Thus, you should invoke:' -for config in $configs; do - sed -i -e ' - s/set-variable\s*=\s* // - # use # as comment in config - s/^;/#/ - ' $config - - datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs) - echo "# mysql_upgrade --datadir=$datadir" -done -) | %banner -e %{name}-5.1 - -%triggerpostun -- mysql < 5.5.0 -configs="" -for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do - if echo "$config" | grep -q '^/'; then - config_file="$config" - elif [ -f "/etc/%{name}/$config" ]; then - config_file=/etc/%{name}/$config - else - clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf) - if [ -z "$clusterdir" ]; then - echo >&2 "Can't find cluster dir for $config!" - echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf" - exit 1 - fi - config_file="$clusterdir/mysqld.conf" - fi - - if [ ! -f "$config_file" ]; then - echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" - continue - fi - configs="$configs $config_file" -done - -( -echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.' -echo 'Thus, you should invoke:' -for config in $configs; do - sed -i -e ' - s/^language *= *polish/lc-messages = pl_PL/i - s/set-variable\s*=\s* // - s/^skip-locking/skip-external-locking/ - # this is not valid for server. it is client option - s/^default-character-set/# client-config: &/ - # use # as comment in config - s/^;/#/ - ' $config - - socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs) - echo "# mysql_upgrade ${socket:+--socket=$socket}" -done -) | %banner -e %{name}-5.5 +%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) -%doc build/support-files/*.cnf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} %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(755,root,root) %{_sbindir}/innochecksum -%attr(755,root,root) %{_sbindir}/my_print_defaults -%attr(755,root,root) %{_sbindir}/myisamchk -%attr(755,root,root) %{_sbindir}/myisamlog -%attr(755,root,root) %{_sbindir}/myisampack -#%attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables -%attr(755,root,root) %{_sbindir}/mysql_plugin -%attr(755,root,root) %{_sbindir}/mysql_upgrade -%attr(755,root,root) %{_sbindir}/mysqlcheck -%attr(755,root,root) %{_sbindir}/mysqld -%dir %{_libdir}/%{name} -%dir %{_libdir}/%{name}/plugin -%attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so -#%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_archive.so -#%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_blackhole.so -#%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_federated.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so +%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}/sbin/innochecksum +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/my_print_defaults +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/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/auth_test_plugin.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_audit_api_message_emit.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_keyring_file.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_log_filter_dragnet.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_log_sink_json.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_log_sink_syseventlog.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_mysqlbackup.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_mysqlx_global_reset.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_query_attributes.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_reference_cache.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_udf_*_func.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/component_validate_password.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/conflicting_variables.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/connection_control.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ddl_rewriter.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/group_replication.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_mock.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/keyring_udf.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/libpluginmecab.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/locking_service.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/mypluglib.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/mysql_clone.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/mysql_no_login.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/qa_auth_client.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/qa_auth_interface.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/qa_auth_server.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/replication_observers_example_plugin.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/rewriter.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_master.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_replica.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_slave.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/semisync_source.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/validate_password.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/version_token.so %if %{with sphinx} -%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_sphinx.so %endif -# for plugins -%attr(755,root,root) %{_libdir}/libmysqlservices.so -%{_mandir}/man1/innochecksum.1* -%{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/myisamchk.1* -%{_mandir}/man1/myisamlog.1* -%{_mandir}/man1/myisampack.1* -#%{_mandir}/man1/mysql_fix_privilege_tables.1* -%{_mandir}/man1/mysql_plugin.1* -%{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysqlcheck.1* -%{_mandir}/man8/mysqld.8* +%dir %{_libdir}/mysql/%{mysqlversion}/private +%{_libdir}/mysql/%{mysqlversion}/private/icudt*l +%{_datadir}/mysql/%{mysqlversion}/man/man1/ibd2sdi.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/innochecksum.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/my_print_defaults.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/myisamchk.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/myisamlog.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1* +%{_datadir}/mysql/%{mysqlversion}/man/man8/mysqld.8* %if %{?debug:1}0 -%attr(755,root,root) %{_bindir}/*resolve_stack_dump -%{_datadir}/%{_orgname}/mysqld.sym -%{_mandir}/man1/*resolve_stack_dump.1* +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/*resolve_stack_dump +%{_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/mysql -%attr(750,mysql,mysql) %dir /var/log/mysql -%attr(750,mysql,mysql) %dir /var/log/archive/mysql -%attr(640,mysql,mysql) %ghost /var/log/mysql/* +%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}/%{_orgname}/mysqld.conf -%{_datadir}/%{_orgname}/mysql_security_commands.sql -%{_datadir}/%{_orgname}/mysql_system_tables_data.sql -%{_datadir}/%{_orgname}/mysql_system_tables.sql -%{_datadir}/%{_orgname}/mysql_test_data_timezone.sql - -%{_datadir}/%{_orgname}/english -%{_datadir}/%{_orgname}/dictionary.txt -%{_datadir}/%{_orgname}/fill_help_tables.sql -%{_datadir}/%{_orgname}/innodb_memcached_config.sql -#%{_datadir}/%{_orgname}/mysql_fix_privilege_tables.sql -%lang(bg) %{_datadir}/%{_orgname}/bulgarian -%lang(cs) %{_datadir}/%{_orgname}/czech -%lang(da) %{_datadir}/%{_orgname}/danish -%lang(de) %{_datadir}/%{_orgname}/german -%lang(el) %{_datadir}/%{_orgname}/greek -%lang(es) %{_datadir}/%{_orgname}/spanish -%lang(et) %{_datadir}/%{_orgname}/estonian -%lang(fr) %{_datadir}/%{_orgname}/french -%lang(hu) %{_datadir}/%{_orgname}/hungarian -%lang(it) %{_datadir}/%{_orgname}/italian -%lang(ja) %{_datadir}/%{_orgname}/japanese -%lang(ko) %{_datadir}/%{_orgname}/korean -%lang(nl) %{_datadir}/%{_orgname}/dutch -%lang(nb) %{_datadir}/%{_orgname}/norwegian -%lang(nn) %{_datadir}/%{_orgname}/norwegian-ny -%lang(pl) %{_datadir}/%{_orgname}/polish -%lang(pt) %{_datadir}/%{_orgname}/portuguese -%lang(ro) %{_datadir}/%{_orgname}/romanian -%lang(ru) %{_datadir}/%{_orgname}/russian -%lang(sr) %{_datadir}/%{_orgname}/serbian -%lang(sk) %{_datadir}/%{_orgname}/slovak -%lang(sv) %{_datadir}/%{_orgname}/swedish -%lang(uk) %{_datadir}/%{_orgname}/ukrainian +%{_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/messages_to_error_log.txt +%{_datadir}/mysql/%{mysqlversion}/lang/install_rewriter.sql +%{_datadir}/mysql/%{mysqlversion}/lang/uninstall_rewriter.sql +# Don't mark these with %%lang. These are used depending +# on database client settings. +%{_datadir}/mysql/%{mysqlversion}/lang/bulgarian +%{_datadir}/mysql/%{mysqlversion}/lang/czech +%{_datadir}/mysql/%{mysqlversion}/lang/danish +%{_datadir}/mysql/%{mysqlversion}/lang/german +%{_datadir}/mysql/%{mysqlversion}/lang/greek +%{_datadir}/mysql/%{mysqlversion}/lang/spanish +%{_datadir}/mysql/%{mysqlversion}/lang/estonian +%{_datadir}/mysql/%{mysqlversion}/lang/french +%{_datadir}/mysql/%{mysqlversion}/lang/hungarian +%{_datadir}/mysql/%{mysqlversion}/lang/italian +%{_datadir}/mysql/%{mysqlversion}/lang/japanese +%{_datadir}/mysql/%{mysqlversion}/lang/korean +%{_datadir}/mysql/%{mysqlversion}/lang/dutch +%{_datadir}/mysql/%{mysqlversion}/lang/norwegian +%{_datadir}/mysql/%{mysqlversion}/lang/norwegian-ny +%{_datadir}/mysql/%{mysqlversion}/lang/polish +%{_datadir}/mysql/%{mysqlversion}/lang/portuguese +%{_datadir}/mysql/%{mysqlversion}/lang/romanian +%{_datadir}/mysql/%{mysqlversion}/lang/russian +%{_datadir}/mysql/%{mysqlversion}/lang/serbian +%{_datadir}/mysql/%{mysqlversion}/lang/slovak +%{_datadir}/mysql/%{mysqlversion}/lang/swedish +%{_datadir}/mysql/%{mysqlversion}/lang/ukrainian %files charsets %defattr(644,root,root,755) -%dir %{_datadir}/%{_orgname} -%{_datadir}/%{_orgname}/charsets +%{_datadir}/mysql/%{mysqlversion}/lang/charsets -%files extras +%if %{with default} +%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 +%endif + +%files dirs %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/msql2mysql -%attr(755,root,root) %{_bindir}/myisam_ftdump -%attr(755,root,root) %{_bindir}/mysql_install_db -%attr(755,root,root) %{_bindir}/mysql_secure_installation -%attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql -%attr(755,root,root) %{_bindir}/perror -%attr(755,root,root) %{_bindir}/replace -%attr(755,root,root) %{_bindir}/resolveip -%{_mandir}/man1/msql2mysql.1* -%{_mandir}/man1/myisam_ftdump.1* -%{_mandir}/man1/mysql_install_db.1* -%{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* -%{_mandir}/man1/perror.1* -%{_mandir}/man1/replace.1* -%{_mandir}/man1/resolveip.1* - -%files -n mysqlhotcopy +%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) %{_bindir}/mysqlhotcopy -%{_mandir}/man1/mysqlhotcopy.1* +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/perror +%{_datadir}/mysql/%{mysqlversion}/man/man1/myisam_ftdump.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_secure_installation.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_tzinfo_to_sql.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/perror.1* %files extras-perl %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/mysql_convert_table_format -%attr(755,root,root) %{_bindir}/mysql_find_rows -%attr(755,root,root) %{_bindir}/mysql_fix_extensions -%attr(755,root,root) %{_bindir}/mysql_setpermission -%attr(755,root,root) %{_bindir}/mysql_zap -%attr(755,root,root) %{_bindir}/mysqlaccess -%attr(755,root,root) %{_bindir}/mysqldumpslow -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysqlaccess.conf -%{_mandir}/man1/mysql_convert_table_format.1* -%{_mandir}/man1/mysql_find_rows.1* -%{_mandir}/man1/mysql_fix_extensions.1* -%{_mandir}/man1/mysql_setpermission.1* -%{_mandir}/man1/mysql_zap.1* -%{_mandir}/man1/mysqlaccess.1* -%{_mandir}/man1/mysqldumpslow.1* +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqldumpslow +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldumpslow.1* %files client %defattr(644,root,root,755) -%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf -%attr(755,root,root) %{_bindir}/mysql -%attr(755,root,root) %{_bindir}/mysqladmin -%attr(755,root,root) %{_bindir}/mysqlbinlog -%attr(755,root,root) %{_bindir}/mysqlbug -%attr(755,root,root) %{_bindir}/mysql_config_editor -%attr(755,root,root) %{_bindir}/mysqldump -%attr(755,root,root) %{_bindir}/mysqlimport -%attr(755,root,root) %{_bindir}/mysqlshow -%{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysqladmin.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlbug.1* -%{_mandir}/man1/mysql_config_editor.1* -%{_mandir}/man1/mysqldump.1* -%{_mandir}/man1/mysqlimport.1* -%{_mandir}/man1/mysqlshow.1* +%attr(600,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.my.cnf +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqladmin +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlbinlog +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqladmin.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlbinlog.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config_editor.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldump.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlimport.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlshow.1* %files libs %defattr(644,root,root,755) -%attr(751,root,root) %dir %{_sysconfdir}/mysql -%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.18 -%attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18 +%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.24 %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3 %endif -%files devel +%if %{with default} +%files -n mysql-devel %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/mysql_config +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config %attr(755,root,root) %{_libdir}/libmysqlclient.so -%attr(755,root,root) %{_libdir}/libmysqlclient_r.so %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so %endif -# static-only so far -%{_libdir}/libmysqld.a +%{_pkgconfigdir}/mysqlclient.pc +%{_libdir}/libmysqlservices.a %{_includedir}/mysql %{_aclocaldir}/mysql.m4 -%{_mandir}/man1/mysql_config.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config.1* -%files static +%files -n mysql-static %defattr(644,root,root,755) %{_libdir}/libmysqlclient.a -%{_libdir}/libmysqlclient_r.a %if %{with ndb} %{_libdir}/libndbclient.a %endif - -%files bench -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/mysqlslap -%attr(755,root,root) %{_bindir}/mysqltest -%dir %{_datadir}/sql-bench -%{_datadir}/sql-bench/[CDRl]* -%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]* -%{_mandir}/man1/mysqlslap.1* -%{_mandir}/man1/mysqltest.1* -%{_mandir}/man1/mysqltest_embedded.1* - -#%files doc -#%defattr(644,root,root,755) -#%doc Docs/manual.html Docs/manual_toc.html +%endif %if %{with ndb} %files ndb %defattr(644,root,root,755) -%attr(755,root,root) %{_sbindir}/ndbd -%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/ndbd +%attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb -%{_mandir}/man1/ndbd_redo_log_reader.1* -%{_mandir}/man8/ndbd.8* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndbd_redo_log_reader.1* +%{_datadir}/mysql/%{mysqlversion}/man/man8/ndbd.8* %files ndb-client %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/ndb_config -%attr(755,root,root) %{_bindir}/ndb_delete_all -%attr(755,root,root) %{_bindir}/ndb_desc -%attr(755,root,root) %{_bindir}/ndb_drop_index -%attr(755,root,root) %{_bindir}/ndb_drop_table -%attr(755,root,root) %{_bindir}/ndb_error_reporter -%attr(755,root,root) %{_bindir}/ndb_mgm -%attr(755,root,root) %{_bindir}/ndb_print_backup_file -%attr(755,root,root) %{_bindir}/ndb_print_schema_file -%attr(755,root,root) %{_bindir}/ndb_print_sys_file -%attr(755,root,root) %{_bindir}/ndb_restore -%attr(755,root,root) %{_bindir}/ndb_select_all -%attr(755,root,root) %{_bindir}/ndb_select_count -%attr(755,root,root) %{_bindir}/ndb_show_tables -%attr(755,root,root) %{_bindir}/ndb_size.pl -%attr(755,root,root) %{_bindir}/ndb_test_platform -%attr(755,root,root) %{_bindir}/ndb_waiter -%{_mandir}/man1/ndb_config.1* -%{_mandir}/man1/ndb_delete_all.1* -%{_mandir}/man1/ndb_desc.1* -%{_mandir}/man1/ndb_drop_index.1* -%{_mandir}/man1/ndb_drop_table.1* -%{_mandir}/man1/ndb_error_reporter.1* -%{_mandir}/man1/ndb_mgm.1* -%{_mandir}/man1/ndb_print_backup_file.1* -%{_mandir}/man1/ndb_print_schema_file.1* -%{_mandir}/man1/ndb_print_sys_file.1* -%{_mandir}/man1/ndb_restore.1* -%{_mandir}/man1/ndb_select_all.1* -%{_mandir}/man1/ndb_select_count.1* -%{_mandir}/man1/ndb_show_tables.1* -%{_mandir}/man1/ndb_size.pl.1* -%{_mandir}/man1/ndb_waiter.1* +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_config +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_delete_all +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_desc +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_index +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_drop_table +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_error_reporter +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_mgm +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_backup_file +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_schema_file +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_print_sys_file +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_restore +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_all +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_select_count +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_show_tables +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_size.pl +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_test_platform +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/ndb_waiter +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_config.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_delete_all.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_desc.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_index.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_drop_table.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_error_reporter.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_mgm.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_backup_file.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_schema_file.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_print_sys_file.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_restore.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_all.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_select_count.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_show_tables.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_size.pl.1* +%{_datadir}/mysql/%{mysqlversion}/man/man1/ndb_waiter.1* %files ndb-mgm %defattr(644,root,root,755) -%attr(755,root,root) %{_sbindir}/ndb_mgmd -%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_mgmd +%attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb-mgm %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm -%{_mandir}/man8/ndb_mgmd.8* +%{_datadir}/mysql/%{mysqlversion}/man/man8/ndb_mgmd.8* %files ndb-cpc %defattr(644,root,root,755) -%attr(755,root,root) %{_sbindir}/ndb_cpcd -%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc +%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/ndb_cpcd +%attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb-cpc %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc -%{_mandir}/man1/ndb_cpcd.1* +%{_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}/*