From a67b37d89d380010f5573ae2449ae05f68bc437d Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Fri, 12 Oct 2018 11:36:29 +0000 Subject: [PATCH] - updated to 5.7.23-23, cleanup patches --- lz4.patch | 59 ------------------------------------------- mysql-bug-91914.patch | 12 +++++++++ mysql-config.patch | 32 ----------------------- mysql-upgrade.patch | 36 -------------------------- mysql.spec | 41 ++++++++++++------------------ 5 files changed, 28 insertions(+), 152 deletions(-) delete mode 100644 lz4.patch create mode 100644 mysql-bug-91914.patch delete mode 100644 mysql-config.patch delete mode 100644 mysql-upgrade.patch diff --git a/lz4.patch b/lz4.patch deleted file mode 100644 index 792e278..0000000 --- a/lz4.patch +++ /dev/null @@ -1,59 +0,0 @@ -this sucks, in .c files they use "lz4" prefix, but in cmake no prefix - -and should really just use pkgconfig - -and it's iconsistent as well! - ---- mysql-5.7.16/cmake/lz4.cmake~ 2016-09-28 20:02:44.000000000 +0300 -+++ mysql-5.7.16/cmake/lz4.cmake 2016-12-12 11:37:18.923456466 +0200 -@@ -17,7 +17,7 @@ - # bundled is the default - - MACRO (FIND_SYSTEM_LZ4) -- FIND_PATH(PATH_TO_LZ4 NAMES lz4frame.h) -+ FIND_PATH(PATH_TO_LZ4 NAMES lz4/lz4frame.h) - FIND_LIBRARY(LZ4_SYSTEM_LIBRARY NAMES lz4) - IF (PATH_TO_LZ4 AND LZ4_SYSTEM_LIBRARY) - SET(SYSTEM_LZ4_FOUND 1) ---- mysql-5.7.16/storage/innobase/os/os0file.cc~ 2016-09-28 20:02:44.000000000 +0300 -+++ mysql-5.7.16/storage/innobase/os/os0file.cc 2016-12-12 12:12:43.810635067 +0200 -@@ -70,7 +70,7 @@ - # include - #endif /* HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE */ - --#include -+#include - #include - - #ifdef UNIV_DEBUG -@@ -8435,7 +8435,7 @@ - #include "fil0fil.h" - #include "os0file.h" - --#include -+#include - #include - - #include ---- mysql-5.7.16/client/dump/compression_lz4_writer.h~ 2016-09-28 20:02:44.000000000 +0300 -+++ mysql-5.7.16/client/dump/compression_lz4_writer.h 2016-12-12 12:17:53.912464632 +0200 -@@ -21,7 +21,7 @@ - #include "i_output_writer.h" - #include "abstract_output_writer_wrapper.h" - #include "i_callable.h" --#include -+#include - #include "base/mutex.h" - #include - ---- mysql-5.7.17/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_lz4.cc~ 2016-11-28 15:32:52.000000000 +0200 -+++ mysql-5.7.17/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_lz4.cc 2016-12-14 16:39:53.124878289 +0200 -@@ -15,7 +15,7 @@ - - #include "gcs_internal_message.h" - #include "gcs_message_stage_lz4.h" --#include -+#include - #include - #include "gcs_logging.h" - #include diff --git a/mysql-bug-91914.patch b/mysql-bug-91914.patch new file mode 100644 index 0000000..ba588ce --- /dev/null +++ b/mysql-bug-91914.patch @@ -0,0 +1,12 @@ +diff -Naur a/regex/CMakeLists.txt b/regex/CMakeLists.txt +--- a/regex/CMakeLists.txt 2018-06-08 09:56:29.000000000 +0000 ++++ b/regex/CMakeLists.txt 2018-08-05 03:30:10.838781267 +0000 +@@ -15,6 +15,8 @@ + + INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + ++INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) ++ + MY_CHECK_C_COMPILER_FLAG("-Wstringop-truncation" HAVE_STRINGOP_TRUNCATION) + IF(HAVE_STRINGOP_TRUNCATION) + ADD_COMPILE_FLAGS( diff --git a/mysql-config.patch b/mysql-config.patch deleted file mode 100644 index ac61f8f..0000000 --- a/mysql-config.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- Percona-Server-5.6.13-rel61.0/scripts/mysql_config.sh~ 2013-10-07 12:25:25.000000000 +0200 -+++ Percona-Server-5.6.13-rel61.0/scripts/mysql_config.sh 2013-10-15 18:17:41.547988430 +0200 -@@ -124,23 +124,23 @@ - for remove in DDBUG_OFF DSAFE_MUTEX DFORCE_INIT_OF_VARS \ - DEXTRA_DEBUG DHAVE_purify O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \ - 'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \ -- unroll2 ip mp restrict -+ unroll2 ip mp restrict 'f[-a-z0-9]*' 'g[-a-z0-9]*' 'm[-a-z0-9]*' - do - # The first option we might strip will always have a space before it because - # we set -I$pkgincludedir as the first option -- cflags=`echo "$cflags"|sed -e "s/ -$remove */ /g"` -+ cflags=`echo "$cflags"|sed -e "s/ \(-$remove *\)\{1,\}/ /g"` - cxxflags=`echo "$cxxflags"|sed -e "s/ -$remove */ /g"` - done - cflags=`echo "$cflags"|sed -e 's/ *\$//'` - cxxflags=`echo "$cxxflags"|sed -e 's/ *\$//'` - - # Same for --libs(_r) --for remove in lmtmalloc static-libcxa i-static static-intel -+for remove in lmtmalloc static-libcxa i-static static-intel 'Wl,-[-a-z0-9,]*' - do - # We know the strings starts with a space -- libs=`echo "$libs"|sed -e "s/ -$remove */ /g"` -- libs_r=`echo "$libs_r"|sed -e "s/ -$remove */ /g"` -- embedded_libs=`echo "$embedded_libs"|sed -e "s/ -$remove */ /g"` -+ libs=`echo "$libs"|sed -e "s/ \(-$remove *\)\{1,\}/ /g"` -+ libs_r=`echo "$libs_r"|sed -e "s/ \(-$remove *\)\{1,\}/ /g"` -+ embedded_libs=`echo "$embedded_libs"|sed -e "s/ \(-$remove *\)\{1,\}/ /g"` - done - - # Strip trailing and ending space if any, and '+' (FIXME why?) diff --git a/mysql-upgrade.patch b/mysql-upgrade.patch deleted file mode 100644 index 397747c..0000000 --- a/mysql-upgrade.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- mysql-5.5.32/client/mysql_upgrade.c.orig 2013-07-01 03:16:34.000000000 +0000 -+++ mysql-5.5.32/client/mysql_upgrade.c 2013-07-09 16:15:08.366178596 +0000 -@@ -35,13 +35,13 @@ - # endif - #endif - --static char mysql_path[FN_REFLEN]; --static char mysqlcheck_path[FN_REFLEN]; -+static char *mysql_path = "/usr/bin/mysql"; -+static char *mysqlcheck_path = "/usr/sbin/mysqlcheck"; - - static my_bool opt_force, opt_verbose, debug_info_flag, debug_check_flag, - opt_systables_only, opt_version_check; - static uint my_end_arg= 0; --static char *opt_user= (char*)"root"; -+static char *opt_user= (char*)"mysql"; - - static DYNAMIC_STRING ds_args; - static DYNAMIC_STRING conn_args; -@@ -923,15 +923,7 @@ - dynstr_append_os_quoted(&ds_args, "--user=", opt_user, NullS); - dynstr_append(&ds_args, " "); - -- /* Find mysql */ -- find_tool(mysql_path, IF_WIN("mysql.exe", "mysql"), self_name); -- -- if (!opt_systables_only) -- { -- /* Find mysqlcheck */ -- find_tool(mysqlcheck_path, IF_WIN("mysqlcheck.exe", "mysqlcheck"), self_name); -- } -- else -+ if (opt_systables_only) - { - printf("The --upgrade-system-tables option was used, databases won't be touched.\n"); - } diff --git a/mysql.spec b/mysql.spec index 825f3e0..c32ad67 100644 --- a/mysql.spec +++ b/mysql.spec @@ -44,7 +44,7 @@ %endif %define rel 1 -%define percona_rel 22 +%define percona_rel 23 %include /usr/lib/rpm/macros.perl Summary: MySQL: a very fast and reliable SQL database engine Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank @@ -55,12 +55,12 @@ Summary(ru.UTF-8): MySQL - быстрый SQL-сервер Summary(uk.UTF-8): MySQL - швидкий SQL-сервер Summary(zh_CN.UTF-8): MySQL数据库服务器 Name: mysql -Version: 5.7.22 +Version: 5.7.23 Release: %{percona_rel}.%{rel} License: GPL + MySQL FLOSS Exception Group: Applications/Databases Source0: https://www.percona.com/downloads/Percona-Server-5.7/LATEST/source/tarball/percona-server-%{version}-%{percona_rel}.tar.gz -# Source0-md5: a0b0488015d3d38a77c093b476452722 +# Source0-md5: 8bf4dca1bd9593803a48c522728ade50 Source100: http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz # Source100-md5: 5cac34f3d78a9d612ca4301abfcbd666 %if %{without system_boost} @@ -82,17 +82,12 @@ Source13: %{name}-client.conf Source14: my.cnf Patch0: mysql-opt.patch Patch1: mysql-versioning.patch - -Patch7: lz4.patch - -Patch11: mysql-upgrade.patch -Patch12: mysql-config.patch -Patch18: mysql-sphinx.patch -Patch19: mysql-chain-certs.patch +Patch2: mysql-sphinx.patch +Patch3: mysql-chain-certs.patch # from fedora -Patch20: mysql-dubious-exports.patch - -Patch24: mysql-cmake.patch +Patch4: mysql-dubious-exports.patch +Patch5: mysql-cmake.patch +Patch6: mysql-bug-91914.patch URL: https://www.percona.com/software/mysql-database/percona-server BuildRequires: bison >= 1.875 BuildRequires: cmake >= 2.8.2 @@ -498,20 +493,16 @@ find . -name CMakeLists.txt -exec sed -i -e 's#perconaserverclient#mysqlclient#g sed -i -e 's#perconaserverclient#mysqlclient#g' libmysql/libmysql.{ver.in,map} scripts/mysql_config.* %patch0 -p1 - +%patch1 -p1 %if %{with sphinx} # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51 mv sphinx-*/mysqlse storage/sphinx -%patch18 -p1 +%patch2 -p1 %endif -%patch1 -p1 - -%patch7 -p1 - -%patch19 -p1 -%patch20 -p1 - -%patch24 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 # to get these files rebuild [ -f sql/sql_yacc.cc ] && %{__rm} sql/sql_yacc.cc @@ -532,8 +523,8 @@ CPPFLAGS="%{rpmcppflags}" \ -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \ -DCMAKE_C_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \ -DCMAKE_CXX_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \ - -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \ - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \ + -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0 -Wno-shadow" \ + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0 -Wno-shadow" \ -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \ -DCURSES_INCLUDE_PATH=/usr/include/ncurses \ %{?with_systemtap:-DENABLE_DTRACE=ON} \ -- 2.46.0