# TODO:
# - C(XX)FLAGS for innodb subdirs are overriden by ./configure!
# - http://bugs.mysql.com/bug.php?id=16470
+# NOTE:
+# - 5.0 Changes: http://dev.mysql.com/doc/refman/5.0/en/news-5-0-x.html
#
# Conditional build:
%bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms
%bcond_without raid # Without raid
%bcond_without ssl # Without OpenSSL
%bcond_without tcpd # Without libwrap (tcp_wrappers) support
+%bcond_without autodeps # BR packages needed only for resolving deps
%bcond_with bdb # Berkeley DB support
%bcond_without sphinx # Sphinx storage engine support
-#
+%bcond_with xtrabackup # XtraBackup
+
%include /usr/lib/rpm/macros.perl
-#define _snap 20060111
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
Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
Summary(zh_CN.UTF-8): MySQL数据库服务器
Name: mysql
-Version: 5.0.67
-Release: 1
+Version: 5.0.96
+Release: 2
License: GPL + MySQL FLOSS Exception
Group: Applications/Databases
-#Source0: ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
-#Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
+# Source0Download: http://dev.mysql.com/downloads/mysql/5.0.html#source
+Source0: ftp://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
+# Source0-md5: bf280949049161aa68cf29e600d9ec79
+#Source0: http://downloads.mysql.com/archives/mysql-5.0/%{name}-%{version}.tar.gz
#Source0: http://mirror.provenscaling.com/mysql/enterprise/source/5.0/%{name}-%{version}.tar.gz
-Source0: http://mysql.he.net/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
-# Source0-md5: 7164483a5ffb8f7aa59b761c13cdbd6e
-Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.7.tar.gz
-# Source100-md5: 32f2b7e98d8485c86108851d52c5cef4
+Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
+# Source100-md5: 7b9b618cb9b378f949bb1b91ddcc4f54
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.logrotate
Source11: %{name}-ndb-cpc.init
Source12: %{name}-ndb-cpc.sysconfig
Source13: %{name}-client.conf
+Source14: percona.sh
+Source15: my.cnf
Patch0: %{name}-libs.patch
Patch1: %{name}-sphinx.patch
Patch2: %{name}-c++.patch
Patch13: %{name}-bug-34192.patch
Patch14: %{name}-bug-16470.patch
Patch15: %{name}-system-users.patch
+Patch16: %{name}-errorlog-no-rename.patch
+Patch18: %{name}-xtrabackup.patch
+Patch19: %{name}hotcopy-5.0-5.5.patch
+Patch21: %{name}-atomic.patch
+Patch22: %{name}-fix-dummy-thread-race-condition.patch
+# ourdelta
+Patch23: big_tables_fixlp284123_fix%{name}35346.patch
+Patch24: bison3.patch
+Patch25: %{name}-sslchain.patch
+Patch26: %{name}-yacc.patch
+# <percona patches, http://www.percona.com/percona-lab.html>
+Patch100: %{name}-show_patches.patch
+Patch101: %{name}-microslow_innodb.patch
+Patch102: %{name}-profiling_slow.patch
+Patch103: %{name}-userstatv2.patch
+Patch104: %{name}-microsec_process.patch
+Patch105: %{name}-innodb_io_patches.patch
+Patch106: %{name}-innodb_locks_held.patch
+Patch107: %{name}-innodb_show_bp.patch
+Patch108: %{name}-innodb_check_fragmentation.patch
+Patch109: %{name}-innodb_io_pattern.patch
+Patch110: %{name}-innodb_fsync_source.patch
+Patch111: %{name}-innodb_show_hashed_memory.patch
+Patch112: %{name}-innodb_dict_size_limit.patch
+Patch113: %{name}-innodb_extra_rseg.patch
+Patch114: %{name}-innodb_thread_concurrency_timer_based.patch
+Patch115: %{name}-innodb_use_sys_malloc.patch
+Patch116: %{name}-innodb_recovery_patches.patch
+Patch117: %{name}-innodb_misc_patch.patch
+Patch118: %{name}-innodb_split_buf_pool_mutex.patch
+Patch119: %{name}-innodb_rw_lock.patch
+# </percona>
URL: http://www.mysql.com/products/database/mysql/community_edition.html
BuildRequires: autoconf
BuildRequires: automake
%{?with_tcpd:BuildRequires: libwrap-devel}
BuildRequires: ncurses-devel >= 4.2
%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
-BuildRequires: perl-DBI
+%{?with_autodeps:BuildRequires: perl-DBI}
BuildRequires: perl-devel >= 1:5.6.1
BuildRequires: readline-devel >= 4.2
BuildRequires: rpm-perlprov >= 4.1-13
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.453
BuildRequires: sed >= 4.0
BuildRequires: texinfo
BuildRequires: zlib-devel
Requires(pre): /usr/sbin/useradd
Requires(triggerpostun): sed >= 4.0
Requires: %{name}-charsets = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
Requires: /usr/bin/setsid
Requires: rc-scripts >= 0.2.0
+Suggests: mysql-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
+Conflicts: logrotate < 3.7-4
+ExcludeArch: alpha
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_sbindir}
%define _localstatedir /var/lib/mysql
%define _mysqlhome /home/services/mysql
-%define _noautoreqdep 'perl(DBD::mysql)'
# CFLAGS for innodb are altered
-%undefine configure_cache
+%unglobal configure_cache
+
+%define filterout_c -Werror=format-security
+
+%define skip_post_check_so libndbclient.so.2.0.0
%description
MySQL is a true multi-user, multi-threaded SQL (Structured Query
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
+
+%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.
+
+See innobackup package to backup InnoDB tables.
+
+%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.
+
+Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie
+innobackup.
+
%package extras
Summary: MySQL additional utilities
Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
Group: Applications/Databases
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)
%description extras-perl
%package libs
Summary: Shared libraries for MySQL
-Summary(pl.UTF-8): Biblioteki dzielone MySQL
+Summary(pl.UTF-8): Biblioteki współdzielone MySQL
Group: Libraries
+Requires: glibc >= 6:2.3.6-15
Obsoletes: libmysql10
Obsoletes: mysql-doc < 4.1.12
Shared libraries for MySQL.
%description libs -l pl.UTF-8
-Biblioteki dzielone MySQL.
+Biblioteki współdzielone MySQL.
%package devel
-Summary: MySQL - Development header files and libraries
-Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
+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 - хедери та бібліотеки програміста
Obsoletes: libmysql10-devel
%description devel
-This package contains the development header files and libraries
+This package contains the development header files and other files
necessary to develop MySQL client applications.
%description devel -l fr.UTF-8
MySQL.
%description devel -l pl.UTF-8
-Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
+Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji
klienckich MySQL.
%description devel -l pt_BR.UTF-8
Ten pakiet zawiera standardowego demona MySQL NDB CPC.
%prep
-%setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
+%setup -q %{?with_sphinx:-a100}
+cp -p %{SOURCE1} .
%patch0 -p1
%if %{with sphinx}
mv sphinx-*/mysqlse sql/sphinx
%patch13 -p1
%patch14 -p1
%patch15 -p1
+%patch16 -p1
+%{?with_xtrabackup:%patch18 -p1}
+%patch19 -p1
+
+# <percona %patches>
+%patch100 -p1
+%patch101 -p1
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
+%patch110 -p1
+%patch111 -p1
+%patch112 -p1
+%patch113 -p1
+%patch114 -p1
+%patch115 -p1
+%patch116 -p1
+%patch117 -p1
+%patch118 -p1
+%patch119 -p1
+# </percona>
+
+%patch21 -p0
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+
+%{__sed} -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.in
%build
%{__libtoolize}
%{__aclocal}
%{__automake}
+%{__autoheader}
%{__autoconf}
# The compiler flags are as per their "official" spec ;)
-CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
-CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
+CXXFLAGS="%{rpmcflags} -fno-implicit-templates -fno-exceptions -fno-rtti"
+CFLAGS="%{rpmcflags}"
+CPPFLAGS="%{rpmcppflags}"
# NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
# and therefore do not add BR on these. These are here just to satisfy
%{__make} \
benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
+%if %{with xtrabackup}
+%{__make} -C innobase/xtrabackup \
+ CC="%{__cc}"
+%endif
+
%{__make} -C Docs mysql.info
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql} \
- $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \
+install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,certs/mysql,skel} \
+ $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
$RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
%if %{with bdb}
libsdir=/tmp
# libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
-install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
+cp -a Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
+install -p mysql.init $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
# This is template for configuration file which is created after 'service mysql init'
-install %{SOURCE4} mysqld.conf
-install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
+cp -a %{SOURCE4} mysqld.conf
+cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
# remove innodb directives from mysqld.conf if mysqld is configured without
-%if !%{with innodb}
- echo "BASE_TABLETYPE=MyISAM" >> $RPM_BUILD_ROOT/etc/sysconfig/mysql
+%if %{without innodb}
cp mysqld.conf mysqld.tmp
awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
%endif
# remove berkeley-db directives from mysqld.conf if mysqld is configured without
-%if !%{with bdb}
+%if %{without bdb}
cp mysqld.conf mysqld.tmp
awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
%endif
+%if %{with sphinx}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/sphinx.a
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/sphinx.la
+# TODO: patch build with -avoid-version
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/sphinx.so.0
+mv $RPM_BUILD_ROOT%{_libdir}/mysql/sphinx.so{.0.0.0,}
+%endif
+
install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
-install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
+cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
+cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/skel/.my.cnf
# NDB
-install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
-install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
-install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
-install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
-install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
-install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
-# remove .txt variants for .sys messages
-rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
+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
mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
+sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
# remove known unpackaged files
rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
+# remove .txt variants for .sys messages
+rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
+
# rename not to be so generic name
-mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}comp_err
mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
-mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}comp_err.1
# not useful without -debug build
%{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
# 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}/mysql/mysqld.sym}
-# functionality in initscript / rpm / other os
+# do not clobber users $PATH
+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
+mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
+
+# functionality in initscript / rpm
rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
+rm $RPM_BUILD_ROOT%{_bindir}/mysql_upgrade_shell
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%{_mandir}/man1/mysql.server*
rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
-rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
+rm $RPM_BUILD_ROOT%{_bindir}/resolveip
+rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
+rm $RPM_BUILD_ROOT%{_bindir}/comp_err
+rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
-rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
# no package for tests
rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1
rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1
+# orphaned manuals
+rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqltest_embedded.1
# in %doc
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
%postun libs -p /sbin/ldconfig
%triggerpostun -- mysql < 4.0.20-2.4
-# For clusters in /etc/mysql/clusters.conf
+# 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/mysql/clusters.conf
+ 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/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
- echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
- echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
+ 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
fi
%triggerpostun -- mysql < 4.1.1
# For better compatibility with prevoius versions:
-for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
+for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
if echo "$config" | grep -q '^/'; then
config_file="$config"
- elif [ -f "/etc/mysql/$config" ]; then
- config_file=/etc/mysql/$config
+ elif [ -f "/etc/%{name}/$config" ]; then
+ config_file=/etc/%{name}/$config
else
- clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
+ 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/mysql/clusters.conf"
+ echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
exit 1
fi
config_file="$clusterdir/mysqld.conf"
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
%attr(754,root,root) /etc/rc.d/init.d/mysql
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
+%dir /etc/certs/mysql
%attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
-%attr(755,root,root) %{_bindir}/innochecksum
-%attr(755,root,root) %{_bindir}/myisamchk
-%attr(755,root,root) %{_bindir}/myisamlog
-%attr(755,root,root) %{_bindir}/myisampack
-%attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables
-%attr(755,root,root) %{_bindir}/my_print_defaults
-%attr(755,root,root) %{_bindir}/mysql_upgrade
-%attr(755,root,root) %{_bindir}/mysql_upgrade_shell
+%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_upgrade
+%attr(755,root,root) %{_sbindir}/mysqlcheck
%attr(755,root,root) %{_sbindir}/mysqld
-%{_mandir}/man1/mysql_fix_privilege_tables.1*
+%if %{with sphinx}
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/sphinx.so
+%endif
+%{_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_upgrade.1*
-%{_mandir}/man1/innochecksum.1*
+%{_mandir}/man1/mysqlcheck.1*
%{_mandir}/man8/mysqld.8*
%if %{?debug:1}0
%endif
%attr(700,mysql,mysql) %{_mysqlhome}
-# root:root is proper here for AC mysql.rpm while mysql:mysql is potential security hole
+# 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/archiv/mysql
+%attr(750,mysql,mysql) %dir /var/log/archive/mysql
%attr(640,mysql,mysql) %ghost /var/log/mysql/*
%{_infodir}/mysql.info*
# This is template for configuration file which is created after 'service mysql init'
%{_datadir}/mysql/mysqld.conf
-
-%{_datadir}/mysql/fill_help_tables.sql
-%{_datadir}/mysql/mysql_fix_privilege_tables.sql
%{_datadir}/mysql/mysql_system_tables.sql
%{_datadir}/mysql/mysql_system_tables_data.sql
%{_datadir}/mysql/mysql_test_data_timezone.sql
%{_datadir}/mysql/english
+%{_datadir}/mysql/fill_help_tables.sql
+%{_datadir}/mysql/mysql_fix_privilege_tables.sql
%lang(cs) %{_datadir}/mysql/czech
%lang(da) %{_datadir}/mysql/danish
%lang(de) %{_datadir}/mysql/german
%attr(755,root,root) %{_bindir}/myisam_ftdump
%attr(755,root,root) %{_bindir}/mysql_secure_installation
%attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
-%attr(755,root,root) %{_bindir}/mysqlcheck
%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_secure_installation.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
-%{_mandir}/man1/mysqlcheck.1*
%{_mandir}/man1/perror.1*
%{_mandir}/man1/replace.1*
-%{_mandir}/man1/resolveip.1*
+
+%files -n mysqlhotcopy
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/mysqlhotcopy
+%{_mandir}/man1/mysqlhotcopy.1*
%files extras-perl
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/mysql_zap
%attr(755,root,root) %{_bindir}/mysqlaccess
%attr(755,root,root) %{_bindir}/mysqldumpslow
-%attr(755,root,root) %{_bindir}/mysqlhotcopy
+%{_mandir}/man1/mysql_convert_table_format.1*
%{_mandir}/man1/mysql_explain_log.1*
-%{_mandir}/man1/mysql_zap.1*
-%{_mandir}/man1/mysqlaccess.1*
-%{_mandir}/man1/mysqlhotcopy.1*
+%{_mandir}/man1/mysql_find_rows.1*
+%{_mandir}/man1/mysql_fix_extensions.1*
%{_mandir}/man1/mysql_setpermission.1*
%{_mandir}/man1/mysql_tableinfo.1*
-%{_mandir}/man1/mysql_fix_extensions.1*
-%{_mandir}/man1/mysql_find_rows.1*
-%{_mandir}/man1/mysql_convert_table_format.1*
+%{_mandir}/man1/mysql_zap.1*
+%{_mandir}/man1/mysqlaccess.1*
+%{_mandir}/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}/mysqldump
%attr(755,root,root) %{_bindir}/mysqlimport
-%attr(755,root,root) %{_sbindir}/mysqlmanager*
%attr(755,root,root) %{_bindir}/mysqlshow
-%attr(755,root,root) %{_bindir}/mysqlbinlog
-%attr(755,root,root) %{_bindir}/mysqladmin
+%attr(755,root,root) %{_sbindir}/mysqlmanager
%{_mandir}/man1/mysql.1*
%{_mandir}/man1/mysqladmin.1*
-%{_mandir}/man1/mysqldump.1*
-%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlbinlog.1*
+%{_mandir}/man1/mysqlbug.1*
+%{_mandir}/man1/mysqldump.1*
%{_mandir}/man1/mysqlimport.1*
-%{_mandir}/man1/mysqlmanager*.1*
+%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man8/mysqlmanager.8*
%files libs
%defattr(644,root,root,755)
-%doc EXCEPTIONS-CLIENT
+%attr(751,root,root) %dir %{_sysconfdir}/mysql
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
%attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*
-%attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
-%attr(755,root,root) %{_libdir}/libndbclient.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.15
+%attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.15
+%attr(755,root,root) %{_libdir}/libndbclient.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libndbclient.so.2
-%attr(751,root,root) %dir %{_sysconfdir}/mysql
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/mysql_config
-%attr(755,root,root) %{_libdir}/lib*.so
-%attr(755,root,root) %{_bindir}/*comp_err
-%{_libdir}/lib*.la
-%{_libdir}/lib*[!tr].a
+%attr(755,root,root) %{_libdir}/libmysqlclient.so
+%attr(755,root,root) %{_libdir}/libmysqlclient_r.so
+%attr(755,root,root) %{_libdir}/libndbclient.so
+%{_libdir}/libmysqlclient.la
+%{_libdir}/libmysqlclient_r.la
+%{_libdir}/libndbclient.la
+# static-only
+%{_libdir}/libdbug.a
+%{_libdir}/libheap.a
+%{_libdir}/libmyisam.a
+%{_libdir}/libmyisammrg.a
+%{_libdir}/libmysqld.a
+%{_libdir}/libmystrings.a
+%{_libdir}/libmysys.a
+%{_libdir}/libvio.a
%{_includedir}/mysql
%{_mandir}/man1/mysql_config.1*
-%{_mandir}/man1/*comp_err.1*
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*[tr].a
+%{_libdir}/libmysqlclient.a
+%{_libdir}/libmysqlclient_r.a
+%{_libdir}/libndbclient.a
%files bench
%defattr(644,root,root,755)
# wrong dir?
%{_datadir}/mysql/mi_test_all.res
%attr(755,root,root) %{_datadir}/mysql/mi_test_all
-%{_mandir}/man1/mysqlbug.1*
-%{_mandir}/man1/mysqltest*.1*
%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/mysqltest.1*
#%files doc
#%defattr(644,root,root,755)
%files ndb-client
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ndb_*
+%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_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
%attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
-%{_mandir}/man1/ndb_*.1*
-%exclude %{_mandir}/man8/ndb_mgmd.8*
+%{_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_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*
%files ndb-mgm
%defattr(644,root,root,755)