diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8a35950 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/mysql-boost-8.0.21.tar.gz diff --git a/.mysql.metadata b/.mysql.metadata new file mode 100644 index 0000000..e9b8ef9 --- /dev/null +++ b/.mysql.metadata @@ -0,0 +1 @@ +fe39b69fa3ae21801efe8e94749696df01f55ddc SOURCES/mysql-boost-8.0.21.tar.gz diff --git a/SOURCES/README.mysql-docs b/SOURCES/README.mysql-docs new file mode 100644 index 0000000..dd894a7 --- /dev/null +++ b/SOURCES/README.mysql-docs @@ -0,0 +1,4 @@ +The official MySQL documentation is not freely redistributable, so we cannot +include it in RHEL or Fedora. You can find it on-line at + +http://dev.mysql.com/doc/ diff --git a/SOURCES/README.mysql-license b/SOURCES/README.mysql-license new file mode 100644 index 0000000..ceabbcf --- /dev/null +++ b/SOURCES/README.mysql-license @@ -0,0 +1,9 @@ +MySQL is distributed under GPL v2, but there are some licensing exceptions +that allow the client libraries to be linked with a non-GPL application, +so long as the application is under a license approved by Oracle. +For details see + +http://www.mysql.com/about/legal/licensing/foss-exception/ + +Some innobase code from Percona and Google is under BSD license. +Some code related to test-suite is under LGPLv2. diff --git a/SOURCES/boost-1.57.0-mpl-print.patch b/SOURCES/boost-1.57.0-mpl-print.patch new file mode 100644 index 0000000..561cef1 --- /dev/null +++ b/SOURCES/boost-1.57.0-mpl-print.patch @@ -0,0 +1,31 @@ +diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp +--- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.000000000 +0200 ++++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100 +@@ -52,16 +52,15 @@ struct print + enum { n = sizeof(T) + -1 }; + #elif defined(__MWERKS__) + void f(int); +-#else +- enum { +- n = +-# if defined(__EDG_VERSION__) +- aux::dependent_unsigned::value > -1 +-# else +- sizeof(T) > -1 +-# endif +- }; +-#endif ++#elif defined(__EDG_VERSION__) ++ enum { n = aux::dependent_unsigned::value > -1 }; ++#elif defined(BOOST_GCC) ++ enum { n1 }; ++ enum { n2 }; ++ enum { n = n1 != n2 }; ++#else ++ enum { n = sizeof(T) > -1 }; ++#endif + }; + + #if defined(BOOST_MSVC) + +Diff finished. Tue Jan 20 12:45:03 2015 diff --git a/SOURCES/boost-1.58.0-pool.patch b/SOURCES/boost-1.58.0-pool.patch new file mode 100644 index 0000000..ed8449e --- /dev/null +++ b/SOURCES/boost-1.58.0-pool.patch @@ -0,0 +1,120 @@ +Index: boost/pool/pool.hpp +=================================================================== +--- boost/pool/pool.hpp (revision 78317) ++++ boost/pool/pool.hpp (revision 78326) +@@ -27,4 +27,6 @@ + #include + ++// std::numeric_limits ++#include + // boost::integer::static_lcm + #include +@@ -358,4 +360,11 @@ + } + ++ size_type max_chunks() const ++ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. ++ size_type partition_size = alloc_size(); ++ size_type POD_size = integer::static_lcm::value + sizeof(size_type); ++ return (std::numeric_limits::max() - POD_size) / alloc_size(); ++ } ++ + static void * & nextof(void * const ptr) + { //! \returns Pointer dereferenced. +@@ -377,5 +388,7 @@ + //! the first time that object needs to allocate system memory. + //! The default is 32. This parameter may not be 0. +- //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ set_next_size(nnext_size); ++ set_max_size(nmax_size); + } + +@@ -400,7 +413,7 @@ + } + void set_next_size(const size_type nnext_size) +- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. +- //! \returns nnext_size. +- next_size = start_size = nnext_size; ++ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. ++ BOOST_USING_STD_MIN(); ++ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks()); + } + size_type get_max_size() const +@@ -410,5 +423,6 @@ + void set_max_size(const size_type nmax_size) + { //! Set max_size. +- max_size = nmax_size; ++ BOOST_USING_STD_MIN(); ++ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks()); + } + size_type get_requested_size() const +@@ -713,7 +727,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -753,7 +767,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -797,4 +811,6 @@ + //! \returns Address of chunk n if allocated ok. + //! \returns 0 if not enough memory for n chunks. ++ if (n > max_chunks()) ++ return 0; + + const size_type partition_size = alloc_size(); +@@ -845,7 +861,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // insert it into the list, +Index: libs/pool/test/test_bug_6701.cpp +=================================================================== +--- libs/pool/test/test_bug_6701.cpp (revision 78326) ++++ libs/pool/test/test_bug_6701.cpp (revision 78326) +@@ -0,0 +1,27 @@ ++/* Copyright (C) 2012 Étienne Dupuis ++* ++* Use, modification and distribution is subject to the ++* Boost Software License, Version 1.0. (See accompanying ++* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) ++*/ ++ ++// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701) ++ ++#include ++#include ++ ++int main() ++{ ++ boost::pool<> p(1024, std::numeric_limits::max() / 768); ++ ++ void *x = p.malloc(); ++ BOOST_ASSERT(!x); ++ ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_next_size()); ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_max_size()); ++ ++ void *y = p.ordered_malloc(std::numeric_limits::max() / 768); ++ BOOST_ASSERT(!y); ++ ++ return 0; ++} diff --git a/SOURCES/daemon-scl-helper.sh b/SOURCES/daemon-scl-helper.sh new file mode 100644 index 0000000..7f0ec05 --- /dev/null +++ b/SOURCES/daemon-scl-helper.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +# This helper script is necessary for having proper SELinux context of daemon +# process run in SCL environment via systemd unit file. +# Without this script the process looses SELinux type because /usr/bin/scl +# has context bin_t and unit_t -> bin_t results in unconfined process running. +# If this helper script has the same SELinux context as the original binary, +# the process will have proper SELinux context. +# +# This script was designed to be usable the same as the scl command is used, +# including the collections given as more arguments, separated from binary +# itself by -- separator. +# So it is possible to use the list of collections to be enabled via +# environment file. +# Thus, instead of: +# /usr/bin/scl enable scl1 scl2 -- /path/to/bin arg1 arg2 +# you can use: +# /usr/bin/this-script enable scl1 scl2 -- /path/to/bin arg1 arg2 +# +# Notice: do not forget to set proper SELinux context for this file. +# The context should be the same as the binary running has. +# +# More information at http://bugzilla.redhat.com/show_bug.cgi?id=1172683 + +action="$1" +shift + +while [ -n "$1" ] && [ "$1" != "--" ] ; do + source scl_source "$action" "$1" + shift +done + +if [ $# -le 2 ] ; then + echo "Usage `basename $0` enable sclname [sclname ...] -- /path/to/bin [arg ...]" >&2 + exit 1 +fi + +shift + +exec "$@" + + + diff --git a/SOURCES/default-authentication-plugin.cnf b/SOURCES/default-authentication-plugin.cnf new file mode 100644 index 0000000..aed7c00 --- /dev/null +++ b/SOURCES/default-authentication-plugin.cnf @@ -0,0 +1,12 @@ +# +# MySQL 8.0.4 introduced 'caching_sha2_password' as its default authentication plugin. +# It is faster and provides better security then the previous default authentication plugin. +# +# Until now (09/2018), it does not work with some other software (eg. MariaDB client, MariaDB connectors, ...) +# +# This configuration file changes MySQL default server configuration, so it behaves the same way as in MySQL 5.7. +# +# To change the behaviour back to the upstream default, comment out the following lines: + +[mysqld] +default_authentication_plugin=mysql_native_password diff --git a/SOURCES/my.cnf.in b/SOURCES/my.cnf.in new file mode 100644 index 0000000..2bb9e88 --- /dev/null +++ b/SOURCES/my.cnf.in @@ -0,0 +1,16 @@ +# +# This group is read both both by the client and the server +# use it for options that affect everything +# +[client-server] + +# +# This group is read by the server +# +[mysqld] + +# +# include all files from the config directory +# +!includedir @SYSCONF2DIR@ + diff --git a/SOURCES/mysql-5.6.10-rpmlintrc b/SOURCES/mysql-5.6.10-rpmlintrc new file mode 100644 index 0000000..dfcdf39 --- /dev/null +++ b/SOURCES/mysql-5.6.10-rpmlintrc @@ -0,0 +1,48 @@ +# Filtered out until upstream fixes them +# Upstream bug: http://bugs.mysql.com/68518 +addFilter("incorrect-fsf-address") + +# Done to avoid _prefix/lib64/tmpfiles.d +addFilter("E: hardcoded-library-path in %\{_prefix\}/lib/tmpfiles.d") + +# Keeping the old summary for now +addFilter("W: name-repeated-in-summary C MySQL") + +# Spellchecked +addFilter("W: spelling-error %description -l en_US multi -> mulch, mufti") +addFilter("W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark") +addFilter("W: spelling-error Summary(en_US) embeddable -> embedded") +addFilter("W: spelling-error.*embeddable -> embedded") + +# As long as the manual is part of the original tarball, we have do to +# this +addFilter("mysql.src: W: invalid-url Source0: mysql-5.6.[0-9]+-nodocs.tar.gz") + +# Leave the logfile where it is for now +addFilter("E: non-root-user-log-file /var/log/mysqld.log mysql") +addFilter("E: non-root-group-log-file /var/log/mysqld.log mysql") +addFilter("E: non-ghost-file /var/log/mysqld.log") +addFilter("E: zero-length /var/log/mysqld.log") + +addFilter("E: incoherent-logrotate-file /etc/logrotate.d/mysqld") + +# Hidden files and zero lenght files is normal for some tests +addFilter("W: hidden-file-or-dir /usr/share/mysql-test/std_data/.mylogin.cnf") +addFilter("E: zero-length /usr/share/mysql-test/suite/parts/t/disabled.def") +addFilter("E: zero-length /usr/share/mysql-test/std_data/bug37631.MYD") +addFilter("E: zero-length /usr/share/mysql-test/std_data/cluster_7022_table.MYD") +addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-weekly.list") +addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-daily.list") + +# debuginfo bug? +addFilter("E: non-standard-dir-perm /usr/src/debug/tmp 01777") + +# mysql-config *script* in lib +addFilter("W: only-non-binary-in-usr-lib") + +# missing +addFilter("W: no-manual-page-for-binary my_safe_process") + +# cluster is gone +addFilter("W: obsolete-not-provided mysql-cluster") + diff --git a/SOURCES/mysql-arm32-timer.patch b/SOURCES/mysql-arm32-timer.patch new file mode 100644 index 0000000..c9af92a --- /dev/null +++ b/SOURCES/mysql-arm32-timer.patch @@ -0,0 +1,16 @@ +diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql +index 990fe81..c2e1b36 100644 +--- a/mysql-test/include/mtr_warnings.sql ++++ b/mysql-test/include/mtr_warnings.sql +@@ -292,6 +292,11 @@ INSERT INTO global_suppressions VALUES + */ + ("Channel mysql_main configured to support TLS"), + ++ /* ++ 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"); + + diff --git a/SOURCES/mysql-certs-expired.patch b/SOURCES/mysql-certs-expired.patch new file mode 100644 index 0000000..5adbb48 --- /dev/null +++ b/SOURCES/mysql-certs-expired.patch @@ -0,0 +1,964 @@ +commit 2f61a515fd7998f00fe329a9bf17392ae0c7187d +Author: Harin Vadodaria +Date: Wed Jul 1 12:11:52 2020 +0200 + + Bug#31562947: SSL TESTS ARE FAILING BECAUSE OF AN EXPIRED CERTIFICATE + + Description: Some of the certificates used for testing + CRL support are expired. This caused various + tests to failed. + + Fix: - Added new set of certificates + - Updated read-me for CRL generation + + RB: 24714 + +diff --git a/mysql-test/std_data/crl-ca-cert.pem b/mysql-test/std_data/crl-ca-cert.pem +index 1a40815f6a2..93c96eae026 100644 +--- a/mysql-test/std_data/crl-ca-cert.pem ++++ b/mysql-test/std_data/crl-ca-cert.pem +@@ -2,79 +2,80 @@ Certificate: + Data: + Version: 3 (0x2) + Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1d +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ bf:07:54:de:af:cf:c4:de ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 11:58:53 2019 GMT +- Not After : Jun 30 11:58:53 2022 GMT +- Subject: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Not Before: Jul 1 07:44:35 2020 GMT ++ Not After : Jun 29 07:44:35 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:c9:09:95:54:a0:91:fd:f9:26:2f:ca:c4:ce:4a: +- cc:25:72:44:34:f2:68:7a:4d:91:ab:1a:54:90:50: +- fc:14:8a:f2:5b:83:f3:68:c9:0e:bc:0f:dd:11:2f: +- 25:43:9e:d4:5a:cf:e0:2a:4f:63:d8:1d:de:ef:7d: +- 6b:14:4f:8f:2e:9a:44:b8:4f:41:b3:88:95:71:e2: +- cd:8b:22:96:7c:55:fb:39:1a:6b:18:05:18:2c:95: +- 15:9f:b0:e3:92:76:c5:c6:e3:3f:56:44:2d:fe:a5: +- 61:d7:47:db:84:be:08:19:d6:39:f3:4f:dd:6c:d9: +- ff:e1:c2:ba:78:2b:87:a8:32:02:e2:a9:e7:8a:14: +- bb:c5:7a:a8:33:ff:54:0b:5c:c6:20:cf:2e:e3:ee: +- f5:fe:4c:98:26:a5:fc:1a:4a:3f:62:8f:df:a6:31: +- d2:a0:f4:c8:04:dd:f5:b8:5e:6b:6c:c3:c4:c7:da: +- 80:19:2f:40:e1:df:7d:39:a0:9d:c7:fe:59:db:75: +- f1:5e:2f:da:07:7f:5f:ac:0b:18:eb:0f:61:a5:17: +- b1:9e:cb:d5:56:9a:b4:54:89:93:45:2b:90:7e:ef: +- c3:a2:36:d5:7f:64:aa:a2:79:23:74:8c:02:93:5b: +- da:dd:10:03:01:9e:84:49:4d:8f:32:75:f1:63:57: +- 88:19 ++ 00:c9:08:13:81:df:5a:aa:45:2a:82:1e:73:4f:d6: ++ 2f:6b:7a:78:41:a7:fb:ea:02:5c:30:15:95:6a:a4: ++ 60:6b:08:4c:7d:46:4f:1a:7c:14:67:c6:19:e0:bf: ++ c9:12:c3:96:7f:71:12:79:ba:a1:d2:51:1b:fb:f1: ++ 0f:43:9d:22:6d:7f:46:a7:94:0c:51:c2:25:ad:36: ++ c8:1c:59:45:91:e1:20:4d:5e:31:b1:33:b1:4b:2b: ++ a0:62:fb:8a:c6:ee:7e:84:77:d2:aa:23:f8:31:74: ++ d5:94:60:72:88:a7:3a:ec:f3:d8:80:28:36:c1:5a: ++ 7f:58:be:8c:d2:eb:9d:fb:22:de:ec:2c:d3:41:81: ++ b2:e4:91:e4:da:12:b2:84:0e:8f:f7:b0:1e:36:07: ++ 88:87:8e:1d:63:ad:1b:a5:31:39:d2:02:10:e0:97: ++ 21:3f:7e:e9:f1:a2:e8:c3:aa:ad:e3:bd:05:62:e1: ++ a2:8d:ed:d5:cd:d7:66:8a:2b:15:dd:e1:91:e2:75: ++ 18:c4:50:62:fb:a1:f9:96:93:af:84:78:f7:69:b6: ++ 7f:82:f7:c8:97:13:10:46:7b:de:a2:a9:c9:71:78: ++ f1:8e:a1:78:b5:e5:b7:dd:69:4d:8c:1b:ae:34:0e: ++ 5f:94:26:8e:81:b3:23:6e:1f:be:de:e0:e0:41:dc: ++ 71:49 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: +- A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 ++ 43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 + X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 ++ keyid:43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 + +- X509v3 Basic Constraints: critical ++ X509v3 Basic Constraints: + CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 53:ce:08:79:96:94:22:9b:1f:8e:2f:3c:ad:7b:1f:0e:45:7e: +- 65:c1:c2:7f:46:f1:73:be:9c:e4:1b:2c:13:bd:bf:05:95:2b: +- 3c:6e:70:62:b2:14:1e:a6:60:e3:a7:b7:40:22:97:db:74:d1: +- fc:47:27:ba:de:89:50:7e:e1:3b:f5:3e:95:aa:01:e8:8a:e6: +- f9:49:48:97:d2:91:a0:1f:9d:82:b5:35:16:58:01:d1:82:1d: +- b4:dc:68:b9:1b:84:fb:e3:ec:06:a6:55:69:e9:84:69:7d:34: +- ba:dd:dd:57:15:1a:9e:d8:f4:c7:44:98:07:35:66:ec:a6:1e: +- 91:b8:a4:b2:9b:85:52:e8:98:e6:e8:28:8c:d4:1e:8e:45:50: +- 58:c9:68:fd:b4:4b:4f:b7:58:9f:45:7b:b1:12:ae:7d:70:0d: +- 4b:42:7e:46:d0:5a:d5:21:9f:f1:99:b6:21:75:34:7b:2a:d8: +- 45:2e:f9:4d:fa:b4:72:a8:9e:22:e6:66:4b:81:1d:8e:b2:54: +- f3:0f:02:17:68:7f:79:ca:df:a7:5d:17:70:50:bf:47:df:5a: +- 6a:e1:7f:af:ab:ca:54:86:ad:d8:35:c5:b8:f7:9d:72:0e:db: +- dc:0c:c3:08:2d:d1:9a:18:5c:c3:c1:64:7a:f3:9a:5a:6d:69: +- 12:e1:fd:c2 ++ 16:b8:f3:2a:4a:f7:82:7b:99:cb:40:20:a1:76:7a:2b:19:c9: ++ 4f:4f:90:b3:e4:7c:6e:42:28:c8:47:4b:37:12:ab:fa:64:ec: ++ d6:50:f8:2f:bd:61:cd:d6:09:96:d3:84:b1:e6:60:ae:99:ae: ++ 4a:1a:b1:34:a6:ee:b7:3b:1f:6f:cc:94:39:26:e4:9d:d2:02: ++ d9:75:ce:e7:dd:e9:3a:b2:c4:84:1a:75:0e:64:ce:32:7f:68: ++ 5b:81:b7:5e:18:bd:ac:56:69:1c:1a:a0:a1:61:85:f2:11:78: ++ 50:42:4e:e8:b8:67:8a:50:85:09:75:67:d9:09:e1:2a:61:64: ++ 24:1a:52:79:12:5c:d1:a5:53:5f:70:63:2b:30:fe:4e:e5:c6: ++ 3a:7c:f3:36:3e:7b:ab:6b:57:04:12:53:7e:dd:18:63:bf:25: ++ ae:b0:14:f8:93:bb:0a:a6:d4:7b:77:60:58:52:ee:9e:76:9c: ++ 63:ef:84:40:fd:5a:be:54:74:d7:b8:4a:85:09:a0:13:0e:75: ++ 75:e6:2c:73:1b:e3:94:ff:ad:73:0b:c6:e3:b0:68:56:ce:ff: ++ 8d:75:f4:9d:14:5c:05:a0:8d:ad:ab:96:aa:4f:58:cb:79:cf: ++ 5b:85:84:e7:4a:66:54:09:fd:da:c2:3a:3b:ee:3c:3c:0a:66: ++ 36:bc:a6:f0 + -----BEGIN CERTIFICATE----- +-MIIDpzCCAo+gAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR0wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMTU4NTNaFw0yMjA2MzAxMTU4NTNaMGMxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTEPMA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVN +-eVNRTDEmMCQGA1UEAwwdTXlTUUwgQ1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwggEi +-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJCZVUoJH9+SYvysTOSswlckQ0 +-8mh6TZGrGlSQUPwUivJbg/NoyQ68D90RLyVDntRaz+AqT2PYHd7vfWsUT48umkS4 +-T0GziJVx4s2LIpZ8Vfs5GmsYBRgslRWfsOOSdsXG4z9WRC3+pWHXR9uEvggZ1jnz +-T91s2f/hwrp4K4eoMgLiqeeKFLvFeqgz/1QLXMYgzy7j7vX+TJgmpfwaSj9ij9+m +-MdKg9MgE3fW4Xmtsw8TH2oAZL0Dh3305oJ3H/lnbdfFeL9oHf1+sCxjrD2GlF7Ge +-y9VWmrRUiZNFK5B+78OiNtV/ZKqieSN0jAKTW9rdEAMBnoRJTY8ydfFjV4gZAgMB +-AAGjUzBRMB0GA1UdDgQWBBSnLspTBVIGEr3t/8+4ujDneh+WRjAfBgNVHSMEGDAW +-gBSnLspTBVIGEr3t/8+4ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +-DQEBCwUAA4IBAQBTzgh5lpQimx+OLzytex8ORX5lwcJ/RvFzvpzkGywTvb8FlSs8 +-bnBishQepmDjp7dAIpfbdNH8Rye63olQfuE79T6VqgHoiub5SUiX0pGgH52CtTUW +-WAHRgh203Gi5G4T74+wGplVp6YRpfTS63d1XFRqe2PTHRJgHNWbsph6RuKSym4VS +-6Jjm6CiM1B6ORVBYyWj9tEtPt1ifRXuxEq59cA1LQn5G0FrVIZ/xmbYhdTR7KthF +-LvlN+rRyqJ4i5mZLgR2OslTzDwIXaH95yt+nXRdwUL9H31pq4X+vq8pUhq3YNcW4 +-951yDtvcDMMILdGaGFzDwWR685pabWkS4f3C ++MIIDzzCCAregAwIBAgIJAL8HVN6vz8TeMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV ++BAYTAklOMRIwEAYDVQQIDAlLYXJuYXRha2ExEjAQBgNVBAcMCUJlbmdhbHVydTEP ++MA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEmMCQGA1UEAwwdTXlTUUwg ++Q1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwHhcNMjAwNzAxMDc0NDM1WhcNMzAwNjI5 ++MDc0NDM1WjB+MQswCQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYD ++VQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwx ++JjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyQgTgd9aqkUqgh5zT9Yva3p4Qaf76gJc ++MBWVaqRgawhMfUZPGnwUZ8YZ4L/JEsOWf3ESebqh0lEb+/EPQ50ibX9Gp5QMUcIl ++rTbIHFlFkeEgTV4xsTOxSyugYvuKxu5+hHfSqiP4MXTVlGByiKc67PPYgCg2wVp/ ++WL6M0uud+yLe7CzTQYGy5JHk2hKyhA6P97AeNgeIh44dY60bpTE50gIQ4JchP37p ++8aLow6qt470FYuGije3VzddmiisV3eGR4nUYxFBi+6H5lpOvhHj3abZ/gvfIlxMQ ++RnveoqnJcXjxjqF4teW33WlNjBuuNA5flCaOgbMjbh++3uDgQdxxSQIDAQABo1Aw ++TjAdBgNVHQ4EFgQUQ6s/TdPrNz09Kv69TsKK3cnlsbEwHwYDVR0jBBgwFoAUQ6s/ ++TdPrNz09Kv69TsKK3cnlsbEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC ++AQEAFrjzKkr3gnuZy0AgoXZ6KxnJT0+Qs+R8bkIoyEdLNxKr+mTs1lD4L71hzdYJ ++ltOEseZgrpmuShqxNKbutzsfb8yUOSbkndIC2XXO593pOrLEhBp1DmTOMn9oW4G3 ++Xhi9rFZpHBqgoWGF8hF4UEJO6LhnilCFCXVn2QnhKmFkJBpSeRJc0aVTX3BjKzD+ ++TuXGOnzzNj57q2tXBBJTft0YY78lrrAU+JO7CqbUe3dgWFLunnacY++EQP1avlR0 ++17hKhQmgEw51deYscxvjlP+tcwvG47BoVs7/jXX0nRRcBaCNrauWqk9Yy3nPW4WE ++50pmVAn92sI6O+48PApmNrym8A== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-certificate-readme.txt b/mysql-test/std_data/crl-certificate-readme.txt +index 6979b33e1b7..7e398eed88f 100644 +--- a/mysql-test/std_data/crl-certificate-readme.txt ++++ b/mysql-test/std_data/crl-certificate-readme.txt +@@ -1,6 +1,9 @@ + These are the instructions on how to generate test files for the CRL tests + using openSSL. + ++If you have root access on the system ++===================================== ++ + 1. Make sure you have the right validity periods in CA.pl and openssl.cnf + 2. Create a new certification authority : CA.pl -newca + 3. Copy demoCA/cacert.pem to crl-ca-cert.pem +@@ -21,11 +24,77 @@ using openSSL. + key while copying it : + openssl rsa -in newkey.pem -out crl-client-key-revoked.pem + 16. Revoke the crl-client-invalid-cert.pem : +- openssl ca -revoke crl-client-key-revoked.pem ++ openssl ca -revoke crl-client-invalid-cert.pem + 17. Generate a CRL file : + openssl ca -gencrl -crldays=3650 -out crl-client-revoked.crl + 18. Clean up all the files in the crldir directory +-19. Copy the CA certificate into it : +- cp crl-ca-cert.pem `openssl x509 -in crl-ca-cert.pem -noout -hash`.0 +-20. Copy the CRL file into it : +- cp crl-client-revoked.crl `openssl crl -in crl-ca-cert.pem -noout -hash`.r0 ++19. Copy the CRL file into it : ++ cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.crl -noout -hash`.r0 ++ ++ ++If you are using your own CA ++============================ ++ ++Prepare directory ++----------------- ++ ++1. mkdir new_crlcerts && cd new_crlcerts ++2. mkdir crldir ++3. mkdir private ++ ++Generate CA and 3 set of certificates ++------------------------------------- ++ ++4. Generate CA ++openssl genrsa 2048 > crl-ca-key.pem ++openssl req -new -x509 -nodes -days 3650 -key crl-ca-key.pem -out crl-ca-cert.pem ++ ++5. Generate Server certificate ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-server-key.pem -out crl-server-req.pem ++openssl rsa -in crl-server-key.pem -out crl-server-key.pem ++openssl x509 -req -in crl-server-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 01 -out crl-server-cert.pem ++ ++6. Generate Client certificate ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-key.pem -out crl-client-req.pem ++openssl rsa -in crl-client-key.pem -out crl-client-key.pem ++openssl x509 -req -in crl-client-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 02 -out crl-client-cert.pem ++ ++7. Generate Client certificate that will be revoked later ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-revoked-key.pem -out crl-client-revoked-req.pem ++openssl rsa -in crl-client-revoked-key.pem -out crl-client-revoked-key.pem ++openssl x509 -req -in crl-client-revoked-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 03 -out crl-client-revoked-cert.pem ++ ++Prepare for certificate revocation ++---------------------------------- ++ ++8. cp crl-ca-cert.pem cacert.pem ++9. cp crl-ca-key.pem private/cakey.pem ++10. touch index.txt ++11. echo 1000 > crlnumber ++12. copy global openssl.cnf to current working dirctory ++13. Open local copy of openssl.cnf and in [CA_default] section ++ - Update dir to point to current working directory ++ - Update certs to point to $dir and not $dir/certs ++ ++Revoke a certificate and create crl file ++---------------------------------------- ++ ++14. openssl ca -config openssl.cnf -revoke crl-client-revoked-cert.pem ++15. openssl ca -config openssl.cnf -gencrl -crldays 3600 -out crl-client-revoked.crl ++16. cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.pem -noout -hash`.r0 ++ ++Replace existing certs ++---------------------- ++17. Replace following files in /mysql-test/std_data/ with files generated above ++ crl-ca-cert.pem ++ crl-client-cert.pem ++ crl-client-key.pem ++ crl-client-revoked-cert.pem ++ crl-client-revoked-key.pem ++ crl-client-revoked.crl ++ crl-server-cert.pem ++ crl-server-key.pem ++ ++18. Remove file in /mysql-test/std_data/crldir ++19. Copy file generated in step 16 above to /mysql-test/std_data/crldir ++20. You may now remove new_crls directory +diff --git a/mysql-test/std_data/crl-client-cert.pem b/mysql-test/std_data/crl-client-cert.pem +index 2cec5cd529f..a0017c2441f 100644 +--- a/mysql-test/std_data/crl-client-cert.pem ++++ b/mysql-test/std_data/crl-client-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1f +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 2 (0x2) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:14:10 2019 GMT +- Not After : Jun 30 12:14:10 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate ++ Not Before: Jul 1 07:51:35 2020 GMT ++ Not After : May 10 07:51:35 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:d6:97:3a:d7:2b:cc:68:4a:7f:72:18:ab:74:7d: +- 51:84:48:44:11:9f:d1:f2:ee:e0:40:6d:a0:23:fc: +- 36:a2:44:ca:2c:13:60:62:f9:ce:45:54:ef:3d:ec: +- a8:6b:e0:02:66:10:89:1f:e7:bf:d2:2d:9c:79:e9: +- 3f:37:ae:fc:da:b3:0d:5f:6a:84:86:6a:04:13:26: +- 99:dd:c6:46:a3:e0:c1:1d:89:0b:4a:42:08:8e:d4: +- 56:3b:12:5e:de:04:e1:b7:da:b5:73:ee:9c:7f:a8: +- 04:f3:18:04:a7:5e:9d:a6:fd:b4:04:17:bb:3d:07: +- 8b:2b:cd:29:cb:ca:6a:d1:70:5d:4f:e5:10:09:44: +- 20:73:ef:65:87:0b:42:67:2c:1c:64:59:bd:56:ea: +- 88:d4:f1:b1:31:d8:ee:8a:bb:3d:22:09:6a:68:ec: +- b4:c5:07:15:81:9e:ae:ee:72:d7:2d:67:df:bd:fd: +- c5:10:5e:e6:88:18:ad:2a:2d:e4:33:be:ac:f7:fe: +- f9:b9:40:54:69:f9:78:fe:57:81:93:89:49:a7:8b: +- 64:8b:72:ea:ab:53:55:43:1e:ea:3a:cd:b0:cb:97: +- 43:9b:70:cc:12:ef:22:08:55:d1:1c:ab:8b:1e:c1: +- d5:4f:15:3f:2b:f7:01:39:a0:74:33:ae:ea:45:25: +- af:2f ++ 00:ab:7f:02:81:a3:ce:01:93:02:67:2a:56:e3:51: ++ 5a:1d:a0:57:e8:4f:bb:2f:27:4d:13:9e:18:8e:b0: ++ ec:47:a9:9c:cc:ce:24:be:64:c2:86:3f:91:63:d3: ++ 23:22:d9:10:e4:44:d5:2e:b9:09:06:e4:8f:0f:91: ++ 90:18:a6:f6:bb:de:4c:63:13:2a:59:41:fb:42:c4: ++ 05:ce:1a:f2:9e:dd:d5:50:00:55:28:7a:56:63:a9: ++ e0:81:f1:ef:03:61:97:00:88:39:85:a5:9e:08:11: ++ fc:76:5a:59:23:79:d8:45:d2:d3:94:19:78:8a:ca: ++ 44:f2:dd:08:df:65:15:0d:d3:b7:df:f5:2c:6c:bb: ++ 86:fb:0e:1a:19:be:ee:8a:af:1f:3d:30:6e:4f:42: ++ 3d:ca:80:39:d5:05:2d:74:5a:6b:0a:0c:49:7c:8b: ++ 95:50:37:46:0e:90:3a:e4:36:58:73:6c:49:69:b0: ++ 76:ca:c4:aa:70:48:b2:1f:2a:86:8a:ae:a7:e0:9a: ++ b3:af:5f:7a:67:6a:1a:f3:e8:2e:57:1e:f2:ac:96: ++ a2:ae:39:f3:7f:e3:7f:e3:b4:0f:e1:d3:e3:95:c6: ++ 04:2a:5e:ca:7e:79:52:a5:49:be:95:66:72:80:d4: ++ 2b:7f:cc:b9:aa:1a:24:27:27:6f:3d:b9:d7:5a:fd: ++ 48:23 + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- BF:48:07:97:37:D7:64:E6:86:B7:3F:0A:1B:C7:08:9A:35:B0:5B:48 +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 30:e8:b1:28:8d:f3:09:c8:58:a5:2a:2b:6e:19:ec:f4:3f:fe: +- a0:b2:82:ee:08:5b:aa:94:2c:23:3a:b3:e5:14:43:21:f7:18: +- 23:00:c4:88:b7:b3:b2:c8:b0:31:a2:b3:60:b5:9e:3f:95:b1: +- 72:64:58:da:d7:8d:21:ef:85:93:6d:8d:46:a0:21:5b:c9:bd: +- c6:ea:c6:ff:36:c7:82:d6:4f:71:cf:81:f5:72:af:b1:b9:03: +- ea:a3:7c:2e:b8:67:ce:4b:32:d9:75:c9:5c:4e:2c:1c:c2:25: +- 95:6b:6d:d4:49:5a:c1:01:54:98:78:73:40:3f:05:e5:91:73: +- fc:dd:88:4c:d3:c4:f9:9e:da:fe:cb:e0:a1:2f:6d:15:b5:d8: +- c5:92:07:4a:bf:1e:0b:ac:f4:6e:a3:86:85:31:df:be:a0:90: +- 54:74:12:7c:d9:47:a9:f3:ed:c2:8e:69:0d:2e:51:eb:7b:9d: +- b8:7d:cb:32:ac:65:bd:8f:52:97:41:8f:7b:ca:38:3f:49:77: +- 3c:4b:ac:b1:19:34:03:20:40:a3:9f:ad:79:c9:90:8f:08:8c: +- 6f:9b:a9:de:d5:31:35:e2:27:bb:14:36:06:28:19:30:49:a7: +- ce:42:a7:19:61:2d:7a:94:1b:c6:15:86:4f:20:c1:49:a3:11: +- 86:b6:61:87 ++ 9d:4f:df:b6:eb:02:57:d5:e0:bb:f4:31:5c:2d:0e:ac:51:ce: ++ 8c:5e:97:58:a8:79:cf:67:be:5c:00:7d:e5:aa:de:5e:8c:61: ++ 18:39:2d:4e:e3:62:9f:ba:fc:e3:dc:94:6c:1f:40:0c:e4:98: ++ 26:ac:06:45:8f:dc:73:c8:75:0e:12:b3:46:3c:71:2d:c7:d0: ++ fd:07:71:77:68:f9:55:2d:56:66:8b:27:77:c3:af:87:ee:ba: ++ 21:8a:85:5e:82:93:69:e7:d9:30:3f:53:06:d5:c1:cd:0f:2f: ++ be:f8:5b:07:9c:e2:08:d1:ec:a3:a8:e1:c4:49:e7:6a:1d:37: ++ b4:41:85:a1:11:43:cd:14:7d:a9:b7:d8:32:ae:75:d1:14:6e: ++ 99:cf:52:1c:7c:50:5d:57:09:1f:7c:e6:4a:70:60:cc:49:10: ++ 7a:66:37:2e:a7:ee:5d:11:ed:d7:61:5c:c3:ed:dc:c2:9a:d9: ++ c4:92:54:95:67:04:81:ba:8d:ba:a7:c4:81:7a:63:63:52:28: ++ 5b:35:01:4e:3b:1e:34:55:d8:62:bc:79:db:c8:7a:6f:e7:0a: ++ 65:83:95:5d:bd:21:38:02:a0:24:d5:e5:5c:17:64:39:23:0d: ++ 27:62:d3:7f:c5:3b:52:26:ac:f2:13:f5:8a:53:09:d0:52:26: ++ 69:09:c4:e2 + -----BEGIN CERTIFICATE----- +-MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR8wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjE0MTBaFw0yMDA2MzAxMjE0MTBaMHsxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK +-DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz +-dCBjbGllbnQgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +-AoIBAQDWlzrXK8xoSn9yGKt0fVGESEQRn9Hy7uBAbaAj/DaiRMosE2Bi+c5FVO89 +-7Khr4AJmEIkf57/SLZx56T83rvzasw1faoSGagQTJpndxkaj4MEdiQtKQgiO1FY7 +-El7eBOG32rVz7px/qATzGASnXp2m/bQEF7s9B4srzSnLymrRcF1P5RAJRCBz72WH +-C0JnLBxkWb1W6ojU8bEx2O6Kuz0iCWpo7LTFBxWBnq7uctctZ9+9/cUQXuaIGK0q +-LeQzvqz3/vm5QFRp+Xj+V4GTiUmni2SLcuqrU1VDHuo6zbDLl0ObcMwS7yIIVdEc +-q4sewdVPFT8r9wE5oHQzrupFJa8vAgMBAAGjUzBRMB0GA1UdDgQWBBS/SAeXN9dk +-5oa3PwobxwiaNbBbSDAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP +-BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAw6LEojfMJyFilKitu +-Gez0P/6gsoLuCFuqlCwjOrPlFEMh9xgjAMSIt7OyyLAxorNgtZ4/lbFyZFja140h +-74WTbY1GoCFbyb3G6sb/NseC1k9xz4H1cq+xuQPqo3wuuGfOSzLZdclcTiwcwiWV +-a23USVrBAVSYeHNAPwXlkXP83YhM08T5ntr+y+ChL20VtdjFkgdKvx4LrPRuo4aF +-Md++oJBUdBJ82Uep8+3CjmkNLlHre524fcsyrGW9j1KXQY97yjg/SXc8S6yxGTQD +-IECjn615yZCPCIxvm6ne1TE14ie7FDYGKBkwSafOQqcZYS16lBvGFYZPIMFJoxGG +-tmGH ++MIIDdTCCAl0CAQIwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUxMzVaFw0zMDA1MTAwNzUxMzVaMIGCMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 ++U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB ++BQADggEPADCCAQoCggEBAKt/AoGjzgGTAmcqVuNRWh2gV+hPuy8nTROeGI6w7Eep ++nMzOJL5kwoY/kWPTIyLZEORE1S65CQbkjw+RkBim9rveTGMTKllB+0LEBc4a8p7d ++1VAAVSh6VmOp4IHx7wNhlwCIOYWlnggR/HZaWSN52EXS05QZeIrKRPLdCN9lFQ3T ++t9/1LGy7hvsOGhm+7oqvHz0wbk9CPcqAOdUFLXRaawoMSXyLlVA3Rg6QOuQ2WHNs ++SWmwdsrEqnBIsh8qhoqup+Cas69femdqGvPoLlce8qyWoq4583/jf+O0D+HT45XG ++BCpeyn55UqVJvpVmcoDUK3/MuaoaJCcnbz2511r9SCMCAwEAATANBgkqhkiG9w0B ++AQsFAAOCAQEAnU/ftusCV9Xgu/QxXC0OrFHOjF6XWKh5z2e+XAB95areXoxhGDkt ++TuNin7r849yUbB9ADOSYJqwGRY/cc8h1DhKzRjxxLcfQ/Qdxd2j5VS1WZosnd8Ov ++h+66IYqFXoKTaefZMD9TBtXBzQ8vvvhbB5ziCNHso6jhxEnnah03tEGFoRFDzRR9 ++qbfYMq510RRumc9SHHxQXVcJH3zmSnBgzEkQemY3LqfuXRHt12Fcw+3cwprZxJJU ++lWcEgbqNuqfEgXpjY1IoWzUBTjseNFXYYrx528h6b+cKZYOVXb0hOAKgJNXlXBdk ++OSMNJ2LTf8U7Uias8hP1ilMJ0FImaQnE4g== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-client-key.pem b/mysql-test/std_data/crl-client-key.pem +index 677e42ce062..8a361d9ca77 100644 +--- a/mysql-test/std_data/crl-client-key.pem ++++ b/mysql-test/std_data/crl-client-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIEpQIBAAKCAQEA1pc61yvMaEp/chirdH1RhEhEEZ/R8u7gQG2gI/w2okTKLBNg +-YvnORVTvPeyoa+ACZhCJH+e/0i2ceek/N6782rMNX2qEhmoEEyaZ3cZGo+DBHYkL +-SkIIjtRWOxJe3gTht9q1c+6cf6gE8xgEp16dpv20BBe7PQeLK80py8pq0XBdT+UQ +-CUQgc+9lhwtCZywcZFm9VuqI1PGxMdjuirs9IglqaOy0xQcVgZ6u7nLXLWffvf3F +-EF7miBitKi3kM76s9/75uUBUafl4/leBk4lJp4tki3Lqq1NVQx7qOs2wy5dDm3DM +-Eu8iCFXRHKuLHsHVTxU/K/cBOaB0M67qRSWvLwIDAQABAoIBAQCOie2ft4wTSkjV +-dOWOfx+Ciq4MNuiyQVHb+fWBcaqopqDUHhrMI7qL+xrfOy+0WBu/yAQNmValOX7S +-y8geKLH0YzLiylI1Jn6GagGSen25pTUhdUJ2lN4yYYDVxCIXv45fHXuiAkEZ2nVP +-NAkDU6nMnoDQpyLMKxKaibDVmSLS8mR+wVW/1jKz0kvaNFzB3Ib6Is2tBDTAj5hO +-4WaC4kvfuRL9en42WXPU/fQNcHVkxdiFsGwXgG8ZHiWpe/sE92qctTx/QmwIuj5I +-IP06a/piWh/IhoHrx3aP+Y4OV5sw1+k/cpd9Il2mg+2nbLhkKBoknngt/p6/Nt3O +-qowrQXJhAoGBAPbMSMr+nDJBDvPj9AXm5VXou3SQJnMHdGMZAj6odSA2+2msK6VT +-ZNJ75eOzveb0y+w/9hETwltMuUjfnITtu/5UN3GOP15HgOWSUrwJ+NXsoT0xuP83 +-gz2lwK5g/YqED1606yXFFBRcxHnE3hpiTuRb5vrPKKinOl5eAz8Bso0jAoGBAN6X +-hgmdpqs3k1BrdTFooNz6iZvWQanmBZd/XXETdKAF6YzHHnjARd/b3TOCkPqKWxc/ +-+JdEBiWCeaCDG3jobAU0EeeA5G6rztcbYucDkhIGlb2rgIJoubVKzUwPCSL1xTrJ +-VMBwkIo4CZDcPwKYvQBaa1PulazF7ZJDDNNV//SFAoGBAOK4/M5vZLLODZyEd3LM +-kTaA3WTR4GCgIo2/Nc62FxOHLyP+5QG2QNMUuzaZswVvMb9Raw55Jn2VWEnYEwQT +-GjckyuJpGVHVQlakO5k/V/e+sMl02kyrhMendAE+XO1ZMH2CmttR14Z1SpHLB3cZ +-hPxIaUNT+DgnmHmEyFqjhpIdAoGAQf/blm5QROQtoeK61POY/uyqcLKOtbmmXs08 +-/5ItOmWGYl+IAXXBQicG54cHRcJQUAx/wRpCWEzfk2BMfQUtQj22MVZeZRI8Oju8 +-j5LXdNDPBXYcnI5AwihzxuGOa/dDi7K2lnjJ4rHK5FDpvfNb1wb4W+KaLqhhUMTg +-wKj3Q6ECgYEAtufmUZ/bJJu76lY2OpKopFhIvNAsusbtewz5gcm5vZr8vMtYgp/n +-gdouphit+z76P9XC7rIrWYns4WyZmsaPXHSepvSH5P25G6DzyjRplCJ3EIjZu++7 +-ZG/hac1Vo82T5Qeg1IpOHVE4jceC8XfUcmuoBO31ScZFeOQlT2otdY0= ++MIIEogIBAAKCAQEAq38CgaPOAZMCZypW41FaHaBX6E+7LydNE54YjrDsR6mczM4k ++vmTChj+RY9MjItkQ5ETVLrkJBuSPD5GQGKb2u95MYxMqWUH7QsQFzhrynt3VUABV ++KHpWY6nggfHvA2GXAIg5haWeCBH8dlpZI3nYRdLTlBl4ispE8t0I32UVDdO33/Us ++bLuG+w4aGb7uiq8fPTBuT0I9yoA51QUtdFprCgxJfIuVUDdGDpA65DZYc2xJabB2 ++ysSqcEiyHyqGiq6n4Jqzr196Z2oa8+guVx7yrJairjnzf+N/47QP4dPjlcYEKl7K ++fnlSpUm+lWZygNQrf8y5qhokJydvPbnXWv1IIwIDAQABAoIBADdU9mEPkdMONJNG ++pNwZDmNKrbJFr1ZKbuLqem/ng4Sno/CsfkxzxBN+hRFZORfwQzPzRXkauF/h9IqI ++Y56gmDELS0gYEezUjhX/mwPhy/AYENAMG23A8wia8dXbUkub/BVu3mhRhEiETRl+ ++kw4QLQhyOlOpWCwnkNFvIYK6YW2hHye1utu7L+Hy2zyi9g6ZKyZRl8W/OrFT2ka0 ++5zAOb1ttYLUdzK+ErF29GrT2X7PCL//QCNHQW2q03QWSRA7w+MbfytkJRLsCl8fg ++V1uVjP/RumuS6fLxQkytbaioukmfzO+4J0Z+JWpF2IqzixrdxlgPvMIAUDHEOVdv ++JlXuI4kCgYEA4xs75iLM+YDxHyygfyJZGI7iqwfkXbRDcKp/MECa7KcvJs0l8Eeu ++lB0jSM/uy9o92vTXLb5bi45vBiCjImAuZQL08elQZuR5JiPJZqF/b3BXsLUcPIbI ++oxO3hLdigyt9wuuk3XvhrYJkLJZ6z8lBR6Qfvre8kApqLjnlH2QGUR0CgYEAwVCS ++Wy4AL1goFHc+b/hFou0nWLjVFiMpNroDEQigvLnnRG7irMDxDsxAcotl6tYzjjys ++JKtMmBJDJnlsHnO8NK2sUn1CQTxdxoXOhVD0mtbaowU+PVZDzhp1j1dzmtzovKTo ++Qkh+DV8Z4ulbaJ+ROpgCZYCoJ5K3PEwjrrbN+j8CgYA5BZKBkwVSNBzWjfbyVOZ3 ++8xBYjw+4s1UnibeLnv0HJGcDYAkBjo335GUCmCrGBlL3kfghJSWJIccgi7tKG0oq ++1JY50zH706vTdrLP0QbVLSjnVmHzlIf14jJ24TCb7KST92Sas8sTLKUISPQnDcoV ++OdE6qplutR654pFz00J+xQKBgGDM6MyxpzQN79v3rhNBfhVMrcQ2obU5HB0kXf68 ++lEiMyqqw397jqpHfY3I4LWu/oQdbiFPAV1Va57cvXB2PlLHIOZ8AzBmAkfCj9js5 ++w5J5fffd20G5nbBp/W4uu1vTvNMhvI/cXwpxEbRXaAdmx8FQdvq+xvUx+YE/GysU ++rOXfAoGAQ4G+nrbKq76GEKfMzGnAHunSbdYlHOY/sHJ2Z0M/5eHIcvOEBJKGXl3m ++xe6WR/wavanNwMQ4aqpRv09yufdnoVsJcWpThDDBDIlstHUvO1mnk8B7OqHL2GIy ++lbo/QtpHT/46igRZUtBZFyZu4hb5EwBIpKNm1X/MyFYU7XMrvpQ= + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crl-client-revoked-cert.pem b/mysql-test/std_data/crl-client-revoked-cert.pem +index d3b81e2c1a2..d48e20e0d9e 100644 +--- a/mysql-test/std_data/crl-client-revoked-cert.pem ++++ b/mysql-test/std_data/crl-client-revoked-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:20 +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 3 (0x3) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:18:02 2019 GMT +- Not After : Jun 30 12:18:02 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked ++ Not Before: Jul 1 07:52:41 2020 GMT ++ Not After : May 10 07:52:41 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:e2:df:28:76:87:da:b5:49:64:03:a4:92:50:53: +- 89:d1:b8:85:a8:76:6e:2c:44:6a:85:f2:a2:7a:d9: +- f1:26:ab:f7:ea:e4:46:77:ce:38:9e:49:dc:e0:c0: +- ce:c1:e3:e2:3c:80:3a:e0:ab:7d:1a:fa:31:12:59: +- a5:b1:24:b5:42:30:e7:1d:95:85:4d:eb:17:ce:13: +- 8f:7b:25:7b:4b:ff:44:7c:b6:07:4b:e3:b8:ab:c2: +- 0d:07:6f:e3:bb:2d:56:8d:0f:c7:78:29:c7:c6:94: +- df:82:d6:32:15:cb:5f:e1:7b:8a:38:e0:ae:cd:aa: +- 58:37:99:6b:5a:52:20:a5:fb:fa:d7:61:bd:c4:5d: +- 11:fc:10:0f:49:74:9e:be:30:6b:cb:c1:4b:b8:5c: +- 50:85:4a:fd:d1:13:3f:3e:e0:b8:3e:ec:30:92:9b: +- 2b:b1:67:86:2e:2f:76:5d:ce:16:31:7f:eb:0e:0e: +- ba:14:97:d1:5e:35:fb:c9:af:fe:20:36:56:60:bc: +- 95:45:84:de:90:59:d8:24:57:24:48:4a:cf:3f:9b: +- b2:89:7d:9d:91:dd:da:92:a6:77:01:9e:09:5c:96: +- a3:94:d4:95:5e:69:d4:a4:13:af:47:e3:64:7a:26: +- bf:c4:a2:6b:0b:5f:b6:f9:ee:40:1e:e8:54:04:bd: +- 98:89 ++ 00:c2:57:18:e7:94:ce:44:87:f3:45:8d:e1:c3:a8: ++ a0:1f:9a:04:9a:67:de:4a:41:bc:5d:0f:31:07:9f: ++ e3:d5:82:54:81:b9:dc:77:43:62:51:42:43:cd:8c: ++ 31:71:0f:5b:dd:e8:02:c5:f2:3a:be:e4:e9:64:99: ++ df:e5:8f:34:fc:f9:2c:5b:1d:b1:93:8b:b7:c5:55: ++ 5e:10:f9:b5:1c:0b:9e:1a:65:3d:ab:2e:51:a5:fd: ++ 10:97:57:2d:98:6d:9a:82:0e:ae:25:21:cc:dc:26: ++ 01:16:34:8a:f4:67:30:2f:77:4b:56:7b:e4:ec:c2: ++ cf:1e:ec:0d:0a:29:c1:49:2f:5e:6e:75:4f:d7:b4: ++ d0:b2:73:09:9f:25:e0:a8:41:66:e0:78:d4:2b:f5: ++ 6e:3c:20:15:3e:75:d1:e3:cc:ee:47:b8:2a:fe:46: ++ f4:bc:01:7a:9f:67:48:12:bc:a1:b9:e1:b7:31:4a: ++ 2f:6a:ed:d1:33:7a:26:ab:01:88:05:70:48:8b:87: ++ 41:4b:44:78:67:7b:e7:37:8c:b7:41:c0:6a:eb:37: ++ 3b:de:a9:91:16:75:f9:14:81:eb:b4:60:db:a0:2e: ++ 93:8a:61:91:33:ee:12:2f:85:2c:12:96:30:f1:f5: ++ 00:42:16:95:a7:e9:06:30:32:b9:a3:fe:19:1d:fb: ++ 28:ff + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- 99:C4:1D:9A:1D:7D:43:C0:FB:B2:17:64:60:B3:33:0B:9C:69:1E:6F +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 10:35:2a:20:3e:7c:d0:8d:7a:c8:0a:1f:a9:ad:c2:67:c5:eb: +- bd:f6:eb:67:e6:e4:d2:d0:c8:0c:1b:9d:fb:99:a6:1c:b5:30: +- 23:35:71:19:a3:1c:fd:f1:f1:a9:30:de:1c:b0:c4:05:2b:93: +- 4d:60:e7:00:0d:c3:3b:d5:67:6a:38:3f:6a:ee:63:bd:ce:7f: +- a4:b8:9a:23:7b:d9:68:5d:80:04:b8:43:98:00:18:70:89:71: +- 38:3b:07:33:0f:60:2c:cf:90:7c:bd:78:69:6f:a1:38:a1:0f: +- 37:04:af:01:6c:ba:7a:84:d8:4b:ed:e3:f5:52:ec:de:a1:0c: +- ac:a5:35:62:75:b5:36:6e:75:77:9f:14:40:c2:6f:93:f3:23: +- 70:ff:fe:0e:6a:50:45:45:e4:8c:98:8b:4d:2f:8c:05:43:29: +- eb:0d:09:25:1a:c6:19:1b:8c:7a:ae:c4:31:b7:54:e6:d2:dd: +- 62:c5:18:6d:b8:e0:ce:d9:84:0a:ca:f0:95:2b:92:d0:69:f5: +- 85:6e:f1:49:63:fe:e9:71:a3:4b:55:ed:56:f1:de:96:7d:b9: +- 6f:be:8f:00:99:e6:c8:21:26:eb:9c:d9:3b:da:9e:5d:dd:8e: +- 64:5d:de:d4:60:56:5f:59:62:05:c8:f4:0d:ab:dd:ac:54:2c: +- 66:24:ea:da ++ 26:ed:c6:62:c6:37:5b:d6:5a:8d:f1:09:4e:ac:0e:d6:0c:fb: ++ 3c:a0:73:c7:2c:c5:23:ed:ca:b4:27:aa:66:1e:37:e0:5c:3a: ++ ff:35:82:f2:da:2e:4a:16:0a:5c:ea:38:9b:63:ce:2e:0c:27: ++ e6:e9:77:c7:ba:16:75:f3:1c:9b:9b:83:aa:90:3a:3e:2e:1b: ++ 01:07:24:d1:c7:a8:e9:d6:30:ea:04:37:7d:ed:dc:d8:36:35: ++ ca:df:83:e3:7f:49:b7:a7:06:3b:2b:fa:ed:03:7c:91:39:93: ++ 44:59:b5:ed:5d:28:30:25:76:c5:5e:67:ce:28:c6:d1:68:48: ++ bf:43:33:40:8d:5d:3d:2b:cb:8e:b3:77:cb:a7:41:f2:94:20: ++ 0a:ab:c7:86:1f:e4:04:84:a4:73:19:ae:e4:ba:82:9a:35:0f: ++ 44:26:f0:49:0e:9d:08:d3:7d:94:b0:22:ae:62:7a:3e:60:48: ++ 4b:09:11:4d:bc:1e:80:21:65:6f:21:77:43:be:8c:3d:c9:71: ++ c7:c5:88:90:5e:60:26:64:8a:43:45:2e:a3:02:0c:8d:e1:b9: ++ 76:a6:c9:61:2d:7a:d2:3c:17:c4:74:01:2f:dc:eb:a0:90:f5: ++ f7:0a:19:2b:d7:38:fb:c3:aa:c7:b6:76:17:72:1a:41:8f:54: ++ 95:72:94:bc + -----BEGIN CERTIFICATE----- +-MIIDyDCCArCgAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokSAwDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjE4MDJaFw0yMDA2MzAxMjE4MDJaMIGDMQswCQYD +-VQQGEwJJTjELMAkGA1UECAwCS0ExEjAQBgNVBAcMCUJhbmdhbG9yZTEPMA0GA1UE +-CgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEyMDAGA1UEAwwpTXlTUUwgQ1JMIHRl +-c3QgY2xpZW50IGNlcnRpZmljYXRlIHJldm9rZWQwggEiMA0GCSqGSIb3DQEBAQUA +-A4IBDwAwggEKAoIBAQDi3yh2h9q1SWQDpJJQU4nRuIWodm4sRGqF8qJ62fEmq/fq +-5EZ3zjieSdzgwM7B4+I8gDrgq30a+jESWaWxJLVCMOcdlYVN6xfOE497JXtL/0R8 +-tgdL47irwg0Hb+O7LVaND8d4KcfGlN+C1jIVy1/he4o44K7Nqlg3mWtaUiCl+/rX +-Yb3EXRH8EA9JdJ6+MGvLwUu4XFCFSv3REz8+4Lg+7DCSmyuxZ4YuL3ZdzhYxf+sO +-DroUl9FeNfvJr/4gNlZgvJVFhN6QWdgkVyRISs8/m7KJfZ2R3dqSpncBnglclqOU +-1JVeadSkE69H42R6Jr/EomsLX7b57kAe6FQEvZiJAgMBAAGjUzBRMB0GA1UdDgQW +-BBSZxB2aHX1DwPuyF2RgszMLnGkebzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4 +-ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAQNSog +-PnzQjXrICh+prcJnxeu99utn5uTS0MgMG537maYctTAjNXEZoxz98fGpMN4csMQF +-K5NNYOcADcM71WdqOD9q7mO9zn+kuJoje9loXYAEuEOYABhwiXE4OwczD2Asz5B8 +-vXhpb6E4oQ83BK8BbLp6hNhL7eP1UuzeoQyspTVidbU2bnV3nxRAwm+T8yNw//4O +-alBFReSMmItNL4wFQynrDQklGsYZG4x6rsQxt1Tm0t1ixRhtuODO2YQKyvCVK5LQ +-afWFbvFJY/7pcaNLVe1W8d6Wfblvvo8AmebIISbrnNk72p5d3Y5kXd7UYFZfWWIF +-yPQNq92sVCxmJOra ++MIIDfTCCAmUCAQMwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUyNDFaFw0zMDA1MTAwNzUyNDFaMIGKMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxMjAwBgNVBAMMKU15 ++U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSByZXZva2VkMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8 ++XQ8xB5/j1YJUgbncd0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3 ++xVVeEPm1HAueGmU9qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLP ++HuwNCinBSS9ebnVP17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6 ++n2dIEryhueG3MUovau3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5 ++FIHrtGDboC6TimGRM+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABMA0G ++CSqGSIb3DQEBCwUAA4IBAQAm7cZixjdb1lqN8QlOrA7WDPs8oHPHLMUj7cq0J6pm ++HjfgXDr/NYLy2i5KFgpc6jibY84uDCfm6XfHuhZ18xybm4OqkDo+LhsBByTRx6jp ++1jDqBDd97dzYNjXK34Pjf0m3pwY7K/rtA3yROZNEWbXtXSgwJXbFXmfOKMbRaEi/ ++QzNAjV09K8uOs3fLp0HylCAKq8eGH+QEhKRzGa7kuoKaNQ9EJvBJDp0I032UsCKu ++Yno+YEhLCRFNvB6AIWVvIXdDvow9yXHHxYiQXmAmZIpDRS6jAgyN4bl2pslhLXrS ++PBfEdAEv3OugkPX3Chkr1zj7w6rHtnYXchpBj1SVcpS8 + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-client-revoked-key.pem b/mysql-test/std_data/crl-client-revoked-key.pem +index 52875dc6f03..dd2f2565bd1 100644 +--- a/mysql-test/std_data/crl-client-revoked-key.pem ++++ b/mysql-test/std_data/crl-client-revoked-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-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 + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crl-client-revoked.crl b/mysql-test/std_data/crl-client-revoked.crl +index b0093e74369..367c35bfc34 100644 +--- a/mysql-test/std_data/crl-client-revoked.crl ++++ b/mysql-test/std_data/crl-client-revoked.crl +@@ -1,13 +1,41 @@ ++Certificate Revocation List (CRL): ++ Version 2 (0x1) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: /C=IN/ST=Karnataka/L=Bengaluru/O=Oracle/OU=MySQL/CN=MySQL CRL test ca certificate ++ Last Update: Jul 1 07:54:29 2020 GMT ++ Next Update: May 10 07:54:29 2030 GMT ++ CRL extensions: ++ X509v3 CRL Number: ++ 4096 ++Revoked Certificates: ++ Serial Number: 03 ++ Revocation Date: Jul 1 07:54:18 2020 GMT ++ Signature Algorithm: sha256WithRSAEncryption ++ 8d:76:b6:c6:84:2d:f5:14:fa:34:2f:0b:64:7c:20:c0:65:03: ++ 60:8a:6b:9d:42:0d:b7:51:93:92:75:b5:28:5d:2f:47:0e:6d: ++ a2:df:c7:a1:b9:95:49:c2:83:5e:36:41:77:63:b4:25:8b:60: ++ d9:f8:25:4e:6e:45:94:3f:a3:86:a3:b5:cc:f0:b5:eb:68:4e: ++ 1e:f6:d9:5d:e2:50:a6:e5:50:0e:a0:6f:e8:4b:66:9f:1f:0d: ++ 5e:e1:63:e9:c9:96:7d:98:b6:56:5e:ce:3f:d2:42:b4:d3:18: ++ 73:ca:ce:7a:42:71:29:7b:1f:bf:07:88:cf:d2:8e:1d:31:9c: ++ 00:92:a2:5d:bc:78:0f:7b:f1:02:fe:ed:d7:b1:dc:8d:25:9a: ++ d5:01:c1:d8:ac:fd:a2:41:96:bd:9b:72:cb:95:f5:85:a9:88: ++ b3:74:30:c9:82:5d:8b:c8:d6:8a:5c:92:e8:e7:09:f1:13:73: ++ fa:05:56:1c:e2:dd:9e:b5:49:71:82:67:e6:e3:57:53:c8:f7: ++ df:66:44:7a:d6:f8:4f:44:5f:7e:30:eb:7b:d9:15:db:e2:d0: ++ 85:45:9a:7b:d4:c2:f8:44:0f:5f:8c:d0:35:45:a1:c6:82:e8: ++ 43:49:73:09:3b:ba:9a:24:00:1f:3c:7a:38:bd:e6:b5:b8:45: ++ e3:33:d3:c9 + -----BEGIN X509 CRL----- +-MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE +-CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM +-HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y +-OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy +-MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 +-IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 +-wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu +-SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc +-SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B +-WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 +-dRhzrDB6GMxR ++MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE ++CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs ++ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl ++cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN ++MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB ++AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe ++NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp ++yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN ++JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx ++gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ ++O7qaJAAfPHo4vea1uEXjM9PJ + -----END X509 CRL----- +diff --git a/mysql-test/std_data/crl-server-cert.pem b/mysql-test/std_data/crl-server-cert.pem +index 5c14c4155c8..6328fe4fc42 100644 +--- a/mysql-test/std_data/crl-server-cert.pem ++++ b/mysql-test/std_data/crl-server-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1e +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 1 (0x1) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:10:59 2019 GMT +- Not After : Jun 30 12:10:59 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate ++ Not Before: Jul 1 07:50:41 2020 GMT ++ Not After : May 10 07:50:41 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:b3:b7:2d:68:62:08:c9:5b:90:25:89:98:4c:6e: +- 04:f4:5d:ff:e7:4e:18:37:db:63:ab:56:d5:7e:3a: +- be:37:cd:e6:5a:c2:73:a7:24:a8:f9:1a:bf:05:e6: +- 14:5f:31:7f:f4:73:8b:9c:c2:89:e5:fd:d9:5b:94: +- a9:a7:b4:48:a6:b0:95:d2:62:14:b3:15:47:26:83: +- 69:63:99:b6:48:ca:f2:ef:bd:1e:de:23:4c:e7:28: +- 54:13:ca:03:49:cb:07:a6:7d:e7:48:9d:03:88:5d: +- 3b:47:50:f6:17:21:34:15:c5:cd:4f:40:f9:ca:12: +- db:b6:53:0c:08:c3:a0:0b:68:03:0d:45:9f:4f:26: +- c3:23:3f:ef:6f:4a:98:0d:6a:2b:b5:4a:23:e3:89: +- 08:bd:c0:37:ef:db:be:82:4d:26:47:93:f4:de:3f: +- 04:ef:3c:d3:97:e3:c4:c5:65:9e:2f:f9:8a:13:f2: +- 74:12:ab:ff:99:9e:ef:d8:48:11:55:ba:f2:97:6e: +- 04:75:0e:e4:18:85:34:20:a1:da:db:60:35:98:0e: +- d0:44:27:17:81:d1:6a:5a:93:28:47:c4:4f:37:26: +- 72:db:d9:a9:a9:c2:e5:90:16:c3:49:89:67:68:0f: +- e7:dd:5f:a7:29:26:62:a5:c7:63:0f:1b:f6:9c:b8: +- 86:c5 ++ 00:f6:43:d5:3b:37:86:9f:54:a7:96:23:c6:90:73: ++ a2:cb:79:bc:77:1a:18:dc:ae:30:36:5c:41:e5:a7: ++ d0:bc:93:08:7e:7b:2c:9a:00:bf:9d:0f:ab:82:56: ++ e6:ad:f1:3a:6a:e2:49:5d:02:59:0e:03:10:63:b1: ++ 83:f9:73:19:40:ec:8a:a0:1e:17:c9:53:74:ca:ca: ++ 2b:2f:7a:87:98:dc:12:e6:c8:d9:6e:3b:bc:d3:c5: ++ f3:f4:fa:14:e2:5a:12:f2:3a:79:82:b7:a9:6f:21: ++ f6:c7:79:a0:c7:56:05:a8:01:64:e8:f0:67:81:29: ++ af:21:dc:08:02:8e:b8:cf:38:f1:ef:a6:ea:18:14: ++ 43:63:21:e8:a3:fe:78:78:b9:f2:04:6a:c8:32:48: ++ 66:4e:6e:4f:22:28:89:42:27:42:e5:f4:76:38:77: ++ 80:88:2d:73:c8:36:ab:24:40:68:fc:34:83:ba:1c: ++ 07:99:e3:3d:69:49:08:cd:4f:74:83:4e:33:5a:c4: ++ 87:65:7f:84:dc:73:80:93:55:21:5a:4d:86:97:b0: ++ 8a:93:d1:bc:63:c5:19:b0:8a:77:85:af:c9:74:cf: ++ dd:4b:17:8c:cf:62:b0:bc:1a:3b:3f:b4:18:6b:e7: ++ ad:4e:56:cb:29:be:31:4f:ee:3b:89:97:d6:fa:bd: ++ 5b:2b + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- 50:0D:53:3F:37:4C:2D:EE:F0:F7:67:48:53:36:18:C8:50:65:60:3B +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 17:be:6a:bc:a9:f0:5a:d9:72:bd:3b:83:f9:e1:ef:eb:a3:b3: +- b4:9c:e0:fd:9a:ad:c1:e2:12:0b:9f:fa:ca:9a:14:b5:43:96: +- 50:da:50:b1:42:9c:15:87:56:b2:5d:d5:ce:4e:dc:0e:a9:98: +- 0b:05:6e:57:ca:99:0f:28:9c:d5:b7:d2:c1:97:da:5f:34:b1: +- f2:73:4c:27:39:cc:40:86:80:63:18:74:e3:0f:c7:02:6d:76: +- 98:a6:2a:b5:e3:13:8f:d8:5c:42:8e:33:c5:dd:0e:bc:05:90: +- 96:9a:b8:de:d5:44:57:47:70:c9:26:0a:4b:96:0a:95:de:8e: +- b4:f6:1f:8e:96:41:1d:d6:65:28:1c:f3:6d:3d:b1:b2:38:c7: +- f6:b9:f3:fe:a4:98:fe:45:46:d2:04:a3:40:76:5f:3d:df:60: +- 71:dd:8a:bd:83:b3:be:54:87:f5:df:8d:40:e8:68:c1:90:90: +- dc:de:1b:e3:2c:45:2b:50:53:b2:95:1f:c8:ea:ad:72:5d:5b: +- 94:21:eb:d3:14:4a:41:7f:c4:aa:88:41:a8:1f:61:fb:51:0d: +- 58:e0:2d:08:86:49:62:84:85:da:8f:9e:cd:1a:f7:11:b5:a1: +- 58:56:d8:eb:a7:99:2d:1b:df:98:65:9f:8f:ab:9b:e0:32:95: +- 23:20:cf:82 ++ 51:bd:1f:2d:64:cb:8c:d3:02:f2:ff:7e:65:3a:fa:78:4c:4b: ++ 65:5c:8a:75:49:24:df:14:17:6b:84:a2:6a:e1:b8:d6:84:74: ++ 22:7c:e3:bc:3e:7d:81:c7:2a:df:d6:bc:7b:be:44:a7:26:63: ++ 1d:09:c1:ea:25:85:4b:14:b3:2f:f8:a5:28:f4:72:36:fc:71: ++ d0:c9:8d:b2:b3:d6:88:2a:4e:98:f2:22:fa:cb:c8:4d:7b:c0: ++ 3b:81:f1:dd:f9:29:bd:f4:69:a4:82:87:c6:3b:4f:2f:75:3d: ++ fc:a3:6f:b0:10:80:b4:c5:51:9b:b8:5e:9d:cc:21:38:bc:e9: ++ 54:11:76:d8:df:46:88:f5:02:b3:6a:02:e2:8c:cd:d8:f7:4e: ++ ff:fd:5f:e3:b9:db:52:cb:54:39:29:9a:e6:07:84:ea:38:3f: ++ 3d:4c:87:ce:6c:5f:c8:18:56:8a:54:8e:6a:d3:f2:77:34:a6: ++ 6d:f3:5a:51:8a:0d:23:bd:7e:01:07:af:0e:fd:97:73:64:27: ++ 26:cc:34:d8:1f:f3:58:8b:7f:4b:75:df:39:ff:92:dc:e3:04: ++ ea:42:7c:11:7f:77:ab:32:29:c7:59:7e:5d:84:2d:cd:1d:2c: ++ 61:d4:be:5d:9b:0e:30:2b:31:7e:4f:e6:07:e7:20:10:18:56: ++ 36:97:19:b3 + -----BEGIN CERTIFICATE----- +-MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR4wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjEwNTlaFw0yMDA2MzAxMjEwNTlaMHsxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK +-DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz +-dCBzZXJ2ZXIgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +-AoIBAQCzty1oYgjJW5AliZhMbgT0Xf/nThg322OrVtV+Or43zeZawnOnJKj5Gr8F +-5hRfMX/0c4ucwonl/dlblKmntEimsJXSYhSzFUcmg2ljmbZIyvLvvR7eI0znKFQT +-ygNJywemfedInQOIXTtHUPYXITQVxc1PQPnKEtu2UwwIw6ALaAMNRZ9PJsMjP+9v +-SpgNaiu1SiPjiQi9wDfv276CTSZHk/TePwTvPNOX48TFZZ4v+YoT8nQSq/+Znu/Y +-SBFVuvKXbgR1DuQYhTQgodrbYDWYDtBEJxeB0WpakyhHxE83JnLb2ampwuWQFsNJ +-iWdoD+fdX6cpJmKlx2MPG/acuIbFAgMBAAGjUzBRMB0GA1UdDgQWBBRQDVM/N0wt +-7vD3Z0hTNhjIUGVgOzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP +-BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAXvmq8qfBa2XK9O4P5 +-4e/ro7O0nOD9mq3B4hILn/rKmhS1Q5ZQ2lCxQpwVh1ayXdXOTtwOqZgLBW5XypkP +-KJzVt9LBl9pfNLHyc0wnOcxAhoBjGHTjD8cCbXaYpiq14xOP2FxCjjPF3Q68BZCW +-mrje1URXR3DJJgpLlgqV3o609h+OlkEd1mUoHPNtPbGyOMf2ufP+pJj+RUbSBKNA +-dl8932Bx3Yq9g7O+VIf1341A6GjBkJDc3hvjLEUrUFOylR/I6q1yXVuUIevTFEpB +-f8SqiEGoH2H7UQ1Y4C0IhklihIXaj57NGvcRtaFYVtjrp5ktG9+YZZ+Pq5vgMpUj +-IM+C ++MIIDdTCCAl0CAQEwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUwNDFaFw0zMDA1MTAwNzUwNDFaMIGCMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 ++U1FMIENSTCB0ZXN0IHNlcnZlciBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB ++BQADggEPADCCAQoCggEBAPZD1Ts3hp9Up5YjxpBzost5vHcaGNyuMDZcQeWn0LyT ++CH57LJoAv50Pq4JW5q3xOmriSV0CWQ4DEGOxg/lzGUDsiqAeF8lTdMrKKy96h5jc ++EubI2W47vNPF8/T6FOJaEvI6eYK3qW8h9sd5oMdWBagBZOjwZ4EpryHcCAKOuM84 ++8e+m6hgUQ2Mh6KP+eHi58gRqyDJIZk5uTyIoiUInQuX0djh3gIgtc8g2qyRAaPw0 ++g7ocB5njPWlJCM1PdINOM1rEh2V/hNxzgJNVIVpNhpewipPRvGPFGbCKd4WvyXTP ++3UsXjM9isLwaOz+0GGvnrU5Wyym+MU/uO4mX1vq9WysCAwEAATANBgkqhkiG9w0B ++AQsFAAOCAQEAUb0fLWTLjNMC8v9+ZTr6eExLZVyKdUkk3xQXa4SiauG41oR0Inzj ++vD59gccq39a8e75EpyZjHQnB6iWFSxSzL/ilKPRyNvxx0MmNsrPWiCpOmPIi+svI ++TXvAO4Hx3fkpvfRppIKHxjtPL3U9/KNvsBCAtMVRm7hencwhOLzpVBF22N9GiPUC ++s2oC4ozN2PdO//1f47nbUstUOSma5geE6jg/PUyHzmxfyBhWilSOatPydzSmbfNa ++UYoNI71+AQevDv2Xc2QnJsw02B/zWIt/S3XfOf+S3OME6kJ8EX93qzIpx1l+XYQt ++zR0sYdS+XZsOMCsxfk/mB+cgEBhWNpcZsw== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-server-key.pem b/mysql-test/std_data/crl-server-key.pem +index 2931329d242..dfc34c9ebac 100644 +--- a/mysql-test/std_data/crl-server-key.pem ++++ b/mysql-test/std_data/crl-server-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-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 + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crldir/5df06fcb.r0 b/mysql-test/std_data/crldir/5df06fcb.r0 +new file mode 100644 +index 00000000000..1ee040e4bb0 +--- /dev/null ++++ b/mysql-test/std_data/crldir/5df06fcb.r0 +@@ -0,0 +1,13 @@ ++-----BEGIN X509 CRL----- ++MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE ++CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs ++ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl ++cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN ++MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB ++AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe ++NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp ++yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN ++JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx ++gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ ++O7qaJAAfPHo4vea1uEXjM9PJ ++-----END X509 CRL----- +diff --git a/mysql-test/std_data/crldir/b23bb52f.r0 b/mysql-test/std_data/crldir/b23bb52f.r0 +deleted file mode 100644 +index b0093e74369..00000000000 +--- a/mysql-test/std_data/crldir/b23bb52f.r0 ++++ /dev/null +@@ -1,13 +0,0 @@ +------BEGIN X509 CRL----- +-MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE +-CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM +-HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y +-OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy +-MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 +-IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 +-wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu +-SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc +-SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B +-WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 +-dRhzrDB6GMxR +------END X509 CRL----- diff --git a/SOURCES/mysql-chain-certs.patch b/SOURCES/mysql-chain-certs.patch new file mode 100644 index 0000000..5f26c48 --- /dev/null +++ b/SOURCES/mysql-chain-certs.patch @@ -0,0 +1,24 @@ +Fix things so that chains of certificates work in the server and client +certificate files. + +This only really works for OpenSSL-based builds, as yassl is unable to read +multiple certificates from a file. The patch below to yassl/src/ssl.cpp +doesn't fix that, but just arranges that the viosslfactories.c patch won't +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 --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)); diff --git a/SOURCES/mysql-check-socket.sh b/SOURCES/mysql-check-socket.sh new file mode 100644 index 0000000..b15cd32 --- /dev/null +++ b/SOURCES/mysql-check-socket.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +# We check if there is already a process using the socket file, +# since otherwise the systemd service file could report false +# positive result when starting and mysqld_safe could remove +# a socket file, which is actually being used by a different daemon. + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +if test -e "$socketfile" ; then + echo "Socket file $socketfile exists." >&2 + + # no write permissions + if ! test -w "$socketfile" ; then + echo "Not enough permission to write to the socket file $socketfile, which is suspicious." >&2 + echo "Please, remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # not a socket file + if ! test -S "$socketfile" ; then + echo "The file $socketfile is not a socket file, which is suspicious." >&2 + echo "Please, remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # some process uses the socket file + if fuser "$socketfile" &>/dev/null ; then + socketpid=$(fuser "$socketfile" 2>/dev/null) + echo "Is another MySQL daemon already running with the same unix socket?" >&2 + echo "Please, stop the process $socketpid or remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # socket file is a garbage + echo "No process is using $socketfile, which means it is a garbage, so it will be removed automatically." >&2 +fi + +exit 0 diff --git a/SOURCES/mysql-check-upgrade.sh b/SOURCES/mysql-check-upgrade.sh new file mode 100644 index 0000000..cf41d84 --- /dev/null +++ b/SOURCES/mysql-check-upgrade.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +upgrade_info_file="$datadir/mysql_upgrade_info" +version=0 +# get version as integer from mysql_upgrade_info file +if [ -f "$upgrade_info_file" ] && [ -r "$upgrade_info_file" ] ; then + version_major=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\1/') + version_minor=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\2/') + if [[ $version_major =~ ^[0-9]+$ ]] && [[ $version_minor =~ ^[0-9]+$ ]] ; then + version=$((version_major*100+version_minor)) + fi +fi + +# compute current version as integer +thisversion=$((@MAJOR_VERSION@*100+@MINOR_VERSION@)) + +# provide warning in cases we should run mysql_upgrade +if [ $version -ne $thisversion ] ; then + + # give extra warning if some version seems to be skipped + if [ $version -gt 0 ] && [ $version -lt 505 ] ; then + echo "The datadir located at $datadir seems to be older than of a version 5.5. Please, mind that as a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series." >&2 + fi + + cat <&2 +The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: + + 1. Back-up your data before with 'mysql_upgrade' + 2. Start the database daemon using 'service @DAEMON_NAME@ start' + 3. Run 'mysql_upgrade' with a database user that has sufficient privileges + +Read more about 'mysql_upgrade' usage at: +http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html +EOF +fi + +exit 0 diff --git a/SOURCES/mysql-file-contents.patch b/SOURCES/mysql-file-contents.patch new file mode 100644 index 0000000..0f1cdba --- /dev/null +++ b/SOURCES/mysql-file-contents.patch @@ -0,0 +1,45 @@ +Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which +breaks at least two packaging commandments, so we put them into $libdir +instead. That means we have to hack the file_contents regression test +to know about this. + +Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 + +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/$|) { + # RPM package + $dir_docs = $dir_bin; + $dir_docs =~ s|/lib|/share/doc|; +@@ -35,7 +35,7 @@ if ($dir_bin =~ m|^/usr/|) { + } + } + } +-} elsif ($dir_bin =~ m|/usr$|) { ++} elsif ($dir_bin =~ m|.*/usr$|) { + # RPM build during development + $dir_docs = "$dir_bin/share/doc"; + if(-d "$dir_docs/packages") { +@@ -55,6 +55,15 @@ if ($dir_bin =~ m|^/usr/|) { + $dir_docs = glob "$dir_bin/share/mysql-*/docs"; + } + } ++ ++ # All the above is entirely wacko, because these files are not docs; ++ # they should be kept in libdir instead. mtr does not provide a nice ++ # way to find libdir though, so we have to kluge it like this: ++ if (-d "$dir_bin/lib64/mysql") { ++ $dir_docs = "$dir_bin/lib64/mysql"; ++ } else { ++ $dir_docs = "$dir_bin/lib/mysql"; ++ } + } + } else { + # tar.gz package, Windows, or developer work (in git) diff --git a/SOURCES/mysql-install-test.patch b/SOURCES/mysql-install-test.patch new file mode 100644 index 0000000..1f67132 --- /dev/null +++ b/SOURCES/mysql-install-test.patch @@ -0,0 +1,52 @@ +Improve the documentation that will be installed in the mysql-test RPM. + + +diff -Naur mysql-5.5.20.orig/mysql-test/README mysql-5.5.20/mysql-test/README +--- mysql-5.5.20.orig/mysql-test/README 2011-12-16 14:52:05.000000000 -0500 ++++ mysql-5.5.20/mysql-test/README 2012-02-10 17:06:19.531082253 -0500 +@@ -1,14 +1,26 @@ + This directory contains a test suite for the MySQL daemon. To run +-the currently existing test cases, simply execute ./mysql-test-run in +-this directory. It will fire up the newly built mysqld and test it. ++the currently existing test cases, execute ./mysql-test-run in ++this directory. + +-Note that you do not have to have to do "make install", and you could +-actually have a co-existing MySQL installation. The tests will not +-conflict with it. +- +-All tests must pass. If one or more of them fail on your system, please +-read the following manual section for instructions on how to report the +-problem: ++For use in Red Hat distributions, you should run the script as user mysql, ++so the best bet is something like ++ cd /usr/share/mysql-test ++ sudo -u mysql ./mysql-test-run --skip-test-list=platform-specific-tests.list ++This will use the installed mysql executables, but will run a private copy ++of the server process (using data files within /usr/share/mysql-test), ++so you need not start the mysqld service beforehand. ++ ++The "--skip-test-list=platform-specific-tests.list" option excludes tests that are ++known to fail on one or more Red-Hat-supported platforms. You can omit it ++if you want to check whether such failures occur for you. Documentation ++about the reasons for omitting such tests can be found in the file ++platform-specific-tests.list. ++ ++To clean up afterwards, remove the created "var" subdirectory, eg ++ sudo -u mysql rm -rf /usr/share/mysql-test/var ++ ++If one or more tests fail on your system, please read the following manual ++section for instructions on how to report the problem: + + http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html + +@@ -25,7 +37,8 @@ + + With no test cases named on the command line, mysql-test-run falls back + to the normal "non-extern" behavior. The reason for this is that some +-tests cannot run with an external server. ++tests cannot run with an external server (because they need to control the ++options with which the server is started). + + + You can create your own test cases. To create a test case, create a new diff --git a/SOURCES/mysql-logrotate-log-path.patch b/SOURCES/mysql-logrotate-log-path.patch new file mode 100644 index 0000000..0f2c13e --- /dev/null +++ b/SOURCES/mysql-logrotate-log-path.patch @@ -0,0 +1,11 @@ +--- mysql-8.0.11/support-files/mysql-log-rotate.in.old 2018-09-13 18:43:03.595891364 +0200 ++++ mysql-8.0.11/support-files/mysql-log-rotate.in 2018-09-13 18:43:36.774236649 +0200 +@@ -41,7 +41,7 @@ + # ATTENTION: The /root/.my.cnf file should be readable + # _ONLY_ by root ! + +-@localstatedir@/mysqld.log { ++@LOG_LOCATION@ { + # create 600 mysql mysql + notifempty + daily diff --git a/SOURCES/mysql-paths.patch b/SOURCES/mysql-paths.patch new file mode 100644 index 0000000..d5978b6 --- /dev/null +++ b/SOURCES/mysql-paths.patch @@ -0,0 +1,77 @@ +Some hard-coded paths make problems when package is built into chroot like +Software Collections. Removing these hard-coded paths should fix it. + +Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 + +diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake +index 9f7945d8..6734cdfd 100644 +--- a/cmake/install_layout.cmake ++++ b/cmake/install_layout.cmake +@@ -105,7 +105,7 @@ IF(UNIX) + " Choose between ${VALID_INSTALL_LAYOUTS}" ) + ENDIF() + +- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" ++ SET(SYSCONFDIR "/etc" + CACHE PATH "config directory (for my.cnf)") + MARK_AS_ADVANCED(SYSCONFDIR) + ENDIF() +@@ -189,6 +189,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) + # + SET(INSTALL_BINDIR_RPM "bin") + SET(INSTALL_SBINDIR_RPM "sbin") ++SET(INSTALL_SYSCONFDIR_RPM "/etc") + # + IF(CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_64BIT_ARCHITECTURES) + SET(INSTALL_LIBDIR_RPM "lib64/mysql") +diff --git a/mysys/my_default.cc b/mysys/my_default.cc +index 290f1666..8403425f 100644 +--- a/mysys/my_default.cc ++++ b/mysys/my_default.cc +@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { + + #else + +- errors += add_directory(alloc, "/etc/", dirs); +- errors += add_directory(alloc, "/etc/mysql/", dirs); +- + #if defined(DEFAULT_SYSCONFDIR) + if (DEFAULT_SYSCONFDIR[0]) ++ { + errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); ++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs); ++ } + #endif /* DEFAULT_SYSCONFDIR */ + + #endif +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index 4149a764..b091d5e2 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -288,9 +288,9 @@ IF(UNIX) + ENDIF(UNIX) + + SET(prefix "${CMAKE_INSTALL_PREFIX}") +-SET(sysconfdir ${prefix}) ++SET(sysconfdir ${SYSCONFDIR}) + SET(bindir ${prefix}/${INSTALL_BINDIR}) +-SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) ++SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) + SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) + SET(libsubdir ${INSTALL_LIBDIR}) + SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) +diff --git a/scripts/mysqld_multi.pl.in b/scripts/mysqld_multi.pl.in +index 84dd4d7c..50397ddd 100644 +--- a/scripts/mysqld_multi.pl.in ++++ b/scripts/mysqld_multi.pl.in +@@ -586,9 +586,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 $_ } +- ('/etc/my.cnf', +- '/etc/mysql/my.cnf', +- '@sysconfdir@/my.cnf', ++ ('@sysconfdir@/my.cnf', + ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), + $opt{'extra-file'}, + ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); diff --git a/SOURCES/mysql-prepare-db-dir.sh b/SOURCES/mysql-prepare-db-dir.sh new file mode 100644 index 0000000..46cf636 --- /dev/null +++ b/SOURCES/mysql-prepare-db-dir.sh @@ -0,0 +1,112 @@ +#!/bin/sh + +# This script creates the mysql data directory during first service start. +# In subsequent starts, it does nothing much. +# +# This script is meant to be run as non-root user either during initscript +# or systemd service execution, before starting the mysqld daemon. +# Running it as root may have some security risks, because it touches files +# that can be symlinks pointing to unexpected locations. +# +# On the other hand, when using non-standard locations for datadir and logfile, +# this script might not be able to create the files and the daemon won't start +# properly. A solution for that is to created the locations for datadir and +# logfile with correct ownership before starting the daemon. + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +# If two args given first is user, second is group +# otherwise the arg is the systemd service file +if [ "$#" -eq 2 ] +then + myuser="$1" + mygroup="$2" +else + # Absorb configuration settings from the specified systemd service file, + # or the default service if not specified + SERVICE_NAME="$1" + if [ x"$SERVICE_NAME" = x ] + then + SERVICE_NAME=@DAEMON_NAME@.service + fi + + myuser=`systemctl show -p User "${SERVICE_NAME}" | + sed 's/^User=//'` + if [ x"$myuser" = x ] + then + myuser=mysql + fi + + mygroup=`systemctl show -p Group "${SERVICE_NAME}" | + sed 's/^Group=//'` + if [ x"$mygroup" = x ] + then + mygroup=mysql + fi +fi + +# Set up the errlogfile with appropriate permissions +if [ ! -e "$errlogfile" -a ! -h "$errlogfile" -a x$(dirname "$errlogfile") = "x/var/log" ]; then + case $(basename "$errlogfile") in + mysql*.log|mariadb*.log) install /dev/null -m0640 -o$myuser -g$mygroup "$errlogfile" ;; + *) ;; + esac +else + # Provide some advice if the log file cannot be created by this script + errlogdir=$(dirname "$errlogfile") + if ! [ -d "$errlogdir" ] ; then + echo "The directory $errlogdir does not exist." + exit 1 + elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then + echo "The log file $errlogfile cannot be written, please, fix its permissions." + echo "The daemon will be run under $myuser:$mygroup" + exit 1 + fi +fi + + + +export LC_ALL=C + +# Returns content of the specified directory +# If listing files fails, fake-file is returned so which means +# we'll behave like there was some data initialized +# Some files or directories are fine to be there, so those are +# explicitly removed from the listing +# @param datadir +list_datadir () +{ + ( ls -1A "$1" 2>/dev/null || echo "fake-file" ) | grep -v \ + -e '^lost+found$' \ + -e '\.err$' \ + -e '^\.bash_history$' +} + +# Checks whether datadir should be initialized +# @param datadir +should_initialize () +{ + test -z "$(list_datadir "$1")" +} + +# Make the data directory if doesn't exist or empty +if should_initialize "$datadir" ; then + + # Now create the database + echo "Initializing @NICE_PROJECT_NAME@ database" + @libexecdir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" + ret=$? + if [ $ret -ne 0 ] ; then + echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 + echo "Perhaps @sysconfdir@/my.cnf is misconfigured." >&2 + # Clean up any partially-created database files + if [ ! -e "$datadir/mysql/user.frm" ] ; then + rm -rf "$datadir"/* + fi + exit $ret + fi + # upgrade does not need to be run on a fresh datadir + echo "@VERSION@" >"$datadir/mysql_upgrade_info" +fi + +exit 0 diff --git a/SOURCES/mysql-rpath.patch b/SOURCES/mysql-rpath.patch new file mode 100644 index 0000000..16d5bc4 --- /dev/null +++ b/SOURCES/mysql-rpath.patch @@ -0,0 +1,19 @@ +MySQL 8.0 includes a feature that requires we set linux NICE capabilities to +mysqld daemon. Because of that, LD_LIBRARY_PATH does not work (see +secure-execution mode in http://man7.org/linux/man-pages/man8/ld.so.8.html). + +Related: #1628814 + +diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt +index 3f179a7a..209b3eb2 100644 +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -918,6 +918,8 @@ IF(UNIX_INSTALL_RPATH_ORIGIN_PRIV_LIBDIR) + ADD_INSTALL_RPATH_FOR_PROTOBUF(mysqld) + ENDIF() + ++SET_TARGET_PROPERTIES(mysqld PROPERTIES INSTALL_RPATH "${RPATH_LIBDIR}") ++ + OPTION(DEBUG_EXTNAME "Build server as mysqld-debug (debug builds only)" OFF) + MARK_AS_ADVANCED(DEBUG_EXTNAME) + diff --git a/SOURCES/mysql-s390-tsc.patch b/SOURCES/mysql-s390-tsc.patch new file mode 100644 index 0000000..8437ed7 --- /dev/null +++ b/SOURCES/mysql-s390-tsc.patch @@ -0,0 +1,41 @@ +Support s390/s390x in performance schema's cycle-counting functions. +Filed upstream at http://bugs.mysql.com/bug.php?id=59953 + +diff --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 + + #endif +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__) ++ /* covers both s390 and s390x */ ++ { ++ ulonglong result; ++ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); ++ return result; ++ } + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) + /* gethrtime may appear as either cycle or nanosecond counter */ + return (ulonglong)gethrtime(); +@@ -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; ++#elif defined(__GNUC__) && defined(__s390__) ++ mti->cycles.routine = MY_TIMER_ROUTINE_ASM_S390; + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) + mti->cycles.routine = MY_TIMER_ROUTINE_GETHRTIME; + #else diff --git a/SOURCES/mysql-scl-env-check.patch b/SOURCES/mysql-scl-env-check.patch new file mode 100644 index 0000000..b8e4f7e --- /dev/null +++ b/SOURCES/mysql-scl-env-check.patch @@ -0,0 +1,144 @@ +diff -up mysql-8.0.11/scripts/mysqld_safe.sh.p90 mysql-8.0.11/scripts/mysqld_safe.sh +--- mysql-8.0.11/scripts/mysqld_safe.sh.p90 2018-04-08 08:44:49.000000000 +0200 ++++ mysql-8.0.11/scripts/mysqld_safe.sh 2018-06-23 21:28:20.533825845 +0200 +@@ -11,6 +11,12 @@ + # mysql.server works by first doing a cd to the base directory and from there + # executing mysqld_safe + ++# we want start daemon only inside "scl enable" invocation ++if ! scl_enabled @SCL_NAME@ ; then ++ echo "Use \"scl enable @SCL_NAME@ 'service ...'\" invocation" ++ exit 1 ++fi ++ + # Initialize script globals + KILL_MYSQLD=1; + MYSQLD= +diff -up mysql-8.0.11/scripts/mysql.init.in.p90 mysql-8.0.11/scripts/mysql.init.in +--- mysql-8.0.11/scripts/mysql.init.in.p90 2018-06-23 21:28:20.531825833 +0200 ++++ mysql-8.0.11/scripts/mysql.init.in 2018-06-23 21:28:20.533825845 +0200 +@@ -71,8 +71,8 @@ start(){ + action $"Starting $prog: " /bin/true + ret=0 + else +- @libexecdir@/mysql-check-socket || return 1 +- su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 ++ scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-check-socket || return 1 ++ su - $MYUSER -s /bin/bash -c "scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 + + # Pass all the options determined above, to ensure consistent behavior. + # In many cases mysqld_safe would arrive at the same conclusions anyway +@@ -81,13 +81,13 @@ start(){ + # and some users might prefer to configure logging to syslog.) + # Note: set --basedir to prevent probes that might trigger SELinux + # alarms, per bug #547485 +- su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ ++ su - $MYUSER -s /bin/bash -c "scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- $exec --datadir='$datadir' --socket='$socketfile' \ + --pid-file='$pidfile' \ + --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & + safe_pid=$! + + # Wait until the daemon is up +- su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" ++ su - $MYUSER -s /bin/bash -c "scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-wait-ready '$safe_pid'" + ret=$? + + if [ $ret -eq 0 ]; then +@@ -154,6 +154,18 @@ condrestart(){ + [ -e $lockfile ] && restart || : + } + ++# We have to re-enable SCL environment, because /sbin/service ++# clears almost all environment variables. ++# Since X_SCLS is cleared as well, we lose information about other ++# collections enabled. ++source @SCL_SCRIPTS@/service-environment ++source scl_source enable $@SCL_NAME_UPPER@_SCLS_ENABLED ++ ++# we want start daemon only inside "scl enable" invocation ++if ! scl_enabled @SCL_NAME@ ; then ++ echo "Collection @SCL_NAME@ has to be listed in @SCL_SCRIPTS@/service-environment" ++ exit 1 ++fi + + # See how we were called. + case "$1" in +diff -up mysql-8.0.11/scripts/mysql.service.in.p90 mysql-8.0.11/scripts/mysql.service.in +--- mysql-8.0.11/scripts/mysql.service.in.p90 2018-06-23 21:28:20.531825833 +0200 ++++ mysql-8.0.11/scripts/mysql.service.in 2018-06-23 21:34:19.940881913 +0200 +@@ -32,16 +32,23 @@ After=network.target + + [Service] + Type=notify ++NotifyAccess=all + User=mysql + Group=mysql + +-ExecStartPre=@libexecdir@/mysql-check-socket +-ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n ++# Load collections set to enabled for this service ++EnvironmentFile=@SCL_SCRIPTS@/service-environment ++ ++# We want to start server only inside "scl enable" invocation ++ExecStartPre=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- /usr/bin/scl_enabled @SCL_NAME@ ++ ++ExecStartPre=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-check-socket ++ExecStartPre=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-prepare-db-dir %n + # Note: we set --basedir to prevent probes that might trigger SELinux alarms, + # per bug #547485 +-ExecStart=@libexecdir@/mysqld --basedir=@prefix@ +-ExecStartPost=@libexecdir@/mysql-check-upgrade +-ExecStopPost=@libexecdir@/mysql-wait-stop ++ExecStart=@libexecdir@/mysqld-scl-helper enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysqld --basedir=@prefix@ ++ExecStartPost=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-check-upgrade ++ExecStopPost=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-wait-stop + + # Give a reasonable amount of time for the server to start up/shut down + TimeoutSec=300 +diff -up mysql-8.0.11/scripts/mysql@.service.in.p90 mysql-8.0.11/scripts/mysql@.service.in +--- mysql-8.0.11/scripts/mysql@.service.in.p90 2018-06-23 21:28:20.531825833 +0200 ++++ mysql-8.0.11/scripts/mysql@.service.in 2018-06-23 21:34:30.583942800 +0200 +@@ -32,16 +32,23 @@ After=network.target + + [Service] + Type=notify ++NotifyAccess=all + User=mysql + Group=mysql + +-ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I +-ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n ++# Load collections set to enabled for this service ++EnvironmentFile=@SCL_SCRIPTS@/service-environment ++ ++# We want to start server only inside "scl enable" invocation ++ExecStartPre=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- /usr/bin/scl_enabled @SCL_NAME@ ++ ++ExecStartPre=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-check-socket --defaults-group-suffix=.%I ++ExecStartPre=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n + # Note: we set --basedir to prevent probes that might trigger SELinux alarms, + # per bug #547485 +-ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ +-ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I +-ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I ++ExecStart=@libexecdir@/mysqld-scl-helper enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ ++ExecStartPost=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I ++ExecStopPost=/usr/bin/scl enable $@SCL_NAME_UPPER@_SCLS_ENABLED -- @libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I + + # Give a reasonable amount of time for the server to start up/shut down + TimeoutSec=300 +diff -up mysql-8.0.11/support-files/mysql-log-rotate.sh.p90 mysql-8.0.11/support-files/mysql-log-rotate.sh +--- mysql-8.0.11/support-files/mysql-log-rotate.sh.p90 2018-04-08 08:44:49.000000000 +0200 ++++ mysql-8.0.11/support-files/mysql-log-rotate.sh 2018-06-23 21:28:20.533825845 +0200 +@@ -51,9 +51,9 @@ + postrotate + # just if mysqld is really running + if test -x @bindir@/mysqladmin && \ +- @bindir@/mysqladmin ping &>/dev/null ++ /usr/bin/scl enable @SCL_NAME@ -- @bindir@/mysqladmin ping &>/dev/null + then +- @bindir@/mysqladmin flush-logs ++ /usr/bin/scl enable @SCL_NAME@ -- @bindir@/mysqladmin flush-logs + fi + endscript + } diff --git a/SOURCES/mysql-scripts-common.sh b/SOURCES/mysql-scripts-common.sh new file mode 100644 index 0000000..58f0437 --- /dev/null +++ b/SOURCES/mysql-scripts-common.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +# Some useful functions used in other MySQL helper scripts +# This scripts defines variables datadir, errlogfile, socketfile + +export LC_ALL=C + +# extract value of a MySQL option from config files +# Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ] +# result is returned in $result +# We use my_print_defaults which prints all options from multiple files, +# with the more specific ones later; hence take the last match. +get_mysql_option(){ + if [ $# -ne 3 ] ; then + echo "get_mysql_option requires 3 arguments: section option default_value" + return + fi + sections="$1" + option_name="$2" + default_value="$3" + result=`@bindir@/my_print_defaults $my_print_defaults_extra_args $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="${default_value}" + fi +} + +# For the case of running more instances via systemd, scrits that source +# this file can get --default-group-suffix or similar option as the first +# argument. The utility my_print_defaults needs to use it as well, so the +# scripts sourcing this file work with the same options as the daemon. +my_print_defaults_extra_args='' +while echo "$1" | grep -q '^--defaults' ; do + my_print_defaults_extra_args="${my_print_defaults_extra_args} $1" + shift +done + +# Defaults here had better match what mysqld_safe will default to +# The option values are generally defined on three important places +# on the default installation: +# 1) default values are hardcoded in the code of mysqld daemon or +# mysqld_safe script +# 2) configurable values are defined in @sysconfdir@/my.cnf +# 3) default values for helper scripts are specified bellow +# So, in case values are defined in my.cnf, we need to get that value. +# In case they are not defined in my.cnf, we need to get the same value +# in the daemon, as in the helper scripts. Thus, default values here +# must correspond with values defined in mysqld_safe script and source +# code itself. + +server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ client-server" + +get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@" +datadir="$result" + +# if there is log_error in the my.cnf, my_print_defaults still +# returns log-error +# log-error might be defined in mysqld_safe and mysqld sections, +# the former has bigger priority +get_mysql_option "$server_sections" log-error "$datadir/`hostname`.err" +errlogfile="$result" + +get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" +socketfile="$result" + +get_mysql_option "$server_sections" pid-file "$datadir/`hostname`.pid" +pidfile="$result" + diff --git a/SOURCES/mysql-scripts.patch b/SOURCES/mysql-scripts.patch new file mode 100644 index 0000000..e98694c --- /dev/null +++ b/SOURCES/mysql-scripts.patch @@ -0,0 +1,35 @@ +--- mysql-8.0.21/scripts/CMakeLists.txt.old 2020-08-05 10:03:03.336774227 +0200 ++++ mysql-8.0.21/scripts/CMakeLists.txt 2020-08-05 10:05:04.442722733 +0200 +@@ -484,4 +484,32 @@ + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) + ENDIF() ++ # files for systemd ++ SET(SYSTEMD_SCRIPTS ++ mysql.tmpfiles.d ++ mysql.service ++ mysql@.service ++ mysql-prepare-db-dir ++ mysql-wait-ready ++ mysql-wait-stop ++ mysql-check-socket ++ mysql-check-upgrade ++ mysql-scripts-common ++ mysql_config_multilib ++ mysql.init ++ my.cnf ++ server.cnf ++ ) ++ FOREACH(file ${SYSTEMD_SCRIPTS}) ++ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh ++ ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) ++ ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.in) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.in ++ ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) ++ ELSE() ++ MESSAGE(FATAL_ERROR "Can not find ${file}.sh or ${file}.in in " ++ "${CMAKE_CURRENT_SOURCE_DIR}" ) ++ ENDIF() ++ ENDFOREACH() + ENDIF() diff --git a/SOURCES/mysql-sharedir.patch b/SOURCES/mysql-sharedir.patch new file mode 100644 index 0000000..fa0dc72 --- /dev/null +++ b/SOURCES/mysql-sharedir.patch @@ -0,0 +1,27 @@ +diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt +index f77bd022..a3a3bd9f 100644 +--- a/mysql-test/CMakeLists.txt ++++ b/mysql-test/CMakeLists.txt +@@ -57,6 +57,9 @@ IF(INSTALL_MYSQLTESTDIR) + ENDIF() + + ++# Expand some paths in the perl script correctly ++CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY) ++ + IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + # Enable running mtr from build directory + FIND_PROGRAM(PERL_EXECUTABLE perl +diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl +index b82611fd..7fc5987e 100755 +--- a/mysql-test/mysql-test-run.pl ++++ b/mysql-test/mysql-test-run.pl +@@ -1656,7 +1656,7 @@ sub command_line_setup { + my $path_share = $path_language; + + @share_locations = +- ("share/mysql-" . $mysql_base_version, "share/mysql", "share"); ++ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql-" . $mysql_base_version, "share/mysql", "share"); + + $path_charsetsdir = my_find_dir($basedir, \@share_locations, "charsets"); + diff --git a/SOURCES/mysql-sysnice.te b/SOURCES/mysql-sysnice.te new file mode 100644 index 0000000..de62431 --- /dev/null +++ b/SOURCES/mysql-sysnice.te @@ -0,0 +1,10 @@ + +module mysql-sysnice 1.0; + +require { + type mysqld_t; + class capability sys_nice; +} + +#============= mysqld_t ============== +allow mysqld_t self:capability sys_nice; diff --git a/SOURCES/mysql-wait-ready.sh b/SOURCES/mysql-wait-ready.sh new file mode 100644 index 0000000..2ed5fe1 --- /dev/null +++ b/SOURCES/mysql-wait-ready.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +# This script waits for mysqld to be ready to accept connections +# (which can be many seconds or even minutes after launch, if there's +# a lot of crash-recovery work to do). +# Running this as ExecStartPost is useful so that services declared as +# "After mysqld" won't be started until the database is really ready. + +if [ $# -ne 1 ] ; then + echo "You need to pass daemon pid as an argument for this script." + exit 20 +fi + +# Service file passes us the daemon's PID (actually, mysqld_safe's PID) +daemon_pid="$1" + +# Wait for the server to come up or for the mysqld process to disappear +ret=0 +while /bin/true; do + # Check process still exists + if ! [ -d "/proc/${daemon_pid}" ] ; then + ret=1 + break + fi + RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + mret=$? + if [ $mret -eq 0 ] ; then + break + fi + # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, + # anything else suggests a configuration error + if [ $mret -ne 1 -a $mret -ne 11 ]; then + echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 + ret=$mret + break + fi + # "Access denied" also means the server is alive + echo "$RESPONSE" | grep -q "Access denied for user" && break + + sleep 1 +done + +exit $ret diff --git a/SOURCES/mysql-wait-stop.sh b/SOURCES/mysql-wait-stop.sh new file mode 100644 index 0000000..62bde30 --- /dev/null +++ b/SOURCES/mysql-wait-stop.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +# This script waits for mysqld to be properly stopped +# (which can be many seconds in some large load). +# Running this as ExecStopPost is useful so that starting which is done +# as part of restart doesn't see the former process still running. + +# Wait for the server to properly end the main server +ret=0 +TIMEOUT=60 +SECONDS=0 + +if ! [ -f "$pidfile" ]; then + exit 0 +fi + +MYSQLPID=`cat "$pidfile" 2>/dev/null` +if [ -z "$MYSQLPID" ] ; then + exit 2 +fi + +while /bin/true; do + # Check process still exists + if ! [ -d "/proc/${MYSQLPID}" ] ; then + break + fi + if [ $SECONDS -gt $TIMEOUT ] ; then + ret=3 + break + fi + sleep 1 +done + +exit $ret diff --git a/SOURCES/mysql.init.in b/SOURCES/mysql.init.in new file mode 100644 index 0000000..6ae046c --- /dev/null +++ b/SOURCES/mysql.init.in @@ -0,0 +1,186 @@ +#!/bin/sh +# +# @DAEMON_NAME@ This shell script takes care of starting and stopping +# the MySQL subsystem (mysqld). +# +# chkconfig: - 64 36 +# description: MySQL database server. +# processname: mysqld +# config: @sysconfdir@/my.cnf +# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid +### BEGIN INIT INFO +# Provides: mysqld +# Required-Start: $local_fs $remote_fs $network $named $syslog $time +# Required-Stop: $local_fs $remote_fs $network $named $syslog $time +# Short-Description: start and stop MySQL server +# Description: MySQL database server +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + + +exec="@bindir@/mysqld_safe" +prog="@DAEMON_NAME@" + +# Set timeouts here so they can be overridden from @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ +STARTTIMEOUT=300 +STOPTIMEOUT=60 + +# User and group the daemon will run under +MYUSER=mysql +MYGROUP=mysql + +# Edit the following file in order to re-write some of the environment +# variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec +[ -e @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ ] && . @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ + +lockfile=/var/lock/subsys/$prog + +# get options from my.cnf +source "@libexecdir@/mysql-scripts-common" + +start(){ + [ -x $exec ] || exit 5 + + # check permissions + if ! touch $(dirname $socketfile) &>/dev/null ; then + action $"Starting $prog: " /bin/false + return 4 + fi + + # check to see if it's already running + MYSQLDRUNNING=0 + if [ -f "$pidfile" ]; then + MYSQLPID=`cat "$pidfile" 2>/dev/null` + if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then + MYSQLDRUNNING=1 + fi + fi + RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" + then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + else + @libexecdir@/mysql-check-socket || return 1 + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 + + # Pass all the options determined above, to ensure consistent behavior. + # In many cases mysqld_safe would arrive at the same conclusions anyway + # but we need to be sure. (An exception is that we don't force the + # log-error setting, since this script doesn't really depend on that, + # and some users might prefer to configure logging to syslog.) + # Note: set --basedir to prevent probes that might trigger SELinux + # alarms, per bug #547485 + su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ + --pid-file='$pidfile' \ + --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & + safe_pid=$! + + # Wait until the daemon is up + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" + ret=$? + + if [ $ret -eq 0 ]; then + action $"Starting $prog: " /bin/true + chmod o+r $pidfile >/dev/null 2>&1 + touch $lockfile + else + action $"Starting $prog: " /bin/false + fi + fi + return $ret +} + +stop(){ + if [ ! -f "$pidfile" ]; then + # not running; per LSB standards this is "ok" + action $"Stopping $prog: " /bin/true + return 0 + fi + MYSQLPID=`cat "$pidfile" 2>/dev/null` + if [ -n "$MYSQLPID" ]; then + if ! [ -d "/proc/$MYSQLPID" ] ; then + # process doesn't run anymore + action $"Stopping $prog: " /bin/true + return 0 + fi + /bin/kill "$MYSQLPID" >/dev/null 2>&1 + ret=$? + if [ $ret -eq 0 ]; then + TIMEOUT="$STOPTIMEOUT" + while [ $TIMEOUT -gt 0 ]; do + /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break + sleep 1 + let TIMEOUT=${TIMEOUT}-1 + done + if [ $TIMEOUT -eq 0 ]; then + echo "Timeout error occurred trying to stop MySQL Daemon." + ret=1 + action $"Stopping $prog: " /bin/false + else + rm -f $lockfile + rm -f "$socketfile" + action $"Stopping $prog: " /bin/true + fi + else + # kill command failed, probably insufficient permissions + action $"Stopping $prog: " /bin/false + ret=4 + fi + else + # failed to read pidfile, probably insufficient permissions + action $"Stopping $prog: " /bin/false + ret=4 + fi + return $ret +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e $lockfile ] && restart || : +} + + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status -p "$pidfile" $prog + ;; + restart) + restart + ;; + condrestart|try-restart) + condrestart + ;; + reload) + exit 3 + ;; + force-reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac + +exit $? diff --git a/SOURCES/mysql.service.in b/SOURCES/mysql.service.in new file mode 100644 index 0000000..4a7c295 --- /dev/null +++ b/SOURCES/mysql.service.in @@ -0,0 +1,63 @@ +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to use systemctl edit: +# +# $ systemctl edit @DAEMON_NAME@.service +# +# this will create file +# +# /etc/systemd/system/@DAEMON_NAME@.service.d/override.conf +# +# which be parsed after the file @DAEMON_NAME@.service itself is parsed. +# +# For example, if you want to increase mysql's open-files-limit to 20000 +# add following when editing with command above: +# +# [Service] +# LimitNOFILE=20000 +# +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true +# +# For more info about custom unit files, see systemd.unit(5) or +# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F +# +# Don't forget to reload systemd daemon after you change unit configuration: +# root> systemctl --system daemon-reload + +[Unit] +Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +After=syslog.target +After=network.target + +[Service] +Type=notify +User=mysql +Group=mysql + +ExecStartPre=@libexecdir@/mysql-check-socket +ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +# Note: we set --basedir to prevent probes that might trigger SELinux alarms, +# per bug #547485 +ExecStart=@libexecdir@/mysqld --basedir=@prefix@ +ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStopPost=@libexecdir@/mysql-wait-stop + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + +Restart=on-failure + +RestartPreventExitStatus=1 + +# Sets open_files_limit +LimitNOFILE = 10000 + +# Set enviroment variable MYSQLD_PARENT_PID. This is required for SQL restart command. +Environment=MYSQLD_PARENT_PID=1 + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/mysql.tmpfiles.d.in b/SOURCES/mysql.tmpfiles.d.in new file mode 100644 index 0000000..d2c4b31 --- /dev/null +++ b/SOURCES/mysql.tmpfiles.d.in @@ -0,0 +1 @@ +d @PID_FILE_DIR@ 0755 mysql mysql - diff --git a/SOURCES/mysql@.service.in b/SOURCES/mysql@.service.in new file mode 100644 index 0000000..554f0ba --- /dev/null +++ b/SOURCES/mysql@.service.in @@ -0,0 +1,63 @@ +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to use systemctl edit: +# +# $ systemctl edit @DAEMON_NAME@.service +# +# this will create file +# +# /etc/systemd/system/@DAEMON_NAME@.service.d/override.conf +# +# which be parsed after the file @DAEMON_NAME@.service itself is parsed. +# +# For example, if you want to increase mysql's open-files-limit to 20000 +# add following when editing with command above: +# +# [Service] +# LimitNOFILE=20000 +# +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true +# +# For more info about custom unit files, see systemd.unit(5) or +# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F +# +# Don't forget to reload systemd daemon after you change unit configuration: +# root> systemctl --system daemon-reload + +[Unit] +Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +After=syslog.target +After=network.target + +[Service] +Type=notify +User=mysql +Group=mysql + +ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I +ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n +# Note: we set --basedir to prevent probes that might trigger SELinux alarms, +# per bug #547485 +ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ +ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I +ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + +Restart=on-failure + +RestartPreventExitStatus=1 + +# Sets open_files_limit +LimitNOFILE = 10000 + +# Set enviroment variable MYSQLD_PARENT_PID. This is required for SQL restart command. +Environment=MYSQLD_PARENT_PID=1 + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/mysql_config_multilib.sh b/SOURCES/mysql_config_multilib.sh new file mode 100644 index 0000000..06c2a2b --- /dev/null +++ b/SOURCES/mysql_config_multilib.sh @@ -0,0 +1,26 @@ +#! /bin/sh +# +# Wrapper script for mysql_config to support multilib +# +# This command respects setarch + +bits=$(rpm --eval %__isa_bits) + +case $bits in + 32|64) status=known ;; + *) status=unknown ;; +esac + +if [ "$status" = "unknown" ] ; then + echo "$0: error: command 'rpm --eval %__isa_bits' returned unknown value: $bits" + exit 1 +fi + + +if [ -x @bindir@/mysql_config-$bits ] ; then + @bindir@/mysql_config-$bits "$@" +else + echo "$0: error: needed binary: @bindir@/mysql_config-$bits is missing" + exit 1 +fi + diff --git a/SOURCES/server.cnf.in b/SOURCES/server.cnf.in new file mode 100644 index 0000000..ba3d479 --- /dev/null +++ b/SOURCES/server.cnf.in @@ -0,0 +1,18 @@ +# +# This group are read by MySQL server. +# Use it for options that only the server (but not clients) should see +# +# For advice on how to change settings please see +# http://dev.mysql.com/doc/refman/en/server-configuration-defaults.html + +# Settings user and group are ignored when systemd is used. +# If you need to run mysqld under a different user or group, +# customize your systemd unit file for mysqld according to the +# instructions in http://fedoraproject.org/wiki/Systemd + +[mysqld] +datadir=@MYSQL_DATADIR@ +socket=@MYSQL_UNIX_ADDR@ +log-error=@LOG_LOCATION@ +pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid + diff --git a/SPECS/mysql.spec b/SPECS/mysql.spec new file mode 100644 index 0000000..cfa66b6 --- /dev/null +++ b/SPECS/mysql.spec @@ -0,0 +1,3128 @@ +# SCL stuff +%{?scl:%scl_package mysql} +%{!?scl:%global pkg_name %{name}} + +# Name of the package without any prefixes +%global pkgnamepatch mysql + +# Regression tests may take a long time (many cores recommended), skip them by +# passing --nocheck to rpmbuild or by setting runselftest to 0 if defining +# --nocheck is not possible (e.g. in koji build) +%{!?runselftest:%global runselftest 1} + +# Set this to 1 to see which tests fail +%{!?check_testsuite:%global check_testsuite 1} + +# In f20+ use unversioned docdirs, otherwise the old versioned one +%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} + +# Use Full RELRO for all binaries (RHBZ#1092548) +%global _hardened_build 1 + +# By default, patch(1) creates backup files when chunks apply with offsets. +# Turn that off to ensure such files don't get included in RPMs (cf bz#884755). +%global _default_patch_flags --no-backup-if-mismatch + +%global skiplist platform-specific-tests.list + +# For some use cases we do not need some parts of the package +%if 0%{?scl:1} +%bcond_with clibrary +%else +%bcond_without clibrary +%endif +%bcond_without devel +%bcond_without client +%bcond_without common +%bcond_without errmsg +%bcond_without test + +# When there is already another package that ships /etc/my.cnf, +# rather include it than ship the file again, since conflicts between +# those files may create issues +%if 0%{?scl:1} +%bcond_without config +%else +%bcond_with config +%endif + +# For deep debugging we need to build binaries with extra debug info +%bcond_with debug + +%global boost_bundled_version 1.72.0 + +%if 0%{?fedora} +%bcond_with bundled_icu +%else +%bcond_without bundled_icu +%endif +%global icu_bundled_version 65.1.0 + +%if 0%{?fedora} >= 26 || 0%{?rhel} > 7 +%bcond_with bundled_protobuf +%else +%bcond_without bundled_protobuf +%endif +%global protobuf_bundled_version 3.11.4 + +# Mysql 8.0.21 needs libevent version >2.1 and rhel-7 provides 2.0 +# Also since Mysql 8.0.18, libzstd is required, but it's not in rhel until version 8 +# thus we need to use bundled libraries +%if 0%{?scl:1} || 0%{?rhel} <= 7 +%bcond_without bundled_libevent +%else +%bcond_with bundled_libevent +%endif +# zstd is missing on rhel-8.0.0 +%if 0%{?scl:1} || 0%{?rhel} <= 8 +%bcond_without bundled_zstd +%else +%bcond_with bundled_zstd +%endif +%global zstd_bundled_version 1.4.3 +%global libevent_bundled_version 2.1.11 + +# Include files for SysV init or systemd +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 +%bcond_without init_systemd +%bcond_with init_sysv +%global daemondir %{_unitdir} +%else +%bcond_with init_systemd +%bcond_without init_sysv +%global daemondir %{_sysconfdir}/rc.d/init.d +%endif +%global daemon_name %{?scl_prefix}mysqld +%global daemon_no_prefix mysqld + +%{?scl:%global se_daemon_source %{_unitdir}/mysqld} + +# Directory for storing pid file +%if 0%{?rhel} == 6 +%global pidfiledir %{_localstatedir}/run/%{daemon_name} +%else +%global pidfiledir %{_rundir}/%{daemon_name} +%endif + +# We define some system's well known locations here so we can use them easily +# later when building to another location (like SCL) +%if 0%{?scl:1} +%global logrotateddir %{_root_sysconfdir}/logrotate.d +%global selinux_packages_dir %{_root_datadir}/selinux/packages +%else +%global logrotateddir %{_sysconfdir}/logrotate.d +%global selinux_packages_dir %{_datadir}/selinux/packages +%endif +%global logfiledir %{_localstatedir}/log/mysql +%global logfile %{logfiledir}/%{daemon_no_prefix}.log + +# Defining where database data live +%global dbdatadir %{_localstatedir}/lib/mysql + +# Home directory of mysql user should be same for all packages that create it +%global mysqluserhome /var/lib/mysql + +# Provide mysql names for compatibility +%if 0%{?scl:1} +%bcond_with mysql_names +%bcond_with conflicts +%else +%bcond_without mysql_names +%bcond_without conflicts +%endif + +# Make long macros shorter +%global sameevr %{?epoch:%{epoch}:}%{version}-%{release} + +%if 0%{?scl:1} +%global scl_upper %{lua:print(string.upper(string.gsub(rpm.expand("%{scl}"), "-", "_")))} +%endif + +Name: %{?scl_prefix}mysql +Version: 8.0.21 +Release: 1%{?with_debug:.debug}%{?dist} +Summary: MySQL client programs and shared libraries +URL: http://www.mysql.com + +# Exceptions allow client libraries to be linked with most open source SW, +# not only GPL code. See README.mysql-license +License: GPLv2 with exceptions and LGPLv2 and BSD + +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 +Source7: README.mysql-license +Source10: mysql.tmpfiles.d.in +Source11: mysql.service.in +Source12: mysql-prepare-db-dir.sh +Source13: mysql-wait-ready.sh +Source14: mysql-check-socket.sh +Source15: mysql-scripts-common.sh +Source16: mysql-check-upgrade.sh +Source17: mysql-wait-stop.sh +Source18: mysql@.service.in +Source19: mysql.init.in +# To track rpmlint warnings +Source30: mysql-5.6.10-rpmlintrc +# Configuration for server +Source31: server.cnf.in +Source32: default-authentication-plugin.cnf +Source40: daemon-scl-helper.sh +Source41: mysql-sysnice.te + +# Comments for these patches are in the patch files +# Patches common for more mysql-like packages +Patch1: %{pkgnamepatch}-install-test.patch +Patch2: %{pkgnamepatch}-s390-tsc.patch +Patch3: %{pkgnamepatch}-file-contents.patch +Patch4: %{pkgnamepatch}-scripts.patch +Patch5: %{pkgnamepatch}-paths.patch + +# Patches specific for this mysql package +Patch51: %{pkgnamepatch}-chain-certs.patch +Patch52: %{pkgnamepatch}-sharedir.patch +Patch75: %{pkgnamepatch}-arm32-timer.patch +Patch77: %{pkgnamepatch}-certs-expired.patch + +# Patches specific for scl +Patch90: %{pkgnamepatch}-scl-env-check.patch +Patch91: %{pkgnamepatch}-rpath.patch + +# Patches taken from boost 1.59 +Patch115: boost-1.58.0-pool.patch +Patch125: boost-1.57.0-mpl-print.patch +# Use same logfile path in logrotate and mysql configs +Patch126: mysql-logrotate-log-path.patch + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: libaio-devel +BuildRequires: libedit-devel +BuildRequires: libevent-devel +%if %{without bundled_icu} +BuildRequires: libicu-devel +%endif +BuildRequires: %{?scl_prefix}lz4 +BuildRequires: %{?scl_prefix}lz4-devel +BuildRequires: %{?scl_prefix}mecab-devel +BuildRequires: %{?scl_prefix}bison +%ifnarch aarch64 %{arm} s390 s390x +BuildRequires: numactl-devel +%endif +BuildRequires: openssl-devel +%if 0%{?fedora} > 24 || 0%{?rhel} > 7 +BuildRequires: perl-interpreter +BuildRequires: perl-generators +%endif +%if 0%{?fedora} > 27 || 0%{?rhel} > 7 +BuildRequires: rpcgen +BuildRequires: libtirpc-devel +%endif +%if %{without bundled_protobuf} +BuildRequires: protobuf-lite-devel +%endif +BuildRequires: rapidjson-devel +BuildRequires: zlib +BuildRequires: zlib-devel +BuildRequires: multilib-rpm-config +# Tests requires time and ps and some perl modules +BuildRequires: procps +BuildRequires: time +BuildRequires: perl(base) +BuildRequires: perl(Carp) +BuildRequires: perl(Cwd) +BuildRequires: perl(Digest::file) +BuildRequires: perl(Digest::MD5) +BuildRequires: perl(English) +BuildRequires: perl(Env) +BuildRequires: perl(Errno) +BuildRequires: perl(Exporter) +BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Basename) +BuildRequires: perl(File::Copy) +BuildRequires: perl(File::Find) +BuildRequires: perl(File::Spec) +BuildRequires: perl(File::Spec::Functions) +BuildRequires: perl(File::Temp) +BuildRequires: perl(FindBin) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(if) +BuildRequires: perl(IO::File) +BuildRequires: perl(IO::Handle) +BuildRequires: perl(IO::Select) +BuildRequires: perl(IO::Socket::INET) +BuildRequires: perl(IPC::Open3) +BuildRequires: perl(JSON) +BuildRequires: perl(lib) +BuildRequires: perl(LWP::Simple) +BuildRequires: perl(Memoize) +BuildRequires: perl(Net::Ping) +BuildRequires: perl(POSIX) +BuildRequires: perl(Socket) +BuildRequires: perl(strict) +BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Test::More) +BuildRequires: perl(Time::HiRes) +BuildRequires: perl(Time::localtime) +BuildRequires: perl(warnings) +%{?with_init_systemd:BuildRequires: systemd} +# libzstd +%{!?with_bundled_zstd:BuildRequires: libzstd-devel} +# libevent +%{?with_bundled_libevent:Provides: bundled(libevent) = %{libevent_bundled_version}} +%{!?with_bundled_libevent:BuildRequires: libevent-devel} + +# aarch64 requires newer gcc +%if 0%{?rhel} == 7 && 0%{?scl:1} +%global dts devtoolset-7 +BuildRequires: %{dts}-gcc-c++ +%endif +BuildRequires: selinux-policy-devel + +Requires: bash coreutils grep +Requires: %{name}-common%{?_isa} = %{sameevr} +%{?scl:Requires:%scl_runtime} + +Provides: bundled(boost) = %{boost_bundled_version} +%if %{with bundled_protobuf} +Provides: bundled(protobuf) = %{protobuf_bundled_version} +%endif +%if %{with bundled_icu} +Provides: bundled(icu) = %{icu_bundled_version} +%endif +%if %{with bundled_zstd} +Provides: bundled(zstd) = %{zstd_bundled_version} +%endif + +%if %{with mysql_names} +Provides: mysql = %{sameevr} +Provides: mysql%{?_isa} = %{sameevr} +Provides: mysql-compat-client = %{sameevr} +Provides: mysql-compat-client%{?_isa} = %{sameevr} +%endif + +%{?with_conflicts:Conflicts: mariadb} +# mysql-cluster used to be built from this SRPM, but no more +Obsoletes: mysql-cluster < 5.1.44 + +# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%if 0%{?fedora} > 14 || 0%{?rhel} > 6 +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%else +%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so) +%filter_setup +%endif + +%description +MySQL is a multi-user, multi-threaded SQL database server. MySQL is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. The base package +contains the standard MySQL client programs and generic MySQL files. + + +%if %{with clibrary} +%package libs +Summary: The shared libraries required for MySQL clients +Requires: %{name}-common%{?_isa} = %{sameevr} +%{?scl:Requires:%scl_runtime} +%if %{with mysql_names} +Provides: mysql-libs = %{sameevr} +Provides: mysql-libs%{?_isa} = %{sameevr} +%endif + +%description libs +The mysql-libs package provides the essential shared libraries for any +MySQL client program or interface. You will need to install this package +to use any other MySQL package or any clients that need to connect to a +MySQL server. +%endif + + +%if %{with config} +%package config +Summary: The config files required by server and client +%{?scl:Requires:%scl_runtime} + +%description config +The package provides the config file my.cnf and my.cnf.d directory used by any +MariaDB or MySQL program. You will need to install this package to use any +other MariaDB or MySQL package if the config files are not provided in the +package itself. +%endif + + +%if %{with common} +%package common +Summary: The shared files required for MySQL server and client +Requires: %{_sysconfdir}/my.cnf +%{?scl:Requires:%scl_runtime} + +%description common +The mysql-common package provides the essential shared files for any +MySQL program. You will need to install this package to use any other +MySQL package. +%endif + + +%if %{with errmsg} +%package errmsg +Summary: The error messages files required by MySQL server +Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{sameevr} +%{?scl:Requires:%scl_runtime} + +%description errmsg +The package provides error messages files for the MySQL daemon +%endif + + +%package server +Summary: The MySQL server and related files + +# Require any mysql client, but prefer mysql client for mysql server +%if 0%{?fedora} || 0%{?rhel} > 7 +Suggests: %{name}%{?_isa} = %{sameevr} +%endif +Requires: %{?scl_prefix}mysql%{?_isa} + +Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{_sysconfdir}/my.cnf +Requires: %{_sysconfdir}/my.cnf.d +Requires: %{name}-errmsg%{?_isa} = %{sameevr} +%{?mecab:Requires: %{?scl_prefix}mecab-ipadic} +Requires: coreutils +Requires(pre): /usr/sbin/useradd +%if %{with init_systemd} +# We require this to be present for %%{_tmpfilesdir} +Requires: systemd +# Make sure it's there when scriptlets run, too +%{?systemd_requires: %systemd_requires} +# semanage +%if 0%{?fedora} >= 26 || 0%{?rhel} > 7 +Requires(post): policycoreutils-python-utils +%else +Requires(post): policycoreutils-python +%endif +%{?scl:Requires:%scl_runtime} +%{?scl:BuildRequires: scl-utils-build-helpers} +%endif +%if %{with mysql_names} +Provides: mysql-server = %{sameevr} +Provides: mysql-server%{?_isa} = %{sameevr} +Provides: mysql-compat-server = %{sameevr} +Provides: mysql-compat-server%{?_isa} = %{sameevr} +Obsoletes: mysql-bench < 5.7.8 +%endif +Obsoletes: mysql-bench < 5.7.8 +%{?with_conflicts:Conflicts: mariadb-server} +%{?with_conflicts:Conflicts: mariadb-galera-server} +# A dependency mistake was made, to fix it, old version of the utils must be Obsoleted. Affected versions: F24, F25, F26 until their EOL. +Obsoletes: mariadb-server-utils < 3:10.1.21-3 + +%description server +MySQL is a multi-user, multi-threaded SQL database server. MySQL is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. This package contains +the MySQL server and some accompanying files and directories. + + +%if %{with devel} +%package devel +Summary: Files for development of MySQL applications +%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} +Requires: openssl-devel +Requires: zlib-devel +%{!?with_bundled_zstd:Requires: libzstd} + +%{?with_conflicts:Conflicts: mariadb-devel} +%{?scl:Requires:%scl_runtime} + +%description devel +MySQL is a multi-user, multi-threaded SQL database server. This +package contains the libraries and header files that are needed for +developing MySQL client applications. +%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: %{?scl_prefix}lz4 +Requires: perl(Digest::file) +Requires: perl(Digest::MD5) +Requires: perl(Env) +Requires: perl(Exporter) +Requires: perl(Fcntl) +Requires: perl(File::Temp) +Requires: perl(FindBin) +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) +Requires: perl(Time::HiRes) +%{?with_conflicts:Conflicts: mariadb-test} +%{?scl:Requires:%scl_runtime} +%if %{with mysql_names} +Provides: mysql-test = %{sameevr} +Provides: mysql-test%{?_isa} = %{sameevr} +%endif + +%description test +MySQL is a multi-user, multi-threaded SQL database server. This +package contains the regression test suite distributed with +the MySQL sources. +%endif + +%if 0%{?scl:1} +%scl_syspaths_package -d +%scl_syspaths_package config -d +%scl_syspaths_package server -d +%endif + + +%prep +%setup -q -n mysql-%{version} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch51 -p1 +%patch52 -p1 +%patch75 -p1 +%patch77 -p1 +%patch126 -p1 + +# Patch Boost +pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) +%patch115 -p0 +%patch125 -p1 +popd + +# check that we have correct versions in bundled(*) Provides above (boost checked with pushd above) +# Let's check the version in Provides even if we build without bundled, to keep SPEC valid generally +test "$(grep -e '^#define ZSTD_VERSION_\(MAJOR\|MINOR\|RELEASE\)' extra/zstd/lib/zstd.h | awk '{print $3}' | xargs | sed -e 's/ /./g')" == "%{zstd_bundled_version}" +test "$(grep -e '^#define U_ICU_VERSION_\(MAJOR\|MINOR\|PATCHLEVEL_NUM\)' extra/icu/source/common/unicode/uvernum.h| awk '{print $3}' | xargs | sed -e 's/ /./g')" == "%{icu_bundled_version}" +test -f extra/protobuf/protobuf-%{protobuf_bundled_version}/src/google/protobuf/port_def.inc +test -f extra/libevent/libevent-%{libevent_bundled_version}-stable/CMakeLists.txt + +# Modify tests to pass on all archs +pushd mysql-test + +add_test () { + echo "$@" $ >> %{skiplist} +} + +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 +add_test auth_sec.keyring_file_data_qa : sporadic since 8.0.19 +add_test collations.chinese : sporadic since 8.0.19 + +# Fails when -DENABLED_LOCAL_INFILE=ON +add_test main.mysql_load_data_local_dir : local infile on + +# 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 +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 + +# Test added in 8.0.19 +add_test clone.remote_error_basic : max_allowed_packet is 0 +# Failing in ~90% of times +add_test innodb.create_tablespace + +%endif + +# these tests fail on aarch64 +%ifarch aarch64 +add_test import_5_7 : 8.0 issue/aarch64 +add_test sdi : 8.0 issue/aarch64 +add_test dd_upgrade_partition : 8.0 issue/aarch64 +%endif + +# This test fail on ppc64 and ppc64le; applicable in 5.7.21 +%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 : +add_test main.select_all : +add_test main.select_all_bka : +add_test main.select_all_bka_nixbnl : +add_test main.select_icp_mrr : +add_test main.select_icp_mrr_bka : +add_test main.select_icp_mrr_bka_nixbnl : +add_test main.select_none : +add_test main.select_none_bka : +add_test main.select_none_bka_nixbnl : +add_test main.sp : +add_test main.type_float : +add_test main.type_newdecimal : +add_test main.type_ranges : +add_test test_service_sql_api.test_sql_all_col_types : +%endif + +%ifarch s390x +# Fails since F32 Mass Rebuild +add_test gis.geometry_class_attri_prop +add_test gis.geometry_property_function_issimple +add_test gis.gis_bugs_crashes +add_test gis.spatial_analysis_functions_buffer +add_test gis.spatial_analysis_functions_centroid +add_test gis.spatial_analysis_functions_distance +add_test gis.spatial_operators_intersection +add_test gis.spatial_op_testingfunc_mix +add_test gis.spatial_utility_function_distance_sphere +add_test gis.spatial_utility_function_simplify +add_test innodb.log_encrypt_kill main.with_recursive +add_test innodb.mysqldump_max_recordsize +add_test main.lock_multi_bug38499 +add_test main.window_std_var +add_test main.window_std_var_optimized +add_test main.with_recursive + +# Fails since 8.0.21 +add_test x.resource_groups +add_test gis.spatial_operators_symdifference +add_test gis.spatial_operators_union + +%endif + +popd + +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE31} scripts + +%if 0%{?scl:1} +%patch90 -p1 +%patch91 -p1 +%endif + +cp %{SOURCE41} mysql-sysnice.te + + +%build +%{set_build_flags} + +make -f /usr/share/selinux/devel/Makefile mysql-sysnice.te mysql-sysnice.pp +# fail quickly and obviously if user tries to build as root +%if %runselftest + if [ x"$(id -u)" = "x0" ]; then + echo "mysql's regression tests fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--nocheck to skip the regression tests." + exit 1 + fi +%endif + +%{?scl:scl enable %{scl} %{?dts} - << \EOF} +set -ex + +# build out of source +mkdir -p build && pushd build + +# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX +# so we can't use %%{_datadir} and so forth here. +cmake .. \ + -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT=RPM \ + -DDAEMON_NAME="%{daemon_name}" \ + -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ +%if 0%{?scl:1} + -DSCL_NAME="%{?scl}" \ + -DSCL_NAME_UPPER="%{?scl_upper}" \ + -DSCL_SCRIPTS="%{?_scl_scripts}" \ +%endif + -DLOG_LOCATION="%{logfile}" \ + -DPID_FILE_DIR="%{pidfiledir}" \ + -DNICE_PROJECT_NAME="MySQL" \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DSYSCONFDIR="%{_sysconfdir}" \ + -DSYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ + -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBEXECDIR=libexec \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DRPATH_LIBDIR="%{_libdir}" \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ + -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SBINDIR=bin \ + -DINSTALL_SECURE_FILE_PRIVDIR="%{_localstatedir}/lib/mysql-files" \ + -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ + -DMYSQL_DATADIR="%{dbdatadir}" \ + -DMYSQL_KEYRINGDIR="%{_localstatedir}/lib/mysql-keyring" \ + -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DENABLED_LOCAL_INFILE=ON \ +%if %{with init_systemd} + -DWITH_SYSTEMD=1 \ + -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ + -DSYSTEMD_PID_DIR="%{pidfiledir}" \ +%endif + -DWITH_INNODB_MEMCACHED=ON \ +%ifnarch aarch64 %{arm} s390 s390x + -DWITH_NUMA=ON \ +%endif +%ifarch s390 s390x armv7hl + -DUSE_LD_GOLD=OFF \ +%endif + -DWITH_ROUTER=OFF \ + -DWITH_SYSTEM_LIBS=ON \ +%if %{with bundled_icu} + -DWITH_ICU=bundled \ +%endif +%if %{with bundled_protobuf} + -DWITH_PROTOBUF=bundled \ +%endif + -DWITH_MECAB=system \ + -DWITH_BOOST=../boost \ +%if %{with bundled_zstd} + -DWITH_ZSTD="bundled" \ +%endif +%if %{with bundled_libevent} + -DWITH_LIBEVENT="bundled" \ +%endif + -DREPRODUCIBLE_BUILD=OFF \ + -DCMAKE_C_FLAGS="%{optflags} -pie %{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="%{optflags} -pie %{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_EXE_LINKER_FLAGS="-pie %{build_ldflags}" \ +%{?with_debug: -DWITH_DEBUG=1}\ +%{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\ + -DTMPDIR=/var/tmp \ + -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ + -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ + -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" + +# Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 + +cmake .. -LAH + +# to safe disk space, do not use ccache +export CCACHE_DISABLE=1 +# do not use %%{?_smp_mflags} to safe memory and avoid build failure due to not enough resources +make -j2 VERBOSE=1 + +popd + +%{?scl:EOF} + +%install +install -p -m 644 -D mysql-sysnice.pp %{buildroot}%{selinux_packages_dir}/%{name}/%{pkg_name}-sysnice.pp +%{?scl:scl enable %{scl} %{?dts} - << \EOF} +set -ex + +pushd build +make DESTDIR=%{buildroot} install + +# multilib support for shell scripts +# we only apply this to known Red Hat multilib arches, per bug #181335 +if %multilib_capable; then +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +fi + +# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, +# but that's pretty wacko --- see also %%{name}-file-contents.patch) +install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ + +mkdir -p %{buildroot}%{logfiledir} +mkdir -p %{buildroot}%{_libexecdir} + +mkdir -p %{buildroot}%{pidfiledir} +install -p -m 0755 -d %{buildroot}%{dbdatadir} +install -p -m 0750 -d %{buildroot}%{_localstatedir}/lib/mysql-files +install -p -m 0700 -d %{buildroot}%{_localstatedir}/lib/mysql-keyring + +# create directory for socket +%{?scl:install -p -m 0755 -d %{buildroot}/var/lib/mysql} + +%if %{with config} +install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf +%endif + +# daemon helper for fixing SELinux in systemd +%if %{with init_systemd} && 0%{?scl:1} +install -p -m 755 %{SOURCE40} %{buildroot}%{_libexecdir}/mysqld-scl-helper +%endif + +# install systemd unit files and scripts for handling server startup +%if %{with init_systemd} +install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf +rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf +%endif + +# install SysV init script +%if %{with init_sysv} +install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} +install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready +%endif + +# helper scripts for service starting +install -D -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop +install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade +install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +install -D -p -m 0644 %{SOURCE32} %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-default-authentication-plugin.cnf + +rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server +rm %{buildroot}%{_mandir}/man1/comp_err.1* + +# put logrotate script where it needs to be +mkdir -p %{buildroot}%{logrotateddir} +mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} +chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} + +# Add collection prefix to the packageconfig provides +%if 0%{?scl:1} +mv %{buildroot}%{_libdir}/pkgconfig/mysqlclient.pc %{buildroot}%{_libdir}/pkgconfig/%{?scl_prefix}mysqlclient.pc +%endif + +%if %{with clibrary} && 0%{!?scl:1} +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d +echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf +%endif + +# for back-ward compatibility and SELinux, let's keep the mysqld in libexec +# and just create a symlink in /usr/sbin +mv %{buildroot}%{_bindir}/mysqld %{buildroot}%{_libexecdir}/mysqld +mkdir -p %{buildroot}%{_sbindir} +ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld + +%if %{with debug} +mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld +%endif + +# Back to src dir +popd + +# copy additional docs into build tree so %%doc will find them +install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} +install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} + +# Install the list of skipped tests to be available for user runs +install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test + +%if %{without clibrary} +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +%if 0%{!?scl:1} +rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d +%endif +%endif + +%if %{without devel} +rm %{buildroot}%{_bindir}/mysql_config* +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/%{?scl_prefix}mysqlclient.pc +rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm %{buildroot}%{_mandir}/man1/mysql_config.1* +%endif + +%if %{without client} +rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +rm %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +%endif + +%if %{with config} +mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d +%else +#rm %{buildroot}%{_sysconfdir}/my.cnf +%endif + +%if %{without common} +rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets +%endif + +%if %{without errmsg} +rm %{buildroot}%{_datadir}/%{pkg_name}/{messages_to_error_log.txt,messages_to_clients.txt} +rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ +french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ +polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} +%endif + +%if %{without test} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process} +rm -r %{buildroot}%{_datadir}/mysql-test +rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* +%endif + +%{?scl:EOF} + +%if 0%{?scl:1} +# generate a configuration file for daemon +cat << EOF | tee -a %{buildroot}%{?_scl_scripts}/service-environment +# Services are started in a fresh environment without any influence of user's +# environment (like environment variable values). As a consequence, +# information of all enabled collections will be lost during service start up. +# If user needs to run a service under any software collection enabled, this +# collection has to be written into %{scl_upper}_SCLS_ENABLED variable +# in %{?_scl_scripts}/service-environment. +%{scl_upper}_SCLS_ENABLED="%{scl}" +EOF + +# Creating syspath without prefix for mysql-config package +%scl_syspaths_install_wrapper -n mysql-config -m link %{_sysconfdir}/my.cnf %{_root_sysconfdir}/%{scl_prefix}my.cnf +%scl_syspaths_install_wrapper -n mysql-config -m link %{_sysconfdir}/my.cnf.d %{_root_sysconfdir}/%{scl_prefix}my.cnf.d + +# Creating syspath without prefix for mysql package +mysql_binaries='mysql mysql_config_editor mysqladmin mysqlbinlog mysqlcheck mysqldump +mysqlimport mysqlpump mysqlshow mysqlslap' + +%scl_syspaths_install_wrappers -n mysql -m script -p bin $mysql_binaries + +mans= ; for bin in $mysql_binaries; do mans+=" man1/$bin.1.gz" ; done +%scl_syspaths_install_wrappers -n mysql -m link -p man $mans + +# Creating syspath without prefix for mysql-server package +mysql_server_binaries='ibd2sdi innochecksum my_print_defaults myisam_ftdump +myisamchk myisamlog myisampack mysql_secure_installation mysql_ssl_rsa_setup +mysql_tzinfo_to_sql mysql_upgrade mysqldumpslow perror' + +%scl_syspaths_install_wrappers -n mysql-server -m script -p bin $mysql_server_binaries + +mans= ; for bin in $mysql_server_binaries; do mans+=" man1/$bin.1.gz" ; done +%scl_syspaths_install_wrappers -n mysql-server -m link -p man $mans + +%scl_syspaths_install_wrapper -n mysql-server -m link %{logfiledir} %{_root_localstatedir}/log/%{scl_prefix}mysql +%scl_syspaths_install_wrapper -n mysql-server -m link %{dbdatadir} %{_root_localstatedir}/lib/%{scl_prefix}mysql + +%if %{with init_systemd} +%scl_syspaths_install_wrapper -n mysql-server -m link %{_unitdir}/%{daemon_name}.service %{_unitdir}/%{daemon_no_prefix}.service +%scl_syspaths_install_wrapper -n mysql-server -m link %{_unitdir}/%{daemon_name}@.service %{_unitdir}/%{daemon_no_prefix}@.service +%endif + +%if %{with init_sysv} +%scl_syspaths_install_wrapper -n mysql-server -m link %{daemondir}/%{daemon_name} %{daemondir}/%{daemon_no_prefix} +%endif +%endif #scl + +%check +%{?scl:scl enable %{scl} %{?dts} - << \EOF} +set -ex + +%if %{with test} +%if %runselftest +pushd build +make test VERBOSE=1 +pushd mysql-test +cp ../../mysql-test/%{skiplist} . +# builds might happen at the same host, avoid collision +export MTR_BUILD_THREAD=%{__isa_bits} +./mtr %{?with_debug:--debug-server} \ + --mem --parallel=1 --force --retry=3 \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 \ + --report-unstable-tests --clean-vardir \ +%if %{check_testsuite} + --max-test-fail=100 || : +%else + --skip-test-list=%{skiplist} +%endif + rm -r var $(readlink var) +popd +popd +%endif +%endif + +%{?scl:EOF} + +%pre server +/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : +/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ + -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : + +%if %{with clibrary} +# Can be dropped on F27 EOL +%ldconfig_post libs +%endif + +%post server +semodule -i %{selinux_packages_dir}/%{name}/%{pkg_name}-sysnice.pp >/dev/null 2>&1 || : +%if 0%{?scl:1} +# since there was a typo before (bz#1452707), we need to clean previously +# set rule, otherwise semange will not work +semanage fcontext -d "%{daemondir}/%{daemon_name}%{?with_init_systemd:.service}" >/dev/null 2>&1 || : +semanage fcontext -a -e "%{se_daemon_source}" "%{daemondir}/%{daemon_name}%{?with_init_systemd:.service}" >/dev/null 2>&1 || : +semanage fcontext -a -t mysqld_var_run_t "%{pidfiledir}" >/dev/null 2>&1 || : +# work-around for rhbz#1203991 +semanage fcontext -a -t mysqld_etc_t '/etc/my\.cnf\.d/.*' >/dev/null 2>&1 || : +%if %{with init_systemd} +# work-around for rhbz#1172683, but intentionally using mysqld_exec_t context +# and mysqld-scl-helper file, otherwise we hit bz#1464145 on RHEL-7 +semanage fcontext -a -t mysqld_exec_t %{_root_libexecdir}/mysqld-scl-helper >/dev/null 2>&1 || : +%endif +selinuxenabled && load_policy || : +restorecon -R "%{?_scl_root}/" >/dev/null 2>&1 || : +restorecon -R "%{_sysconfdir}" >/dev/null 2>&1 || : +restorecon -R "%{_localstatedir}" >/dev/null 2>&1 || : +restorecon -R "%{daemondir}/%{daemon_name}%{?with_init_systemd:.service}" >/dev/null 2>&1 || : +restorecon -R "%{pidfiledir}" >/dev/null 2>&1 || : +%endif +%if %{with init_systemd} +%systemd_post %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 = 1 ]; then + /sbin/chkconfig --add %{daemon_name} +fi +%endif +if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then + install /dev/null -m0640 -omysql -gmysql "%{logfile}" +fi +# TODO: remove after selinux-policy is fixed (BZ#1602153) +semanage fcontext -a -t mysqld_log_t '/var/log/mysql(/.*)?' +restorecon -r %{logfiledir} + + +%preun server +%if %{with init_systemd} +%systemd_preun %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 = 0 ]; then + /sbin/service %{daemon_name} stop >/dev/null 2>&1 + /sbin/chkconfig --del %{daemon_name} +fi +%endif + +%if %{with clibrary} +# Can be dropped on F27 EOL +%ldconfig_postun libs +%endif + +%postun server +%if %{with init_systemd} +%systemd_postun_with_restart %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 -ge 1 ]; then + /sbin/service %{daemon_name} condrestart >/dev/null 2>&1 || : +fi +%endif +if [ $1 -eq 0 ]; then + semodule -r %{pkg_name}-sysnice.pp >/dev/null 2>&1 || : +fi + +%if %{with client} +%files +%{_bindir}/mysql +%{_bindir}/mysql_config_editor +%{_bindir}/mysqladmin +%{_bindir}/mysqlbinlog +%{_bindir}/mysqlcheck +%{_bindir}/mysqldump +%{_bindir}/mysqlimport +%{_bindir}/mysqlpump +%{_bindir}/mysqlshow +%{_bindir}/mysqlslap + +%{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysql_config_editor.1* +%{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlpump.1* +%{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/mysqlslap.1* +%endif + +%if %{with clibrary} +%files libs +%{_libdir}/mysql/libmysqlclient*.so.* +%{!?scl:%config(noreplace) %{_sysconfdir}/ld.so.conf.d/*} +%endif + +%if %{with config} +%files config +# although the default my.cnf contains only server settings, we put it in the +# common package because it can be used for client settings too. +%dir %{_sysconfdir}/my.cnf.d +%config(noreplace) %{_sysconfdir}/my.cnf +%endif + +%if %{with common} +%files common +%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} +%{_datadir}/%{pkg_name}/charsets +%endif + +%if %{with errmsg} +%files errmsg +%{_datadir}/%{pkg_name}/messages_to_error_log.txt +%{_datadir}/%{pkg_name}/messages_to_clients.txt +%{_datadir}/%{pkg_name}/english +%lang(bg) %{_datadir}/%{pkg_name}/bulgarian +%lang(cs) %{_datadir}/%{pkg_name}/czech +%lang(da) %{_datadir}/%{pkg_name}/danish +%lang(nl) %{_datadir}/%{pkg_name}/dutch +%lang(et) %{_datadir}/%{pkg_name}/estonian +%lang(fr) %{_datadir}/%{pkg_name}/french +%lang(de) %{_datadir}/%{pkg_name}/german +%lang(el) %{_datadir}/%{pkg_name}/greek +%lang(hu) %{_datadir}/%{pkg_name}/hungarian +%lang(it) %{_datadir}/%{pkg_name}/italian +%lang(ja) %{_datadir}/%{pkg_name}/japanese +%lang(ko) %{_datadir}/%{pkg_name}/korean +%lang(no) %{_datadir}/%{pkg_name}/norwegian +%lang(no) %{_datadir}/%{pkg_name}/norwegian-ny +%lang(pl) %{_datadir}/%{pkg_name}/polish +%lang(pt) %{_datadir}/%{pkg_name}/portuguese +%lang(ro) %{_datadir}/%{pkg_name}/romanian +%lang(ru) %{_datadir}/%{pkg_name}/russian +%lang(sr) %{_datadir}/%{pkg_name}/serbian +%lang(sk) %{_datadir}/%{pkg_name}/slovak +%lang(es) %{_datadir}/%{pkg_name}/spanish +%lang(sv) %{_datadir}/%{pkg_name}/swedish +%lang(uk) %{_datadir}/%{pkg_name}/ukrainian +%endif + +%files server +%{_bindir}/ibd2sdi +%{_bindir}/myisamchk +%{_bindir}/myisam_ftdump +%{_bindir}/myisamlog +%{_bindir}/myisampack +%{_bindir}/my_print_defaults +%{_bindir}/mysql_secure_installation +%{_bindir}/mysql_ssl_rsa_setup +%{_bindir}/mysql_tzinfo_to_sql +%{_bindir}/mysql_upgrade +%{_sbindir}/mysqld +# sys_nice capability required for rhbz#1628814 +%caps(cap_sys_nice=ep) %{_libexecdir}/mysqld +%if %{with init_systemd} +%{_bindir}/mysqld_pre_systemd +%else +%{_bindir}/mysqld_multi +%{_bindir}/mysqld_safe +%endif +%{_bindir}/mysqldumpslow +%{_bindir}/innochecksum +%{_bindir}/perror + +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-default-authentication-plugin.cnf + +%if %{with init_systemd} && 0%{?scl:1} +%{_libexecdir}/mysqld-scl-helper +%endif + +%{_libdir}/mysql/INFO_SRC +%{_libdir}/mysql/INFO_BIN +%if %{without common} +%dir %{_datadir}/%{pkg_name} +%endif + +%{_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_secure_installation.1* +%{_mandir}/man1/mysql_ssl_rsa_setup.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* +%{_mandir}/man1/mysql_upgrade.1* +%{_mandir}/man1/mysqldumpslow.1* +%if %{with init_systemd} +%exclude %{_mandir}/man1/mysqld_multi.1* +%exclude %{_mandir}/man1/mysqld_safe.1* +%else +%{_mandir}/man1/mysqld_multi.1* +%{_mandir}/man1/mysqld_safe.1* +%endif +%{_mandir}/man1/mysqlman.1* +%{_mandir}/man1/innochecksum.1* +%{_mandir}/man1/perror.1* +%{_mandir}/man1/lz4_decompress.1* +%{_mandir}/man1/zlib_decompress.1* +%{_mandir}/man8/mysqld.8* + +%{_datadir}/%{pkg_name}/dictionary.txt +%{_datadir}/%{pkg_name}/*.sql + +%{daemondir}/%{daemon_name}* +%{_libexecdir}/mysql-prepare-db-dir +%if %{with init_sysv} +%{_libexecdir}/mysql-wait-ready +%endif +%{_libexecdir}/mysql-wait-stop +%{_libexecdir}/mysql-check-socket +%{_libexecdir}/mysql-check-upgrade +%{_libexecdir}/mysql-scripts-common + +%{?with_init_systemd:%{_tmpfilesdir}/%{daemon_name}.conf} +%attr(0755,mysql,mysql) %dir %{dbdatadir} +%{?scl:%attr(0755,mysql,mysql) %dir /var/lib/mysql} +%attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files +%attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring +%attr(0755,mysql,mysql) %dir %{pidfiledir} +%attr(0750,mysql,mysql) %dir %{logfiledir} +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%config(noreplace) %{logrotateddir}/%{daemon_name} + +%{?scl:%config(noreplace) %{?_scl_scripts}/service-environment} + +%{selinux_packages_dir}/%{name}/%{pkg_name}-sysnice.pp + +%if %{with devel} +%files devel +%{_bindir}/mysql_config* +%exclude %{_bindir}/mysql_config_editor +%{_includedir}/mysql +%{_datadir}/aclocal/mysql.m4 +%if %{with clibrary} +%{_libdir}/mysql/libmysqlclient.so +%endif +%{_libdir}/pkgconfig/%{?scl_prefix}mysqlclient.pc +%{_mandir}/man1/mysql_config.1* +%endif + +%if %{with test} +%files test +%{_bindir}/mysql_client_test +%{_bindir}/mysqltest +%{_bindir}/mysqlxtest +%{_bindir}/mysqltest_safe_process +%{_bindir}/mysqld_safe +%{_bindir}/comp_err +%attr(-,mysql,mysql) %{_datadir}/mysql-test +%endif + +%if 0%{?scl:1} +%scl_syspaths_files -n mysql +%scl_syspaths_files -n mysql-config +%scl_syspaths_files -n mysql-server +%endif + +%changelog +* Wed Jul 22 2020 Lukas Javorsky - 8.0.21-1 +- Rebase to 8.0.21 +- Use bundled libzstd and libevent for RHSCL and RHEL-8.0.0 +- Check that we have correct versions in bundled(*) Provides +- Remove re2 bundled dependency + +* Wed Jul 22 2020 Lukas Javorsky - 8.0.20-1 +- Rebase to 8.0.20 + +* Wed Jul 22 2020 Lukas Javorsky - 8.0.19-2 +- Specify all perl dependencies + +* Tue Jul 21 2020 Lukas Javorsky - 8.0.19-1 +- Rebase to 8.0.19 + +* Tue Jul 21 2020 Lukas Javorsky - 8.0.18-1 +- Rebase to 8.0.18 +- Add libzstd-devel dependencies +- Include patch to build against protobuf 3.11 + +* Fri Aug 02 2019 Matej Mužila - 8.0.17-3 +- Use RELRO hardening on all binaries +- Resolves: #1734420 + +* Tue Jul 30 2019 Matej Mužila - 8.0.17-2 +- Use RELRO hardening on all binaries +- Resolves: #1734420 + +* Thu Jul 25 2019 Matej Mužila - 8.0.17-1 +- Rebase to 8.0.17 +- Resolves: #1732043 +- CVEs fixed: + CVE-2019-2737 CVE-2019-2738 CVE-2019-2739 CVE-2019-2740 CVE-2019-2741 + CVE-2019-2743 CVE-2019-2746 CVE-2019-2747 CVE-2019-2752 CVE-2019-2755 + CVE-2019-2757 CVE-2019-2758 CVE-2019-2774 CVE-2019-2778 CVE-2019-2780 + CVE-2019-2784 CVE-2019-2785 CVE-2019-2789 CVE-2019-2791 CVE-2019-2795 + CVE-2019-2796 CVE-2019-2797 CVE-2019-2798 CVE-2019-2800 CVE-2019-2801 + CVE-2019-2802 CVE-2019-2803 CVE-2019-2805 CVE-2019-2808 CVE-2019-2810 + CVE-2019-2811 CVE-2019-2812 CVE-2019-2814 CVE-2019-2815 CVE-2019-2819 + CVE-2019-2822 CVE-2019-2826 CVE-2019-2830 CVE-2019-2834 CVE-2019-2879 + +* Wed Dec 12 2018 Michal Schorm - 8.0.13-1 +- Rebase to 8.0.13 +- ICU patch removed; upstreamed +- Patch for MySQL Router introduced. Do not build it. +- Fixes for annocheck hardening + Resolves: #1624148 +- CVEs fixed: + CVE-2018-3276 CVE-2018-3200 CVE-2018-3137 CVE-2018-3284 CVE-2018-3195 + CVE-2018-3173 CVE-2018-3212 CVE-2018-3279 CVE-2018-3162 CVE-2018-3247 + CVE-2018-3156 CVE-2018-3161 CVE-2018-3278 CVE-2018-3174 CVE-2018-3282 + CVE-2018-3285 CVE-2018-3187 CVE-2018-3277 CVE-2018-3144 CVE-2018-3145 + CVE-2018-3170 CVE-2018-3186 CVE-2018-3182 CVE-2018-3133 CVE-2018-3143 + CVE-2018-3283 CVE-2018-3171 CVE-2018-3251 CVE-2018-3286 CVE-2018-3185 + CVE-2018-3280 CVE-2018-3203 CVE-2018-3155 + + +* Wed Sep 26 2018 Michal Schorm - 8.0.12-6 +- Fix the default configuration of the server, so it uses same authentication + method as MySQL 5.7 + Resolves: #1631400 + +* Fri Sep 14 2018 Honza Horak - 8.0.12-5 +- Remove module on uninstall of the server and enable capability setting + +* Fri Sep 14 2018 Jakub Janco - 8.0.12-4 +- Allow sys_nice in selinux + +* Fri Sep 14 2018 Michal Schorm - 8.0.12-3 +- Add bundled ICU version +- Add a patch for the 'mysql_com.h' header file +- Use system mecab tool +- Use RPATH for mysqld, so we can later set capabilities + +* Thu Sep 13 2018 Honza Horak - 8.0.12-2 +- Disable capabilities for mysqld because of SELinux issues + +* Thu Sep 13 2018 Michal Schorm - 8.0.12-1 +- Rebase to MySQL 8.0.12 +- Fix the SYS_NICE capabilities +- Add requires for the semanage binary +- CVEs fixed: CVE-2018-3054 CVE-2018-3056 CVE-2018-3060 CVE-2018-3062 + CVE-2018-3064 CVE-2018-3065 CVE-2018-3077 CVE-2018-3081 CVE-2018-3067 + CVE-2018-3073 CVE-2018-3074 CVE-2018-3075 CVE-2018-3078 CVE-2018-3079 + CVE-2018-3080 CVE-2018-3082 CVE-2018-3084 + +* Thu Sep 13 2018 Jakub Janco - 8.0.11-9 +- Use same logfile path in logrotate and mysql configs + +* Thu Sep 13 2018 Jakub Janco - 8.0.11-8 +- Prefix logrotate configuration in SCL + +* Wed Sep 12 2018 Honza Horak - 8.0.11-7 +- Add syspath subpackages + +* Wed Jul 18 2018 Honza Horak - 8.0.11-6 +- Use prefixes for dependencies + +* Tue Jul 17 2018 Honza Horak - 8.0.11-5 +- Move log file to a directory owned by mysql user + Resolves: #1590369 +- Use explicitly openssl-devel as dependency for -devel sub-package + +* Thu Jul 12 2018 Honza Horak - 8.0.11-4 +- Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin + +* Fri Jun 22 2018 Honza Horak - 8.0.11-3 +- SCLizing the spec file + +* Mon May 14 2018 Norvald H. Ryeng - 8.0.11-2 +- MySQL 8.0 has notify support +- SQL restart command needs MYSQLD_PARENT_PID=1 +- Increase LimitNOFILE +- Disable symbolic links is default (and option deprecated) +- Move mysqld to /usr/bin, with mysqld_safe gone there no reason + to have mysqld in libexec +- FIPS mode is now supported: + https://dev.mysql.com/doc/refman/8.0/en/fips-mode.html +- Remove legacy embedded refs from cnf files +- Clean up patches: re-numbering and removing +- Recommend to use systemctl edit to modify service files + +* Fri Apr 20 2018 Norvald H. Ryeng - 8.0.11-1 +- Update to MySQL 8.0.11 (GA). + +* Thu Apr 19 2018 Michal Schorm - 5.7.22-1 +- Rebase to 5.7.22 version +- CVE fixes: #1568963 + CVE-2018-2755 CVE-2018-2758 CVE-2018-2759 CVE-2018-2761 CVE-2018-2762 + CVE-2018-2766 CVE-2018-2769 CVE-2018-2771 CVE-2018-2773 CVE-2018-2775 + CVE-2018-2776 CVE-2018-2777 CVE-2018-2778 CVE-2018-2779 CVE-2018-2780 + CVE-2018-2781 CVE-2018-2782 CVE-2018-2784 CVE-2018-2786 CVE-2018-2787 + CVE-2018-2810 CVE-2018-2812 CVE-2018-2813 CVE-2018-2816 CVE-2018-2817 + CVE-2018-2818 CVE-2018-2819 CVE-2018-2839 CVE-2018-2846 + +* Tue Feb 27 2018 Michal Schorm - 5.7.21-6 +- Rebuilt after Rawhide & f28 & f27 & f26 merge + +* Sun Feb 25 2018 Michal Schorm - 5.7.21-5 +- Rebuilt for ldconfig_post and ldconfig_postun bug + Related: #1548331 + +* Mon Feb 19 2018 Michal Schorm - 5.7.21-3 +- Move my_print_defaults binary to the server package to resolve conflict with mariadb + +* Wed Feb 07 2018 Fedora Release Engineering - 5.7.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +- Removed 'static' library subpackage + +* Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 +- Update to MySQL 5.7.21, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html +- Add rpcgen to buildrep +- Add support for libtirpc +- Fix for various CVEs listed on + http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html +- Add fix for libxcrypt - do not assume "crypt()" function is provided by glibc + Resolves: #1536881 +- Fix obsoletes using isa macro, remove the line entirely + Resolves: #1537210 + +* Sat Jan 20 2018 Björn Esser - 5.7.20-5 +- Rebuilt for switch to libxcrypt + +* Tue Jan 02 2018 Michal Schorm - 5.7.20-4 +- Provide subackage with a client static library + Needed by mysql-connector-odbc package +- Remove Group tag as it shouldn't be used anymore + +* Sat Dec 09 2017 Honza Horak - 5.7.20-3 +- Port for OpenSSL 1.1 + Fix tests that expect some particular ciphers + +* Tue Nov 28 2017 Michal Schorm - 5.7.20-2 +- In F>27 stick to upstream library version naming + +* Wed Oct 25 2017 Michal Schorm - 5.7.20-1 +- Fix owner and perms on log file in post script + Related: #1497694 + +* Mon Oct 16 2017 Norvald H. Ryeng - 5.7.20-1 +- Update to MySQL 5.7.20, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-20.html +- Move all test binaries to -test package +- Dont ship unneeded man pages on systemd platforms +- Remove mysql_config_editor from -devel package, shipped in client +- CVE fixes: #1503701 + CVE-2017-10155 CVE-2017-10227 CVE-2017-10268 CVE-2017-10276 CVE-2017-10279 + CVE-2017-10283 CVE-2017-10286 CVE-2017-10294 CVE-2017-10314 CVE-2017-10378 + CVE-2017-10379 CVE-2017-10384 + +* Mon Aug 28 2017 Honza Horak - 5.7.19-6 +- Add bundled(boost) virtual provide +- Support --defaults-group-suffix option in systemd unit file + Related: #1400702 + +* Fri Aug 04 2017 Honza Horak - 5.7.19-5 +- Allow to use MD5 in FIPS mode + Related: #1449689 +- Remove snippets from mysql-preparep-db-dir.sh that could have security impact + Do not run parts of SysV init script as root if possible + Related: CVE-2017-3312 +- Include mysqld@.service file and do not run start scripts in the unit file as root + +* Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 5.7.19-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jul 25 2017 Michal Schorm - 5.7.19-2 +- Replication tests in the testsuite enabled, they don't fail anymore +- Retry count in the testsuite dropped to 0 + +* Wed Jul 12 2017 Norvald H. Ryeng - 5.7.19-1 +- Update to MySQL 5.7.19, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html +- Use new --report-unstable-tests to handle unstable tests +- Prefer /run over /var/run (#1462688) +- Resolves: #1462688; /run + #1406172; random failures of the testsuite + #1417880, #1417883, #1417885, #1417887, #1417890, #1417891, #1417893, + #1417894, #1417896; replication tests +- CVE fixes: #1472716 + CVE-2017-3633, CVE-2017-3634, CVE-2017-3635, CVE-2017-3641, CVE-2017-3647 + CVE-2017-3648, CVE-2017-3649, CVE-2017-3651, CVE-2017-3652, CVE-2017-3653 + +* Fri Jul 07 2017 Igor Gnatenko - 5.7.18-4 +- Rebuild due to bug in RPM (RHBZ #1468476) + +* Mon May 15 2017 Fedora Release Engineering - 5.7.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Wed Apr 19 2017 Michal Schorm - 5.7.18-2 +- 'force' option for 'rm' removed in specfile +- CVEs fixed by previous commit, #1443407: + CVE-2017-3308 CVE-2017-3309 CVE-2017-3329 CVE-2017-3450 + CVE-2017-3453 CVE-2017-3456 CVE-2017-3461 CVE-2017-3462 + CVE-2017-3463 CVE-2017-3464 CVE-2017-3599 CVE-2017-3600 + +* Mon Apr 03 2017 Norvald H. Ryeng - 5.7.18-1 +- Update to MySQL 5.7.18, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html +- Remove patch for test fix now upstream +- Sample my-*.cnf is gone + +* Wed Feb 15 2017 Michal Schorm - 5.7.17-4 +- Fix of broken cross mysql-mariadb dependecies +- Fix of community-mysql server-client dependecy +- Testsuite retry count lifted to 3 tries + +* Fri Feb 10 2017 Fedora Release Engineering - 5.7.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Jan 04 2017 Norvald H. Ryeng - 5.7.17-2 +- Fix test that used a hardcoded date (2017-01-01) + +* Mon Dec 12 2016 Norvald H. Ryeng - 5.7.17-1 +- Update to MySQL 5.7.17, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html +- Add new plugin: connnection_control.so +- Add MySQL Group Replication: group_replication.so +- Add numactl-devel to buildreq and enable NUMA support (if available) +- Simplify boost path +- Build compat-openssl10 in rawhide for now +- Reqs. in -devel packages was incomplete + +* Tue Oct 18 2016 Norvald H. Ryeng - 5.7.16-1 +- Update to MySQL 5.7.16, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html + +* Tue Sep 06 2016 Norvald H. Ryeng - 5.7.15-1 +- Update to MySQL 5.7.15, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html +- Remove patches now upstream (buf_block_align, lz4) +- perl(JSON) needed for tests +- Adjust list of problematic tests + +* Wed Aug 10 2016 Norvald H. Ryeng - 5.7.14-2 +- Skip rpl tests, unstable in Fedora build environment + +* Tue Aug 09 2016 Norvald H. Ryeng - 5.7.14-1 +- Update to MySQL 5.7.14, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-14.html +- Remove patches for bugs fixed upstream +- Fix for bug #79378 (buf_block_align) +- Fix for bug #82426 (build failure with system liblz4) +- Further reduce list of tests known to fail on certain platforms +- Set check_testsuite to 0 to make sure the build fails if any tests fail + +* Wed Jul 13 2016 Norvald H. Ryeng - 5.7.13-1 +- Update to MySQL 5.7.13, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-13.html + +* Mon Jun 27 2016 Pavel Raiskup - 5.7.12-2 +- BR multilib-rpm-config and use it for multilib workarounds + +* Tue May 24 2016 Jakub Dorňák - 5.7.12-1 +- Update to 5.7.12 + Thanks to Norvald H. Ryeng + +* Sun Feb 14 2016 Honza Horak - 5.7.11-2 +- Remove duplicate tmpfiles.d file + Resolves: #1288216 + +* Thu Feb 11 2016 Honza Horak - 5.7.11-1 +- Update to 5.7.11 + Thanks to Norvald H. Ryeng + Removing tar ball with boost and using mysql tar ball with boost bundled + +* Wed Feb 03 2016 Fedora Release Engineering - 5.7.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 27 2016 Honza Horak - 5.7.10-2 +- Use mysqld instead of mysqld_safe (mysqld_safe not necessary for 5.7) + Use mysqld --initialize-insecure instead of mysql_install_db + Create /var/lib/mysql-files (used by secure-file-priv) + http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv + Remove unnecessary Perl dependencies (mysqlhotcopy was removed in 5.7) + Thanks Norvald H. Ryeng + +* Wed Dec 16 2015 Jakub Dorňák - 5.7.10-1 +- Update to 5.7.10 + +* Fri Oct 2 2015 Jakub Dorňák - 5.7.9-1 +- Update to 5.7.9 + +* Thu Oct 1 2015 Jakub Dorňák - 5.6.27-1 +- Update to 5.6.27 + +* Thu Jul 30 2015 Jakub Dorňák - 5.6.26-1 +- Update to 5.6.26 + +* Tue Jul 21 2015 Jakub Dorňák - 5.6.25-1 +- Update to 5.6.25 + +* Wed Jun 17 2015 Fedora Release Engineering - 5.6.24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Apr 23 2015 Bjorn Munch - 5.6.24-3 +- gcc5 makes gcc49-aarch64 patch obsolete (and wrong) + +* Fri Apr 10 2015 Honza Horak - 5.6.24-2 +- Fix for big integers on gcc5 + +* Thu Apr 09 2015 Honza Horak - 5.6.24-1 +- Update to 5.6.24 + +* Tue Mar 03 2015 Honza Horak - 5.6.23-4 +- Do not use scl prefix more than once in paths + Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html +- Check permissions when starting service on RHEL-6 + Resolves: #1194699 +- Wait for daemon ends + Related: #1072958 + +* Mon Feb 23 2015 Honza Horak - 5.6.23-3 +- Expand paths in perl scripts in mysql-test +- Use correct path in install_db script warning +- Use --no-defaults when checking server status before starting + +* Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 +- Update to MySQL 5.6.23, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-23.html +- Expired certs patch now obsolete +- Fixed changelog +- Refreshed file contents patch +- Man pages fixed upstream +- Fix typo in server.cnf.in + +* Mon Jan 26 2015 Honza Horak - 5.6.22-6 +- Do not own /var/log + +* Sun Jan 25 2015 Honza Horak - 5.6.22-5 +- Use correct dir for config files + +* Sat Jan 24 2015 Honza Horak - 5.6.22-4 +- Move server settings to renamed config file under my.cnf.d dir + +* Sat Jan 24 2015 Honza Horak - 5.6.22-3 +- Fix path for sysconfig file + Filter provides in el6 properly + Fix initscript file location + +* Mon Jan 12 2015 Honza Horak - 5.6.22-2 +- Add configuration file for server + +* Wed Dec 3 2014 Jakub Dorňák - 5.6.22-1 +- Update to MySQL 5.6.22 + +* Wed Oct 08 2014 Bjorn Munch - 5.6.21-5 +- Fix rhbz #1149986 + +* Wed Oct 01 2014 Honza Horak - 5.6.21-4 +- Add bcond_without mysql_names + +* Mon Sep 29 2014 Honza Horak - 5.6.21-3 +- Check upgrade script added to warn about need for mysql_upgrade +- Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond + with MariaDB upstream packages +- Add with_debug option + +* Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 +- Using %%cmake macro break some tests, reverted +- Unwanted dtrace dep fixed upstream + +* Wed Sep 24 2014 Honza Horak - 5.6.20-1 +- Update to MySQL 5.6.21, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-21.html + +* Thu Sep 04 2014 Honza Horak - 5.6.20-5 +- Fix paths in mysql_install_db script + Related: #1134328 +- Use %%cmake macro +- Install systemd service file on RHEL-7+ + Server requires any mysql package, so it should be fine with older client + +* Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 12 2014 Honza Horak - 5.6.20-3 +- Introduce -config subpackage and ship base config files here + +* Tue Aug 05 2014 Honza Horak - 5.6.20-2 +- Adopt changes from mariadb to sync spec files + +* Thu Jul 31 2014 Bjorn Munch - 5.6.20-1 +- Update to MySQL 5.6.20, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html +- Rebase install and pluginerrmsg patch +- Drop dos2unix from buildreq, files fixed upstream +- No need to add -O3, it's default +- LDFLAGS is passed by cmake option, not from environment +- Using __requires_exclude in conditional don't seems to work, swap + to dist macros +- Avoid unwanted dtrace dep +- Fix mysql.init and mysql-prepare-db-dir +- Logfile name must match value from /etc/my.cnf (and be known + by SELinux policy) + +* Tue Jul 22 2014 Honza Horak - 5.6.19-5 +- Hardcoded paths removed to work fine in chroot +- Spec rewrite to be more similar to oterh MySQL implementations +- Include SysV init script if built on older system +- Add possibility to not ship some sub-packages +- Port scripts for systemd unit from MariaDB + +* Mon Jul 21 2014 Honza Horak - 5.6.19-4 +- Port some latest changes from MariaDB package to sync those packages +- Error messages now provided by a separate package (thanks Alexander Barkov) + +* Fri Jun 27 2014 Honza Horak - 5.6.19-3 +- Add mysql-compat-server symbol, common symbol for arbitrary MySQL + implementation +- Require /etc/my.cnf instead of shipping it +- Server requires any compatible mysql-compat-client package + +* Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 +- Fix build on aarch64 +- Rebase cipherspec patch + +* Wed Jun 11 2014 Bjorn Munch - 5.6.19-1 +- Update to MySQL 5.6.19, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html +- outfile_loaddata resolved on all archs +- Solaris files not installed, no need to remove +- Simplify multilib install +- Use install's -D option some places +- Add explicit conflict with mariadb-galera-server + +* Sat Jun 07 2014 Fedora Release Engineering - 5.6.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Apr 18 2014 Bjorn Munch 5.6.17-2 +- Fix multiple mtr sessions + +* Fri Apr 04 2014 Bjorn Munch 5.6.17-1 +- Update to MySQL 5.6.17, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html +- libmysqld built as shared lib now supported upstream +- Remove patches now upstream: truncate-file, rhbz1059545, ssltest + and regex-werror +- Use more standard (and tested) build flags, while still respect + optflags and hardened_build +- libmysqlclient_r* symlinks are fixed upstream +- Remove sysv to systemd logic +- Rework skipping of arch specific tests +- Multiple mtr sessions are supported by default + +* Mon Feb 3 2014 Honza Horak 5.6.16-2 +- Rebuild -man-pages.patch to apply smoothly + +* Fri Jan 31 2014 Bjorn Munch 5.6.16-1 +- Update to MySQL 5.6.16, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-16.html +- Patches now upstream: tmpdir, cve-2013-1861, covscan-signexpr, + covscan-stroverflow +- Fixed upstream: innodbwarn +- ldconfig needed in embedded subpackage +- Remove unused generate-tarball.sh from tree +- Rediff mysql-install patch +- Make symvers 18 default, provide symvers 16 for backward compat + (bz #1045013) +- Man page patch disabled due too many conflicts +- Memcached build patched to not remove -Werror= in CFLAGS + +* Thu Jan 30 2014 Honza Horak 5.6.15-4 + Fix for CVE-2014-0001 + Resolves: #1059545 +- Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl + which now makes mariadb/mysql FTBFS because openssl_1 test fails + Related: #1044565 + +* Fri Jan 24 2014 Honza Horak 5.6.15-3 +- Disable tests for ppc(64) and s390(x): + innodb.innodb_ctype_ldml main.ctype_ldml main.ps_ddl main.ps_ddl1 + Related: #1056972 + +* Mon Dec 16 2013 Honza Horak 5.6.15-2 +- Some spec file clean-up based on Bjorn Munch's suggestions +- Enable InnoDB Memcached plugin + +* Mon Dec 9 2013 Honza Horak 5.6.15-1 +- Update to MySQL 5.6.15, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html + +* Fri Oct 11 2013 Honza Horak 5.6.14-2 +- Fix my.cnf to not conflict with mariadb + Resolves: #1003115 + +* Wed Oct 9 2013 Honza Horak 5.6.14-1 +- Update to MySQL 5.6.14, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html +- Incorporate changes done by Bjorn Munch + +* Mon Sep 2 2013 Honza Horak 5.5.33-2 +- Enhanced my.cnf to be the same as in mariadb + Resolves: #1003115 + +* Tue Aug 20 2013 Honza Horak 5.5.33-1 +- Update to MySQL 5.5.33, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html + +* Tue Aug 20 2013 Honza Horak 5.5.32-12 +- Fix multilib header location for arm + +* Sat Aug 03 2013 Petr Pisar - 5.5.32-11 +- Perl 5.18 rebuild + +* Fri Jul 26 2013 Honza Horak 5.5.32-10 +- Copy some generated files in order find-debuginfo.sh finds them + Related: #729040 +- Fix systemd and perl requirements + +* Wed Jul 17 2013 Petr Pisar - 5.5.32-9 +- Perl 5.18 rebuild + +* Mon Jul 15 2013 Honza Horak 5.5.32-8 +- Revert path change to ldconfig, UsrMove is not complete yet + +* Wed Jul 10 2013 Honza Horak 5.5.32-7 +- Arm support for multilib hacks + +* Tue Jul 9 2013 Honza Horak 5.5.32-6 +- Use proper path to ldconfig +- Use xz instead of gzip + Resolves: #982387 + +* Mon Jul 1 2013 Honza Horak 5.5.32-5 +- Fix misleading error message when uninstalling built-in plugins + Related: #966645 + +* Thu Jun 27 2013 Honza Horak 5.5.32-4 +- Remove external man pages, upstream fixed man pages license +- Apply fixes found by Coverity static analysis tool + +* Fri Jun 14 2013 Honza Horak 5.5.32-3 +- Use man pages from 5.5.30, because their license do not + allow us to ship them since 5.5.31 + +* Fri Jun 7 2013 Honza Horak 5.5.32-1 +- Update to MySQL 5.5.32, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-32.html + +* Mon Jun 3 2013 Honza Horak 5.5.31-7 +- Use /var/tmp as default tmpdir to prevent potential issues + Resolves: #905635 +- Fix test suite requirements +- Fix for CVE-2013-1861 backported from MariaDB + Resolves: #921836 + +* Wed May 29 2013 Jan Stanek 5.5.31-6 +- Added missing command-line options to man-pages (#948930) + +* Tue Apr 30 2013 Honza Horak 5.5.31-5 +- Remove mysql provides from devel sub-packages to not build against + community-mysql if mysql-devel is specified + +* Fri Apr 26 2013 Honza Horak 5.5.31-4 +- Fix building with relro and PIE + +* Thu Apr 25 2013 Honza Horak 5.5.31-3 +- Fix paths in -plugin-test patch + +* Mon Apr 22 2013 Honza Horak 5.5.31-2 +- Build with _hardened_build +- Fix some paths and require perl(Env), which is needed by tests + +* Fri Apr 19 2013 Honza Horak 5.5.31-1 +- Update to MySQL 5.5.31, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-31.html + +* Wed Mar 20 2013 Honza Horak 5.5.30-5 +- Renaming package MySQL to community-mysql to handle issues + introduced by case-insensitive operations of yum and for proper + prioritizing mariadb over community-mysql + +* Tue Mar 12 2013 Honza Horak 5.5.30-4 +- Allow server to be installed without client side +- Separate -lib and -common sub-packages +- Fix some path issues in tests + +* Mon Mar 11 2013 Honza Horak 5.5.30-3 +- Adjusting major soname number of libmysqlclient to avoid + library name conflicts with mariadb + +* Tue Feb 12 2013 Honza Horak 5.5.30-1 +- Update to MySQL 5.5.30, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html + +* Tue Feb 12 2013 Honza Horak 5.5.29-3 +- Use real- prefix for cross-package requirements + +* Mon Feb 11 2013 Honza Horak 5.5.29-2 +- Provide own symbols with real- prefix to distinguish packages from other + MySQL implementations unambiguously + +* Wed Jan 2 2013 Tom Lane 5.5.29-1 +- Update to MySQL 5.5.29, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html +- Fix inaccurate default for socket location in mysqld-wait-ready +Resolves: #890535 + +* Thu Dec 6 2012 Honza Horak 5.5.28-3 +- Rebase patches to not leave backup files when not applied smoothly +- Use --no-backup-if-mismatch to prevent including backup files + +* Wed Dec 5 2012 Tom Lane 5.5.28-2 +- Add patch for CVE-2012-5611 +Resolves: #883642 +- Widen DH key length from 512 to 1024 bits to meet minimum requirements + of FIPS 140-2 +Related: #877124 + +* Sat Sep 29 2012 Tom Lane 5.5.28-1 +- Update to MySQL 5.5.28, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-28.html +- Clean up partially-created database files when mysql_install_db fails +Related: #835131 +- Honor user and group settings from service file in mysqld-prepare-db-dir +Resolves: #840431 +- Export THR_KEY_mysys as a workaround for inadequate threading support +Resolves: #846602 +- Adopt new systemd macros for server package install/uninstall triggers +Resolves: #850222 +- Use --no-defaults when invoking mysqladmin to wait for the server to start +Related: #855704 + +* Sun Aug 5 2012 Tom Lane 5.5.27-1 +- Update to MySQL 5.5.27, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html + +* Fri Jul 20 2012 Fedora Release Engineering - 5.5.25a-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jul 6 2012 Tom Lane 5.5.25a-1 +- Update to MySQL 5.5.25a, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25a.html + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25.html +- Don't use systemd's Restart feature; rely on mysqld_safe instead +Resolves: #832029 + +* Mon Jun 11 2012 Tom Lane 5.5.24-1 +- Update to MySQL 5.5.24, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html + including the fix for CVE-2012-2122 +Resolves: #830680 +- Tweak logrotate script to put the right permissions on mysqld.log +- Minor specfile fixes for recent packaging guidelines changes + +* Sat Apr 28 2012 Tom Lane 5.5.23-1 +- Update to MySQL 5.5.23, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-23.html + +* Sat Mar 24 2012 Tom Lane 5.5.22-1 +- Update to MySQL 5.5.22, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html +- Turn on PrivateTmp in service file +Resolves: #782513 +- Comment out the contents of /etc/logrotate.d/mysqld, so that manual + action is needed to enable log rotation. Given the multiple ways in + which the rotation script can fail, it seems imprudent to try to make + it run by default. +Resolves: #799735 + +* Tue Mar 20 2012 Honza Horak 5.5.21-3 +- Revise mysql_plugin test patch so it moves plugin files to + a temporary directory (better solution to #789530) + +* Tue Mar 13 2012 Honza Horak 5.5.21-2 +- Fix ssl-related tests to specify expected cipher explicitly +Related: #789600 +- Fix several strcpy calls to check destination size + +* Mon Feb 27 2012 Tom Lane 5.5.21-1 +- Update to MySQL 5.5.21, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-21.html +- Hack openssl regression test to still work with rawhide's openssl +- Fix assorted failures in post-install regression tests (mysql-test RPM) +Resolves: #789530 + +* Fri Feb 10 2012 Tom Lane 5.5.20-2 +- Revise our test-disabling method to make it possible to disable tests on a + platform-specific basis, and also to get rid of mysql-disable-test.patch, + which broke in just about every upstream update (Honza Horak) +- Disable cycle-counter-dependent regression tests on ARM, since there is + not currently any support for that in Fedora ARM kernels +Resolves: #773116 +- Add some comments to mysqld.service documenting how to customize it +Resolves: #785243 + +* Fri Jan 27 2012 Tom Lane 5.5.20-1 +- Update to MySQL 5.5.20, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-20.html + as well as security fixes described at + http://www.oracle.com/technetwork/topics/security/cpujan2012-366304.html +Resolves: #783828 +- Re-include the mysqld logrotate script, now that it's not so bogus +Resolves: #547007 + +* Wed Jan 4 2012 Tom Lane 5.5.19-1 +- Update to MySQL 5.5.19, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html + +* Sun Nov 20 2011 Tom Lane 5.5.18-1 +- Update to MySQL 5.5.18, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html + +* Sat Nov 12 2011 Tom Lane 5.5.17-1 +- Update to MySQL 5.5.17, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-17.html +- Get rid of version-number assumption in sysv-to-systemd conversion trigger + +* Wed Nov 02 2011 Honza Horak 5.5.16-4 +- Don't assume all ethernet devices are named ethX +Resolves: #682365 +- Exclude user definition from my.cnf, user is defined in mysqld.service now +Resolves: #661265 + +* Sun Oct 16 2011 Tom Lane 5.5.16-3 +- Fix unportable usage associated with va_list arguments +Resolves: #744707 + +* Sun Oct 16 2011 Tom Lane 5.5.16-2 +- Update to MySQL 5.5.16, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html + +* Fri Jul 29 2011 Tom Lane 5.5.15-2 +- Update to MySQL 5.5.15, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-15.html + +* Wed Jul 27 2011 Tom Lane 5.5.14-3 +- Convert to systemd startup support (no socket activation, for now anyway) +Related: #714426 + +* Tue Jul 12 2011 Tom Lane 5.5.14-2 +- Remove make_scrambled_password and make_scrambled_password_323 from mysql.h, + since we're not allowing clients to call those functions anyway +Related: #690346 + +* Mon Jul 11 2011 Tom Lane 5.5.14-1 +- Update to MySQL 5.5.14, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html + +* Wed Jul 6 2011 Tom Lane 5.5.13-2 +- Remove erroneously-included Default-Start line from LSB init block +Resolves: #717024 + +* Thu Jun 2 2011 Tom Lane 5.5.13-1 +- Update to MySQL 5.5.13, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html + +* Tue May 10 2011 Tom Lane 5.5.12-1 +- Update to MySQL 5.5.12, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-12.html + +* Tue May 10 2011 Tom Lane 5.5.10-3 +- Add LSB init block to initscript, to ensure sane ordering at system boot +Resolves: #703214 +- Improve initscript start action to notice when mysqladmin is failing + because of configuration problems +Related: #703476 +- Remove exclusion of "gis" regression test, since upstream bug 59908 + is fixed (for some value of "fixed") as of 5.5.10. + +* Wed Mar 23 2011 Tom Lane 5.5.10-2 +- Add my_make_scrambled_password to the list of symbols exported by + libmysqlclient.so. Needed at least by pure-ftpd. + +* Mon Mar 21 2011 Tom Lane 5.5.10-1 +- Update to MySQL 5.5.10, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-10.html + Note that this includes a rather belated soname version bump for + libmysqlclient.so, from .16 to .18 +- Add tmpfiles.d config file so that /var/run/mysqld is recreated at boot + (only needed in Fedora 15 and later) +Resolves: #658938 + +* Wed Feb 16 2011 Tom Lane 5.5.9-2 +- Disable a regression test that is now showing platform-dependent results +Resolves: #674253 + +* Sat Feb 12 2011 Tom Lane 5.5.9-1 +- Update to MySQL 5.5.9, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-9.html +- Add %%{?_isa} to cross-subpackage Requires, per latest packaging guidelines + +* Tue Feb 08 2011 Fedora Release Engineering - 5.5.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Feb 4 2011 Tom Lane 5.5.8-9 +- Support s390/s390x in performance schema's cycle-counting functions + (needed to make regression tests pass on these platforms) + +* Thu Feb 3 2011 Tom Lane 5.5.8-8 +- PPC64 floating-point differences are not masked by -ffloat-store after all, + so let's just disable gis regression test till upstream makes it less picky +Resolves: #674253 +- Add __perllib_requires setting to make rpm 4.9 do what we need + +* Wed Feb 2 2011 Tom Lane 5.5.8-7 +- Work around some portability issues on PPC64 +Resolves: #674253 + +* Thu Jan 20 2011 Tom Lane 5.5.8-6 +- Remove no-longer-needed special switches in CXXFLAGS, per yesterday's + discussion in fedora-devel about -fexceptions. +- Rebuild needed anyway to check compatibility with latest systemtap. + +* Thu Jan 13 2011 Tom Lane 5.5.8-5 +- Fix failure to honor MYSQL_HOME environment variable +Resolves: #669364 + +* Thu Jan 13 2011 Tom Lane 5.5.8-4 +- Fix crash during startup of embedded mysqld library +Resolves: #667365 + +* Mon Jan 3 2011 Tom Lane 5.5.8-3 +- my_print_help, load_defaults, free_defaults, and handle_options all turn + out to be documented/recommended in Paul DuBois' MySQL book, so we'd better + consider them part of the de-facto API. +Resolves: #666728 + +* Mon Dec 27 2010 Tom Lane 5.5.8-2 +- Add mysql_client_errors[] to the set of exported libmysqlclient symbols; + needed by PHP. + +* Thu Dec 23 2010 Tom Lane 5.5.8-1 +- Update to MySQL 5.5.8 (major version bump). Note this includes removal + of libmysqlclient_r.so. +- Add a linker version script to hide libmysqlclient functions that aren't + part of the documented API. + +* Mon Nov 1 2010 Tom Lane 5.1.52-1 +- Update to MySQL 5.1.52, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-52.html +Resolves: #646569 + +* Thu Oct 7 2010 Tom Lane 5.1.51-2 +- Re-disable the outfile_loaddata test, per report from Dan Horak. + +* Wed Oct 6 2010 Tom Lane 5.1.51-1 +- Update to MySQL 5.1.51, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-51.html + +* Sat Aug 28 2010 Tom Lane 5.1.50-2 +- Include my_compiler.h in distribution, per upstream bug #55846. + Otherwise PHP, for example, won't build. + +* Sat Aug 28 2010 Tom Lane 5.1.50-1 +- Update to MySQL 5.1.50, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-49.html + +* Wed Jul 14 2010 Tom Lane 5.1.48-3 +- Fix FTBFS with gcc 4.5. +Related: #614293 + +* Tue Jul 13 2010 Tom Lane 5.1.48-2 +- Duplicate COPYING and EXCEPTIONS-CLIENT in -libs and -embedded subpackages, + to ensure they are available when any subset of mysql RPMs are installed, + per revised packaging guidelines +- Allow init script's STARTTIMEOUT/STOPTIMEOUT to be overridden from sysconfig +Related: #609734 + +* Mon Jun 21 2010 Tom Lane 5.1.48-1 +- Update to MySQL 5.1.48, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-48.html + including a fix for CVE-2010-2008 +Related: #614214 + +* Fri Jun 4 2010 Tom Lane 5.1.47-2 +- Add back "partition" storage engine +Resolves: #597390 +- Fix broken "federated" storage engine plugin +Related: #587170 +- Read all certificates in SSL certificate files, to support chained certs +Related: #598656 + +* Mon May 24 2010 Tom Lane 5.1.47-1 +- Update to MySQL 5.1.47, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-47.html + including fixes for CVE-2010-1848, CVE-2010-1849, CVE-2010-1850 +Resolves: #592862 +Resolves: #583717 +- Create mysql group explicitly in pre-server script, to ensure correct GID +Related: #594155 + +* Sat Apr 24 2010 Tom Lane 5.1.46-1 +- Update to MySQL 5.1.46, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-46.html + +* Thu Mar 25 2010 Tom Lane 5.1.45-2 +- Fix multiple problems described in upstream bug 52019, because regression + tests fail on PPC if we don't. + +* Wed Mar 24 2010 Tom Lane 5.1.45-1 +- Update to MySQL 5.1.45, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-45.html + +* Sun Feb 21 2010 Tom Lane 5.1.44-2 +- Add "Obsoletes: mysql-cluster" to fix upgrade-in-place from F-12 +- Bring init script into some modicum of compliance with Fedora/LSB standards +Related: #557711 +Related: #562749 + +* Sat Feb 20 2010 Tom Lane 5.1.44-1 +- Update to MySQL 5.1.44, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-44.html +- Remove mysql.info, which is not freely redistributable +Resolves: #560181 +- Revert broken upstream fix for their bug 45058 +Resolves: #566547 + +* Sat Feb 13 2010 Tom Lane 5.1.43-2 +- Remove mysql-cluster, which is no longer supported by upstream in this + source distribution. If we want it we'll need a separate SRPM for it. + +* Fri Feb 12 2010 Tom Lane 5.1.43-1 +- Update to MySQL 5.1.43, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-43.html + +* Fri Jan 29 2010 Tom Lane 5.1.42-7 +- Add backported patch for CVE-2008-7247 (upstream bug 39277) +Related: #543619 +- Use non-expired certificates for SSL testing (upstream bug 50702) + +* Tue Jan 26 2010 Tom Lane 5.1.42-6 +- Emit explicit error message if user tries to build RPM as root +Related: #558915 + +* Wed Jan 20 2010 Tom Lane 5.1.42-5 +- Correct Source0: tag and comment to reflect how to get the tarball + +* Fri Jan 8 2010 Tom Lane 5.1.42-4 +- Disable symbolic links by default in /etc/my.cnf +Resolves: #553652 + +* Tue Jan 5 2010 Tom Lane 5.1.42-3 +- Remove static libraries (.a files) from package, per packaging guidelines +- Change %%define to %%global, per packaging guidelines + +* Sat Jan 2 2010 Tom Lane 5.1.42-2 +- Disable building the innodb plugin; it tickles assorted gcc bugs and + doesn't seem entirely ready for prime time anyway. + +* Fri Jan 1 2010 Tom Lane 5.1.42-1 +- Update to MySQL 5.1.42, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-42.html +- Start mysqld_safe with --basedir=/usr, to avoid unwanted SELinux messages +Resolves: #547485 + +* Thu Dec 17 2009 Tom Lane 5.1.41-2 +- Stop waiting during "service mysqld start" if mysqld_safe exits +Resolves: #544095 + +* Mon Nov 23 2009 Tom Lane 5.1.41-1 +- Update to MySQL 5.1.41, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-41.html + including fixes for CVE-2009-4019 +Related: #540906 +- Don't set old_passwords=1; we aren't being bug-compatible with 3.23 anymore +Resolves: #540735 + +* Tue Nov 10 2009 Tom Lane 5.1.40-1 +- Update to MySQL 5.1.40, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-40.html +- Do not force the --log-error setting in mysqld init script +Resolves: #533736 + +* Sat Oct 17 2009 Tom Lane 5.1.39-4 +- Replace kluge fix for ndbd sparc crash with a real fix (mysql bug 48132) + +* Thu Oct 15 2009 Tom Lane 5.1.39-3 +- Work around two different compiler bugs on sparc, one by backing off + optimization from -O2 to -O1, and the other with a klugy patch +Related: #529298, #529299 +- Clean up bogosity in multilib stub header support: ia64 should not be + listed (it's not multilib), sparc and sparc64 should be + +* Wed Sep 23 2009 Tom Lane 5.1.39-2 +- Work around upstream bug 46895 by disabling outfile_loaddata test + +* Tue Sep 22 2009 Tom Lane 5.1.39-1 +- Update to MySQL 5.1.39, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-39.html + +* Mon Aug 31 2009 Tom Lane 5.1.37-5 +- Work around unportable assumptions about stpcpy(); re-enable main.mysql test +- Clean up some obsolete parameters to the configure script + +* Sat Aug 29 2009 Tom Lane 5.1.37-4 +- Remove one misguided patch; turns out I was chasing a glibc bug +- Temporarily disable "main.mysql" test; there's something broken there too, + but we need to get mysql built in rawhide for dependency reasons + +* Fri Aug 21 2009 Tomas Mraz - 5.1.37-3 +- rebuilt with new openssl + +* Fri Aug 14 2009 Tom Lane 5.1.37-2 +- Add a couple of patches to improve the probability of the regression tests + completing in koji builds + +* Sun Aug 2 2009 Tom Lane 5.1.37-1 +- Update to MySQL 5.1.37, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-37.html + +* Sat Jul 25 2009 Fedora Release Engineering - 5.1.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 10 2009 Tom Lane 5.1.36-1 +- Update to MySQL 5.1.36, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-36.html + +* Sat Jun 6 2009 Tom Lane 5.1.35-1 +- Update to MySQL 5.1.35, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-35.html +- Ensure that /var/lib/mysql is created with the right SELinux context +Resolves: #502966 + +* Fri May 15 2009 Tom Lane 5.1.34-1 +- Update to MySQL 5.1.34, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-34.html +- Increase startup timeout per bug #472222 + +* Wed Apr 15 2009 Tom Lane 5.1.33-2 +- Increase stack size of ndbd threads for safety's sake. +Related: #494631 + +* Tue Apr 7 2009 Tom Lane 5.1.33-1 +- Update to MySQL 5.1.33. +- Disable use of pthread_setschedparam; doesn't work the way code expects. +Related: #477624 + +* Wed Mar 4 2009 Tom Lane 5.1.32-1 +- Update to MySQL 5.1.32. + +* Wed Feb 25 2009 Fedora Release Engineering - 5.1.31-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 13 2009 Tom Lane 5.1.31-1 +- Update to MySQL 5.1.31. + +* Thu Jan 22 2009 Tom Lane 5.1.30-2 +- hm, apparently --with-innodb and --with-ndbcluster are still needed + even though no longer documented ... + +* Thu Jan 22 2009 Tom Lane 5.1.30-1 +- Update to MySQL 5.1.30. Note that this includes an ABI break for + libmysqlclient (it's now got .so major version 16). +- This also updates mysql for new openssl build + +* Wed Oct 1 2008 Tom Lane 5.0.67-2 +- Build the "embedded server" library, and package it in a new sub-RPM + mysql-embedded, along with mysql-embedded-devel for devel support files. +Resolves: #149829 + +* Sat Aug 23 2008 Tom Lane 5.0.67-1 +- Update to mysql version 5.0.67 +- Move mysql_config's man page to base package, again (apparently I synced + that change the wrong way while importing specfile changes for ndbcluster) + +* Sun Jul 27 2008 Tom Lane 5.0.51a-2 +- Enable ndbcluster support +Resolves: #163758 +- Suppress odd crash messages during package build, caused by trying to + build dbug manual (which we don't install anyway) with dbug disabled +Resolves: #437053 +- Improve mysql.init to pass configured datadir to mysql_install_db, + and to force user=mysql for both mysql_install_db and mysqld_safe. +Related: #450178 + +* Mon Mar 3 2008 Tom Lane 5.0.51a-1 +- Update to mysql version 5.0.51a + +* Mon Mar 3 2008 Tom Lane 5.0.45-11 +- Fix mysql-stack-guard patch to work correctly on IA64 +- Fix mysql.init to wait correctly when socket is not in default place +Related: #435494 + +* Mon Mar 03 2008 Dennis Gilmore 5.0.45-10 +- add sparc64 to 64 bit arches for test suite checking +- add sparc, sparcv9 and sparc64 to multilib handling + +* Thu Feb 28 2008 Tom Lane 5.0.45-9 +- Fix the stack overflow problem encountered in January. It seems the real +issue is that the buildfarm machines were moved to RHEL5, which uses 64K not +4K pages on PPC, and because RHEL5 takes the guard area out of the requested +thread stack size we no longer had enough headroom. +Related: #435337 + +* Tue Feb 19 2008 Fedora Release Engineering - 5.0.45-8 +- Autorebuild for GCC 4.3 + +* Tue Jan 8 2008 Tom Lane 5.0.45-7 +- Unbelievable ... upstream still thinks that it's a good idea to have a + regression test that is guaranteed to begin failing come January 1. +- ... and it seems we need to raise STACK_MIN_SIZE again too. + +* Thu Dec 13 2007 Tom Lane 5.0.45-6 +- Back-port upstream fixes for CVE-2007-5925, CVE-2007-5969, CVE-2007-6303. +Related: #422211 + +* Wed Dec 5 2007 Tom Lane 5.0.45-5 +- Rebuild for new openssl + +* Sat Aug 25 2007 Tom Lane 5.0.45-4 +- Seems we need explicit BuildRequires on gawk and procps now +- Rebuild to fix Fedora toolchain issues + +* Sun Aug 12 2007 Tom Lane 5.0.45-3 +- Recent perl changes in rawhide mean we need a more specific BuildRequires + +* Thu Aug 2 2007 Tom Lane 5.0.45-2 +- Update License tag to match code. +- Work around recent Fedora change that makes "open" a macro name. + +* Sun Jul 22 2007 Tom Lane 5.0.45-1 +- Update to MySQL 5.0.45 +Resolves: #246535 +- Move mysql_config's man page to base package +Resolves: #245770 +- move my_print_defaults to base RPM, for consistency with Stacks packaging +- mysql user is no longer deleted at RPM uninstall +Resolves: #241912 + +* Thu Mar 29 2007 Tom Lane 5.0.37-2 +- Use a less hacky method of getting default values in initscript +Related: #233771, #194596 +- Improve packaging of mysql-libs per suggestions from Remi Collet +Resolves: #233731 +- Update default /etc/my.cnf ([mysql.server] has been bogus for a long time) + +* Mon Mar 12 2007 Tom Lane 5.0.37-1 +- Update to MySQL 5.0.37 +Resolves: #231838 +- Put client library into a separate mysql-libs RPM to reduce dependencies +Resolves: #205630 + +* Fri Feb 9 2007 Tom Lane 5.0.33-1 +- Update to MySQL 5.0.33 +- Install band-aid fix for "view" regression test designed to fail after 2006 +- Don't chmod -R the entire database directory tree on every startup +Related: #221085 +- Fix unsafe use of install-info +Resolves: #223713 +- Cope with new automake in F7 +Resolves: #224171 + +* Thu Nov 9 2006 Tom Lane 5.0.27-1 +- Update to MySQL 5.0.27 (see CVE-2006-4031, CVE-2006-4226, CVE-2006-4227) +Resolves: #202247, #202675, #203427, #203428, #203432, #203434, #208641 +- Fix init script to return status 1 on server start timeout +Resolves: #203910 +- Move mysqldumpslow from base package to mysql-server +Resolves: #193559 +- Adjust link options for BDB module +Resolves: #199368 + +* Wed Jul 12 2006 Jesse Keating - 5.0.22-2.1 +- rebuild + +* Sat Jun 10 2006 Tom Lane 5.0.22-2 +- Work around brew's tendency not to clean up failed builds completely, + by adding code in mysql-testing.patch to kill leftover mysql daemons. + +* Thu Jun 8 2006 Tom Lane 5.0.22-1 +- Update to MySQL 5.0.22 (fixes CVE-2006-2753) +- Install temporary workaround for gcc bug on s390x (bz #193912) + +* Tue May 2 2006 Tom Lane 5.0.21-2 +- Fix bogus perl Requires for mysql-test + +* Mon May 1 2006 Tom Lane 5.0.21-1 +- Update to MySQL 5.0.21 + +* Mon Mar 27 2006 Tom Lane 5.0.18-4 +- Modify multilib header hack to not break non-RH arches, per bug #181335 +- Remove logrotate script, per bug #180639. +- Add a new mysql-test RPM to carry the regression test files; + hack up test scripts as needed to make them run in /usr/share/mysql-test. + +* Fri Feb 10 2006 Jesse Keating - 5.0.18-2.1 +- bump again for double-long bug on ppc(64) + +* Thu Feb 9 2006 Tom Lane 5.0.18-2 +- err-log option has been renamed to log-error, fix my.cnf and initscript + +* Tue Feb 07 2006 Jesse Keating - 5.0.18-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Thu Jan 5 2006 Tom Lane 5.0.18-1 +- Update to MySQL 5.0.18 + +* Thu Dec 15 2005 Tom Lane 5.0.16-4 +- fix my_config.h for ppc platforms + +* Thu Dec 15 2005 Tom Lane 5.0.16-3 +- my_config.h needs to guard against 64-bit platforms that also define the + 32-bit symbol + +* Wed Dec 14 2005 Tom Lane 5.0.16-2 +- oops, looks like we want uname -i not uname -m + +* Mon Dec 12 2005 Tom Lane 5.0.16-1 +- Update to MySQL 5.0.16 +- Add EXCEPTIONS-CLIENT license info to the shipped documentation +- Make my_config.h architecture-independent for multilib installs; + put the original my_config.h into my_config_$ARCH.h +- Add -fwrapv to CFLAGS so that gcc 4.1 doesn't break it + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Mon Nov 14 2005 Tom Lane 5.0.15-3 +- Make stop script wait for daemon process to disappear (bz#172426) + +* Wed Nov 9 2005 Tom Lane 5.0.15-2 +- Rebuild due to openssl library update. + +* Thu Nov 3 2005 Tom Lane 5.0.15-1 +- Update to MySQL 5.0.15 (scratch build for now) + +* Wed Oct 5 2005 Tom Lane 4.1.14-1 +- Update to MySQL 4.1.14 + +* Tue Aug 23 2005 Tom Lane 4.1.12-3 +- Use politically correct patch name. + +* Tue Jul 12 2005 Tom Lane 4.1.12-2 +- Fix buffer overflow newly exposed in isam code; it's the same issue + previously found in myisam, and not very exciting, but I'm tired of + seeing build warnings. + +* Mon Jul 11 2005 Tom Lane 4.1.12-1 +- Update to MySQL 4.1.12 (includes a fix for bz#158688, bz#158689) +- Extend mysql-test-ssl.patch to solve rpl_openssl test failure (bz#155850) +- Update mysql-lock-ssl.patch to match the upstream committed version +- Add --with-isam to re-enable the old ISAM table type, per bz#159262 +- Add dependency on openssl-devel per bz#159569 +- Remove manual.txt, as upstream decided not to ship it anymore; + it was redundant with the mysql.info file anyway. + +* Mon May 9 2005 Tom Lane 4.1.11-4 +- Include proper locking for OpenSSL in the server, per bz#155850 + +* Mon Apr 25 2005 Tom Lane 4.1.11-3 +- Enable openssl tests during build, per bz#155850 +- Might as well turn on --disable-dependency-tracking + +* Fri Apr 8 2005 Tom Lane 4.1.11-2 +- Avoid dependency on , cause it won't build anymore on ia64. + This is probably a cleaner solution for bz#143537, too. + +* Thu Apr 7 2005 Tom Lane 4.1.11-1 +- Update to MySQL 4.1.11 to fix bz#152911 as well as other issues +- Move perl-DBI, perl-DBD-MySQL dependencies to server package (bz#154123) +- Override configure thread library test to suppress HAVE_LINUXTHREADS check +- Fix BDB failure on s390x (bz#143537) +- At last we can enable "make test" on all arches + +* Fri Mar 11 2005 Tom Lane 4.1.10a-1 +- Update to MySQL 4.1.10a to fix security vulnerabilities (bz#150868, + for CAN-2005-0711, and bz#150871 for CAN-2005-0709, CAN-2005-0710). + +* Sun Mar 6 2005 Tom Lane 4.1.10-3 +- Fix package Requires: interdependencies. + +* Sat Mar 5 2005 Tom Lane 4.1.10-2 +- Need -fno-strict-aliasing in at least one place, probably more. +- Work around some C spec violations in mysql. + +* Fri Feb 18 2005 Tom Lane 4.1.10-1 +- Update to MySQL 4.1.10. + +* Sat Jan 15 2005 Tom Lane 4.1.9-1 +- Update to MySQL 4.1.9. + +* Wed Jan 12 2005 Tom Lane 4.1.7-10 +- Don't assume /etc/my.cnf will specify pid-file (bz#143724) + +* Wed Jan 12 2005 Tim Waugh 4.1.7-9 +- Rebuilt for new readline. + +* Tue Dec 21 2004 Tom Lane 4.1.7-8 +- Run make test on all archs except s390x (which seems to have a bdb issue) + +* Mon Dec 13 2004 Tom Lane 4.1.7-7 +- Suppress someone's silly idea that libtool overhead can be skipped + +* Sun Dec 12 2004 Tom Lane 4.1.7-6 +- Fix init script to not need a valid username for startup check (bz#142328) +- Fix init script to honor settings appearing in /etc/my.cnf (bz#76051) +- Enable SSL (bz#142032) + +* Thu Dec 2 2004 Tom Lane 4.1.7-5 +- Add a restorecon to keep the mysql.log file in the right context (bz#143887) + +* Tue Nov 23 2004 Tom Lane 4.1.7-4 +- Turn off old_passwords in default /etc/my.cnf file, for better compatibility + with mysql 3.x clients (per suggestion from Joe Orton). + +* Fri Oct 29 2004 Tom Lane 4.1.7-3 +- Handle ldconfig more cleanly (put a file in /etc/ld.so.conf.d/). + +* Thu Oct 28 2004 Tom Lane 4.1.7-2 +- rebuild in devel branch + +* Wed Oct 27 2004 Tom Lane 4.1.7-1 +- Update to MySQL 4.1.x. + +* Tue Oct 12 2004 Tom Lane 3.23.58-13 +- fix security issues CAN-2004-0835, CAN-2004-0836, CAN-2004-0837 + (bugs #135372, 135375, 135387) +- fix privilege escalation on GRANT ALL ON `Foo\_Bar` (CAN-2004-0957) + +* Wed Oct 06 2004 Tom Lane 3.23.58-12 +- fix multilib problem with mysqlbug and mysql_config +- adjust chkconfig priority per bug #128852 +- remove bogus quoting per bug #129409 (MySQL 4.0 has done likewise) +- add sleep to mysql.init restart(); may or may not fix bug #133993 + +* Tue Oct 05 2004 Tom Lane 3.23.58-11 +- fix low-priority security issues CAN-2004-0388, CAN-2004-0381, CAN-2004-0457 + (bugs #119442, 125991, 130347, 130348) +- fix bug with dropping databases under recent kernels (bug #124352) + +* Tue Jun 15 2004 Elliot Lee 3.23.58-10 +- rebuilt + +* Sat Apr 17 2004 Warren Togami 3.23.58-9 +- remove redundant INSTALL-SOURCE, manual.* +- compress manual.txt.bz2 +- BR time + +* Tue Mar 16 2004 Tom Lane 3.23.58-8 +- repair logfile attributes in %%files, per bug #102190 +- repair quoting problem in mysqlhotcopy, per bug #112693 +- repair missing flush in mysql_setpermission, per bug #113960 +- repair broken error message printf, per bug #115165 +- delete mysql user during uninstall, per bug #117017 +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Tue Feb 24 2004 Tom Lane +- fix chown syntax in mysql.init +- rebuild + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Nov 18 2003 Kim Ho 3.23.58-5 +- update mysql.init to use anonymous user (UNKNOWN_MYSQL_USER) for + pinging mysql server (#108779) + +* Mon Oct 27 2003 Kim Ho 3.23.58-4 +- update mysql.init to wait (max 10 seconds) for mysql server to + start (#58732) + +* Mon Oct 27 2003 Patrick Macdonald 3.23.58-3 +- re-enable Berkeley DB support (#106832) +- re-enable ia64 testing + +* Fri Sep 19 2003 Patrick Macdonald 3.23.58-2 +- rebuilt + +* Mon Sep 15 2003 Patrick Macdonald 3.23.58-1 +- upgrade to 3.23.58 for security fix + +* Tue Aug 26 2003 Patrick Macdonald 3.23.57-2 +- rebuilt + +* Wed Jul 02 2003 Patrick Macdonald 3.23.57-1 +- revert to prior version of MySQL due to license incompatibilities + with packages that link against the client. The MySQL folks are + looking into the issue. + +* Wed Jun 18 2003 Patrick Macdonald 4.0.13-4 +- restrict test on ia64 (temporary) + +* Wed Jun 04 2003 Elliot Lee 4.0.13-3 +- rebuilt + +* Thu May 29 2003 Patrick Macdonald 4.0.13-2 +- fix filter-requires-mysql.sh with less restrictive for mysql-bench + +* Wed May 28 2003 Patrick Macdonald 4.0.13-1 +- update for MySQL 4.0 +- back-level shared libraries available in mysqlclient10 package + +* Fri May 09 2003 Patrick Macdonald 3.23.56-2 +- add sql-bench package (#90110) + +* Wed Mar 19 2003 Patrick Macdonald 3.23.56-1 +- upgrade to 3.23.56 for security fixes +- remove patch for double-free (included in 3.23.56) + +* Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 +- enable thread safe client +- add patch for double free fix + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Mon Jan 13 2003 Karsten Hopp 3.23.54a-9 +- disable checks on s390x + +* Sat Jan 4 2003 Jeff Johnson 3.23.54a-8 +- use internal dep generator. + +* Wed Jan 1 2003 Bill Nottingham 3.23.54a-7 +- fix mysql_config on hammer + +* Sun Dec 22 2002 Tim Powers 3.23.54a-6 +- don't use rpms internal dep generator + +* Tue Dec 17 2002 Elliot Lee 3.23.54a-5 +- Push it into the build system + +* Mon Dec 16 2002 Joe Orton 3.23.54a-4 +- upgrade to 3.23.54a for safe_mysqld fix + +* Thu Dec 12 2002 Joe Orton 3.23.54-3 +- upgrade to 3.23.54 for latest security fixes + +* Tue Nov 19 2002 Jakub Jelinek 3.23.52-5 +- Always include for errno +- Remove unpackaged files + +* Tue Nov 12 2002 Florian La Roche +- do not prereq userdel, not used at all + +* Mon Sep 9 2002 Trond Eivind Glomsrd 3.23.52-4 +- Use %%{_libdir} +- Add patch for x86-64 + +* Wed Sep 4 2002 Jakub Jelinek 3.23.52-3 +- rebuilt with gcc-3.2-7 + +* Thu Aug 29 2002 Trond Eivind Glomsrd 3.23.52-2 +- Add --enable-local-infile to configure - a new option + which doesn't default to the old behaviour (#72885) + +* Fri Aug 23 2002 Trond Eivind Glomsrd 3.23.52-1 +- 3.23.52. Fixes a minor security problem, various bugfixes. + +* Sat Aug 10 2002 Elliot Lee 3.23.51-5 +- rebuilt with gcc-3.2 (we hope) + +* Mon Jul 22 2002 Trond Eivind Glomsrd 3.23.51-4 +- rebuild + +* Thu Jul 18 2002 Trond Eivind Glomsrd 3.23.51-3 +- Fix #63543 and #63542 + +* Thu Jul 11 2002 Trond Eivind Glomsrd 3.23.51-2 +- Turn off bdb on PPC(#68591) +- Turn off the assembly optimizations, for safety. + +* Wed Jun 26 2002 Trond Eivind Glomsrd 3.23.51-1 +- Work around annoying auto* thinking this is a crosscompile +- 3.23.51 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Mon Jun 10 2002 Trond Eivind Glomsrd 3.23.50-2 +- Add dependency on perl-DBI and perl-DBD-MySQL (#66349) + +* Thu May 30 2002 Trond Eivind Glomsrd 3.23.50-1 +- 3.23.50 + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon May 13 2002 Trond Eivind Glomsrd 3.23.49-4 +- Rebuild +- Don't set CXX to gcc, it doesn't work anymore +- Exclude Alpha + +* Mon Apr 8 2002 Trond Eivind Glomsrd 3.23.49-3 +- Add the various .cnf examples as doc files to mysql-server (#60349) +- Don't include manual.ps, it's just 200 bytes with a URL inside (#60349) +- Don't include random files in /usr/share/mysql (#60349) +- langify (#60349) + +* Thu Feb 21 2002 Trond Eivind Glomsrd 3.23.49-2 +- Rebuild + +* Sun Feb 17 2002 Trond Eivind Glomsrd 3.23.49-1 +- 3.23.49 + +* Thu Feb 14 2002 Trond Eivind Glomsrd 3.23.48-2 +- work around perl dependency bug. + +* Mon Feb 11 2002 Trond Eivind Glomsrd 3.23.48-1 +- 3.23.48 + +* Thu Jan 17 2002 Trond Eivind Glomsrd 3.23.47-4 +- Use kill, not mysqladmin, to flush logs and shut down. Thus, + an admin password can be set with no problems. +- Remove reload from init script + +* Wed Jan 16 2002 Trond Eivind Glomsrd 3.23.47-3 +- remove db3-devel from buildrequires, + MySQL has had its own bundled copy since the mid thirties + +* Sun Jan 6 2002 Trond Eivind Glomsrd 3.23.47-1 +- 3.23.47 +- Don't build for alpha, toolchain immature. + +* Mon Dec 3 2001 Trond Eivind Glomsrd 3.23.46-1 +- 3.23.46 +- use -fno-rtti and -fno-exceptions, and set CXX to increase stability. + Recommended by mysql developers. + +* Sun Nov 25 2001 Trond Eivind Glomsrd 3.23.45-1 +- 3.23.45 + +* Wed Nov 14 2001 Trond Eivind Glomsrd 3.23.44-2 +- centralize definition of datadir in the initscript (#55873) + +* Fri Nov 2 2001 Trond Eivind Glomsrd 3.23.44-1 +- 3.23.44 + +* Thu Oct 4 2001 Trond Eivind Glomsrd 3.23.43-1 +- 3.23.43 + +* Mon Sep 10 2001 Trond Eivind Glomsrd 3.23.42-1 +- 3.23.42 +- reenable innodb + +* Tue Aug 14 2001 Trond Eivind Glomsrd 3.23.41-1 +- 3.23.41 bugfix release +- disable innodb, to avoid the broken updates +- Use "mysqladmin flush_logs" instead of kill -HUP in logrotate + script (#51711) + +* Sat Jul 21 2001 Trond Eivind Glomsrd +- 3.23.40, bugfix release +- Add zlib-devel to buildrequires: + +* Fri Jul 20 2001 Trond Eivind Glomsrd +- BuildRequires-tweaking + +* Thu Jun 28 2001 Trond Eivind Glomsrd +- Reenable test, but don't run them for s390, s390x or ia64 +- Make /etc/my.cnf config(noplace). Same for /etc/logrotate.d/mysqld + +* Thu Jun 14 2001 Trond Eivind Glomsrd +- 3.23.29 +- enable innodb +- enable assembly again +- disable tests for now... + +* Tue May 15 2001 Trond Eivind Glomsrd +- 3.23.38 +- Don't use BDB on Alpha - no fast mutexes + +* Tue Apr 24 2001 Trond Eivind Glomsrd +- 3.23.37 +- Add _GNU_SOURCE to the compile flags + +* Wed Mar 28 2001 Trond Eivind Glomsrd +- Make it obsolete our 6.2 PowerTools packages +- 3.23.36 bugfix release - fixes some security issues + which didn't apply to our standard configuration +- Make "make test" part of the build process, except on IA64 + (it fails there) + +* Tue Mar 20 2001 Trond Eivind Glomsrd +- 3.23.35 bugfix release +- Don't delete the mysql user on uninstall + +* Tue Mar 13 2001 Trond Eivind Glomsrd +- 3.23.34a bugfix release + +* Wed Feb 7 2001 Trond Eivind Glomsrd +- added readline-devel to BuildRequires: + +* Tue Feb 6 2001 Trond Eivind Glomsrd +- small i18n-fixes to initscript (action needs $) + +* Tue Jan 30 2001 Trond Eivind Glomsrd +- make it shut down and rotate logs without using mysqladmin + (from #24909) + +* Mon Jan 29 2001 Trond Eivind Glomsrd +- conflict with "MySQL" + +* Tue Jan 23 2001 Trond Eivind Glomsrd +- improve gettextizing + +* Mon Jan 22 2001 Trond Eivind Glomsrd +- 3.23.32 +- fix logrotate script (#24589) + +* Wed Jan 17 2001 Trond Eivind Glomsrd +- gettextize +- move the items in Requires(post): to Requires: in preparation + for an errata for 7.0 when 3.23.31 is released +- 3.23.31 + +* Tue Jan 16 2001 Trond Eivind Glomsrd +- add the log file to the rpm database, and make it 0640 + (#24116) +- as above in logrotate script +- changes to the init sequence - put most of the data + in /etc/my.cnf instead of hardcoding in the init script +- use /var/run/mysqld/mysqld.pid instead of + /var/run/mysqld/pid +- use standard safe_mysqld +- shut down cleaner + +* Mon Jan 08 2001 Trond Eivind Glomsrd +- 3.23.30 +- do an explicit chmod on /var/lib/mysql in post, to avoid + any problems with broken permissons. There is a report + of rm not changing this on its own (#22989) + +* Mon Jan 01 2001 Trond Eivind Glomsrd +- bzipped source +- changed from 85 to 78 in startup, so it starts before + apache (which can use modules requiring mysql) + +* Wed Dec 27 2000 Trond Eivind Glomsrd +- 3.23.29a + +* Tue Dec 19 2000 Trond Eivind Glomsrd +- add requirement for new libstdc++, build for errata + +* Mon Dec 18 2000 Trond Eivind Glomsrd +- 3.23.29 + +* Mon Nov 27 2000 Trond Eivind Glomsrd +- 3.23.28 (gamma) +- remove old patches, as they are now upstreamed + +* Tue Nov 14 2000 Trond Eivind Glomsrd +- Add a requirement for a new glibc (#20735) +- build on IA64 + +* Wed Nov 1 2000 Trond Eivind Glomsrd +- disable more assembly + +* Wed Nov 1 2000 Jakub Jelinek +- fix mysql on SPARC (#20124) + +* Tue Oct 31 2000 Trond Eivind Glomsrd +- 3.23.27 + +* Wed Oct 25 2000 Trond Eivind Glomsrd +- add patch for fixing bogus aliasing in mysql from Jakub, + which should fix #18905 and #18620 + +* Mon Oct 23 2000 Trond Eivind Glomsrd +- check for negative niceness values, and negate it + if present (#17899) +- redefine optflags on IA32 FTTB + +* Wed Oct 18 2000 Trond Eivind Glomsrd +- 3.23.26, which among other fixes now uses mkstemp() + instead of tempnam(). +- revert changes made yesterday, the problem is now + isolated + +* Tue Oct 17 2000 Trond Eivind Glomsrd +- use the compat C++ compiler FTTB. Argh. +- add requirement of ncurses4 (see above) + +* Sun Oct 01 2000 Trond Eivind Glomsrd +- 3.23.25 +- fix shutdown problem (#17956) + +* Tue Sep 26 2000 Trond Eivind Glomsrd +- Don't try to include no-longer-existing PUBLIC file + as doc (#17532) + +* Tue Sep 12 2000 Trond Eivind Glomsrd +- rename config file to /etc/my.cnf, which is what + mysqld wants... doh. (#17432) +- include a changed safe_mysqld, so the pid file option + works. +- make mysql dir world readable to they can access the + mysql socket. (#17432) +- 3.23.24 + +* Wed Sep 06 2000 Trond Eivind Glomsrd +- 3.23.23 + +* Sun Aug 27 2000 Trond Eivind Glomsrd +- Add "|| :" to condrestart to avoid non-zero exit code + +* Thu Aug 24 2000 Trond Eivind Glomsrd +- it's mysql.com, not mysql.org and use correct path to + source (#16830) + +* Wed Aug 16 2000 Trond Eivind Glomsrd +- source file from /etc/rc.d, not /etc/rd.d. Doh. + +* Sun Aug 13 2000 Trond Eivind Glomsrd +- don't run ldconfig -n, it doesn't update ld.so.cache + (#16034) +- include some missing binaries +- use safe_mysqld to start the server (request from + mysql developers) + +* Sat Aug 05 2000 Bill Nottingham +- condrestart fixes + +* Tue Aug 01 2000 Trond Eivind Glomsrd +- 3.23.22. Disable the old patches, they're now in. + +* Thu Jul 27 2000 Trond Eivind Glomsrd +- bugfixes in the initscript +- move the .so link to the devel package + +* Wed Jul 19 2000 Trond Eivind Glomsrd +- rebuild due to glibc changes + +* Tue Jul 18 2000 Trond Eivind Glomsrd +- disable compiler patch +- don't include info directory file + +* Mon Jul 17 2000 Trond Eivind Glomsrd +- move back to /etc/rc.d/init.d + +* Fri Jul 14 2000 Trond Eivind Glomsrd +- more cleanups in initscript + +* Thu Jul 13 2000 Trond Eivind Glomsrd +- add a patch to work around compiler bug + (from monty@mysql.com) + +* Wed Jul 12 2000 Trond Eivind Glomsrd +- don't build the SQL daemon statically (glibc problems) +- fix the logrotate script - only flush log if mysql + is running +- change the reloading procedure +- remove icon - glint is obsolete a long time ago + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jul 10 2000 Trond Eivind Glomsrd +- try the new compiler again +- build the SQL daemon statically +- add compile time support for complex charsets +- enable assembler +- more cleanups in initscript + +* Sun Jul 09 2000 Trond Eivind Glomsrd +- use old C++ compiler +- Exclusivearch x86 + +* Sat Jul 08 2000 Trond Eivind Glomsrd +- move .so files to devel package +- more cleanups +- exclude sparc for now + +* Wed Jul 05 2000 Trond Eivind Glomsrd +- 3.23.21 +- remove file from /etc/sysconfig +- Fix initscript a bit - initialization of databases doesn't + work yet +- specify the correct licenses +- include a /etc/my.conf (empty, FTTB) +- add conditional restart to spec file + +* Sun Jul 2 2000 Jakub Jelinek +- Rebuild with new C++ + +* Fri Jun 30 2000 Trond Eivind Glomsrd +- update to 3.23.20 +- use %%configure, %%makeinstall, %%{_tmppath}, %%{_mandir}, + %%{_infodir}, /etc/init.d +- remove the bench package +- change some of the descriptions a little bit +- fix the init script +- some compile fixes +- specify mysql user +- use mysql uid 27 (postgresql is 26) +- don't build on ia64 + +* Sat Feb 26 2000 Jos Vos +- Version 3.22.32 release XOS.1 for LinuX/OS 1.8.0 +- Upgrade from version 3.22.27 to 3.22.32. +- Do "make install" instead of "make install-strip", because "install -s" + now appears to fail on various scripts. Afterwards, strip manually. +- Reorganize subpackages, according to common Red Hat packages: the client + program and shared library become the base package and the server and + some accompanying files are now in a separate server package. The + server package implicitly requires the base package (shared library), + but we have added a manual require tag anyway (because of the shared + config file, and more). +- Rename the mysql-benchmark subpackage to mysql-bench. + +* Mon Jan 31 2000 Jos Vos +- Version 3.22.27 release XOS.2 for LinuX/OS 1.7.1 +- Add post(un)install scripts for updating ld.so.conf (client subpackage). + +* Sun Nov 21 1999 Jos Vos +- Version 3.22.27 release XOS.1 for LinuX/OS 1.7.0 +- Initial version. +- Some ideas borrowed from Red Hat Powertools 6.1, although this spec + file is a full rewrite from scratch.