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.
diff -Naur mysql-5.0.15.orig/Makefile.am mysql-5.0.15/Makefile.am
--- mysql-5.0.15.orig/Makefile.am 2005-10-16 21:27:31.000000000 -0400
+++ mysql-5.0.15/Makefile.am 2005-11-02 22:56:50.000000000 -0500
@@ -97,16 +97,9 @@
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
diff -Naur mysql-5.0.16.orig/Makefile.am mysql-5.0.16/Makefile.am
--- mysql-5.0.16.orig/Makefile.am 2005-11-14 19:12:31.000000000 -0500
+++ mysql-5.0.16/Makefile.am 2005-12-09 18:29:31.000000000 -0500
@@ -107,8 +107,8 @@
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-5.0.15.orig/mysql-test/mysql-test-run.sh 2005-10-16 21:27:55.000000000 -0400
+++ mysql-5.0.15/mysql-test/mysql-test-run.sh 2005-11-02 22:55:14.000000000 -0500
@@ -208,11 +208,24 @@
- ./mysql-test-run && \
- ./mysql-test-run --ps-protocol
+ ./mysql-test-run --with-openssl && \
+ ./mysql-test-run --ps-protocol --with-openssl
MASTER_RUNNING=0
MASTER1_RUNNING=0
-MASTER_MYPORT=9306
SLAVE_RUNNING=0
-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
test-force:
cd mysql-test; \
diff -Naur mysql-5.0.16.orig/mysql-test/mysql-test-run.sh mysql-5.0.16/mysql-test/mysql-test-run.sh
--- mysql-5.0.16.orig/mysql-test/mysql-test-run.sh 2005-11-14 19:12:46.000000000 -0500
+++ mysql-5.0.16/mysql-test/mysql-test-run.sh 2005-12-09 18:34:09.000000000 -0500
@@ -222,6 +222,16 @@
# 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
+case `uname -m` in
+ ppc64 | s390x | x86_64)
+ MASTER_MYPORT=9406
+ 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
+ MTR_BUILD_THREAD=7
+ ;;
+ *)
+ MASTER_MYPORT=9306
+ 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
+ MTR_BUILD_THREAD=11
+ ;;
+esac
MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd
MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log
MYSQL_MANAGER_USER=root
+
if [ -n "$MTR_BUILD_THREAD" ] ; then
MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 5 + 10000`
MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2`

View File

@ -1,11 +1,20 @@
Name: mysql
Version: 5.0.15
Release: 3.1
Version: 5.0.16
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
Source1: mysql.init
Source2: mysql.logrotate
Source3: my.cnf
Source4: scriptstub.c
Source5: my_config.h
# Working around perl dependency checking bug in rpm FTTB. Remove later.
Source999: filter-requires-mysql.sh
Patch1: mysql-libdir.patch
@ -14,11 +23,8 @@ Patch3: mysql-libtool.patch
Patch4: mysql-testing.patch
Patch5: mysql-no-atomic.patch
Patch6: mysql-rpl_ddl.patch
URL: http://www.mysql.com
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
BuildRequires: gperf, perl, readline-devel, openssl-devel
BuildRequires: gcc-c++, ncurses-devel, zlib-devel
@ -35,7 +41,7 @@ BuildRequires: time
%description
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
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
generic MySQL files.
@ -51,11 +57,10 @@ Requires: perl-DBI, perl-DBD-MySQL
Conflicts: MySQL-server
%description server
MySQL is a true multi-user, multi-threaded SQL database server. MySQL
is a client/server implementation that consists of a server daemon
(mysqld) and many different client programs and libraries. This
package contains the MySQL server and some accompanying files and
directories.
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package contains
the MySQL server and some accompanying files and directories.
%package devel
@ -67,9 +72,9 @@ Requires: openssl-devel
Conflicts: MySQL-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
developing MySQL applications.
developing MySQL client applications.
%package bench
@ -80,7 +85,7 @@ Requires: %{name} = %{version}-%{release}
Conflicts: MySQL-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
MySQL.
@ -136,13 +141,17 @@ gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4}
make %{?_smp_mflags}
make check
make test
%if %runselftest
make test
%endif
%install
rm -rf $RPM_BUILD_ROOT
%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
touch $RPM_BUILD_ROOT/var/log/mysqld.log
@ -232,7 +241,7 @@ fi
%files
%defattr(-,root,root)
%doc README COPYING
%doc README COPYING EXCEPTIONS-CLIENT
%{_bindir}/msql2mysql
%{_bindir}/mysql
@ -325,13 +334,26 @@ fi
/usr/libexec/*
%{_mandir}/man1/mysql_zap.1*
%{_mandir}/man1/mysqld.1*
%{_mandir}/man1/msql2mysql.1.gz
%{_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_zap.1*
%{_mandir}/man1/mysqlbinlog.1.gz
%{_mandir}/man1/mysqlcheck.1.gz
%{_mandir}/man1/mysqld.1*
%{_mandir}/man1/mysqld_multi.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/replace.1*
%{_mandir}/man1/safe_mysqld.1*
%dir %{_datadir}/mysql
%{_datadir}/mysql/errmsg.txt
@ -355,6 +377,12 @@ fi
%{_datadir}/sql-bench
%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>
- rebuilt

View File

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