From 5e9f498a9837ae8708ef80019f745d3a49118ee6 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 7 Sep 2016 09:38:53 +0200 Subject: [PATCH] Update to MySQL 5.7.15 --- community-mysql-5.7.14-buf-align.patch | 26 ------ community-mysql-5.7.14-lz4.patch | 123 ------------------------- community-mysql.spec | 32 +++++-- sources | 2 +- 4 files changed, 27 insertions(+), 156 deletions(-) delete mode 100644 community-mysql-5.7.14-buf-align.patch delete mode 100644 community-mysql-5.7.14-lz4.patch diff --git a/community-mysql-5.7.14-buf-align.patch b/community-mysql-5.7.14-buf-align.patch deleted file mode 100644 index 3c9de9a..0000000 --- a/community-mysql-5.7.14-buf-align.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/storage/innobase/buf/buf0buf.cc -+++ b/storage/innobase/buf/buf0buf.cc -@@ -3855,14 +3855,17 @@ buf_block_from_ahi(const byte* ptr) - ut_ad(buf_chunk_map_ref == buf_chunk_map_reg); - ut_ad(!buf_pool_resizing); - -- const byte* bound = reinterpret_cast(ptr) -- > srv_buf_pool_chunk_unit -- ? ptr - srv_buf_pool_chunk_unit : 0; -- it = chunk_map->upper_bound(bound); -+ buf_chunk_t* chunk; -+ it = chunk_map->upper_bound(ptr); -+ -+ ut_a(it != chunk_map->begin()); - -- ut_a(it != chunk_map->end()); -+ if (it == chunk_map->end()) { -+ chunk = chunk_map->rbegin()->second; -+ } else { -+ chunk = (--it)->second; -+ } - -- buf_chunk_t* chunk = it->second; - ulint offs = ptr - chunk->blocks->frame; - - offs >>= UNIV_PAGE_SIZE_SHIFT; diff --git a/community-mysql-5.7.14-lz4.patch b/community-mysql-5.7.14-lz4.patch deleted file mode 100644 index 784c4da..0000000 --- a/community-mysql-5.7.14-lz4.patch +++ /dev/null @@ -1,123 +0,0 @@ - -Problem: The fix for bug #23607230 used xxhash symbols from liblz4, -but even though the xxhash symbols are exported by liblz4, the header -file is not part of the API, so compilation fails when building with -WITH_LZ4=system. - -Fix: Build xxhash separately from liblz4 so that it's available both -when using system and bundled lz4 libraries. ---- - extra/lz4/my_xxhash.h | 27 +++++++++++++++++++++++++++ - libmysqld/CMakeLists.txt | 6 ++++++ - sql/CMakeLists.txt | 6 ++++++ - sql/rpl_write_set_handler.cc | 4 ++-- - 4 files changed, 41 insertions(+), 2 deletions(-) - create mode 100644 extra/lz4/my_xxhash.h - -diff --git a/extra/lz4/my_xxhash.h b/extra/lz4/my_xxhash.h -new file mode 100644 -index 0000000..699c1b5 ---- /dev/null -+++ b/extra/lz4/my_xxhash.h -@@ -0,0 +1,27 @@ -+#ifndef MY_XXHASH_H_INCLUDED -+#define MY_XXHASH_H_INCLUDED -+ -+/* -+ Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; version 2 of the License. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software Foundation, -+ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA -+*/ -+ -+// Define a namespace prefix to all xxhash functions. This is done to -+// avoid conflict with xxhash symbols in liblz4. -+#define XXH_NAMESPACE MY_ -+ -+#include "xxhash.h" -+ -+#endif // MY_XXHASH_H_INCLUDED -diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt -index cb188ec..0093f2e 100644 ---- a/libmysqld/CMakeLists.txt -+++ b/libmysqld/CMakeLists.txt -@@ -62,6 +62,7 @@ SET(SQL_EMBEDDED_SOURCES - libmysqld.c - ${GEN_SOURCES} - ${GEN_YACC_SOURCES} -+ ../extra/lz4/xxhash.c - ../client/get_password.c - ../libmysql/errmsg.c - ../libmysql/libmysql.c -@@ -118,6 +119,11 @@ ADD_COMPILE_FLAGS( - COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} - ) - -+ADD_COMPILE_FLAGS( -+ ../extra/lz4/xxhash.c -+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ -+) -+ - # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD - # The flag /bigobj is not added if the build is not /MD - IF(WIN32 AND CMAKE_SIZEOF_VOID_P MATCHES 8) -diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt -index 50352b1..ea42ff5 100644 ---- a/sql/CMakeLists.txt -+++ b/sql/CMakeLists.txt -@@ -254,6 +254,7 @@ SET(SQL_SOURCE - ${GEN_DIGEST_SOURCES} - ${CONF_SOURCES} - ${SQL_SHARED_SOURCES} -+ ../extra/lz4/xxhash.c - ../libmysql/errmsg.c - ../sql-common/client.c - ../sql-common/client_plugin.c -@@ -314,6 +315,11 @@ ADD_COMPILE_FLAGS( - COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} - ) - -+ADD_COMPILE_FLAGS( -+ ../extra/lz4/xxhash.c -+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ -+) -+ - # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD - # The flag /bigobj is not added if the build is not WINDOWS_RUNTIME_MD (/MD) - IF(WINDOWS_RUNTIME_MD AND CMAKE_SIZEOF_VOID_P MATCHES 8) -diff --git a/sql/rpl_write_set_handler.cc b/sql/rpl_write_set_handler.cc -index 3897321..c7e778e 100644 ---- a/sql/rpl_write_set_handler.cc -+++ b/sql/rpl_write_set_handler.cc -@@ -23,7 +23,7 @@ - #include "table.h" // TABLE - - #include "my_murmur3.h" // murmur3_32 --#include "xxhash.h" // xxHash -+#include "../extra/lz4/my_xxhash.h" // xxHash - - #include - #include -@@ -61,7 +61,7 @@ template uint64 calc_hash(ulong algorithm, type T) - if(algorithm == HASH_ALGORITHM_MURMUR32) - return (murmur3_32((const uchar*)T, strlen(T), 0)); - else -- return (XXH64((const uchar*)T, strlen(T), 0)); -+ return (MY_XXH64((const uchar*)T, strlen(T), 0)); - } - - /** --- -2.1.0 - - diff --git a/community-mysql.spec b/community-mysql.spec index 10667f2..be20d7a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.14 +Version: 5.7.15 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -120,8 +120,6 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-5.7.14-lz4.patch -Patch54: %{pkgnamepatch}-5.7.14-buf-align.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -159,6 +157,7 @@ BuildRequires: perl(File::Temp) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) +BuildRequires: perl(JSON) BuildRequires: perl(Memoize) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) @@ -354,6 +353,7 @@ Requires: perl(File::Temp) Requires: perl(Data::Dumper) Requires: perl(Getopt::Long) Requires: perl(IPC::Open3) +Requires: perl(JSON) Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) @@ -381,8 +381,6 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 -%patch54 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -670,7 +668,7 @@ cp ../../mysql-test/%{skiplist} . export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ --mem --parallel=auto --force --retry=0 \ - --mysqld=--binlog-format=mixed \ + --mysqld=--binlog-format=mixed --skip-rpl \ --suite-timeout=720 --testcase-timeout=30 \ --clean-vardir \ %if %{check_testsuite} @@ -945,6 +943,28 @@ fi %endif %changelog +* Tue Sep 06 2016 Norvald H. Ryeng - 5.7.15-1 +- Update to MySQL 5.7.15, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html +- Remove patches now upstream (buf_block_align, lz4) +- perl(JSON) needed for tests + +* Wed Aug 10 2016 Norvald H. Ryeng - 5.7.14-2 +- Skip rpl tests, unstable in Fedora build environment + +* Tue Aug 09 2016 Norvald H. Ryeng - 5.7.14-1 +- Update to MySQL 5.7.14, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-14.html +- Remove patches for bugs fixed upstream +- Fix for bug #79378 (buf_block_align) +- Fix for bug #82426 (build failure with system liblz4) +- Further reduce list of tests known to fail on certain platforms +- Set check_testsuite to 0 to make sure the build fails if any tests fail + +* Wed Jul 13 2016 Norvald H. Ryeng - 5.7.13-1 +- Update to MySQL 5.7.13, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-13.html + * Mon Jun 27 2016 Pavel Raiskup - 5.7.12-2 - BR multilib-rpm-config and use it for multilib workarounds diff --git a/sources b/sources index a3b3924..858508c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f90464874ee635ff63c436d1b64fe311 mysql-boost-5.7.14.tar.gz +21112d90f83987e731cb0ea02cd5f517 mysql-boost-5.7.15.tar.gz