# 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.91
-Release: 2
+Version: 5.0.96
+Release: 6
License: GPL + MySQL FLOSS Exception
Group: Applications/Databases
-#Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
-Source0: http://downloads.mysql.com/archives/mysql-5.0/%{name}-%{version}.tar.gz
-# Source0-md5: e28f93b1a1b10b028135c1d51bbd4c46
-#Source0: http://mysql.he.net/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
Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
# Source100-md5: 7b9b618cb9b378f949bb1b91ddcc4f54
Patch15: %{name}-system-users.patch
Patch16: %{name}-errorlog-no-rename.patch
Patch18: %{name}-xtrabackup.patch
-Patch19: %{name}-fixes.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
+Patch27: community-mysql-dh1024.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>
-%patch19 -p1
%patch21 -p0
%patch22 -p1
%patch23 -p1
%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -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}}
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
cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/skel/.my.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/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
%attr(755,root,root) %{_sbindir}/mysql_upgrade
%attr(755,root,root) %{_sbindir}/mysqlcheck
%attr(755,root,root) %{_sbindir}/mysqld
+%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*
%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.*.*