Update to MySQL 5.0.16; kluge around header multilib problem.

This commit is contained in:
Tom Lane 2005-12-10 05:13:43 +00:00 committed by Michal Schorm
parent abac1f7385
commit cae1c674f9
5 changed files with 103 additions and 65 deletions

View File

@ -1 +1 @@
mysql-5.0.15.tar.gz mysql-5.0.16.tar.gz

30
my_config.h Normal file
View File

@ -0,0 +1,30 @@
/*
* Kluge to support multilib installation of both 32- and 64-bit RPMS:
* we need to arrange that header files that appear in both RPMs are
* identical. Hence, this file is architecture-independent and calls
* in an arch-dependent file that will appear in just one RPM.
*
* Note: this may well fail if user tries to use gcc's -I- option.
* But that option is deprecated anyway.
*/
#ifdef __i386__
#include "my_config_i386.h"
#endif
#ifdef __x86_64__
#include "my_config_x86_64.h"
#endif
#ifdef __ia64__
#include "my_config_ia64.h"
#endif
#ifdef __ppc__
#include "my_config_ppc.h"
#endif
#ifdef __ppc64__
#include "my_config_ppc64.h"
#endif
#ifdef __s390__
#include "my_config_s390.h"
#endif
#ifdef __s390x__
#include "my_config_s390x.h"
#endif

View File

@ -14,57 +14,37 @@ with a C-code version. Besides this patch, mysql-libtool.patch
would need to be changed to use either one. would need to be changed to use either one.
diff -Naur mysql-5.0.15.orig/Makefile.am mysql-5.0.15/Makefile.am diff -Naur mysql-5.0.16.orig/Makefile.am mysql-5.0.16/Makefile.am
--- mysql-5.0.15.orig/Makefile.am 2005-10-16 21:27:31.000000000 -0400 --- mysql-5.0.16.orig/Makefile.am 2005-11-14 19:12:31.000000000 -0500
+++ mysql-5.0.15/Makefile.am 2005-11-02 22:56:50.000000000 -0500 +++ mysql-5.0.16/Makefile.am 2005-12-09 18:29:31.000000000 -0500
@@ -97,16 +97,9 @@ @@ -107,8 +107,8 @@
support-files/build-tags
.PHONY: init-db bin-dist
-# Test installation. Ports are configurable from the environment.
+# Test installation. Ports are determined by code in mysql-test-run.sh
-MYSQL_TEST_MANAGER_PORT = 9305
-MYSQL_TEST_MASTER_PORT = 9306
-MYSQL_TEST_SLAVE_PORT = 9308
-MYSQL_TEST_NDB_PORT = 9350
-MYSQL_TEST_RUN_ARGS = --manager-port=$(MYSQL_TEST_MANAGER_PORT) \
- --master_port=$(MYSQL_TEST_MASTER_PORT) \
- --slave_port=$(MYSQL_TEST_SLAVE_PORT) \
- --ndbcluster_port=$(MYSQL_TEST_NDB_PORT)
+MYSQL_TEST_RUN_ARGS = --with-openssl
test: test:
cd mysql-test ; \ cd mysql-test ; \
diff -Naur mysql-5.0.15.orig/mysql-test/mysql-test-run.sh mysql-5.0.15/mysql-test/mysql-test-run.sh - ./mysql-test-run && \
--- mysql-5.0.15.orig/mysql-test/mysql-test-run.sh 2005-10-16 21:27:55.000000000 -0400 - ./mysql-test-run --ps-protocol
+++ mysql-5.0.15/mysql-test/mysql-test-run.sh 2005-11-02 22:55:14.000000000 -0500 + ./mysql-test-run --with-openssl && \
@@ -208,11 +208,24 @@ + ./mysql-test-run --ps-protocol --with-openssl
MASTER_RUNNING=0 test-force:
MASTER1_RUNNING=0 cd mysql-test; \
-MASTER_MYPORT=9306 diff -Naur mysql-5.0.16.orig/mysql-test/mysql-test-run.sh mysql-5.0.16/mysql-test/mysql-test-run.sh
SLAVE_RUNNING=0 --- mysql-5.0.16.orig/mysql-test/mysql-test-run.sh 2005-11-14 19:12:46.000000000 -0500
-SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests +++ mysql-5.0.16/mysql-test/mysql-test-run.sh 2005-12-09 18:34:09.000000000 -0500
-MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves @@ -222,6 +222,16 @@
-NDBCLUSTER_PORT=9350 # an environment variable can be used to control all ports. A small
# number is to be used, 0 - 16 or similar.
#
+# hack to allow 32- and 64-bit tests to run concurrently on same build machine +# hack to allow 32- and 64-bit tests to run concurrently on same build machine
+case `uname -m` in +case `uname -m` in
+ ppc64 | s390x | x86_64) + ppc64 | s390x | x86_64)
+ MASTER_MYPORT=9406 + MTR_BUILD_THREAD=7
+ MASTER_MYPORT1=9407
+ SLAVE_MYPORT=9408 # leave room for 2 masters for cluster tests
+ MYSQL_MANAGER_PORT=9405 # needs to be out of the way of slaves
+ NDBCLUSTER_PORT=9450
+ ;; + ;;
+ *) + *)
+ MASTER_MYPORT=9306 + MTR_BUILD_THREAD=11
+ MASTER_MYPORT1=9307
+ SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests
+ MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves
+ NDBCLUSTER_PORT=9350
+ ;; + ;;
+esac +esac
MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd +
MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log if [ -n "$MTR_BUILD_THREAD" ] ; then
MYSQL_MANAGER_USER=root MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 5 + 10000`
MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2`

View File

@ -1,11 +1,20 @@
Name: mysql Name: mysql
Version: 5.0.15 Version: 5.0.16
Release: 3.1 Release: 1
Summary: MySQL client programs and shared libraries.
License: GPL
Group: Applications/Databases
URL: http://www.mysql.com
# Regression tests take a long time, you can skip 'em with this
%{!?runselftest:%define runselftest 1}
Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz
Source1: mysql.init Source1: mysql.init
Source2: mysql.logrotate Source2: mysql.logrotate
Source3: my.cnf Source3: my.cnf
Source4: scriptstub.c Source4: scriptstub.c
Source5: my_config.h
# Working around perl dependency checking bug in rpm FTTB. Remove later. # Working around perl dependency checking bug in rpm FTTB. Remove later.
Source999: filter-requires-mysql.sh Source999: filter-requires-mysql.sh
Patch1: mysql-libdir.patch Patch1: mysql-libdir.patch
@ -14,11 +23,8 @@ Patch3: mysql-libtool.patch
Patch4: mysql-testing.patch Patch4: mysql-testing.patch
Patch5: mysql-no-atomic.patch Patch5: mysql-no-atomic.patch
Patch6: mysql-rpl_ddl.patch Patch6: mysql-rpl_ddl.patch
URL: http://www.mysql.com
BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRoot: %{_tmppath}/%{name}-%{version}-root
Summary: MySQL client programs and shared libraries.
License: GPL
Group: Applications/Databases
Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig
BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gperf, perl, readline-devel, openssl-devel
BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel
@ -35,7 +41,7 @@ BuildRequires: time
%description %description
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld) client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package and many different client programs and libraries. The base package
contains the MySQL client programs, the client shared libraries, and contains the MySQL client programs, the client shared libraries, and
generic MySQL files. generic MySQL files.
@ -51,11 +57,10 @@ Requires: perl-DBI, perl-DBD-MySQL
Conflicts: MySQL-server Conflicts: MySQL-server
%description server %description server
MySQL is a true multi-user, multi-threaded SQL database server. MySQL MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
is a client/server implementation that consists of a server daemon client/server implementation consisting of a server daemon (mysqld)
(mysqld) and many different client programs and libraries. This and many different client programs and libraries. This package contains
package contains the MySQL server and some accompanying files and the MySQL server and some accompanying files and directories.
directories.
%package devel %package devel
@ -67,9 +72,9 @@ Requires: openssl-devel
Conflicts: MySQL-devel Conflicts: MySQL-devel
%description devel %description devel
MySQL is a true multi-user, multi-threaded SQL database server. This MySQL is a multi-user, multi-threaded SQL database server. This
package contains the libraries and header files that are needed for package contains the libraries and header files that are needed for
developing MySQL applications. developing MySQL client applications.
%package bench %package bench
@ -80,7 +85,7 @@ Requires: %{name} = %{version}-%{release}
Conflicts: MySQL-bench Conflicts: MySQL-bench
%description bench %description bench
MySQL is a true multi-user, multi-threaded SQL database server. This MySQL is a multi-user, multi-threaded SQL database server. This
package contains benchmark scripts and data for use when benchmarking package contains benchmark scripts and data for use when benchmarking
MySQL. MySQL.
@ -136,13 +141,17 @@ gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4}
make %{?_smp_mflags} make %{?_smp_mflags}
make check make check
%if %runselftest
make test make test
%endif
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%makeinstall %makeinstall
install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/ install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -m`.h
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/
mkdir -p $RPM_BUILD_ROOT/var/log mkdir -p $RPM_BUILD_ROOT/var/log
touch $RPM_BUILD_ROOT/var/log/mysqld.log touch $RPM_BUILD_ROOT/var/log/mysqld.log
@ -232,7 +241,7 @@ fi
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc README COPYING %doc README COPYING EXCEPTIONS-CLIENT
%{_bindir}/msql2mysql %{_bindir}/msql2mysql
%{_bindir}/mysql %{_bindir}/mysql
@ -325,13 +334,26 @@ fi
/usr/libexec/* /usr/libexec/*
%{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/msql2mysql.1.gz
%{_mandir}/man1/mysqld.1* %{_mandir}/man1/myisamchk.1.gz
%{_mandir}/man1/myisamlog.1.gz
%{_mandir}/man1/myisampack.1.gz
%{_mandir}/man1/mysql.server.1.gz
%{_mandir}/man1/mysql_config.1.gz
%{_mandir}/man1/mysql_fix_privilege_tables.1* %{_mandir}/man1/mysql_fix_privilege_tables.1*
%{_mandir}/man1/mysql_zap.1*
%{_mandir}/man1/mysqlbinlog.1.gz
%{_mandir}/man1/mysqlcheck.1.gz
%{_mandir}/man1/mysqld.1*
%{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_multi.1*
%{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqld_safe.1*
%{_mandir}/man1/mysqlhotcopy.1.gz
%{_mandir}/man1/mysqlimport.1.gz
%{_mandir}/man1/mysqlman.1.gz
%{_mandir}/man1/mysqlmanager.1.gz
%{_mandir}/man1/perror.1* %{_mandir}/man1/perror.1*
%{_mandir}/man1/replace.1* %{_mandir}/man1/replace.1*
%{_mandir}/man1/safe_mysqld.1*
%dir %{_datadir}/mysql %dir %{_datadir}/mysql
%{_datadir}/mysql/errmsg.txt %{_datadir}/mysql/errmsg.txt
@ -355,6 +377,12 @@ fi
%{_datadir}/sql-bench %{_datadir}/sql-bench
%changelog %changelog
* Fri Dec 9 2005 Tom Lane <tgl@redhat.com> 5.0.16-1
- Update to MySQL 5.0.16
- Add EXCEPTIONS-CLIENT license info to the shipped documentation
- Make my_config.h architecture-independent for multilib installs;
put the original my_config.h into my_config_$ARCH.h
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com> * Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt - rebuilt

View File

@ -1 +1 @@
b19e03de0ec348552b4bfac2e215f335 mysql-5.0.15.tar.gz ecf2ae1d782a8d129af940c15a44f477 mysql-5.0.16.tar.gz