# 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
Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
Summary(zh_CN.UTF-8): MySQL数据库服务器
Name: mysql
-Version: 5.0.92
-Release: 1
+Version: 5.0.96
+Release: 2
License: GPL + MySQL FLOSS Exception
Group: Applications/Databases
+# 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: a72ee3d1d54bff74836de9500858a311
+# 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
Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
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_fixmysql35346.patch
-Patch24: mysql.init.patch
+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
Patch117: %{name}-innodb_misc_patch.patch
Patch118: %{name}-innodb_split_buf_pool_mutex.patch
Patch119: %{name}-innodb_rw_lock.patch
-Patch120: %{name}-mysql-test.patch
# </percona>
URL: http://www.mysql.com/products/database/mysql/community_edition.html
BuildRequires: autoconf
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
%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
%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
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
%patch15 -p1
%patch16 -p1
%{?with_xtrabackup:%patch18 -p1}
+%patch19 -p1
# <percona %patches>
%patch100 -p1
%patch117 -p1
%patch118 -p1
%patch119 -p1
-%patch120 -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}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,ssl/certs/mysql,skel} \
+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}}
%endif
%if %{with sphinx}
-rm -f $RPM_BUILD_ROOT/usr/lib/mysql/sphinx.a
-rm -f $RPM_BUILD_ROOT/usr/lib/mysql/sphinx.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/sphinx.a
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/sphinx.la
# TODO: patch build with -avoid-version
-rm -f $RPM_BUILD_ROOT/usr/lib/mysql/sphinx.so.0
-mv -f $RPM_BUILD_ROOT/usr/lib/mysql/sphinx.so{.0.0.0,}
+%{__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
%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/ssl/certs/mysql
+%dir /etc/certs/mysql
%attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
%attr(755,root,root) %{_sbindir}/innochecksum
%attr(755,root,root) %{_sbindir}/my_print_defaults