From 05db4b84d9a2062a6c3562c044f72053b6ea496d Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: May 17 2022 09:00:18 +0000 Subject: import mysql-8.0.28-1.el9 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..37d1ecc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/mysql-boost-8.0.28.tar.gz diff --git a/.mysql.metadata b/.mysql.metadata new file mode 100644 index 0000000..760d61e --- /dev/null +++ b/.mysql.metadata @@ -0,0 +1 @@ +0f34d6a9c8cedacb71549b1beb33133e31d75014 SOURCES/mysql-boost-8.0.28.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/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-arm32-timer.patch b/SOURCES/mysql-arm32-timer.patch new file mode 100644 index 0000000..d9c616c --- /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 eff14a67..413dfc27 100644 +--- a/mysql-test/include/mtr_warnings.sql ++++ b/mysql-test/include/mtr_warnings.sql +@@ -363,6 +363,11 @@ INSERT INTO global_suppressions VALUES + */ + ("Manifest file '.*' is not read-only. For better security, please make sure that the file is read-only."), + ++ /* ++ 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-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-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-fix-includes-robin-hood.patch b/SOURCES/mysql-fix-includes-robin-hood.patch new file mode 100644 index 0000000..0aca3ef --- /dev/null +++ b/SOURCES/mysql-fix-includes-robin-hood.patch @@ -0,0 +1,13 @@ +# Prevents fails when compiling with gcc11 (Fedora 34) +# Upstream PR: https://github.com/mysql/mysql-server/pull/323 + +--- mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h.old 2021-02-04 17:15:31.034997221 +0100 ++++ mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h 2021-02-04 17:15:50.781372066 +0100 +@@ -48,6 +48,7 @@ + #include + #include + #include ++#include + #if __cplusplus >= 201703L + # include + #endif 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-mtr.patch b/SOURCES/mysql-mtr.patch new file mode 100644 index 0000000..629ab5d --- /dev/null +++ b/SOURCES/mysql-mtr.patch @@ -0,0 +1,102 @@ +Avoid errors like: + +| Path length (109) is longer than maximum supported length (108) and will be truncated at /usr/lib64/perl5/vendor_perl/Socket.pm line 880, line 1. +| worker[2] mysql-test-run: *** ERROR: Socket path '/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.s390x/usr/share/mysql-test/var/tmp/2' too long, +| it would be truncated and thus not possible to use for connection to MySQL Server. Set a shorter with --tmpdir= option + +=== + +On Fedora 32: + +| $ grep -e "PATH" /usr/include/linux/limits.h +| #define PATH_MAX 4096 /* # chars in a path name including nul */ + +=== + +Thus setting the maximum path length on Fedora to 108 characters is just too short. + +BTW on the modern filesystems you can easily create path longer than PATH_MAX. +The PATH_MAX constant is unsafe. +Interesting article: https://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html + +=== + +The question is why haven't I encountered this issue until recently ? + +After the recent tweaks to the testsuite (between 8.0.24 and 8.0.25 release), the generated --tmpdir path changed from +| --tmpdir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/ +to +| --tmpdir=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ + +=== + +The whole setup changed as follows: +BEFORE: + +| Installing system database +| ### safe_path: /builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/runtime_output_directory///mysqltest_safe_process --verbose -- /builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/runtime_output_directory/mysqld --no-defaults --initialize-insecure --loose-skip-ndbcluster --tmpdir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/ --core-file --datadir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/data/ --secure-file-priv=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var --innodb_buffer_pool_size=24M --innodb-log-file-size=5M --innodb_autoextend_increment=8 --character-sets-dir=/builddir/build/BUILD/mysql-8.0.24/share/charsets --loose-auto_generate_certs=OFF --loose-sha256_password_auto_generate_rsa_keys=OFF --loose-caching_sha2_password_auto_generate_rsa_keys=OFF --init-file=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/bootstrap.sql + +AFTER: + +| Installing system database +| ### safe_path: /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/bin//mysqltest_safe_process --verbose -- /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/libexec/mysqld --no-defaults --initialize-insecure --loose-skip-ndbcluster --tmpdir=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ --core-file --datadir=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/data/ --secure-file-priv=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var --innodb_buffer_pool_size=24M --innodb-log-file-size=5M --innodb_autoextend_increment=8 --character-sets-dir=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql/charsets --loose-auto_generate_certs=OFF --loose-sha256_password_auto_generate_rsa_keys=OFF --loose-caching_sha2_password_auto_generate_rsa_keys=OFF --init-file=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/bootstrap.sql + +=== + +The likely cause is the added + +| cd %{buildroot}%{_datadir}/mysql-test + +which was not originally present in the SPECfile. + +However the MariaDB implementation does not have this issue, even though it has the same SPECfile %check phase code. + + +=== + +In the extended log, you can see '/tmp/XfTFAis2Jl' being created and deleted short after. +Even though the script warns about the path length, tries to workaround it; it destroyes that workaround short after and use the too-long path instead. + +I'm not sure whether the output is synchronous, but even if it wasn'tit still looks weird. + +| + cd /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test +| Logging: ./mysql-test-run.pl --verbose --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir --suite=main --mem --skip-test-list=platform-specific-tests.list +| Path length (109) is longer than maximum supported length (108) and will be truncated at /usr/lib64/perl5/vendor_perl/Socket.pm line 880. +| Too long tmpdir path '/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp' creating a shorter one +| - Using tmpdir: '/tmp/XfTFAis2Jl' +| > Collecting: main +| > testdir: /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/t +| > resdir: /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/r +| > Collecting: i_main +| Removing old var directory +| > opt_vardir: /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var +| > Removing /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/ +| > Removing /dev/shm/var_933_jfTb +| > Removing /tmp/XfTFAis2Jl/ +| Creating var directory '/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var' +| > Creating /dev/shm/var_933_jfTb +| - symlinking 'var' to '/dev/shm/var_933_jfTb' + + + + +--- mysql-8.0.24/mysql-test/mysql-test-run.pl 2021-05-10 04:29:44.391897891 +0200 ++++ mysql-8.0.24/mysql-test/mysql-test-run.pl_patched 2021-05-10 04:38:51.031702753 +0200 +@@ -3374,17 +3374,6 @@ sub setup_vardir() { + mkpath("$opt_vardir/tmp"); + mkpath($opt_tmpdir) if ($opt_tmpdir ne "$opt_vardir/tmp"); + +- # On some operating systems, there is a limit to the length of a +- # UNIX domain socket's path far below PATH_MAX. Don't allow that +- # to happen. +- my $res = +- check_socket_path_length("$opt_tmpdir/mysqld.NN.sock", $opt_parallel); +- if ($res) { +- mtr_error("Socket path '$opt_tmpdir' too long, it would be ", +- "truncated and thus not possible to use for connection to ", +- "MySQL Server. Set a shorter with --tmpdir= option"); +- } +- + # Copy all files from std_data into var/std_data + # and make them world readable + copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022"); diff --git a/SOURCES/mysql-openssl3.patch b/SOURCES/mysql-openssl3.patch new file mode 100644 index 0000000..1ffbfbf --- /dev/null +++ b/SOURCES/mysql-openssl3.patch @@ -0,0 +1,206 @@ +Make MySQL compile with openssl 3.x without FIPS properly implemented + +This change takes some pieces from MariaDB, including compat_ssl.h and +changes in my_md5.cc. + +MySQL utilizes FIPS_mode() and FIPS_mode_set() functions that are not +available in OpenSSL 3.x any more. This patch only mocks the call of +those functions, returning 0 every time, which effectively makes usage +of those functions non working. For making the MySQL build with +OpenSSL 3.x this seems to be enough though. + +Resolves: #1952951 + +diff -rup mysql-8.0.22-orig/cmake/ssl.cmake mysql-8.0.22/cmake/ssl.cmake +--- mysql-8.0.22-orig/cmake/ssl.cmake 2021-05-19 21:36:33.161996422 +0200 ++++ mysql-8.0.22/cmake/ssl.cmake 2021-05-19 23:06:54.211877057 +0200 +@@ -227,8 +227,7 @@ MACRO (MYSQL_CHECK_SSL) + ENDIF() + IF(OPENSSL_INCLUDE_DIR AND + OPENSSL_LIBRARY AND +- CRYPTO_LIBRARY AND +- OPENSSL_MAJOR_VERSION STREQUAL "1" ++ CRYPTO_LIBRARY + ) + SET(OPENSSL_FOUND TRUE) + FIND_PROGRAM(OPENSSL_EXECUTABLE openssl +diff -rup mysql-8.0.22-orig/include/ssl_compat.h mysql-8.0.22/include/ssl_compat.h +--- mysql-8.0.22-orig/include/ssl_compat.h 2021-05-19 23:19:36.152956356 +0200 ++++ mysql-8.0.22/include/ssl_compat.h 2021-05-19 23:06:55.048885933 +0200 +@@ -0,0 +1,105 @@ ++/* ++ Copyright (c) 2016, 2021, MariaDB Corporation. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; version 2 of the License. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ++ ++#include ++ ++/* OpenSSL version specific definitions */ ++#if defined(OPENSSL_VERSION_NUMBER) ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#define HAVE_OPENSSL11 1 ++#define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION) ++#define ERR_remove_state(X) ERR_clear_error() ++#define EVP_CIPHER_CTX_SIZE 176 ++#define EVP_MD_CTX_SIZE 48 ++#undef EVP_MD_CTX_init ++#define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) ++#undef EVP_CIPHER_CTX_init ++#define EVP_CIPHER_CTX_init(X) do { memset((X), 0, EVP_CIPHER_CTX_SIZE); EVP_CIPHER_CTX_reset(X); } while(0) ++ ++/* ++ Macros below are deprecated. OpenSSL 1.1 may define them or not, ++ depending on how it was built. ++*/ ++#undef ERR_free_strings ++#define ERR_free_strings() ++#undef EVP_cleanup ++#define EVP_cleanup() ++#undef CRYPTO_cleanup_all_ex_data ++#define CRYPTO_cleanup_all_ex_data() ++#undef SSL_load_error_strings ++#define SSL_load_error_strings() ++ ++#else ++#define HAVE_OPENSSL10 1 ++#ifdef HAVE_WOLFSSL ++#define SSL_LIBRARY "WolfSSL " WOLFSSL_VERSION ++#else ++#define SSL_LIBRARY SSLeay_version(SSLEAY_VERSION) ++#endif ++ ++#ifdef HAVE_WOLFSSL ++#undef ERR_remove_state ++#define ERR_remove_state(x) do {} while(0) ++#elif defined (HAVE_ERR_remove_thread_state) ++#define ERR_remove_state(X) ERR_remove_thread_state(NULL) ++#endif /* HAVE_ERR_remove_thread_state */ ++ ++#endif /* HAVE_OPENSSL11 */ ++#endif ++ ++#ifdef HAVE_WOLFSSL ++#define EVP_MD_CTX_SIZE sizeof(wc_Md5) ++#endif ++ ++#ifndef HAVE_OPENSSL11 ++#ifndef ASN1_STRING_get0_data ++#define ASN1_STRING_get0_data(X) ASN1_STRING_data(X) ++#endif ++#ifndef EVP_MD_CTX_SIZE ++#define EVP_MD_CTX_SIZE sizeof(EVP_MD_CTX) ++#endif ++ ++#define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) ++#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf) ++#define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt) ++#define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX) ++ ++#ifndef HAVE_WOLFSSL ++#define OPENSSL_init_ssl(X,Y) SSL_library_init() ++#define EVP_MD_CTX_reset(X) EVP_MD_CTX_cleanup(X) ++#define EVP_CIPHER_CTX_reset(X) EVP_CIPHER_CTX_cleanup(X) ++#define X509_get0_notBefore(X) X509_get_notBefore(X) ++#define X509_get0_notAfter(X) X509_get_notAfter(X) ++#endif ++#endif ++ ++#ifndef TLS1_3_VERSION ++//#define SSL_CTX_set_ciphersuites(X,Y) 0 ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif /* __cplusplus */ ++ ++int check_openssl_compatibility(); ++ ++#define FIPS_mode_set(X) 0 ++#define FIPS_mode() 0 ++ ++#ifdef __cplusplus ++} ++#endif +diff -rup mysql-8.0.22-orig/mysys/my_md5.cc mysql-8.0.22/mysys/my_md5.cc +--- mysql-8.0.22-orig/mysys/my_md5.cc 2021-05-19 21:36:31.738980913 +0200 ++++ mysql-8.0.22/mysys/my_md5.cc 2021-05-19 23:13:41.380194493 +0200 +@@ -34,13 +34,12 @@ + + #include + #include ++#include ++#include + + static void my_md5_hash(unsigned char *digest, unsigned const char *buf, + int len) { +- MD5_CTX ctx; +- MD5_Init(&ctx); +- MD5_Update(&ctx, buf, len); +- MD5_Final(digest, &ctx); ++ MD5(buf, len, digest); + } + + /** +diff -Naurp mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc* +--- mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc 2021-09-28 13:46:34.000000000 +0200 ++++ mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc_patched 2021-10-31 10:57:37.865934624 +0100 +@@ -30,6 +30,7 @@ + #include + #include + ++#include + #include + #include + #include +@@ -39,6 +40,7 @@ + #endif + + #include "openssl/engine.h" ++#include + + #include "xcom/task_debug.h" + #include "xcom/x_platform.h" +diff -rup mysql-8.0.22-orig/plugin/x/client/xconnection_impl.cc mysql-8.0.22/plugin/x/client/xconnection_impl.cc +--- mysql-8.0.22-orig/plugin/x/client/xconnection_impl.cc 2021-05-19 21:36:14.388791818 +0200 ++++ mysql-8.0.22/plugin/x/client/xconnection_impl.cc 2021-05-19 23:06:55.049885943 +0200 +@@ -31,6 +31,7 @@ + #ifdef HAVE_NETINET_IN_H + #include + #endif // HAVE_NETINET_IN_H ++#include + #include + #include + #include // NOLINT(build/c++11) +@@ -38,6 +39,7 @@ + #include + #include + #include ++#include + + #include "errmsg.h" // NOLINT(build/include_subdir) + #include "my_config.h" // NOLINT(build/include_subdir) +diff -rup mysql-8.0.22-orig/vio/viosslfactories.cc mysql-8.0.22/vio/viosslfactories.cc +--- mysql-8.0.22-orig/vio/viosslfactories.cc 2021-05-19 21:36:33.310998046 +0200 ++++ mysql-8.0.22/vio/viosslfactories.cc 2021-05-19 23:06:55.049885943 +0200 +@@ -39,7 +39,9 @@ + #include "mysys_err.h" + #include "vio/vio_priv.h" + ++#include + #include ++#include + + #if OPENSSL_VERSION_NUMBER < 0x10002000L + #include 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..21fd2d4 --- /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 6e378e94..7703cf85 100644 +--- a/include/my_rdtsc.h ++++ b/include/my_rdtsc.h +@@ -137,5 +137,6 @@ void my_timer_init(MY_TIMER_INFO *mti); + /* #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 - No longer used */ + #define MY_TIMER_ROUTINE_ASM_AARCH64 28 + #define MY_TIMER_ROUTINE_GET_THREAD_TIMES 29 ++#define MY_TIMER_ROUTINE_ASM_S390 30 + + #endif +diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc +index 3869db57..655a955e 100644 +--- a/mysys/my_rdtsc.cc ++++ b/mysys/my_rdtsc.cc +@@ -169,6 +169,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(); +@@ -491,6 +498,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { + mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC64; + #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-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..322577b --- /dev/null +++ b/SOURCES/mysql-scripts.patch @@ -0,0 +1,33 @@ +--- mysql-8.0.22/scripts/CMakeLists.txt.old 2020-10-21 11:08:50.654252563 +0200 ++++ mysql-8.0.22/scripts/CMakeLists.txt 2020-10-21 11:11:33.635935366 +0200 +@@ -507,4 +507,30 @@ + ) + ENDIF() + ENDIF() ++ ++ # files for systemd ++ SET(SYSTEMD_SCRIPTS ++ mysql.tmpfiles.d ++ mysql.service ++ mysql@.service ++ mysql-prepare-db-dir ++ mysql-wait-stop ++ mysql-check-socket ++ mysql-scripts-common ++ mysql_config_multilib ++ 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-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.rpmlintrc b/SOURCES/mysql.rpmlintrc new file mode 100644 index 0000000..605529e --- /dev/null +++ b/SOURCES/mysql.rpmlintrc @@ -0,0 +1,37 @@ +# THIS FILE SERVES FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# (same file in python3 package served as a great example) + + + +# Spelling errors +addFilter(r'spelling-error .* en_US (cnf|mysqld|subpackage) ') + +# Debug symlinks +addFilter(r'dangling-relative-symlink /usr/lib/.build-id') + +# Testsuite +# Some expected tests results are zero-length files +addFilter(r'(zero-length|pem-certificate|hidden-file-or-dir) /usr/share/mysql-test/*') + +# Chroot function +# False positive; checked by upstream +addFilter(r'missing-call-to-chdir-with-chroot') + +# Missing documentation +# I don't think that's on the upstream priority list +addFilter(r'no-documentation') +addFilter(r'no-manual-page-for-binary') + +# Cluster is gone +addFilter("W: obsolete-not-provided mysql-cluster") +addFilter("W: obsolete-not-provided mysql-bench") +addFilter("W: obsolete-not-provided community-mysql-bench") + +# Config file without noreplace flag +# Don't replace logs that may contain old entries +addFilter(r'conffile-without-noreplace-flag /var/log/mariadb/mariadb.log') + +# Seems pretty standard to me ... +addFilter(r'non-standard-dir-perm /var/log/mysql 750') diff --git a/SOURCES/mysql.service.in b/SOURCES/mysql.service.in new file mode 100644 index 0000000..0e96374 --- /dev/null +++ b/SOURCES/mysql.service.in @@ -0,0 +1,62 @@ +# 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@ +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..b7b2d48 --- /dev/null +++ b/SOURCES/mysql@.service.in @@ -0,0 +1,62 @@ +# 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@ +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/rh-skipped-tests-list-arm.list b/SOURCES/rh-skipped-tests-list-arm.list new file mode 100644 index 0000000..d5a710f --- /dev/null +++ b/SOURCES/rh-skipped-tests-list-arm.list @@ -0,0 +1,32 @@ +gis.st_latitude : BUG#0 fails on F32+ +gis.st_longitude : BUG#0 fails on F32+ + +perfschema.func_file_io : BUG#0 missing hw on 32-bit arm +perfschema.global_read_lock : BUG#0 missing hw on 32-bit arm +perfschema.relaylog : BUG#0 missing hw on 32-bit arm +perfschema.setup_objects : BUG#0 missing hw on 32-bit arm + +clone.remote_error_basic : BUG#0 fails since 8.0.19 on F32+, max_allowed_packet is 0 + +clone.remote_dml_auto_tune : BUG#0 + +# Unstable +clone.local_dml_auto_tune : BUG#0 +innodb.innodb_bug-13628249 : BUG#0 +main.grant_dynamic_flush : BUG#0 +innodb.innodb_read_only : BUG#0 + +rpl_nogtid.rpl_mixed_mixing_engines : BUG#0 timeout after 1800 secs or armv7hl + +# Failing on C9S & RHEL 9 for MySQL release 8.0.27 +sys_vars.innodb_buffer_pool_size_basic : BUG#0 + +# Unstable on aarch64 since MySQL 8.0.28 +innodb_undo.undo_settings : BUG#0 +perfschema.idx_session_account_connect_attrs : BUG#0 +perfschema.idx_session_connect_attrs : BUG#0 +rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 +sysschema.pr_ps_setup_show_enabled : BUG#0 +perfschema.idx_threads : BUG#0 +sys_vars.myisam_data_pointer_size_func : BUG#0 +federated.federated_server : BUG#0 diff --git a/SOURCES/rh-skipped-tests-list-base.list b/SOURCES/rh-skipped-tests-list-base.list new file mode 100644 index 0000000..4e0a12e --- /dev/null +++ b/SOURCES/rh-skipped-tests-list-base.list @@ -0,0 +1,51 @@ +# Fails on all arches +main.subquery_sj_mat_bka_nobnl : BUG#0 failing since 8.0.24 on F32+ +main.derived_limit : BUG#0 failing since 8.0.24 on F32+ +main.explain_tree : BUG#0 failing since 8.0.24 on F32+ + +auth_sec.keyring_file_data_qa : BUG#0 failing on F32+ +innodb.alter_kill : BUG#0 failing on F34+ +main.mtr_unit_tests : BUG#0 failing on F35+ + +# Fails when -DENABLED_LOCAL_INFILE=ON +main.mysql_load_data_local_dir : BUG#0 failing on F32+ + +# Unstable +innodb.innodb_force_recovery : BUG#0 unstable since 8.0.24 on F32+ +clone.local_dml_auto_tune : BUG#0 unstable on x86_64 and i686 +perfschema.threads_mysql : BUG#0 unstable on x86_64 and i686 +rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 unstable on x86_64 and i686 + +# Failing on 32-bit arches: armv7hl i686 s390x; since MySQL 8.0.25 +x.connection_unixsocket : BUG#0 +x.connection_unixsocket_invalid : BUG#0 +x.connection_unixsocket_lock : BUG#0 +innodb.innodb_bug-13628249 : BUG#0 + +# Failing on C9S & RHEL 9 for MySQL release 8.0.27 +auth_sec.admin_channel_tls : BUG#0 +auth_sec.cipher_support : BUG#0 +auth_sec.openssl_cert_generation : BUG#0 +auth_sec.openssl_without_fips : BUG#0 +auth_sec.ssl_mode : BUG#0 +auth_sec.tls : BUG#0 +auth_sec.tls12_tls1 : BUG#0 +binlog.binlog_grant_alter_user : BUG#0 +main.grant_alter_user_qa : BUG#0 +main.grant_user_lock_qa : BUG#0 +main.openssl_1 : BUG#0 +main.ssl_cipher : BUG#0 +main.ssl_dynamic : BUG#0 +x.connection_openssl : BUG#0 +x.connection_openssl_unixsocket : BUG#0 +x.connection_tls_version : BUG#0 +main.slow_log : BUG#0 +main.ctype_unicode900_as_cs : BUG#0 + +# Failing consistently, but only on C9S ZUUL CI mock build +main.loaddata_special : BUG#0 + +# Failing on all arches since MySQL 8.0.28 +innodb.trigger_function_lock_compare : BUG#0 +# Failing only in i686 since MySQL 8.0.28 +main.index_merge_myisam : BUG#0 diff --git a/SOURCES/rh-skipped-tests-list-ppc.list b/SOURCES/rh-skipped-tests-list-ppc.list new file mode 100644 index 0000000..4386e9c --- /dev/null +++ b/SOURCES/rh-skipped-tests-list-ppc.list @@ -0,0 +1,9 @@ +# ppc64le +sys_vars.innodb_buffer_pool_size_basic : BUG#0 fails only on ppc64le on f32+ + +# Failing on RHEL 9 for MySQL release 8.0.27 +main.sp-threads : BUG#0 +main.dd_upgrade_error : BUG#0 +main.dd_upgrade_non_debug : BUG#0 +main.dd_upgrade_partition : BUG#0 +main.partition_prefixkey_upgrade : BUG#0 diff --git a/SOURCES/rh-skipped-tests-list-s390.list b/SOURCES/rh-skipped-tests-list-s390.list new file mode 100644 index 0000000..c477261 --- /dev/null +++ b/SOURCES/rh-skipped-tests-list-s390.list @@ -0,0 +1,36 @@ +# Fails since 8.0.21 +x.resource_groups : BUG#0 + +# Fails since 8.0.22 +main.subquery_bugs : BUG#0 + +# Fails since F32 Mass Rebuild +gis.geometry_class_attri_prop : BUG#0 +gis.geometry_property_function_issimple : BUG#0 +gis.gis_bugs_crashes : BUG#0 +gis.spatial_analysis_functions_buffer : BUG#0 +gis.spatial_analysis_functions_centroid : BUG#0 +gis.spatial_analysis_functions_distance : BUG#0 +gis.spatial_operators_intersection : BUG#0 +gis.spatial_operators_union : BUG#0 +gis.spatial_operators_symdifference : BUG#0 +gis.spatial_op_testingfunc_mix : BUG#0 +gis.spatial_utility_function_distance_sphere : BUG#0 +gis.spatial_utility_function_simplify : BUG#0 + +main.window_std_var : BUG#0 +main.window_std_var_optimized : BUG#0 +main.with_recursive : BUG#0 + +# Unstable +main.grant_dynamic_flush : BUG#0 + +# Failing on C9S & RHEL 9 for MySQL release 8.0.27 +gis.st_symdifference : BUG#0 +main.regular_expressions_utf-8 : BUG#0 +main.subquery_sj_dupsweed : BUG#0 +main.subquery_sj_dupsweed_bka : BUG#0 +main.subquery_sj_dupsweed_bka_nobnl : BUG#0 +main.subquery_sj_firstmatch : BUG#0 +main.subquery_sj_firstmatch_bka : BUG#0 +main.subquery_sj_firstmatch_bka_nobnl : BUG#0 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..94f3bfe --- /dev/null +++ b/SPECS/mysql.spec @@ -0,0 +1,2942 @@ +# Name of the package without any prefixes +%global pkg_name %{name} +%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, but 0 on production ready build +%global ignore_testsuite_result 0 + +# The last version on which the full testsuite has been run +# In case of further rebuilds of that version, don't require full testsuite to be run +# run only "main" suite +%global last_tested_version 8.0.28 +# Set to 1 to force run the testsuite even if it was already tested in current version +%global force_run_testsuite 0 +# Aditional SELinux rules +%global require_mysql_selinux 1 + +# In f20+ use unversioned docdirs, otherwise the old versioned one +%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} + +# 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 +%bcond_without clibrary +%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 +%bcond_with config + +# For deep debugging we need to build binaries with extra debug info +%bcond_with debug + +%global boost_bundled_version 1.73.0 + +# Include files for systemd +%global daemon_name mysqld +%global daemon_no_prefix mysqld + +# Directory for storing pid file +%global pidfiledir %{_rundir}/%{daemon_name} + +# We define some system's well known locations here so we can use them easily +# later when building to another location (like SCL) +%global logrotateddir %{_sysconfdir}/logrotate.d +%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 +%bcond_without mysql_names +%bcond_without conflicts + +# Make long macros shorter +%global sameevr %{?epoch:%{epoch}:}%{version}-%{release} + +Name: mysql +Version: 8.0.28 +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 +Source14: mysql-check-socket.sh +Source15: mysql-scripts-common.sh +Source17: mysql-wait-stop.sh +Source18: mysql@.service.in +# To track rpmlint warnings +Source30: %{pkgnamepatch}.rpmlintrc +# Configuration for server +Source31: server.cnf.in +# Skipped tests lists +Source50: rh-skipped-tests-list-base.list +Source51: rh-skipped-tests-list-arm.list +Source52: rh-skipped-tests-list-s390.list +Source53: rh-skipped-tests-list-ppc.list + +# 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 +Patch55: %{pkgnamepatch}-rpath.patch +Patch56: %{pkgnamepatch}-mtr.patch +Patch75: %{pkgnamepatch}-arm32-timer.patch +Patch79: %{pkgnamepatch}-openssl3.patch +Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch + +# Patches taken from boost 1.59 +Patch115: boost-1.58.0-pool.patch +Patch125: boost-1.57.0-mpl-print.patch + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: libaio-devel +BuildRequires: libedit-devel +BuildRequires: libevent-devel +BuildRequires: libicu-devel +BuildRequires: lz4 +BuildRequires: lz4-devel +BuildRequires: mecab-devel +BuildRequires: bison +BuildRequires: libcurl-devel +BuildRequires: libzstd-devel +%ifnarch aarch64 %{arm} s390 s390x +BuildRequires: numactl-devel +%endif +BuildRequires: openssl +BuildRequires: openssl-devel +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: perl-interpreter +BuildRequires: perl-generators +%endif +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: rpcgen +BuildRequires: libtirpc-devel +%endif +BuildRequires: protobuf-lite-devel +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) +BuildRequires: systemd +BuildRequires: make + +# Since MySQL 8.0.28 +BuildRequires: libfido2-devel + + +Requires: bash coreutils grep +Requires: %{name}-common%{?_isa} = %{sameevr} + +Provides: bundled(boost) = %{boost_bundled_version} + + +%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} + +# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ + +%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} +%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 + +%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 + +%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 +Requires: %{name}-common%{?_isa} = %{sameevr} + +%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 +Suggests: %{name}%{?_isa} = %{sameevr} +Requires: mysql%{?_isa} + +Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{_sysconfdir}/my.cnf +Requires: %{_sysconfdir}/my.cnf.d +Requires: %{name}-errmsg%{?_isa} = %{sameevr} +%{?mecab:Requires: mecab-ipadic} +Requires: coreutils +Requires(pre): /usr/sbin/useradd +# We require this to be present for %%{_tmpfilesdir} +Requires: systemd +# Make sure it's there when scriptlets run, too +%{?systemd_requires: %systemd_requires} +# SYS_NICE capabilities; #1540946 +Recommends: libcap +# semanage +Requires(post): policycoreutils-python-utils + +# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package +# For cases, where we want to fix a SELinux issues in MySQL sooner than patched selinux-policy-targeted package is released +%if %require_mysql_selinux +Requires: (mysql-selinux if selinux-policy-targeted) +%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} +%endif +%{?with_conflicts:Conflicts: mariadb-server} +%{?with_conflicts:Conflicts: mariadb-galera-server} + +%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 +Requires: libzstd-devel +%{?with_conflicts:Conflicts: mariadb-devel} + +%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: lz4 +Requires: openssl +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} +%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 + + +%prep +%setup -q -n mysql-%{version} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch51 -p1 +%patch52 -p1 +%patch55 -p1 +%patch56 -p1 +%patch75 -p1 +%patch79 -p1 +%patch80 -p1 + +# Patch Boost +pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) +%patch115 -p0 +%patch125 -p1 +popd + +# generate a list of tests that fail, but are not disabled by upstream +cat %{SOURCE50} | tee -a mysql-test/%{skiplist} + +# disable some tests failing on different architectures +%ifarch %{arm} aarch64 +cat %{SOURCE51} | tee -a mysql-test/%{skiplist} +%endif + +%ifarch s390 s390x +cat %{SOURCE52} | tee -a mysql-test/%{skiplist} +%endif + +%ifarch ppc ppc64 ppc64p7 ppc64le +cat %{SOURCE53} | tee -a mysql-test/%{skiplist} +%endif + +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ + %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts + +%build +# arm build ends with out of memory error for LTO enabled build +%ifarch %arm +%define _lto_cflags %{nil} +%endif + +# 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 + +# 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}" \ + -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_SUPPORTFILESDIR=share/%{pkg_name} \ + -DMYSQL_DATADIR="%{dbdatadir}" \ + -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DENABLED_LOCAL_INFILE=ON \ + -DWITH_SYSTEMD=1 \ + -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ + -DSYSTEMD_PID_DIR="%{pidfiledir}" \ + -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 \ + -DWITH_MECAB=system \ + -DWITH_FIDO=system \ + -DWITH_BOOST=boost \ + -DREPRODUCIBLE_BUILD=OFF \ + -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -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}" \ + -DCMAKE_SKIP_INSTALL_RPATH=YES \ + -DWITH_UNIT_TESTS=0 + +# Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 + +# Note: disabling building of unittests to workaround #1989847 + +cmake -B %{_vpath_builddir} -LAH + +%cmake_build + +%install +%cmake_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 %{_vpath_builddir}/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 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ + +mkdir -p %{buildroot}%{logfiledir} + +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 + +%if %{with config} +install -D -p -m 0644 %{_vpath_builddir}/scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf +%endif + +# install systemd unit files and scripts for handling server startup +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf +rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf + +# helper scripts for service starting +install -D -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 %{_vpath_builddir}/scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop +install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf + +rm %{buildroot}%{_libdir}/mysql/*.a +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} + +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d +echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf + +# 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 ../libexec/mysqld %{buildroot}%{_sbindir}/mysqld + +%if %{with debug} +mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld +%endif + +# copy additional docs into build tree so %%doc will find them +install -p -m 0644 %{SOURCE6} %{_vpath_srcdir}/%{basename:%{SOURCE6}} +install -p -m 0644 %{SOURCE7} %{_vpath_srcdir}/%{basename:%{SOURCE7}} + +# Install the list of skipped tests to be available for user runs +install -p -m 0644 %{_vpath_srcdir}/mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test + +%if %{without clibrary} +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d +%endif + +%if %{without devel} +rm %{buildroot}%{_bindir}/mysql_config* +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/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,zlib_decompress,mysql_keyring_encryption_test} +rm -r %{buildroot}%{_datadir}/mysql-test +%endif + + + +%check +%if %{with test} +%if %runselftest +pushd %_vpath_builddir +# Note: disabling building of unittests to workaround #1989847 +#make test VERBOSE=1 +pushd mysql-test +cp ../../mysql-test/%{skiplist} . + +# Builds might happen at the same host, avoid collision +# The port used is calculated as 10 * MTR_BUILD_THREAD + 10000 +# The resulting port must be between 5000 and 32767 +export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) + +( + set -ex + cd %{buildroot}%{_datadir}/mysql-test + + export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir --skip-innodb-use-native-aio " + + # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run + if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] + then + # in further rebuilds only run the basic "main" suite (~800 tests) + echo "running only base testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments --suite=main --mem --skip-test-list=%{skiplist} + fi + + # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test) + if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]] + then + echo "running advanced testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments \ + %if %{ignore_testsuite_result} + --max-test-fail=9999 || : + %else + --skip-test-list=%{skiplist} + %endif + fi + + # There might be a dangling symlink left from the testing, remove it to not be installed + rm -r var $(readlink var) +) + +popd +popd + +%endif +%endif + + + +%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 || : + +%post server +%systemd_post %{daemon_name}.service +if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then + install /dev/null -m0640 -omysql -gmysql "%{logfile}" +fi + +%preun server +%systemd_preun %{daemon_name}.service + +%postun server +%systemd_postun_with_restart %{daemon_name}.service + + + +%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.* +%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_migrate_keyring +%{_bindir}/mysql_secure_installation +%{_bindir}/mysql_ssl_rsa_setup +%{_bindir}/mysql_tzinfo_to_sql +%{_bindir}/mysql_upgrade +%{_bindir}/mysqld_pre_systemd +%{_bindir}/mysqldumpslow +%{_bindir}/innochecksum +%{_bindir}/perror + +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf + +%{_sbindir}/mysqld +# sys_nice capability required for rhbz#1628814 +%caps(cap_sys_nice=ep) %{_libexecdir}/mysqld + +%{_libdir}/mysql/INFO_SRC +%{_libdir}/mysql/INFO_BIN +%if %{without common} +%dir %{_datadir}/%{pkg_name} +%endif + +%dir %{_libdir}/mysql/plugin +%{_libdir}/mysql/plugin/adt_null.so +%{_libdir}/mysql/plugin/auth_socket.so +%{_libdir}/mysql/plugin/component_audit_api_message_emit.so +%{_libdir}/mysql/plugin/component_keyring_file.so +%{_libdir}/mysql/plugin/component_log_filter_dragnet.so +%{_libdir}/mysql/plugin/component_log_sink_json.so +%{_libdir}/mysql/plugin/component_log_sink_syseventlog.so +%{_libdir}/mysql/plugin/component_mysqlbackup.so +%{_libdir}/mysql/plugin/component_query_attributes.so +%{_libdir}/mysql/plugin/component_reference_cache.so +%{_libdir}/mysql/plugin/component_validate_password.so +%{_libdir}/mysql/plugin/connection_control.so +%{_libdir}/mysql/plugin/daemon_example.ini +%{_libdir}/mysql/plugin/ddl_rewriter.so +%{_libdir}/mysql/plugin/group_replication.so +%{_libdir}/mysql/plugin/ha_example.so +%{_libdir}/mysql/plugin/ha_mock.so +%{_libdir}/mysql/plugin/innodb_engine.so +%{_libdir}/mysql/plugin/keyring_file.so +%{_libdir}/mysql/plugin/keyring_udf.so +%{_libdir}/mysql/plugin/libmemcached.so +%{_libdir}/mysql/plugin/libpluginmecab.so +%{_libdir}/mysql/plugin/locking_service.so +%{_libdir}/mysql/plugin/mypluglib.so +%{_libdir}/mysql/plugin/mysql_clone.so +%{_libdir}/mysql/plugin/mysql_no_login.so +%{_libdir}/mysql/plugin/rewrite_example.so +%{_libdir}/mysql/plugin/rewriter.so +%{_libdir}/mysql/plugin/semisync_master.so +%{_libdir}/mysql/plugin/semisync_replica.so +%{_libdir}/mysql/plugin/semisync_slave.so +%{_libdir}/mysql/plugin/semisync_source.so +%{_libdir}/mysql/plugin/validate_password.so +%{_libdir}/mysql/plugin/version_token.so + +%{_mandir}/man1/ibd2sdi.1* +%{_mandir}/man1/myisamchk.1* +%{_mandir}/man1/myisamlog.1* +%{_mandir}/man1/myisampack.1* +%{_mandir}/man1/myisam_ftdump.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* +%{_mandir}/man1/mysqlman.1* +%{_mandir}/man1/innochecksum.1* +%{_mandir}/man1/perror.1* +%{_mandir}/man1/lz4_decompress.1* +%{_mandir}/man8/mysqld.8* + +%{_datadir}/%{pkg_name}/dictionary.txt +%{_datadir}/%{pkg_name}/*.sql + +%{_unitdir}/%{daemon_name}* +%{_libexecdir}/mysql-prepare-db-dir +%{_libexecdir}/mysql-wait-stop +%{_libexecdir}/mysql-check-socket +%{_libexecdir}/mysql-scripts-common + +%{_tmpfilesdir}/%{daemon_name}.conf +%attr(0755,mysql,mysql) %dir %{dbdatadir} +%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} + +%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/mysqlclient.pc +%{_mandir}/man1/mysql_config.1* +%endif + +%if %{with test} +%files test +%{_bindir}/mysql_client_test +%{_bindir}/mysql_keyring_encryption_test +%{_bindir}/mysqltest +%{_bindir}/mysqltest_safe_process +%{_bindir}/mysqlxtest +%{_bindir}/mysqld_safe +%{_bindir}/comp_err +%{_bindir}/zlib_decompress +%attr(-,mysql,mysql) %{_datadir}/mysql-test +%{_mandir}/man1/zlib_decompress.1* + +%dir %{_libdir}/mysql/plugin +%{_libdir}/mysql/plugin/auth.so +%{_libdir}/mysql/plugin/auth_test_plugin.so +%{_libdir}/mysql/plugin/component_example_component1.so +%{_libdir}/mysql/plugin/component_example_component2.so +%{_libdir}/mysql/plugin/component_example_component3.so +%{_libdir}/mysql/plugin/component_log_sink_test.so +%{_libdir}/mysql/plugin/component_mysqlx_global_reset.so +%{_libdir}/mysql/plugin/component_pfs_example_component_population.so +%{_libdir}/mysql/plugin/component_pfs_example.so +%{_libdir}/mysql/plugin/component_test_audit_api_message.so +%{_libdir}/mysql/plugin/component_test_backup_lock_service.so +%{_libdir}/mysql/plugin/component_test_component_deinit.so +%{_libdir}/mysql/plugin/component_test_host_application_signal.so +%{_libdir}/mysql/plugin/component_test_mysql_current_thread_reader.so +%{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so +%{_libdir}/mysql/plugin/component_test_mysql_system_variable_set.so +%{_libdir}/mysql/plugin/component_test_pfs_notification.so +%{_libdir}/mysql/plugin/component_test_pfs_resource_group.so +%{_libdir}/mysql/plugin/component_test_status_var_service_int.so +%{_libdir}/mysql/plugin/component_test_status_var_service_reg_only.so +%{_libdir}/mysql/plugin/component_test_status_var_service.so +%{_libdir}/mysql/plugin/component_test_status_var_service_str.so +%{_libdir}/mysql/plugin/component_test_status_var_service_unreg_only.so +%{_libdir}/mysql/plugin/component_test_string_service_charset.so +%{_libdir}/mysql/plugin/component_test_string_service_long.so +%{_libdir}/mysql/plugin/component_test_string_service.so +%{_libdir}/mysql/plugin/component_test_system_variable_source.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_int.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_same.so +%{_libdir}/mysql/plugin/component_test_sys_var_service.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_str.so +%{_libdir}/mysql/plugin/component_test_table_access.so +%{_libdir}/mysql/plugin/component_test_udf_registration.so +%{_libdir}/mysql/plugin/component_test_udf_services.so +%{_libdir}/mysql/plugin/component_udf_reg_3_func.so +%{_libdir}/mysql/plugin/component_udf_reg_avg_func.so +%{_libdir}/mysql/plugin/component_udf_reg_int_func.so +%{_libdir}/mysql/plugin/component_udf_reg_int_same_func.so +%{_libdir}/mysql/plugin/component_udf_reg_only_3_func.so +%{_libdir}/mysql/plugin/component_udf_reg_real_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_3_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_int_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_real_func.so +%{_libdir}/mysql/plugin/libdaemon_example.so +%{_libdir}/mysql/plugin/libtest_framework.so +%{_libdir}/mysql/plugin/libtest_services.so +%{_libdir}/mysql/plugin/libtest_services_threaded.so +%{_libdir}/mysql/plugin/libtest_session_attach.so +%{_libdir}/mysql/plugin/libtest_session_detach.so +%{_libdir}/mysql/plugin/libtest_session_info.so +%{_libdir}/mysql/plugin/libtest_session_in_thd.so +%{_libdir}/mysql/plugin/libtest_sql_2_sessions.so +%{_libdir}/mysql/plugin/libtest_sql_all_col_types.so +%{_libdir}/mysql/plugin/libtest_sql_cmds_1.so +%{_libdir}/mysql/plugin/libtest_sql_commit.so +%{_libdir}/mysql/plugin/libtest_sql_complex.so +%{_libdir}/mysql/plugin/libtest_sql_errors.so +%{_libdir}/mysql/plugin/libtest_sql_lock.so +%{_libdir}/mysql/plugin/libtest_sql_processlist.so +%{_libdir}/mysql/plugin/libtest_sql_replication.so +%{_libdir}/mysql/plugin/libtest_sql_reset_connection.so +%{_libdir}/mysql/plugin/libtest_sql_shutdown.so +%{_libdir}/mysql/plugin/libtest_sql_sleep_is_connected.so +%{_libdir}/mysql/plugin/libtest_sql_sqlmode.so +%{_libdir}/mysql/plugin/libtest_sql_stmt.so +%{_libdir}/mysql/plugin/libtest_sql_stored_procedures_functions.so +%{_libdir}/mysql/plugin/libtest_sql_views_triggers.so +%{_libdir}/mysql/plugin/libtest_x_sessions_deinit.so +%{_libdir}/mysql/plugin/libtest_x_sessions_init.so +%{_libdir}/mysql/plugin/pfs_example_plugin_employee.so +%{_libdir}/mysql/plugin/qa_auth_client.so +%{_libdir}/mysql/plugin/qa_auth_interface.so +%{_libdir}/mysql/plugin/qa_auth_server.so +%{_libdir}/mysql/plugin/replication_observers_example_plugin.so +%{_libdir}/mysql/plugin/test_security_context.so +%{_libdir}/mysql/plugin/test_services_host_application_signal.so +%{_libdir}/mysql/plugin/test_services_plugin_registry.so +%{_libdir}/mysql/plugin/test_udf_services.so +%{_libdir}/mysql/plugin/udf_example.so +%endif + +%changelog +* Wed Jan 05 2022 Lars Tangvald - 8.0.28-1 +- Update to MySQL 8.0.28 + +* Sun Oct 31 2021 Lars Tangvald - 8.0.27-1 +- Update to MySQL 8.0.27 + +* Tue Sep 21 2021 Lars Tangvald - 8.0.26-1 +- Update to MySQL 8.0.26 + +* Tue Sep 21 2021 Michal Schorm - 8.0.25-1 +- Update to MySQL 8.0.25 + +* Tue Sep 14 2021 Lars Tangvald - 8.0.24-1 +- Update to MySQL 8.0.24 +- Upstreamed patch: mysql-main-cast.patch + +* Tue Sep 14 2021 Lars Tangvald - 8.0.23-1 +- Update to MySQL 8.0.23 +- Created mysql-fix-includes-robin-hood.patch +- Created mysql-main-cast.patch + +* Mon Aug 09 2021 Mohan Boddu - 8.0.22-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Wed Jun 16 2021 Mohan Boddu - 8.0.22-6 +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Thu May 20 2021 Honza Horak - 8.0.22-5 +- Make MySQL compile with openssl 3.x without FIPS properly implemented + Resolves: #1952951 + +* Fri Apr 16 2021 Mohan Boddu - 8.0.22-4 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 8.0.22-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jan 12 14:21:47 CET 2021 Adrian Reber - 8.0.22-2 +- Rebuilt for protobuf 3.14 + +* Wed Oct 21 2020 Lukas Javorsky - 8.0.22-1 +- Update to MySQL 8.0.22 +- community-mysql-certs-expired.patch patched by upstream +- community-mysql-lto.patch patched by upstream + +* Tue Oct 20 2020 Jeff Law - 8.0.21-16 +- Fix another missing #include for gcc-11 + +* Tue Oct 06 2020 Jeff Law - 8.0.21-15 +- Add missing #include for gcc-11 + +* Thu Oct 01 13:33:42 CEST 2020 Zbigniew Jędrzejewski-Szmek - 8.0.21-14 +- Rebuilt for libevent 2.1.12 (again) + +* Wed Sep 23 2020 Adrian Reber - 8.0.21-13 +- Rebuilt for protobuf 3.13 + +* Tue Sep 15 2020 Michal Schorm - 8.0.21-12 +- Rebuild due to libevent soname change + +* Tue Aug 25 2020 Michal Schorm - 8.0.21-11 +- Start building the MeCab plugin + +* Mon Aug 24 2020 Michal Schorm - 8.0.21-10 +- Fix the filelist. A number of shared libraries in the plugindir + are part of the testsuite and thus should reside in *-test subpackage + It will be best to keep the file list explicit to avoid this in the future + +* Tue Aug 18 2020 Michal Schorm - 8.0.21-9 +- I encounter the ARM memory exaustion in the end + Looks like it is only issue on some machines + +* Tue Aug 18 2020 Michal Schorm - 8.0.21-8 +- I haven't encounter the ARM memory exaustion on Fedora build infrastructure + Let's enable it and see how it will work + +* Mon Aug 17 2020 Lars Tangvald - 8.0.21-7 +- Use upstream patch to enable LTO +- Skip LTO on ARM due to out of memory issue + +* Thu Aug 13 2020 Michal Schorm - 8.0.21-6 +- Do a proper out-of-source CMake builds +- Force the CMake change regarding the in-source builds also to F31 and F32 +- Use CMake macros instead of cmake & make direct commands +- %%cmake macro covers the %%{set_build_flags}, so they are not needed +- Remove ancient obsoletes + +* Wed Aug 12 2020 Honza Horak - 8.0.21-5 +- Check that we have correct versions in bundled(*) Provides +- Remove re2 dependency that is not needed any more + +* Thu Aug 06 2020 Jeff Law - 8.0.21-4 +- Disable LTO + +* Sat Aug 01 2020 Fedora Release Engineering - 8.0.21-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 8.0.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 17 2020 Lars Tangvald - 8.0.21-1 +- Update to MySQL 8.0.21 + +* Sun Jun 14 2020 Adrian Reber - 8.0.20-3 +- Rebuilt for protobuf 3.12 + +* Fri May 15 2020 Pete Walter - 8.0.20-2 +- Rebuild for ICU 67 + +* Sun Apr 26 2020 Lars Tangvald - 8.0.20-1 +- Update to MySQL 8.0.20 + +* Wed Apr 01 2020 Jitka Plesnikova - 8.0.19-3 +- Specify all perl dependencies + +* Tue Jan 28 2020 Fedora Release Engineering - 8.0.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 02 2020 Lars Tangvald - 8.0.19-1 +- Update to MySQL 8.0.19 + +* Thu Dec 19 2019 Adrian Reber - 8.0.18-6 +- Include patch to build against protobuf 3.11 + +* Thu Dec 19 2019 Orion Poplawski - 8.0.18-5 +- Rebuild for protobuf 3.11 + +* Fri Nov 15 2019 Michal Schorm - 8.0.18-4 +- Typo fixup + +* Mon Nov 11 2019 Michal Schorm - 8.0.18-3 +- Let the devel package require the libzstd-devel + +* Fri Nov 01 2019 Pete Walter - 8.0.18-2 +- Rebuild for ICU 65 + +* Mon Oct 14 2019 Lars Tangvald - 8.0.18-1 +- Update to MySQL 8.0.18 + +* Mon Aug 19 2019 Michal Schorm - 8.0.17-2 +- Use RELRO hardening on all binaries + +* Wed Jul 31 2019 Lars Tangvald - 8.0.17-1 +- Update to MySQL 8.0.17 + +* Wed Jul 24 2019 Fedora Release Engineering - 8.0.16-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed May 01 2019 Michal Schorm - 8.0.16-2 +- Remove SysVInit stuff, no longer needed +- Clean up the SPECfile + +* Fri Apr 26 2019 Lars Tangvald - 8.0.16-1 +- Update to MySQL 8.0.16 +- Rediff sharedir patch +- Refresh skip list and use new, required format +- Remove GCC9 patch now upstream +- Upstream: my_safe_process renamed and moved into proper location +- Use upstream option to skip router build +- OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests +- Update version of bundled Boost +- Start requiring mysql-selinux package + +* Mon Feb 11 2019 Michal Schorm - 8.0.15-1 +- Update to MySQL 8.0.15 + +* Thu Jan 31 2019 Fedora Release Engineering - 8.0.14-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Jan 27 2019 Honza Horak - 8.0.14-2 +- Use RPATH for mysqld, so we can later set capabilities +- Set capabilities for mysqld the correct way + +* Mon Jan 21 2019 Lars Tangvald - 8.0.14-1 +- Update to MySQL 8.0.14 +- Remove fedora version condition that are no longer relevant +- Update skipped tests list +- CVEs fixed: #1666778 + CVE-2019-2420 CVE-2019-2434 CVE-2019-2436 CVE-2019-2455 CVE-2019-2481 + CVE-2019-2482 CVE-2019-2486 CVE-2019-2494 CVE-2019-2495 CVE-2019-2502 + CVE-2019-2503 CVE-2019-2507 CVE-2019-2510 CVE-2019-2528 CVE-2019-2529 + CVE-2019-2530 CVE-2019-2531 CVE-2019-2532 CVE-2019-2533 CVE-2019-2534 + CVE-2019-2535 CVE-2019-2536 CVE-2019-2537 CVE-2019-2539 + +* Wed Jan 16 2019 Michal Schorm - 8.0.13-3 +- Tweak handling of the mysql-selinux requirement + +* Mon Jan 14 2019 Björn Esser - 8.0.13-2 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Tue Oct 23 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. +- 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 + +* Thu Sep 06 2018 Michal Schorm - 8.0.12-2 +- Fix the SYS_NICE capabilities + Related: #1540946 +- Add requires for the semanage binary + +* Wed Aug 01 2018 Norvald H. Ryeng - 8.0.12-1 +- Update to MySQL 8.0.12 + +* 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 + +* Thu Jul 12 2018 Fedora Release Engineering - 8.0.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* 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.