+++ /dev/null
-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 <linux/falloc.h>
- #endif /* HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE */
-
--#include <lz4.h>
-+#include <lz4/lz4.h>
- #include <zlib.h>
-
- #ifdef UNIV_DEBUG
-@@ -8435,7 +8435,7 @@
- #include "fil0fil.h"
- #include "os0file.h"
-
--#include <lz4.h>
-+#include <lz4/lz4.h>
- #include <zlib.h>
-
- #include <my_aes.h>
---- 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 <lz4frame.h>
-+#include <lz4/lz4frame.h>
- #include "base/mutex.h"
- #include <string.h>
-
---- 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 <lz4.h>
-+#include <lz4/lz4.h>
- #include <mysql/gcs/xplatform/byteorder.h>
- #include "gcs_logging.h"
- #include <string.h>
--- /dev/null
+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(
+++ /dev/null
---- 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?)
+++ /dev/null
---- 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");
- }
%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
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}
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
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
-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} \