diff options
| author | Remi Collet <fedora@famillecollet.com> | 2011-02-07 19:35:09 +0100 | 
|---|---|---|
| committer | Remi Collet <fedora@famillecollet.com> | 2011-02-07 19:35:09 +0100 | 
| commit | 42f6b501f74be018842a560a4a1daad888a4d12f (patch) | |
| tree | 43dd31061fafc83e40730349c5d5563a0cd0004e | |
| parent | e04b6e74d7f6b494fc235e1a81937370e54834e9 (diff) | |
mysql 5.5.8, sync with rawhide (latest patches)
| -rw-r--r-- | mysql-5.5-disable-test.patch | 9 | ||||
| -rw-r--r-- | mysql-dev.spec | 52 | ||||
| -rw-r--r-- | mysql-embedded-crash.patch | 19 | ||||
| -rw-r--r-- | mysql-home.patch | 16 | ||||
| -rw-r--r-- | mysql-plugin-bool.patch | 42 | ||||
| -rw-r--r-- | mysql-s390-tsc.patch | 41 | 
6 files changed, 170 insertions, 9 deletions
diff --git a/mysql-5.5-disable-test.patch b/mysql-5.5-disable-test.patch index 03ee4f0..2719353 100644 --- a/mysql-5.5-disable-test.patch +++ b/mysql-5.5-disable-test.patch @@ -12,11 +12,15 @@ Also disable perfschema.binlog_mix and perfschema.binlog_row, which have  expected output that doesn't match when openssl is in use.  Upstream at  http://bugs.mysql.com/bug.php?id=59091 +Also disable gis, which expects the results of floating-point calculations +to match to seventeen digits precision everywhere.  Of course they won't. +Upstream at http://bugs.mysql.com/bug.php?id=59908 +  diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/disabled.def  --- mysql-5.5.8.orig/mysql-test/t/disabled.def	2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/mysql-test/t/disabled.def	2010-12-21 11:03:07.288224692 -0500 -@@ -19,3 +19,8 @@ ++++ mysql-5.5.8/mysql-test/t/disabled.def	2011-02-03 11:10:31.325627589 -0500 +@@ -19,3 +19,9 @@   sum_distinct-big         : Bug#56927 2010-11-15 mattiasj was not tested   alter_table-big          : Bug#37248 2010-11-15 mattiasj was not tested   create-big               : Bug#37248 2010-11-15 mattiasj was not tested @@ -25,3 +29,4 @@ diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/d  +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory  +perfschema.binlog_mix    : bug#59091 fails with openssl  +perfschema.binlog_row    : bug#59091 fails with openssl ++gis                      : bug#59908 has platform-dependent results diff --git a/mysql-dev.spec b/mysql-dev.spec index 238d509..3f82588 100644 --- a/mysql-dev.spec +++ b/mysql-dev.spec @@ -1,6 +1,6 @@  Name: mysql  Version: 5.5.8 -Release: 3%{?dist} +Release: 9%{?dist}  Summary: MySQL client programs and shared libraries  Group: Applications/Databases  URL: http://www.mysql.com @@ -40,6 +40,10 @@ Patch6: mysql-chain-certs.patch  Patch7: mysql-versioning.patch  Patch8: mysql-dubious-exports.patch  Patch9: mysql-5.5-disable-test.patch +Patch10: mysql-embedded-crash.patch +Patch11: mysql-home.patch +Patch12: mysql-plugin-bool.patch +Patch13: mysql-s390-tsc.patch  # RC patch for backports  Patch21: mysql-5.5-readline.patch @@ -52,10 +56,10 @@ BuildRequires: systemtap-sdt-devel >= 1.3  %endif  # make test requires time and ps  BuildRequires: time procps -# Socket is needed to run regression tests -BuildRequires: perl(Socket) +# Socket and Time::HiRes are needed to run regression tests +BuildRequires: perl(Socket), perl(Time::HiRes)  # This is required old EL4 -BuildRequires: perl(Time::HiRes), bison +BuildRequires: bison  Requires: grep, fileutils  Requires: %{name}-libs = %{version}-%{release} @@ -66,8 +70,9 @@ Conflicts: MySQL  # mysql-cluster used to be built from this SRPM, but no more  Obsoletes: mysql-cluster < 5.1.44 -# Working around perl dependency checking bug in rpm FTTB. Remove later. +# When rpm 4.9 is universal, this could be cleaned up:  %global __perl_requires %{SOURCE999} +%global __perllib_requires %{SOURCE999}  %description  MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -193,6 +198,10 @@ sed -i -e '/SHARED_LIB_MAJOR_VERSION/s/16/161/' cmake/mysql_version.cmake  %patch7 -p1  %patch8 -p1  %patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1  # Backports specific patches  %patch21 -p1 -b .readline @@ -225,8 +234,7 @@ CFLAGS="$CFLAGS -fPIC"  %ifarch sparc sparcv9 sparc64  CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `  %endif -# extra C++ flags as per recommendations in mysql's INSTALL-SOURCE doc -CXXFLAGS="$CFLAGS -felide-constructors -fno-rtti -fno-exceptions" +CXXFLAGS="$CFLAGS"  export CFLAGS CXXFLAGS  # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX @@ -647,6 +655,36 @@ fi  %{_mandir}/man1/mysql_client_test.1*  %changelog +* Mon Feb 07 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.8-9 +- sync with rawhide + +* Fri Feb  4 2011 Tom Lane <tgl@redhat.com> 5.5.8-9 +- Support s390/s390x in performance schema's cycle-counting functions +  (needed to make regression tests pass on these platforms) + +* Thu Feb  3 2011 Tom Lane <tgl@redhat.com> 5.5.8-8 +- PPC64 floating-point differences are not masked by -ffloat-store after all, +  so let's just disable gis regression test till upstream makes it less picky +Resolves: #674253 +- Add __perllib_requires setting to make rpm 4.9 do what we need + +* Wed Feb  2 2011 Tom Lane <tgl@redhat.com> 5.5.8-7 +- Work around some portability issues on PPC64 +Resolves: #674253 + +* Thu Jan 20 2011 Tom Lane <tgl@redhat.com> 5.5.8-6 +- Remove no-longer-needed special switches in CXXFLAGS, per yesterday's +  discussion in fedora-devel about -fexceptions. +- Rebuild needed anyway to check compatibility with latest systemtap. + +* Thu Jan 13 2011 Tom Lane <tgl@redhat.com> 5.5.8-5 +- Fix failure to honor MYSQL_HOME environment variable +Resolves: #669364 + +* Thu Jan 13 2011 Tom Lane <tgl@redhat.com> 5.5.8-4 +- Fix crash during startup of embedded mysqld library +Resolves: #667365 +  * Sat Jan 08 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.8-3  - sync with rawhide diff --git a/mysql-embedded-crash.patch b/mysql-embedded-crash.patch new file mode 100644 index 0000000..b445fce --- /dev/null +++ b/mysql-embedded-crash.patch @@ -0,0 +1,19 @@ +Fix crash in embedded mysql library when mysql_library_init() is invoked +with argc = 0, as is supposed to be a supported thing to do. +Patch from upstream bug #57931. + + +diff -Naur mysql-5.5.8.orig/libmysqld/lib_sql.cc mysql-5.5.8/libmysqld/lib_sql.cc +--- mysql-5.5.8.orig/libmysqld/lib_sql.cc	2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/libmysqld/lib_sql.cc	2011-01-12 23:10:55.837471629 -0500 +@@ -510,8 +510,8 @@ +     return 1; +   defaults_argc= *argcp; +   defaults_argv= *argvp; +-  remaining_argc= argc; +-  remaining_argv= argv; ++  remaining_argc= *argcp; ++  remaining_argv= *argvp; +  +   /* Must be initialized early for comparison of options name */ +   system_charset_info= &my_charset_utf8_general_ci; diff --git a/mysql-home.patch b/mysql-home.patch new file mode 100644 index 0000000..054d389 --- /dev/null +++ b/mysql-home.patch @@ -0,0 +1,16 @@ +mysql 5.5's new cmake-based build scripts forgot about defining +DEFAULT_HOME_ENV.  Upstream at http://bugs.mysql.com/bug.php?id=59280 + + +diff -Naur mysql-5.5.8.orig/mysys/CMakeLists.txt mysql-5.5.8/mysys/CMakeLists.txt +--- mysql-5.5.8.orig/mysys/CMakeLists.txt	2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/mysys/CMakeLists.txt	2011-01-13 11:58:42.583471734 -0500 +@@ -69,6 +69,8 @@ +  SET(MYSYS_SOURCES ${MYSYS_SOURCES} my_port.c) + ENDIF() +  ++ADD_DEFINITIONS( -DDEFAULT_HOME_ENV=MYSQL_HOME) ++ + ADD_CONVENIENCE_LIBRARY(mysys ${MYSYS_SOURCES}) + TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY}  +  ${LIBNSL} ${LIBM} ${LIBRT}) diff --git a/mysql-plugin-bool.patch b/mysql-plugin-bool.patch new file mode 100644 index 0000000..a8458f4 --- /dev/null +++ b/mysql-plugin-bool.patch @@ -0,0 +1,42 @@ +Fix plugin boolean variables to receive the value "1", not "-1", when they +are set to 1.  Aside from being bizarre, the existing behavior is unportable: +machines where char is unsigned print "255" instead.  Filed upstream at +http://bugs.mysql.com/bug.php?id=59905 + + +diff -Naur mysql-5.5.8.orig/sql/sql_plugin.cc mysql-5.5.8/sql/sql_plugin.cc +--- mysql-5.5.8.orig/sql/sql_plugin.cc	2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/sql/sql_plugin.cc	2011-02-01 20:34:10.218305349 -0500 +@@ -2024,7 +2024,7 @@ +       goto err; +     result= (int) tmp; +   } +-  *(my_bool *) save= -result; ++  *(my_bool *) save= result ? true : false; +   return 0; + err: +   return 1; +diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result +--- mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result	2010-12-03 12:58:25.000000000 -0500 ++++ mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result	2011-02-01 21:53:20.006302245 -0500 +@@ -45,7 +45,7 @@ + ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL + select @@global.rpl_semi_sync_master_enabled; + @@global.rpl_semi_sync_master_enabled +--1 ++1 + select @@session.rpl_semi_sync_master_enabled; + ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable + show global variables like 'rpl_semi_sync_master_enabled'; +diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result +--- mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result	2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result	2011-02-01 21:53:59.689249491 -0500 +@@ -45,7 +45,7 @@ + ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL + select @@global.rpl_semi_sync_slave_enabled; + @@global.rpl_semi_sync_slave_enabled +--1 ++1 + select @@session.rpl_semi_sync_slave_enabled; + ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable + show global variables like 'rpl_semi_sync_slave_enabled'; diff --git a/mysql-s390-tsc.patch b/mysql-s390-tsc.patch new file mode 100644 index 0000000..00811a4 --- /dev/null +++ b/mysql-s390-tsc.patch @@ -0,0 +1,41 @@ +Support s390/s390x in performance schema's cycle-counting functions. +Filed upstream at http://bugs.mysql.com/bug.php?id=59953 + + +diff -Naur mysql-5.5.8.orig/include/my_rdtsc.h mysql-5.5.8/include/my_rdtsc.h +--- mysql-5.5.8.orig/include/my_rdtsc.h	2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/my_rdtsc.h	2011-02-04 11:16:45.431459913 -0500 +@@ -124,6 +124,7 @@ + #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME      25 + #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 + #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64       27 ++#define MY_TIMER_ROUTINE_ASM_S390                28 +  + #endif +  +diff -Naur mysql-5.5.8.orig/mysys/my_rdtsc.c mysql-5.5.8/mysys/my_rdtsc.c +--- mysql-5.5.8.orig/mysys/my_rdtsc.c	2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/mysys/my_rdtsc.c	2011-02-04 11:16:45.432465577 -0500 +@@ -224,6 +224,13 @@ +     clock_gettime(CLOCK_SGI_CYCLE, &tp); +     return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; +   } ++#elif defined(__GNUC__) && defined(__s390__) ++  /* covers both s390 and s390x */ ++  { ++    ulonglong result; ++    __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); ++    return result; ++  } + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) +   /* gethrtime may appear as either cycle or nanosecond counter */ +   return (ulonglong) gethrtime(); +@@ -533,6 +540,8 @@ +   mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; + #elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) +   mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE; ++#elif defined(__GNUC__) && defined(__s390__) ++  mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390; + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) +   mti->cycles.routine= MY_TIMER_ROUTINE_GETHRTIME; + #else  | 
