Update to 8.0.11
This commit is contained in:
parent
45ed314d86
commit
ae8db5e0cc
@ -1,11 +0,0 @@
|
||||
diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp
|
||||
--- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200
|
||||
+++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200
|
||||
@@ -27,7 +27,6 @@ namespace boundary {
|
||||
int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end)
|
||||
{
|
||||
typedef LeftIterator left_iterator;
|
||||
- typedef RightIterator right_iterator;
|
||||
typedef typename std::iterator_traits<left_iterator>::value_type char_type;
|
||||
typedef std::char_traits<char_type> traits;
|
||||
while(l_begin!=l_end && r_begin!=r_end) {
|
@ -1,19 +0,0 @@
|
||||
diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||
--- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200
|
||||
+++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100
|
||||
@@ -282,12 +282,12 @@ struct grammar_definition
|
||||
#if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE)
|
||||
typedef impl::grammar_helper_base<GrammarT> helper_base_t;
|
||||
typedef grammar_helper_list<GrammarT> helper_list_t;
|
||||
- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
|
||||
|
||||
helper_list_t& helpers =
|
||||
grammartract_helper_list::do_(self);
|
||||
|
||||
# if defined(BOOST_INTEL_CXX_VERSION)
|
||||
+ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
|
||||
for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
|
||||
(*i)->undefine(self);
|
||||
# else
|
||||
|
||||
Diff finished. Tue Jan 20 13:25:53 2015
|
@ -1,25 +0,0 @@
|
||||
From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Wed, 2 Sep 2015 13:02:12 +0100
|
||||
Subject: [PATCH] Python: Fix condition for make_setter overload.
|
||||
|
||||
This fixes the regression caused by 42e7d7b.
|
||||
|
||||
Fixes #39
|
||||
---
|
||||
include/boost/python/data_members.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp
|
||||
index 139bde3..5d3309c 100644
|
||||
--- a/include/boost/python/data_members.hpp
|
||||
+++ b/include/boost/python/data_members.hpp
|
||||
@@ -305,7 +305,7 @@ inline object make_setter(D& x)
|
||||
return detail::make_setter(x, default_call_policies(), is_member_pointer<D>(), 0);
|
||||
}
|
||||
|
||||
-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
|
||||
+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
|
||||
template <class D>
|
||||
inline object make_setter(D const& x)
|
||||
{
|
@ -1,32 +0,0 @@
|
||||
commit 2f3b98e640c25fe45ae691a5aa950745380b983e
|
||||
Author: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Mon Sep 14 15:05:24 2015 +0100
|
||||
|
||||
Do not qualify <fenv.h> names that might be macros.
|
||||
|
||||
diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp
|
||||
index 3a9e779..8b319df 100644
|
||||
--- a/include/boost/test/impl/execution_monitor.ipp
|
||||
+++ b/include/boost/test/impl/execution_monitor.ipp
|
||||
@@ -1380,8 +1380,8 @@ enable( unsigned mask )
|
||||
|
||||
return ~old_cw & BOOST_FPE_ALL;
|
||||
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
|
||||
- ::feclearexcept(BOOST_FPE_ALL);
|
||||
- int res = ::feenableexcept( mask );
|
||||
+ feclearexcept(BOOST_FPE_ALL);
|
||||
+ int res = feenableexcept( mask );
|
||||
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
|
||||
#else
|
||||
/* Not Implemented */
|
||||
@@ -1417,8 +1417,8 @@ disable( unsigned mask )
|
||||
|
||||
return ~old_cw & BOOST_FPE_ALL;
|
||||
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
|
||||
- ::feclearexcept(BOOST_FPE_ALL);
|
||||
- int res = ::fedisableexcept( mask );
|
||||
+ feclearexcept(BOOST_FPE_ALL);
|
||||
+ int res = fedisableexcept( mask );
|
||||
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
|
||||
#else
|
||||
/* Not Implemented */
|
@ -1,106 +0,0 @@
|
||||
From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Semashev <andrey.semashev@gmail.com>
|
||||
Date: Sun, 23 Aug 2015 17:27:20 +0300
|
||||
Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when
|
||||
the operator right hand argument is not directly supported by
|
||||
formatting_ostream. Fixed #11549.
|
||||
|
||||
---
|
||||
|
||||
diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp
|
||||
index b3c58e2..c1e8059 100644
|
||||
--- a/include/boost/log/sources/record_ostream.hpp
|
||||
+++ b/include/boost/log/sources/record_ostream.hpp
|
||||
@@ -39,6 +39,18 @@ namespace boost {
|
||||
|
||||
BOOST_LOG_OPEN_NAMESPACE
|
||||
|
||||
+template< typename CharT >
|
||||
+class basic_record_ostream;
|
||||
+
|
||||
+namespace aux {
|
||||
+
|
||||
+template< typename StreamT, typename R >
|
||||
+struct enable_if_record_ostream {};
|
||||
+template< typename CharT, typename R >
|
||||
+struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; };
|
||||
+
|
||||
+} // namespace aux
|
||||
+
|
||||
/*!
|
||||
* \brief Logging record adapter with a streaming capability
|
||||
*
|
||||
@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ
|
||||
typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging
|
||||
#endif
|
||||
|
||||
+// Implementation note: these operators below should be the least attractive for the compiler
|
||||
+// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
|
||||
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
|
||||
+// would be more preferred than the typical one written by users:
|
||||
+//
|
||||
+// record_ostream& operator<< (record_ostream& strm, my_type const& arg);
|
||||
+//
|
||||
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
|
||||
+// if there is a perfect forwarding overload.
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT& strm, T const& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT& strm, T& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
+
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT&& strm, T const& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT&& strm, T& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
+
|
||||
namespace aux {
|
||||
|
||||
//! Internal class that provides formatting streams for record pumps
|
||||
diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp
|
||||
index 4345206..744acc0 100644
|
||||
--- a/include/boost/log/utility/formatting_ostream.hpp
|
||||
+++ b/include/boost/log/utility/formatting_ostream.hpp
|
||||
@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const
|
||||
|
||||
// Implementation note: these operators below should be the least attractive for the compiler
|
||||
// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
|
||||
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
|
||||
+// would be more preferred than the typical one written by users:
|
||||
+//
|
||||
+// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg);
|
||||
+//
|
||||
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
|
||||
+// if there is a perfect forwarding overload.
|
||||
template< typename StreamT, typename T >
|
||||
inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type
|
||||
operator<< (StreamT& strm, T const& value)
|
@ -1,11 +0,0 @@
|
||||
--- mysql-5.7.10/cmake/mysql_version.cmake.orig 2015-11-29 20:16:24.000000000 +0100
|
||||
+++ mysql-5.7.10/cmake/mysql_version.cmake 2015-12-16 14:15:49.129269372 +0100
|
||||
@@ -17,7 +17,7 @@
|
||||
# Global constants, only to be changed between major releases.
|
||||
#
|
||||
|
||||
-SET(SHARED_LIB_MAJOR_VERSION "20")
|
||||
+SET(SHARED_LIB_MAJOR_VERSION "1020")
|
||||
SET(SHARED_LIB_MINOR_VERSION "3")
|
||||
SET(PROTOCOL_VERSION "10")
|
||||
SET(DOT_FRM_VERSION "6")
|
14
community-mysql-arm32-timer.patch
Normal file
14
community-mysql-arm32-timer.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100
|
||||
+++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100
|
||||
@@ -311,6 +311,11 @@
|
||||
("The member has resumed contact with a majority of the members in the group.*"),
|
||||
("Members removed from the group.*"),
|
||||
|
||||
+ /*
|
||||
+ ARM32 don't support timers and get this warning in every test.
|
||||
+ */
|
||||
+ ("The CYCLE timer is not available. WAIT events in the performance_schema will not be timed."),
|
||||
+
|
||||
("THE_LAST_SUPPRESSION")||
|
||||
|
||||
|
@ -8,34 +8,17 @@ have any ill effects in a yassl build. Since we don't use yassl in Red Hat/
|
||||
Fedora builds, I'm not feeling motivated to try to fix yassl for this.
|
||||
|
||||
See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.28.orig/extra/yassl/src/ssl.cpp mysql-5.5.28/extra/yassl/src/ssl.cpp
|
||||
--- mysql-5.5.28.orig/extra/yassl/src/ssl.cpp 2012-08-29 04:50:46.000000000 -0400
|
||||
+++ mysql-5.5.28/extra/yassl/src/ssl.cpp 2012-09-29 12:45:19.682287214 -0400
|
||||
@@ -1627,10 +1627,10 @@
|
||||
}
|
||||
|
||||
|
||||
- int SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*)
|
||||
+ int SSL_CTX_use_certificate_chain_file(SSL_CTX* ctx, const char* file)
|
||||
{
|
||||
- // TDOD:
|
||||
- return SSL_SUCCESS;
|
||||
+ // For the moment, treat like use_certificate_file
|
||||
+ return read_file(ctx, file, SSL_FILETYPE_PEM, Cert);
|
||||
}
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c
|
||||
--- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400
|
||||
+++ mysql-5.5.28/vio/viosslfactories.c 2012-09-29 12:46:35.124975585 -0400
|
||||
@@ -106,7 +106,7 @@
|
||||
key_file= cert_file;
|
||||
diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc
|
||||
index 5e881e3..2927e7f 100644
|
||||
--- a/vio/viosslfactories.cc
|
||||
+++ b/vio/viosslfactories.cc
|
||||
@@ -198,7 +198,7 @@ static int vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file,
|
||||
if (!key_file && cert_file) key_file = cert_file;
|
||||
|
||||
if (cert_file &&
|
||||
- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0)
|
||||
+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0)
|
||||
{
|
||||
*error= SSL_INITERR_CERT;
|
||||
DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file));
|
||||
- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) {
|
||||
+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) {
|
||||
*error = SSL_INITERR_CERT;
|
||||
DBUG_PRINT("error",
|
||||
("%s from file '%s'", sslGetErrString(*error), cert_file));
|
||||
|
@ -5,20 +5,20 @@ to know about this.
|
||||
|
||||
Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425
|
||||
|
||||
|
||||
diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22/mysql-test/t/file_contents.test
|
||||
--- mysql-5.6.22/mysql-test/t/file_contents.test.file-contents 2014-12-03 15:05:18.629731527 +0100
|
||||
+++ mysql-5.6.22/mysql-test/t/file_contents.test 2014-12-03 15:09:36.082081039 +0100
|
||||
@@ -11,7 +11,7 @@
|
||||
diff --git a/mysql-test/t/file_contents.test b/mysql-test/t/file_contents.test
|
||||
index 75f8c93..973291c 100644
|
||||
--- a/mysql-test/t/file_contents.test
|
||||
+++ b/mysql-test/t/file_contents.test
|
||||
@@ -12,7 +12,7 @@
|
||||
--perl
|
||||
print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n";
|
||||
$dir_bin = $ENV{'MYSQL_BINDIR'};
|
||||
-if ($dir_bin =~ m|/usr/|) {
|
||||
-if ($dir_bin =~ m|^/usr/|) {
|
||||
+if ($dir_bin =~ m|.*/usr/$|) {
|
||||
# RPM package
|
||||
$dir_docs = $dir_bin;
|
||||
$dir_docs =~ s|/lib|/share/doc|;
|
||||
@@ -30,7 +30,7 @@ if ($dir_bin =~ m|/usr/|) {
|
||||
@@ -35,7 +35,7 @@ if ($dir_bin =~ m|^/usr/|) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -27,8 +27,8 @@ diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22
|
||||
# RPM build during development
|
||||
$dir_docs = "$dir_bin/share/doc";
|
||||
if(-d "$dir_docs/packages") {
|
||||
@@ -47,6 +47,15 @@ if ($dir_bin =~ m|/usr/|) {
|
||||
$dir_docs = glob "$dir_bin/share/mysql/docs";
|
||||
@@ -55,6 +55,15 @@ if ($dir_bin =~ m|^/usr/|) {
|
||||
$dir_docs = glob "$dir_bin/share/mysql-*/docs";
|
||||
}
|
||||
}
|
||||
+
|
||||
|
@ -1,38 +0,0 @@
|
||||
Do not assume, that "crypt" function is provided by glibc; #1536881
|
||||
|
||||
--- mysql-5.7.21/include/my_global.h 2017-12-28 04:46:26.000000000 +0100
|
||||
+++ mysql-5.7.21/include/my_global.h_patched 2018-01-22 01:01:42.450315852 +0100
|
||||
@@ -49,6 +49,9 @@
|
||||
#include <time.h>
|
||||
#include <errno.h> /* Recommended by debian */
|
||||
#include <sys/types.h>
|
||||
+#if defined(HAVE_CRYPT_H)
|
||||
+#include <crypt.h>
|
||||
+#endif
|
||||
|
||||
#ifdef HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
|
||||
|
||||
--- mysql-5.7.21/configure.cmake 2017-12-28 04:46:26.000000000 +0100
|
||||
+++ mysql-5.7.21/configure.cmake_patched 2018-01-22 01:00:09.955057755 +0100
|
||||
@@ -493,6 +493,7 @@ CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMA
|
||||
CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H)
|
||||
CHECK_INCLUDE_FILES (vis.h HAVE_VIS_H) # Used by libedit
|
||||
CHECK_INCLUDE_FILES (sasl/sasl.h HAVE_SASL_SASL_H) # Used by memcached
|
||||
+CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H)
|
||||
|
||||
# For libevent
|
||||
CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL)
|
||||
|
||||
|
||||
--- mysql-5.7.21/config.h.cmake 2017-12-28 04:46:26.000000000 +0100
|
||||
+++ mysql-5.7.21/config.h.cmake_patched 2018-01-22 01:51:02.522570765 +0100
|
||||
@@ -62,6 +62,7 @@
|
||||
#cmakedefine HAVE_SYS_UN_H 1
|
||||
#cmakedefine HAVE_VIS_H 1
|
||||
#cmakedefine HAVE_SASL_SASL_H 1
|
||||
+#cmakedefine HAVE_CRYPT_H 1
|
||||
|
||||
/* Libevent */
|
||||
#cmakedefine HAVE_DEVPOLL 1
|
@ -1,85 +0,0 @@
|
||||
Adjust the mysql-log-rotate script in several ways:
|
||||
|
||||
* Use the correct log file pathname for Red Hat installations.
|
||||
* Enable creation of the log file by logrotate (needed since
|
||||
/var/log/ isn't writable by mysql user); and set the same 640
|
||||
permissions we normally use.
|
||||
* Comment out the actual rotation commands, so that user must edit
|
||||
the file to enable rotation. This is unfortunate, but the fact
|
||||
that the script will probably fail without manual configuration
|
||||
(to set a root password) means that we can't really have it turned
|
||||
on by default. Fortunately, in most configurations the log file
|
||||
is low-volume and so rotation is not critical functionality.
|
||||
|
||||
See discussions at RH bugs 799735, 547007
|
||||
|
||||
|
||||
diff -up mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate mysql-5.6.19/support-files/mysql-log-rotate.sh
|
||||
--- mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate 2014-07-25 11:49:37.237448291 +0200
|
||||
+++ mysql-5.6.19/support-files/mysql-log-rotate.sh 2014-07-25 11:53:17.096840857 +0200
|
||||
@@ -1,14 +1,13 @@
|
||||
-# The log file name and location can be set in
|
||||
-# /etc/my.cnf by setting the "log-error" option
|
||||
-# in either [mysqld] or [mysqld_safe] section as
|
||||
-# follows:
|
||||
+# This logname can be set in /etc/my.cnf
|
||||
+# by setting the variable "log-error"
|
||||
+# in the [mysqld_safe] section as follows:
|
||||
#
|
||||
-# [mysqld]
|
||||
-# log-error=@localstatedir@/mysqld.log
|
||||
+# [mysqld_safe]
|
||||
+# log-error=@LOG_LOCATION@
|
||||
#
|
||||
-# In case the root user has a password, then you
|
||||
-# have to create a /root/.my.cnf configuration file
|
||||
-# with the following content:
|
||||
+# If the root user has a password you have to create a
|
||||
+# /root/.my.cnf configuration file with the following
|
||||
+# content:
|
||||
#
|
||||
# [mysqladmin]
|
||||
# password = <secret>
|
||||
@@ -16,22 +15,24 @@
|
||||
#
|
||||
# where "<secret>" is the password.
|
||||
#
|
||||
-# ATTENTION: The /root/.my.cnf file should be readable
|
||||
-# _ONLY_ by root !
|
||||
+# ATTENTION: This /root/.my.cnf should be readable ONLY
|
||||
+# for root !
|
||||
|
||||
-@localstatedir@/mysqld.log {
|
||||
- # create 600 mysql mysql
|
||||
- notifempty
|
||||
- daily
|
||||
- rotate 5
|
||||
- missingok
|
||||
- compress
|
||||
- postrotate
|
||||
- # just if mysqld is really running
|
||||
- if test -x @bindir@/mysqladmin && \
|
||||
- @bindir@/mysqladmin ping &>/dev/null
|
||||
- then
|
||||
- @bindir@/mysqladmin flush-logs
|
||||
- fi
|
||||
- endscript
|
||||
-}
|
||||
+# Then, un-comment the following lines to enable rotation of mysql's log file:
|
||||
+
|
||||
+#@LOG_LOCATION@ {
|
||||
+# create 640 mysql mysql
|
||||
+# notifempty
|
||||
+# daily
|
||||
+# rotate 3
|
||||
+# missingok
|
||||
+# compress
|
||||
+# postrotate
|
||||
+# # just if mysqld is really running
|
||||
+# if test -x @bindir@/mysqladmin && \
|
||||
+# @bindir@/mysqladmin ping &>/dev/null
|
||||
+# then
|
||||
+# @bindir@/mysqladmin flush-logs
|
||||
+# fi
|
||||
+# endscript
|
||||
+#}
|
@ -1,517 +0,0 @@
|
||||
Add OpenSSL 1.1 compatibility
|
||||
|
||||
Based on patches in upstream tracker (bellow), and patches from MariaDB for the same feature.
|
||||
|
||||
Upstream tracker: https://bugs.mysql.com/bug.php?id=83814
|
||||
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 09:00:52.578760787 +0100
|
||||
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 22:19:40.033870734 +0100
|
||||
@@ -7,7 +7,7 @@
|
||||
connection default;
|
||||
CREATE USER u_20693153@localhost IDENTIFIED BY 'abcd';
|
||||
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --protocol=TCP -uu_20693153 -pabcd --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem -e "SHOW STATUS LIKE 'Ssl_cipher';"
|
||||
|
||||
DROP USER u_20693153@localhost;
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 09:00:52.579760795 +0100
|
||||
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 22:19:40.033870734 +0100
|
||||
@@ -183,7 +183,7 @@ let SEARCH_PATTERN= Auto generated SSL c
|
||||
--file_exists $MYSQLTEST_VARDIR/mysqld.1/data/public_key.pem
|
||||
|
||||
--echo # Ensure that server is ssl enabled
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -285,7 +285,7 @@ grant usage on *.* to wl7699_sha256 iden
|
||||
|
||||
# Using SSL certificates
|
||||
--echo # Should be able to connect to server using generated SSL certificates.
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
|
||||
# Using RSA key pair
|
||||
--echo # Should be able to connect to server using RSA key pair.
|
||||
@@ -351,7 +351,7 @@ show variables like 'sha256%';
|
||||
|
||||
--echo # 6.3 : SSL connection
|
||||
--echo # Should be able to connect to server using generated SSL certificates.
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
|
||||
|
||||
|
||||
@@ -362,7 +362,7 @@ grant usage on *.* to wl7699_sha256 iden
|
||||
|
||||
# Using SSL certificates
|
||||
--echo # Should be able to connect to server using generated SSL certificates.
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
|
||||
# Using RSA key pair
|
||||
--echo # Should be able to connect to server using RSA key pair.
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 09:00:52.583760826 +0100
|
||||
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 22:19:40.034870741 +0100
|
||||
@@ -54,7 +54,7 @@ let SEARCH_PATTERN= CA certificate .* is
|
||||
|
||||
--echo # Try to establish SSL connection : This must succeed.
|
||||
connect (ssl_root_1,localhost,root,,,,,SSL);
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
SHOW VARIABLES LIKE 'have_ssl';
|
||||
|
||||
@@ -68,7 +68,7 @@ connection default;
|
||||
disconnect ssl_root_1;
|
||||
|
||||
--echo # Connect using mysql client : This must succeed.
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';"
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ let SEARCH_PATTERN= CA certificate .* is
|
||||
--source include/search_pattern_in_file.inc
|
||||
|
||||
--echo # Try creating SSL connection
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';"
|
||||
|
||||
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 09:00:52.584760834 +0100
|
||||
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 22:56:42.786710772 +0100
|
||||
@@ -36,7 +36,7 @@ let $cipher_default= DHE-RSA-AES256-SHA;
|
||||
let $tls_default= TLSv1.1;
|
||||
let $openssl= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1);
|
||||
if ($openssl == 'Rsa_public_key'){
|
||||
- let $cipher_default= DHE-RSA-AES128-GCM-SHA256;
|
||||
+ let $cipher_default= ECDHE-RSA-AES128-GCM-SHA256;
|
||||
let $tls_default= TLSv1.2;
|
||||
}
|
||||
--echo #T1: Default TLS connection
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test mysql-5.7.20/mysql-test/t/mysql_ssl_default.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test 2017-12-08 09:00:55.717784968 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/mysql_ssl_default.test 2017-12-08 22:19:40.035870748 +0100
|
||||
@@ -14,15 +14,15 @@
|
||||
|
||||
--echo # verify that mysql default connect with ssl channel when using TCP/IP
|
||||
--echo # connection
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'"
|
||||
|
||||
--echo # verify that mysql --ssl=0 connect with unencrypted channel
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=DISABLED
|
||||
|
||||
--echo # verify that mysql --ssl=1 connect with ssl channel
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=REQUIRED
|
||||
|
||||
CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL;
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test mysql-5.7.20/mysql-test/t/openssl_1.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test 2017-12-08 09:00:55.729785060 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/openssl_1.test 2017-12-08 22:19:40.035870748 +0100
|
||||
@@ -19,17 +19,17 @@ insert into t1 values (5);
|
||||
let $cipher_val= "DHE-RSA-AES256-SHA";
|
||||
let $shavars= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1);
|
||||
if ($shavars == 'Rsa_public_key'){
|
||||
- let $cipher_val= "DHE-RSA-AES128-GCM-SHA256";
|
||||
+ let $cipher_val= "ECDHE-RSA-AES128-GCM-SHA256";
|
||||
}
|
||||
|
||||
grant select on test.* to ssl_user1@localhost require SSL;
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
-- eval grant select on test.* to ssl_user2@localhost require cipher $cipher_val
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
-- eval grant select on test.* to ssl_user3@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client"
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
-- eval grant select on test.* to ssl_user4@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ISSUER "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=CA"
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
-- eval grant select on test.* to ssl_user5@localhost require cipher $cipher_val AND SUBJECT "xxx"
|
||||
flush privileges;
|
||||
|
||||
@@ -43,7 +43,7 @@ connect (con5,localhost,ssl_user5,,,,,SS
|
||||
|
||||
connection con1;
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
select * from t1;
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
@@ -51,7 +51,7 @@ delete from t1;
|
||||
|
||||
connection con2;
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
select * from t1;
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
@@ -59,7 +59,7 @@ delete from t1;
|
||||
|
||||
connection con3;
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
select * from t1;
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
@@ -67,7 +67,7 @@ delete from t1;
|
||||
|
||||
connection con4;
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
select * from t1;
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
@@ -142,7 +142,7 @@ drop table t1;
|
||||
# verification of servers certificate by setting both ca certificate
|
||||
# and ca path to NULL
|
||||
#
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
--echo End of 5.0 tests
|
||||
|
||||
@@ -269,7 +269,7 @@ select 'is still running; no cipher requ
|
||||
GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509;
|
||||
FLUSH PRIVILEGES;
|
||||
connect(con1,localhost,bug42158,,,,,SSL);
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
disconnect con1;
|
||||
connection default;
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 09:00:55.747785199 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 22:19:40.035870748 +0100
|
||||
@@ -2,7 +2,7 @@
|
||||
--source include/have_ssl.inc
|
||||
|
||||
connect (ssl_con,localhost,root,,,,,SSL);
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password';
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test mysql-5.7.20/mysql-test/t/ssl_8k_key.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test 2017-12-08 09:00:55.772785392 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/ssl_8k_key.test 2017-12-08 22:19:40.036870755 +0100
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# Bug#29784 YaSSL assertion failure when reading 8k key.
|
||||
#
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
|
||||
## This test file is for testing encrypted communication only, not other
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test mysql-5.7.20/mysql-test/t/ssl_ca.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test 2017-12-08 09:00:55.773785399 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/ssl_ca.test 2017-12-08 22:19:40.036870755 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1
|
||||
|
||||
--echo # try to connect with correct '--ssl-ca' path : should connect
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
|
||||
|
||||
--echo #
|
||||
@@ -22,15 +22,15 @@
|
||||
|
||||
--echo # try to connect with '--ssl-ca' option using tilde home directoy
|
||||
--echo # path substitution : should connect
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --ssl-ca=$mysql_test_dir_path/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
|
||||
|
||||
--echo # try to connect with '--ssl-key' option using tilde home directoy
|
||||
--echo # path substitution : should connect
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$mysql_test_dir_path/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
|
||||
|
||||
--echo # try to connect with '--ssl-cert' option using tilde home directoy
|
||||
--echo # path substitution : should connect
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$mysql_test_dir_path/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test mysql-5.7.20/mysql-test/t/ssl_compress.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test 2017-12-08 09:00:55.774785407 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/ssl_compress.test 2017-12-08 22:19:40.036870755 +0100
|
||||
@@ -17,7 +17,7 @@
|
||||
connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
# Check compression turned on
|
||||
@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Compression';
|
||||
-- source include/common-tests.inc
|
||||
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
# Check compression turned on
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test mysql-5.7.20/mysql-test/t/ssl_crl.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test 2017-12-08 09:00:55.774785407 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/ssl_crl.test 2017-12-08 22:19:40.037870762 +0100
|
||||
@@ -32,9 +32,11 @@ if (!$crllen)
|
||||
--echo # try to connect with '--ssl-crl' option using tilde home directoy
|
||||
--echo # path substitution : should connect
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256
|
||||
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test --ssl-crl=$mysql_test_dir_path/std_data/crl-client-revoked.crl -e "SHOW STATUS LIKE 'Ssl_cipher'"
|
||||
|
||||
--echo # try to connect with '--ssl-crlpath' option using tilde home directoy
|
||||
--echo # path substitution : should connect
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256
|
||||
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem --ssl-crlpath=$mysql_test_dir_path/std_data/crldir test -e "SHOW STATUS LIKE 'Ssl_cipher'"
|
||||
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl.test mysql-5.7.20/mysql-test/t/ssl.test
|
||||
--- mysql-5.7.20-sslbak/mysql-test/t/ssl.test 2017-12-08 09:00:55.772785392 +0100
|
||||
+++ mysql-5.7.20/mysql-test/t/ssl.test 2017-12-08 22:19:40.037870762 +0100
|
||||
@@ -16,7 +16,7 @@
|
||||
connect (ssl_con,localhost,root,,,,,SSL);
|
||||
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
# Check ssl expiration
|
||||
@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after';
|
||||
-- source include/common-tests.inc
|
||||
|
||||
# Check ssl turned on
|
||||
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
|
||||
connection default;
|
||||
diff -rup mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc mysql-5.7.20/mysys_ssl/my_aes_openssl.cc
|
||||
--- mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc 2017-12-08 09:00:55.851786000 +0100
|
||||
+++ mysql-5.7.20/mysys_ssl/my_aes_openssl.cc 2017-12-08 22:19:40.037870762 +0100
|
||||
@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char *
|
||||
enum my_aes_opmode mode, const unsigned char *iv,
|
||||
bool padding)
|
||||
{
|
||||
- EVP_CIPHER_CTX ctx;
|
||||
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
|
||||
const EVP_CIPHER *cipher= aes_evp_type(mode);
|
||||
int u_len, f_len;
|
||||
/* The real key to be used for encryption */
|
||||
@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char *
|
||||
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
|
||||
return MY_AES_BAD_DATA;
|
||||
|
||||
- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
|
||||
+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
|
||||
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
|
||||
+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
|
||||
goto aes_error; /* Error */
|
||||
|
||||
- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
|
||||
+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
|
||||
goto aes_error; /* Error */
|
||||
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
return u_len + f_len;
|
||||
|
||||
aes_error:
|
||||
/* need to explicitly clean up the error if we want to ignore it */
|
||||
ERR_clear_error();
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
return MY_AES_BAD_DATA;
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char *
|
||||
bool padding)
|
||||
{
|
||||
|
||||
- EVP_CIPHER_CTX ctx;
|
||||
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
|
||||
const EVP_CIPHER *cipher= aes_evp_type(mode);
|
||||
int u_len, f_len;
|
||||
|
||||
@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char *
|
||||
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
|
||||
return MY_AES_BAD_DATA;
|
||||
|
||||
- EVP_CIPHER_CTX_init(&ctx);
|
||||
-
|
||||
- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
|
||||
+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
|
||||
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
|
||||
+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
|
||||
goto aes_error; /* Error */
|
||||
- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
|
||||
+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
|
||||
goto aes_error; /* Error */
|
||||
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
return u_len + f_len;
|
||||
|
||||
aes_error:
|
||||
/* need to explicitly clean up the error if we want to ignore it */
|
||||
ERR_clear_error();
|
||||
- EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
+ EVP_CIPHER_CTX_free(ctx);
|
||||
return MY_AES_BAD_DATA;
|
||||
}
|
||||
|
||||
diff -rup mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
|
||||
--- mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 09:00:55.975786955 +0100
|
||||
+++ mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 22:19:40.037870762 +0100
|
||||
@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= "
|
||||
mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ==
|
||||
-----END DH PARAMETERS-----
|
||||
*/
|
||||
-static unsigned char dh2048_p[]=
|
||||
+static unsigned char dhp_2048[]=
|
||||
{
|
||||
0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37,
|
||||
0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C,
|
||||
@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]=
|
||||
};
|
||||
|
||||
|
||||
-static unsigned char dh2048_g[]={
|
||||
+static unsigned char dhg_2048[]={
|
||||
0x05,
|
||||
};
|
||||
|
||||
static DH *get_dh2048(void)
|
||||
{
|
||||
- DH *dh;
|
||||
- if ((dh=DH_new()))
|
||||
+ DH *dh = DH_new();
|
||||
+ BIGNUM *dhp_bn, *dhg_bn;
|
||||
+ if (dh != NULL)
|
||||
{
|
||||
- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
|
||||
- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
|
||||
- if (! dh->p || ! dh->g)
|
||||
+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
|
||||
+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
|
||||
+ if (dhp_bn == NULL || dhg_bn == NULL
|
||||
+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))
|
||||
{
|
||||
DH_free(dh);
|
||||
+ BN_free(dhp_bn);
|
||||
+ BN_free(dhg_bn);
|
||||
dh=0;
|
||||
}
|
||||
}
|
||||
diff -rup mysql-5.7.20-sslbak/sql/mysqld.cc mysql-5.7.20/sql/mysqld.cc
|
||||
--- mysql-5.7.20-sslbak/sql/mysqld.cc 2017-12-08 09:00:56.309789528 +0100
|
||||
+++ mysql-5.7.20/sql/mysqld.cc 2017-12-08 22:19:40.039870776 +0100
|
||||
@@ -3376,7 +3376,7 @@ static int init_ssl()
|
||||
{
|
||||
#ifdef HAVE_OPENSSL
|
||||
#ifndef HAVE_YASSL
|
||||
- CRYPTO_malloc_init();
|
||||
+ OPENSSL_malloc_init();
|
||||
#endif
|
||||
ssl_start();
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
diff -rup mysql-5.7.20-sslbak/sql-common/client.c mysql-5.7.20/sql-common/client.c
|
||||
--- mysql-5.7.20-sslbak/sql-common/client.c 2017-12-08 09:00:56.245789035 +0100
|
||||
+++ mysql-5.7.20/sql-common/client.c 2017-12-08 22:19:40.040870783 +0100
|
||||
@@ -2741,7 +2741,7 @@ static int ssl_verify_server_cert(Vio *v
|
||||
goto error;
|
||||
}
|
||||
|
||||
- cn= (char *) ASN1_STRING_data(cn_asn1);
|
||||
+ cn= (char *) ASN1_STRING_get0_data(cn_asn1);
|
||||
|
||||
// There should not be any NULL embedded in the CN
|
||||
if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn))
|
||||
diff -rup mysql-5.7.20-sslbak/vio/viosslfactories.c mysql-5.7.20/vio/viosslfactories.c
|
||||
--- mysql-5.7.20-sslbak/vio/viosslfactories.c 2017-12-08 09:00:56.807793365 +0100
|
||||
+++ mysql-5.7.20/vio/viosslfactories.c 2017-12-08 22:19:40.040870783 +0100
|
||||
@@ -86,7 +86,7 @@ static my_bool ssl_initialized
|
||||
mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ==
|
||||
-----END DH PARAMETERS-----
|
||||
*/
|
||||
-static unsigned char dh2048_p[]=
|
||||
+static unsigned char dhp_2048[]=
|
||||
{
|
||||
0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37,
|
||||
0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C,
|
||||
@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]=
|
||||
0x00, 0x05, 0x85, 0xB7,
|
||||
};
|
||||
|
||||
-static unsigned char dh2048_g[]={
|
||||
+static unsigned char dhg_2048[]={
|
||||
0x05,
|
||||
};
|
||||
|
||||
static DH *get_dh2048(void)
|
||||
{
|
||||
- DH *dh;
|
||||
- if ((dh=DH_new()))
|
||||
+ DH *dh = DH_new();
|
||||
+ BIGNUM *dhp_bn, *dhg_bn;
|
||||
+
|
||||
+ if (dh != NULL)
|
||||
{
|
||||
- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
|
||||
- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
|
||||
- if (! dh->p || ! dh->g)
|
||||
+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
|
||||
+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
|
||||
+ if (dhp_bn == NULL || dhg_bn == NULL
|
||||
+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))
|
||||
{
|
||||
DH_free(dh);
|
||||
+ BN_free(dhp_bn);
|
||||
+ BN_free(dhg_bn);
|
||||
dh=0;
|
||||
}
|
||||
}
|
||||
@@ -419,9 +424,7 @@ void ssl_start()
|
||||
{
|
||||
ssl_initialized= TRUE;
|
||||
|
||||
- SSL_library_init();
|
||||
- OpenSSL_add_all_algorithms();
|
||||
- SSL_load_error_strings();
|
||||
+ OPENSSL_init_ssl(0, NULL);
|
||||
|
||||
#ifndef HAVE_YASSL
|
||||
init_ssl_locks();
|
@ -3,96 +3,11 @@ Software Collections. Removing these hard-coded paths should fix it.
|
||||
|
||||
Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485
|
||||
|
||||
|
||||
diff -up --recursive mysql-5.7.8.orig/client/mysql_plugin.c mysql-5.7.8/client/mysql_plugin.c
|
||||
--- mysql-5.7.8.orig/client/mysql_plugin.c 2015-07-20 14:25:08.000000000 +0200
|
||||
+++ mysql-5.7.8/client/mysql_plugin.c 2015-09-23 13:32:57.711495542 +0200
|
||||
@@ -94,6 +94,7 @@ static int find_plugin(char *tp_path);
|
||||
static int build_bootstrap_file(char *operation, char *bootstrap);
|
||||
static int dump_bootstrap_file(char *bootstrap_file);
|
||||
static int bootstrap_server(char *server_path, char *bootstrap_file);
|
||||
+static int find_file_in_path(const char *name, char *to);
|
||||
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
@@ -125,7 +126,7 @@ int main(int argc,char *argv[])
|
||||
*/
|
||||
if ((error= process_options(argc, argv, operation)) ||
|
||||
(error= check_access()) ||
|
||||
- (error= find_tool("mysqld" FN_EXEEXT, server_path)) ||
|
||||
+ (error= find_file_in_path("mysqld" FN_EXEEXT, server_path)) ||
|
||||
(error= find_plugin(tp_path)) ||
|
||||
(error= build_bootstrap_file(operation, bootstrap)))
|
||||
goto exit;
|
||||
@@ -331,7 +332,7 @@ static int get_default_values()
|
||||
FILE *file= 0;
|
||||
|
||||
memset(tool_path, 0, FN_REFLEN);
|
||||
- if ((error= find_tool("my_print_defaults" FN_EXEEXT, tool_path)))
|
||||
+ if ((error= find_file_in_path("my_print_defaults" FN_EXEEXT, tool_path)))
|
||||
goto exit;
|
||||
else
|
||||
{
|
||||
@@ -1014,6 +1015,55 @@ exit:
|
||||
}
|
||||
|
||||
|
||||
+#if defined(__WIN__)
|
||||
+#define F_OK 0
|
||||
+#define PATH_SEP ';'
|
||||
+#define PROGRAM_EXTENSION ".exe"
|
||||
+#else
|
||||
+#define PATH_SEP ':'
|
||||
+#endif
|
||||
+
|
||||
+static int find_file_in_path(const char *name, char *to)
|
||||
+{
|
||||
+ char *path,*pos,dir[2];
|
||||
+ const char *ext="";
|
||||
+
|
||||
+ if (!(path=getenv("PATH")))
|
||||
+ goto notfound;
|
||||
+ dir[0]=FN_LIBCHAR; dir[1]=0;
|
||||
+#ifdef PROGRAM_EXTENSION
|
||||
+ if (!fn_ext(name)[0])
|
||||
+ ext=PROGRAM_EXTENSION;
|
||||
+#endif
|
||||
+
|
||||
+ for (pos=path ; (pos=strchr(pos,PATH_SEP)) ; path= ++pos)
|
||||
+ {
|
||||
+ if (path != pos)
|
||||
+ {
|
||||
+ strxmov(my_stpnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS);
|
||||
+ if (!access(to,F_OK))
|
||||
+ {
|
||||
+ if (opt_verbose)
|
||||
+ printf("# Found tool '%s' as '%s'.\n", name, to);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#ifdef __WIN__
|
||||
+ to[0]=FN_CURLIB;
|
||||
+ strxmov(to+1,dir,name,ext,NullS);
|
||||
+ if (!access(to,F_OK)) /* Test in current dir */
|
||||
+ {
|
||||
+ if (opt_verbose)
|
||||
+ printf("# Found tool '%s' as '%s'.\n", name, to);
|
||||
+ return 0;
|
||||
+ }
|
||||
+#endif
|
||||
+notfound:
|
||||
+ fprintf(stderr, "WARNING: Cannot find %s.\n", name);
|
||||
+ return 1; /* File not found */
|
||||
+}
|
||||
+
|
||||
/**
|
||||
Locate the tool and form tool path.
|
||||
|
||||
diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cmake/install_layout.cmake
|
||||
--- mysql-5.7.8.orig/cmake/install_layout.cmake 2015-07-20 14:25:07.000000000 +0200
|
||||
+++ mysql-5.7.8/cmake/install_layout.cmake 2015-09-23 13:32:57.711495542 +0200
|
||||
@@ -107,7 +107,7 @@ IF(UNIX)
|
||||
diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake
|
||||
index ec2b492..43e4ccd 100644
|
||||
--- a/cmake/install_layout.cmake
|
||||
+++ b/cmake/install_layout.cmake
|
||||
@@ -114,7 +114,7 @@ IF(UNIX)
|
||||
" Choose between ${VALID_INSTALL_LAYOUTS}" )
|
||||
ENDIF()
|
||||
|
||||
@ -101,18 +16,19 @@ diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cma
|
||||
CACHE PATH "config directory (for my.cnf)")
|
||||
MARK_AS_ADVANCED(SYSCONFDIR)
|
||||
ENDIF()
|
||||
@@ -321,6 +321,7 @@ SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR
|
||||
@@ -318,6 +318,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path})
|
||||
#
|
||||
SET(INSTALL_BINDIR_RPM "bin")
|
||||
SET(INSTALL_SBINDIR_RPM "sbin")
|
||||
SET(INSTALL_SCRIPTDIR_RPM "bin")
|
||||
+SET(INSTALL_SYSCONFDIR_RPM "/etc")
|
||||
#
|
||||
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||
SET(INSTALL_LIBDIR_RPM "lib64")
|
||||
diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ssl/my_default.cc
|
||||
--- mysql-5.7.8.orig/mysys_ssl/my_default.cc 2015-07-20 14:25:08.000000000 +0200
|
||||
+++ mysql-5.7.8/mysys_ssl/my_default.cc 2015-09-23 13:32:57.712495541 +0200
|
||||
@@ -1404,12 +1404,12 @@ static const char **init_default_directo
|
||||
diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc
|
||||
index 2d76700..02c5885 100644
|
||||
--- a/mysys_ssl/my_default.cc
|
||||
+++ b/mysys_ssl/my_default.cc
|
||||
@@ -1733,12 +1733,12 @@ static const char **init_default_directories(MEM_ROOT *alloc)
|
||||
|
||||
#else
|
||||
|
||||
@ -128,10 +44,11 @@ diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_
|
||||
#endif /* DEFAULT_SYSCONFDIR */
|
||||
|
||||
#endif
|
||||
diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt
|
||||
--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200
|
||||
+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-23 13:43:47.463665346 +0200
|
||||
@@ -295,7 +295,7 @@ ELSE()
|
||||
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
|
||||
index c66a910..af9bc9e 100644
|
||||
--- a/scripts/CMakeLists.txt
|
||||
+++ b/scripts/CMakeLists.txt
|
||||
@@ -324,7 +324,7 @@ ELSE()
|
||||
ENDIF()
|
||||
|
||||
SET(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
@ -139,11 +56,12 @@ diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts
|
||||
+SET(sysconfdir ${SYSCONFDIR})
|
||||
SET(bindir ${prefix}/${INSTALL_BINDIR})
|
||||
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
|
||||
SET(scriptdir ${prefix}/${INSTALL_BINDIR})
|
||||
diff -up --recursive mysql-5.7.8.orig/scripts/mysqld_multi.sh mysql-5.7.8/scripts/mysqld_multi.sh
|
||||
--- mysql-5.7.8.orig/scripts/mysqld_multi.sh 2015-07-20 14:25:08.000000000 +0200
|
||||
+++ mysql-5.7.8/scripts/mysqld_multi.sh 2015-09-23 13:32:57.712495541 +0200
|
||||
@@ -573,9 +573,7 @@ sub list_defaults_files
|
||||
SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
|
||||
diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh
|
||||
index 5ad36e7..5dd032f 100644
|
||||
--- a/scripts/mysqld_multi.sh
|
||||
+++ b/scripts/mysqld_multi.sh
|
||||
@@ -572,9 +572,7 @@ sub list_defaults_files
|
||||
|
||||
my %seen; # Don't list the same file more than once
|
||||
return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ }
|
||||
|
@ -1,23 +1,23 @@
|
||||
Support s390/s390x in performance schema's cycle-counting functions.
|
||||
Filed upstream at http://bugs.mysql.com/bug.php?id=59953
|
||||
|
||||
|
||||
diff -up --recursive mysql-5.7.9.orig/include/my_rdtsc.h mysql-5.7.9/include/my_rdtsc.h
|
||||
--- mysql-5.7.9.orig/include/my_rdtsc.h 2015-10-12 08:21:33.000000000 +0200
|
||||
+++ mysql-5.7.9/include/my_rdtsc.h 2015-11-10 16:33:36.037432669 +0100
|
||||
@@ -125,6 +125,7 @@ C_MODE_END
|
||||
diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h
|
||||
index 65f7df1..a28f470 100644
|
||||
--- a/include/my_rdtsc.h
|
||||
+++ b/include/my_rdtsc.h
|
||||
@@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti);
|
||||
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
|
||||
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
|
||||
#define MY_TIMER_ROUTINE_ASM_AARCH64 28
|
||||
+#define MY_TIMER_ROUTINE_ASM_S390 29
|
||||
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
|
||||
#define MY_TIMER_ROUTINE_ASM_AARCH64 28
|
||||
+#define MY_TIMER_ROUTINE_ASM_S390 29
|
||||
|
||||
#endif
|
||||
|
||||
diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdtsc.c
|
||||
--- mysql-5.7.9.orig/mysys/my_rdtsc.c 2015-10-12 08:21:33.000000000 +0200
|
||||
+++ mysql-5.7.9/mysys/my_rdtsc.c 2015-11-10 16:33:36.038432668 +0100
|
||||
@@ -183,6 +183,13 @@ ulonglong my_timer_cycles(void)
|
||||
__asm __volatile__ ("mrs %[rt],cntvct_el0" : [rt] "=r" (result));
|
||||
diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc
|
||||
index ec8e855..c3408b1 100644
|
||||
--- a/mysys/my_rdtsc.cc
|
||||
+++ b/mysys/my_rdtsc.cc
|
||||
@@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) {
|
||||
__asm __volatile__("mrs %[rt],cntvct_el0" : [rt] "=r"(result));
|
||||
return result;
|
||||
}
|
||||
+#elif defined(__GNUC__) && defined(__s390__)
|
||||
@ -29,13 +29,13 @@ diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdts
|
||||
+ }
|
||||
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
|
||||
/* gethrtime may appear as either cycle or nanosecond counter */
|
||||
return (ulonglong) gethrtime();
|
||||
@@ -487,6 +494,8 @@ void my_timer_init(MY_TIMER_INFO *mti)
|
||||
mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32;
|
||||
return (ulonglong)gethrtime();
|
||||
@@ -505,6 +512,8 @@ void my_timer_init(MY_TIMER_INFO *mti) {
|
||||
mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC32;
|
||||
#elif defined(__GNUC__) && defined(__aarch64__)
|
||||
mti->cycles.routine= MY_TIMER_ROUTINE_ASM_AARCH64;
|
||||
mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64;
|
||||
+#elif defined(__GNUC__) && defined(__s390__)
|
||||
+ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_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;
|
||||
mti->cycles.routine = MY_TIMER_ROUTINE_GETHRTIME;
|
||||
#else
|
||||
|
@ -1,46 +1,9 @@
|
||||
diff -up --recursive mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm
|
||||
--- mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm 2015-07-20 14:25:09.000000000 +0200
|
||||
+++ mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm 2015-09-23 13:51:18.655091136 +0200
|
||||
@@ -36,7 +36,7 @@ my @pre_rules=
|
||||
);
|
||||
|
||||
|
||||
-my @share_locations= ("share/mysql", "sql/share", "share");
|
||||
+my @share_locations= ("@INSTALL_MYSQLSHAREDIR@", "sql/share", "share");
|
||||
|
||||
|
||||
sub get_basedir {
|
||||
diff -up --recursive mysql-5.7.8.orig/mysql-test/mysql-test-run.pl mysql-5.7.8/mysql-test/mysql-test-run.pl
|
||||
--- mysql-5.7.8.orig/mysql-test/mysql-test-run.pl 2015-07-20 14:25:08.000000000 +0200
|
||||
+++ mysql-5.7.8/mysql-test/mysql-test-run.pl 2015-09-23 13:52:50.023961144 +0200
|
||||
@@ -1282,11 +1282,11 @@ sub command_line_setup {
|
||||
}
|
||||
|
||||
# Look for language files and charsetsdir, use same share
|
||||
- $path_language= mtr_path_exists("$bindir/share/mysql",
|
||||
+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@",
|
||||
"$bindir/sql/share",
|
||||
"$bindir/share");
|
||||
my $path_share= $path_language;
|
||||
- $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets",
|
||||
+ $path_charsetsdir = mtr_path_exists("$basedir/@INSTALL_MYSQLSHAREDIR@/charsets",
|
||||
"$basedir/sql/share/charsets",
|
||||
"$basedir/share/charsets");
|
||||
|
||||
@@ -3729,7 +3729,7 @@ sub mysql_install_db {
|
||||
}
|
||||
|
||||
my $path_sql= my_find_file($install_basedir,
|
||||
- ["mysql", "sql/share", "share/mysql",
|
||||
+ ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@",
|
||||
"share", "scripts"],
|
||||
"mysql_system_tables.sql",
|
||||
NOT_REQUIRED);
|
||||
diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysql-test/CMakeLists.txt
|
||||
--- mysql-5.7.8.orig/mysql-test/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200
|
||||
+++ mysql-5.7.8/mysql-test/CMakeLists.txt 2015-09-23 13:53:57.694863067 +0200
|
||||
@@ -33,6 +33,10 @@ ENDIF()
|
||||
|
||||
diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt
|
||||
index 7c1e82b..a92ba91 100644
|
||||
--- a/mysql-test/CMakeLists.txt
|
||||
+++ b/mysql-test/CMakeLists.txt
|
||||
@@ -56,6 +56,10 @@ INSTALL(
|
||||
ENDIF()
|
||||
|
||||
|
||||
+# Expand some paths in the perl scripts correctly
|
||||
@ -50,3 +13,31 @@ diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysq
|
||||
IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||
# Enable running mtr from build directory
|
||||
CONFIGURE_FILE(
|
||||
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
|
||||
index e9130dd..388c039 100755
|
||||
--- a/mysql-test/mysql-test-run.pl
|
||||
+++ b/mysql-test/mysql-test-run.pl
|
||||
@@ -1535,11 +1535,13 @@ sub command_line_setup {
|
||||
}
|
||||
|
||||
# Look for language files and charsetsdir, use same share
|
||||
- $path_language= mtr_path_exists("$bindir/share/mysql",
|
||||
+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@",
|
||||
+ "$bindir/share/mysql",
|
||||
"$bindir/share");
|
||||
my $path_share= $path_language;
|
||||
|
||||
- @share_locations= ("share/mysql",
|
||||
+ @share_locations= ("@INSTALL_MYSQLSHAREDIR@",
|
||||
+ "share/mysql",
|
||||
"share/mysql-" . $mysql_base_version,
|
||||
"share");
|
||||
|
||||
@@ -4140,6 +4142,7 @@ sub mysql_install_db {
|
||||
|
||||
my $path_sql= my_find_file($install_basedir,
|
||||
["mysql", "share/mysql",
|
||||
+ "@INSTALL_MYSQLSHAREDIR@",
|
||||
"share/mysql-" . $mysql_base_version,
|
||||
"share", "scripts"],
|
||||
"mysql_system_tables.sql",
|
||||
|
@ -10,15 +10,6 @@
|
||||
# Set this to 1 to see which tests fail
|
||||
%global check_testsuite 0
|
||||
|
||||
# set to 1 to enable
|
||||
%if 0%{?fedora} > 27
|
||||
# Deprecate patch 70, because MariaDB renamed its library to libmariadb.so
|
||||
%global with_shared_lib_major_hack 0
|
||||
%else
|
||||
%global with_shared_lib_major_hack 1
|
||||
%endif
|
||||
|
||||
|
||||
# In f20+ use unversioned docdirs, otherwise the old versioned one
|
||||
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
|
||||
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
|
||||
@ -34,7 +25,6 @@
|
||||
|
||||
# For some use cases we do not need some parts of the package
|
||||
%bcond_without clibrary
|
||||
%bcond_without embedded
|
||||
%bcond_without devel
|
||||
%bcond_without client
|
||||
%bcond_without common
|
||||
@ -89,7 +79,7 @@
|
||||
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
Name: community-mysql
|
||||
Version: 5.7.22
|
||||
Version: 8.0.11
|
||||
Release: 1%{?with_debug:.debug}%{?dist}
|
||||
Summary: MySQL client programs and shared libraries
|
||||
URL: http://www.mysql.com
|
||||
@ -98,7 +88,7 @@ URL: http://www.mysql.com
|
||||
# not only GPL code. See README.mysql-license
|
||||
License: GPLv2 with exceptions and LGPLv2 and BSD
|
||||
|
||||
Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz
|
||||
Source0: https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-%{version}.tar.gz
|
||||
Source2: mysql_config_multilib.sh
|
||||
Source3: my.cnf.in
|
||||
Source6: README.mysql-docs
|
||||
@ -122,7 +112,6 @@ Source31: server.cnf.in
|
||||
# Patches common for more mysql-like packages
|
||||
Patch1: %{pkgnamepatch}-install-test.patch
|
||||
Patch2: %{pkgnamepatch}-s390-tsc.patch
|
||||
Patch3: %{pkgnamepatch}-logrotate.patch
|
||||
Patch4: %{pkgnamepatch}-file-contents.patch
|
||||
Patch5: %{pkgnamepatch}-scripts.patch
|
||||
Patch6: %{pkgnamepatch}-paths.patch
|
||||
@ -131,25 +120,18 @@ Patch7: %{pkgnamepatch}-md5_fips.patch
|
||||
# Patches specific for this mysql package
|
||||
Patch51: %{pkgnamepatch}-chain-certs.patch
|
||||
Patch52: %{pkgnamepatch}-sharedir.patch
|
||||
Patch70: %{pkgnamepatch}-5.7.9-major.patch
|
||||
Patch71: %{pkgnamepatch}-openssl11.patch
|
||||
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
|
||||
Patch73: %{pkgnamepatch}-libxcrypt.patch
|
||||
%endif
|
||||
Patch75: %{pkgnamepatch}-arm32-timer.patch
|
||||
|
||||
# Patches taken from boost 1.59
|
||||
Patch115: boost-1.58.0-pool.patch
|
||||
Patch125: boost-1.57.0-mpl-print.patch
|
||||
Patch136: boost-1.57.0-spirit-unused_typedef.patch
|
||||
Patch145: boost-1.54.0-locale-unused_typedef.patch
|
||||
Patch170: boost-1.59.0-log.patch
|
||||
Patch180: boost-1.59-python-make_setter.patch
|
||||
Patch181: boost-1.59-test-fenv.patch
|
||||
|
||||
BuildRequires: cmake gcc-c++
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: libedit-devel
|
||||
BuildRequires: libevent-devel
|
||||
BuildRequires: lz4
|
||||
BuildRequires: lz4-devel
|
||||
BuildRequires: mecab-devel
|
||||
%ifnarch aarch64 %{arm} s390 s390x
|
||||
@ -164,7 +146,8 @@ BuildRequires: perl-generators
|
||||
BuildRequires: rpcgen
|
||||
BuildRequires: libtirpc-devel
|
||||
%endif
|
||||
BuildRequires: systemtap-sdt-devel
|
||||
BuildRequires: protobuf-lite-devel
|
||||
BuildRequires: zlib
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: multilib-rpm-config
|
||||
# Tests requires time and ps and some perl modules
|
||||
@ -180,6 +163,7 @@ BuildRequires: perl(Data::Dumper)
|
||||
BuildRequires: perl(Getopt::Long)
|
||||
BuildRequires: perl(IPC::Open3)
|
||||
BuildRequires: perl(JSON)
|
||||
BuildRequires: perl(LWP::Simple)
|
||||
BuildRequires: perl(Memoize)
|
||||
BuildRequires: perl(Socket)
|
||||
BuildRequires: perl(Sys::Hostname)
|
||||
@ -192,7 +176,7 @@ BuildRequires: perl(Time::HiRes)
|
||||
Requires: bash coreutils grep
|
||||
Requires: %{name}-common%{?_isa} = %{sameevr}
|
||||
|
||||
Provides: bundled(boost) = 1.59
|
||||
Provides: bundled(boost) = 1.66
|
||||
|
||||
%if %{with mysql_names}
|
||||
Provides: mysql = %{sameevr}
|
||||
@ -265,13 +249,12 @@ MySQL package.
|
||||
|
||||
%if %{with errmsg}
|
||||
%package errmsg
|
||||
Summary: The error messages files required by server and embedded
|
||||
Summary: The error messages files required by MySQL server
|
||||
Group: Applications/Databases
|
||||
Requires: %{name}-common%{?_isa} = %{sameevr}
|
||||
|
||||
%description errmsg
|
||||
The package provides error messages files for the MySQL daemon and the
|
||||
embedded server. You will need to install this package to use any of those
|
||||
MySQL packages.
|
||||
The package provides error messages files for the MySQL daemon
|
||||
%endif
|
||||
|
||||
|
||||
@ -329,45 +312,14 @@ package contains the libraries and header files that are needed for
|
||||
developing MySQL client applications.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with embedded}
|
||||
%package embedded
|
||||
Summary: MySQL as an embeddable library
|
||||
Requires: %{name}-common%{?_isa} = %{sameevr}
|
||||
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
|
||||
%if %{with mysql_names}
|
||||
Provides: mysql-embedded = %{sameevr}
|
||||
Provides: mysql-embedded%{?_isa} = %{sameevr}
|
||||
%endif
|
||||
|
||||
%description embedded
|
||||
MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains a version of the MySQL server that can be embedded
|
||||
into a client application instead of running as a separate process.
|
||||
|
||||
|
||||
%package embedded-devel
|
||||
Summary: Development files for MySQL as an embeddable library
|
||||
Requires: %{name}-embedded%{?_isa} = %{sameevr}
|
||||
Requires: %{name}-devel%{?_isa} = %{sameevr}
|
||||
Requires: libaio-devel
|
||||
Requires: lz4-devel
|
||||
Requires: pkgconfig(openssl)
|
||||
Requires: zlib-devel
|
||||
%{?with_conflicts:Conflicts: mariadb-embedded-devel}
|
||||
|
||||
%description embedded-devel
|
||||
MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains files needed for developing and testing with
|
||||
the embedded version of the MySQL server.
|
||||
%endif
|
||||
|
||||
%if %{with test}
|
||||
%package test
|
||||
Summary: The test suite distributed with MySQL
|
||||
Requires: %{name}%{?_isa} = %{sameevr}
|
||||
Requires: %{name}-common%{?_isa} = %{sameevr}
|
||||
Requires: %{name}-server%{?_isa} = %{sameevr}
|
||||
Requires: gzip
|
||||
Requires: lz4
|
||||
Requires: perl(Digest::file)
|
||||
Requires: perl(Digest::MD5)
|
||||
Requires: perl(Env)
|
||||
@ -378,6 +330,8 @@ Requires: perl(Data::Dumper)
|
||||
Requires: perl(Getopt::Long)
|
||||
Requires: perl(IPC::Open3)
|
||||
Requires: perl(JSON)
|
||||
Requires: perl(LWP::Simple)
|
||||
Requires: perl(Memoize)
|
||||
Requires: perl(Socket)
|
||||
Requires: perl(Sys::Hostname)
|
||||
Requires: perl(Test::More)
|
||||
@ -399,30 +353,17 @@ the MySQL sources.
|
||||
%setup -q -n mysql-%{version}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
%if %{with_shared_lib_major_hack}
|
||||
%patch70 -p1
|
||||
%endif
|
||||
%patch71 -p1
|
||||
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
|
||||
%patch73 -p1
|
||||
%endif
|
||||
%patch75 -p1
|
||||
|
||||
# Patch Boost
|
||||
pushd boost/boost_1_59_0
|
||||
pushd boost/boost_1_66_0
|
||||
%patch115 -p0
|
||||
%patch125 -p1
|
||||
%patch136 -p1
|
||||
%patch145 -p1
|
||||
%patch170 -p2
|
||||
%patch180 -p2
|
||||
%patch181 -p2
|
||||
popd
|
||||
|
||||
# Modify tests to pass on all archs
|
||||
@ -434,6 +375,43 @@ add_test () {
|
||||
|
||||
touch %{skiplist}
|
||||
|
||||
# fails everywhere
|
||||
add_test gis.srs : 8.0 issue
|
||||
add_test main.import : 8.0 issue
|
||||
add_test main.no_binlog_related_options : 8.0 issue
|
||||
add_test main.regular_expressions_func_icu_54 : 8.0 issue
|
||||
add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue
|
||||
add_test main.regular_expressions_utf-8 : 8.0 issue
|
||||
add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue
|
||||
add_test perfschema.histograms : 8.0 issue
|
||||
add_test main.log_options_cmdline : 8.0 issue
|
||||
|
||||
# Fails since 8.0
|
||||
add_test x.crud_insert_cast :
|
||||
add_test x.insert_table :
|
||||
add_test x.insert_table_bad_column :
|
||||
add_test x.insert_table_bad_column_type :
|
||||
add_test x.insert_table_bad_numcolumns :
|
||||
add_test x.update_crud_arrayappend_o :
|
||||
add_test x.update_crud_arrayinsert_o :
|
||||
|
||||
add_test innodb.innodb : missing correct value
|
||||
add_test innodb.innodb_cats :
|
||||
add_test innodb.log_corruption :
|
||||
|
||||
add_test main.dd_upgrade_test :
|
||||
add_test main.disabled_replication :
|
||||
add_test main.flush2 :
|
||||
add_test main.import :
|
||||
add_test main.mysqldump-no-binlog :
|
||||
add_test main.skip_log_bin :
|
||||
|
||||
add_test main.window_functions_explain :
|
||||
add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status :
|
||||
add_test gis.gis_bugs_crashes :
|
||||
add_test perfschema.histograms :
|
||||
add_test main.log_options_cmdline :
|
||||
|
||||
# these tests fail on arm32
|
||||
%ifarch %arm
|
||||
# FTS; still apply for 5.7.21
|
||||
@ -441,20 +419,19 @@ add_test innodb_fts.opt : arm32 FTS issue
|
||||
# Missing hw counters; in 5.7.21 reported as unstable tests
|
||||
add_test perfschema.func_file_io : missing hw on arm32
|
||||
add_test perfschema.setup_objects : missing hw on arm32
|
||||
add_test perfschema.global_read_lock : missing hw on arm32
|
||||
add_test perfschema.func_mutex : missing hw on arm32
|
||||
%endif
|
||||
|
||||
# This test fail on ppc64 and ppc64le; applicable in 5.7.21
|
||||
%ifarch ppc64le ppc64
|
||||
add_test innodb.innodb : missing correct value
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
add_test main.histograms : 8.0 issue/ppc64le
|
||||
add_test main.opt_costmodel : 8.0 issue/ppc64le
|
||||
add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le
|
||||
add_test perfschema.memory_aggregate_no_a : incorrect numbers in output
|
||||
add_test innodb_zip.wl6469 :
|
||||
add_test json.json_functions_innodb :
|
||||
add_test main.ps :
|
||||
# The "select" tests may be a PPC floating point long long precision error
|
||||
# Need to check this theory, though.
|
||||
# Maybe usefull conversation: https://github.com/h5py/h5py/issues/817
|
||||
add_test main.select_all :
|
||||
add_test main.select_all_bka :
|
||||
add_test main.select_all_bka_nixbnl :
|
||||
@ -471,10 +448,6 @@ add_test main.type_ranges :
|
||||
add_test test_service_sql_api.test_sql_all_col_types :
|
||||
%endif
|
||||
|
||||
%ifarch i686
|
||||
add_test gis.gis_bugs_crashes : Failing since 5.7.22 release
|
||||
%endif
|
||||
|
||||
popd
|
||||
|
||||
cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \
|
||||
@ -518,12 +491,10 @@ cmake .. \
|
||||
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
|
||||
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
|
||||
-DINSTALL_SBINDIR=libexec \
|
||||
-DINSTALL_SCRIPTDIR=bin \
|
||||
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
|
||||
-DMYSQL_DATADIR="%{dbdatadir}" \
|
||||
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
|
||||
-DENABLED_LOCAL_INFILE=ON \
|
||||
-DENABLE_DTRACE=ON \
|
||||
%if %{with init_systemd}
|
||||
-DWITH_SYSTEMD=1 \
|
||||
-DSYSTEMD_SERVICE_NAME="%{daemon_name}" \
|
||||
@ -533,18 +504,21 @@ cmake .. \
|
||||
%ifnarch aarch64 %{arm} s390 s390x
|
||||
-DWITH_NUMA=ON \
|
||||
%endif
|
||||
-DWITH_EMBEDDED_SERVER=ON \
|
||||
-DWITH_EMBEDDED_SHARED_LIBRARY=ON \
|
||||
%ifarch s390 s390x
|
||||
-DUSE_LD_GOLD=OFF \
|
||||
%endif
|
||||
-DWITH_EDITLINE=system \
|
||||
-DWITH_LIBEVENT=system \
|
||||
-DWITH_LZ4=system \
|
||||
-DWITH_MECAB=system \
|
||||
-DWITH_PROTOBUF=system \
|
||||
-DWITH_SSL=system \
|
||||
-DWITH_ZLIB=system \
|
||||
-DWITH_BOOST=../boost \
|
||||
-DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \
|
||||
-DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \
|
||||
%{?with_debug: -DWITH_DEBUG=1}\
|
||||
%{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\
|
||||
-DTMPDIR=/var/tmp \
|
||||
%{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
|
||||
|
||||
@ -556,9 +530,6 @@ popd
|
||||
pushd build
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
# multilib header support
|
||||
%multilib_fix_c_header --file %{_includedir}/mysql/my_config.h
|
||||
|
||||
# multilib support for shell scripts
|
||||
# we only apply this to known Red Hat multilib arches, per bug #181335
|
||||
if %multilib_capable; then
|
||||
@ -609,8 +580,6 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p
|
||||
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
|
||||
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
|
||||
|
||||
# not needed in rpm package
|
||||
rm %{buildroot}%{_bindir}/mysql_embedded
|
||||
rm %{buildroot}%{_libdir}/mysql/*.a
|
||||
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
|
||||
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
|
||||
@ -645,11 +614,6 @@ rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.*
|
||||
rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
||||
%endif
|
||||
|
||||
%if %{without embedded}
|
||||
rm %{buildroot}%{_libdir}/mysql/libmysqld.so*
|
||||
rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
|
||||
%endif
|
||||
|
||||
%if %{without devel}
|
||||
rm %{buildroot}%{_bindir}/mysql_config*
|
||||
rm -r %{buildroot}%{_includedir}/mysql
|
||||
@ -700,13 +664,13 @@ pushd mysql-test
|
||||
cp ../../mysql-test/%{skiplist} .
|
||||
# builds might happen at the same host, avoid collision
|
||||
export MTR_BUILD_THREAD=%{__isa_bits}
|
||||
./mtr \
|
||||
./mtr %{?with_debug:--debug-server} \
|
||||
--mem --parallel=auto --force --retry=2 \
|
||||
--mysqld=--binlog-format=mixed \
|
||||
--suite-timeout=720 --testcase-timeout=30 \
|
||||
--report-unstable-tests --clean-vardir \
|
||||
%if %{check_testsuite}
|
||||
--max-test-fail=0 || :
|
||||
--max-test-fail=100 || :
|
||||
%else
|
||||
--skip-test-list=%{skiplist}
|
||||
%endif
|
||||
@ -726,11 +690,6 @@ popd
|
||||
%ldconfig_post libs
|
||||
%endif
|
||||
|
||||
%if %{with embedded}
|
||||
# Can be dropped on F27 EOL
|
||||
%ldconfig_post embedded
|
||||
%endif
|
||||
|
||||
%post server
|
||||
%if %{with init_systemd}
|
||||
%systemd_post %{daemon_name}.service
|
||||
@ -761,11 +720,6 @@ fi
|
||||
%ldconfig_postun libs
|
||||
%endif
|
||||
|
||||
%if %{with embedded}
|
||||
# Can be dropped on F27 EOL
|
||||
%ldconfig_postun embedded
|
||||
%endif
|
||||
|
||||
%postun server
|
||||
%if %{with init_systemd}
|
||||
%systemd_postun_with_restart %{daemon_name}.service
|
||||
@ -780,7 +734,6 @@ fi
|
||||
%files
|
||||
%{_bindir}/mysql
|
||||
%{_bindir}/mysql_config_editor
|
||||
%{_bindir}/mysql_plugin
|
||||
%{_bindir}/mysqladmin
|
||||
%{_bindir}/mysqlbinlog
|
||||
%{_bindir}/mysqlcheck
|
||||
@ -792,7 +745,6 @@ fi
|
||||
|
||||
%{_mandir}/man1/mysql.1*
|
||||
%{_mandir}/man1/mysql_config_editor.1*
|
||||
%{_mandir}/man1/mysql_plugin.1*
|
||||
%{_mandir}/man1/mysqladmin.1*
|
||||
%{_mandir}/man1/mysqlbinlog.1*
|
||||
%{_mandir}/man1/mysqlcheck.1*
|
||||
@ -819,7 +771,8 @@ fi
|
||||
|
||||
%if %{with common}
|
||||
%files common
|
||||
%doc README COPYING README.mysql-license README.mysql-docs
|
||||
%license LICENSE
|
||||
%doc README README.mysql-license README.mysql-docs
|
||||
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
|
||||
%dir %{_libdir}/mysql
|
||||
%dir %{_datadir}/%{pkg_name}
|
||||
@ -856,12 +809,12 @@ fi
|
||||
%endif
|
||||
|
||||
%files server
|
||||
%{_bindir}/ibd2sdi
|
||||
%{_bindir}/myisamchk
|
||||
%{_bindir}/myisam_ftdump
|
||||
%{_bindir}/myisamlog
|
||||
%{_bindir}/myisampack
|
||||
%{_bindir}/my_print_defaults
|
||||
%{_bindir}/mysql_install_db
|
||||
%{_bindir}/mysql_secure_installation
|
||||
%{_bindir}/mysql_ssl_rsa_setup
|
||||
%{_bindir}/mysql_tzinfo_to_sql
|
||||
@ -875,11 +828,8 @@ fi
|
||||
%{_bindir}/mysqldumpslow
|
||||
%{_bindir}/innochecksum
|
||||
%{_bindir}/perror
|
||||
%{_bindir}/replace
|
||||
%{_bindir}/resolve_stack_dump
|
||||
%{_bindir}/resolveip
|
||||
%{_bindir}/lz4_decompress
|
||||
%{_bindir}/zlib_decompress
|
||||
|
||||
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
|
||||
|
||||
@ -893,13 +843,13 @@ fi
|
||||
|
||||
%{_libdir}/mysql/plugin
|
||||
|
||||
%{_mandir}/man1/ibd2sdi.1*
|
||||
%{_mandir}/man1/myisamchk.1*
|
||||
%{_mandir}/man1/myisamlog.1*
|
||||
%{_mandir}/man1/myisampack.1*
|
||||
%{_mandir}/man1/myisam_ftdump.1*
|
||||
%{_mandir}/man1/mysql.server.1*
|
||||
%{_mandir}/man1/my_print_defaults.1*
|
||||
%{_mandir}/man1/mysql_install_db.1*
|
||||
%{_mandir}/man1/mysql_secure_installation.1*
|
||||
%{_mandir}/man1/mysql_ssl_rsa_setup.1*
|
||||
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
|
||||
@ -915,7 +865,6 @@ fi
|
||||
%{_mandir}/man1/mysqlman.1*
|
||||
%{_mandir}/man1/innochecksum.1*
|
||||
%{_mandir}/man1/perror.1*
|
||||
%{_mandir}/man1/replace.1*
|
||||
%{_mandir}/man1/resolve_stack_dump.1*
|
||||
%{_mandir}/man1/resolveip.1*
|
||||
%{_mandir}/man1/lz4_decompress.1*
|
||||
@ -926,7 +875,6 @@ fi
|
||||
%{_datadir}/%{pkg_name}/fill_help_tables.sql
|
||||
%{_datadir}/%{pkg_name}/innodb_memcached_config.sql
|
||||
%{_datadir}/%{pkg_name}/install_rewriter.sql
|
||||
%{_datadir}/%{pkg_name}/mysql_security_commands.sql
|
||||
%{_datadir}/%{pkg_name}/mysql_sys_schema.sql
|
||||
%{_datadir}/%{pkg_name}/mysql_system_tables.sql
|
||||
%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql
|
||||
@ -964,26 +912,19 @@ fi
|
||||
%{_mandir}/man1/mysql_config.1*
|
||||
%endif
|
||||
|
||||
%if %{with embedded}
|
||||
%files embedded
|
||||
%{_libdir}/mysql/libmysqld.so.*
|
||||
|
||||
%files embedded-devel
|
||||
%{_libdir}/mysql/libmysqld.so
|
||||
%endif
|
||||
|
||||
%if %{with test}
|
||||
%files test
|
||||
%{_bindir}/mysql_client_test
|
||||
%{_bindir}/mysql_client_test_embedded
|
||||
%{_bindir}/mysqltest
|
||||
%{_bindir}/mysqltest_embedded
|
||||
%{_bindir}/mysqlxtest
|
||||
%{_bindir}/my_safe_process
|
||||
%attr(-,mysql,mysql) %{_datadir}/mysql-test
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Apr 20 2018 Norvald H. Ryeng <norvald.ryeng@oracle.com> - 8.0.11-1
|
||||
- Update to MySQL 8.0.11 (GA).
|
||||
|
||||
* Thu Apr 19 2018 Michal Schorm <mschorm@redhat.com> - 5.7.22-1
|
||||
- Rebase to 5.7.22 version
|
||||
- CVE fixes: #1568963
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (mysql-boost-5.7.22.tar.gz) = 186c9e9735114e312c65531c70e6b0b9b48b0fe14384b7a6ebfac2c1f91c3f4ac223d06e27a424fc75f57e0aaf2f74d6a8411a8ab9c6fed45c499068d0f1dc2a
|
||||
SHA512 (mysql-boost-8.0.11.tar.gz) = 845db694c5669bf23e03b8d8169ed1194f6c8eec0957976791f533dedc8e7c6618bf75d88224f86dbc679a05f22d49019792bc7a0cbe1f1efea55f9a0a67df91
|
||||
|
Loading…
Reference in New Issue
Block a user