From c90525079442451a34661d5796ac08c4397d8f2c Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Fri, 25 Oct 2024 17:13:40 +0300 Subject: [PATCH] import mysql8.4-8.4.2-4.el10 --- .gitignore | 1 + .mysql8.4.metadata | 1 + SOURCES/README.mysql-docs | 4 + SOURCES/README.mysql-license | 9 + SOURCES/boost-1.57.0-mpl-print.patch | 28 + SOURCES/my.cnf.in | 16 + SOURCES/mysql-check-socket.sh | 39 + SOURCES/mysql-file-contents.patch | 45 + SOURCES/mysql-flush-logrotate.patch | 17 + SOURCES/mysql-install-test.patch | 52 + SOURCES/mysql-openssl-engine.patch | 15 + SOURCES/mysql-paths.patch | 77 + SOURCES/mysql-prepare-db-dir.sh | 112 + SOURCES/mysql-rpath.patch | 19 + SOURCES/mysql-scripts-common.sh | 68 + SOURCES/mysql-scripts.patch | 33 + SOURCES/mysql-sharedir.patch | 27 + SOURCES/mysql-wait-stop.sh | 36 + SOURCES/mysql.rpmlintrc | 37 + SOURCES/mysql.service.in | 62 + SOURCES/mysql.tmpfiles.d.in | 1 + SOURCES/mysql@.service.in | 62 + SOURCES/mysql_config_multilib.sh | 26 + SOURCES/rh-skipped-tests-list-arm.list | 0 SOURCES/rh-skipped-tests-list-base.list | 37 + SOURCES/rh-skipped-tests-list-ppc.list | 49 + SOURCES/rh-skipped-tests-list-s390.list | 7 + SOURCES/server.cnf.in | 18 + SPECS/mysql8.4.spec | 3224 +++++++++++++++++++++++ 29 files changed, 4122 insertions(+) create mode 100644 .gitignore create mode 100644 .mysql8.4.metadata create mode 100644 SOURCES/README.mysql-docs create mode 100644 SOURCES/README.mysql-license create mode 100644 SOURCES/boost-1.57.0-mpl-print.patch create mode 100644 SOURCES/my.cnf.in create mode 100644 SOURCES/mysql-check-socket.sh create mode 100644 SOURCES/mysql-file-contents.patch create mode 100644 SOURCES/mysql-flush-logrotate.patch create mode 100644 SOURCES/mysql-install-test.patch create mode 100644 SOURCES/mysql-openssl-engine.patch create mode 100644 SOURCES/mysql-paths.patch create mode 100644 SOURCES/mysql-prepare-db-dir.sh create mode 100644 SOURCES/mysql-rpath.patch create mode 100644 SOURCES/mysql-scripts-common.sh create mode 100644 SOURCES/mysql-scripts.patch create mode 100644 SOURCES/mysql-sharedir.patch create mode 100644 SOURCES/mysql-wait-stop.sh create mode 100644 SOURCES/mysql.rpmlintrc create mode 100644 SOURCES/mysql.service.in create mode 100644 SOURCES/mysql.tmpfiles.d.in create mode 100644 SOURCES/mysql@.service.in create mode 100644 SOURCES/mysql_config_multilib.sh create mode 100644 SOURCES/rh-skipped-tests-list-arm.list create mode 100644 SOURCES/rh-skipped-tests-list-base.list create mode 100644 SOURCES/rh-skipped-tests-list-ppc.list create mode 100644 SOURCES/rh-skipped-tests-list-s390.list create mode 100644 SOURCES/server.cnf.in create mode 100644 SPECS/mysql8.4.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a5b974 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/mysql-8.4.2.tar.gz diff --git a/.mysql8.4.metadata b/.mysql8.4.metadata new file mode 100644 index 0000000..7d35531 --- /dev/null +++ b/.mysql8.4.metadata @@ -0,0 +1 @@ +95f2308583c42fc1969583071c109152f7cdd502 SOURCES/mysql-8.4.2.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..0e70d4b --- /dev/null +++ b/SOURCES/boost-1.57.0-mpl-print.patch @@ -0,0 +1,28 @@ +--- mysql-8.4.0/extra/boost/boost_1_84_0/boost/mpl/print.hpp 2024-04-10 08:26:28.000000000 +0200 ++++ mysql-8.4.0/extra/boost/boost_1_84_0/boost/mpl/print.hpp_patched 2024-05-28 15:35:45.071390863 +0200 +@@ -55,16 +55,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 --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-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-flush-logrotate.patch b/SOURCES/mysql-flush-logrotate.patch new file mode 100644 index 0000000..1e30f6a --- /dev/null +++ b/SOURCES/mysql-flush-logrotate.patch @@ -0,0 +1,17 @@ +diff -up mysql-8.0.35/support-files/mysql-log-rotate.in.origf mysql-8.0.35/support-files/mysql-log-rotate.in +--- mysql-8.0.35/support-files/mysql-log-rotate.in.origf 2024-01-29 23:00:32.043257515 +0100 ++++ mysql-8.0.35/support-files/mysql-log-rotate.in 2024-01-29 23:02:26.520440388 +0100 +@@ -49,11 +49,7 @@ + missingok + compress + postrotate +- # just if mysqld is really running +- if test -x @bindir@/mysqladmin && \ +- @bindir@/mysqladmin ping &>/dev/null +- then +- @bindir@/mysqladmin flush-logs +- fi ++ # SIGUSR1 makes the daemon to flush the logs, no need to connect ++ @bindir@/kill -USR1 $(systemctl show --property MainPID --value mysqld) + endscript + } 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-openssl-engine.patch b/SOURCES/mysql-openssl-engine.patch new file mode 100644 index 0000000..28ced66 --- /dev/null +++ b/SOURCES/mysql-openssl-engine.patch @@ -0,0 +1,15 @@ +https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine +https://fedoraproject.org/wiki/Changes/OpensslNoEngine + +--- mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc 2024-04-10 08:26:28.000000000 +0200 ++++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc_patched 2024-07-18 18:33:26.237771364 +0200 +@@ -50,7 +50,9 @@ + #include "my_compiler.h" + #endif + ++#if !defined(OPENSSL_NO_ENGINE) + #include "openssl/engine.h" ++#endif + + #include "xcom/retry.h" + #include "xcom/task_debug.h" 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-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..e69de29 diff --git a/SOURCES/rh-skipped-tests-list-base.list b/SOURCES/rh-skipped-tests-list-base.list new file mode 100644 index 0000000..bacf4ed --- /dev/null +++ b/SOURCES/rh-skipped-tests-list-base.list @@ -0,0 +1,37 @@ +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+ + +# Expected to fail in Fedora 33+ +# TLS 1.1 and older has been disabled by system-wide crypto-policies setting +# https://fedoraproject.org/wiki/Changes/StrongCryptoSettings2 +# Tests pass when using legacy crypto-policies seetings +x.connection_tls_version : BUG#0 Expected to fail on F33+ + +# We intentionaly compile in a different default value than the upstream +# Thus the commands expected by upstream to fail succeeds in our builds +# and thus the test fails +# Cmake option: -DENABLED_LOCAL_INFILE=ON +main.mysql_load_data_local_dir : BUG#0 Intentional divergence from the upstream compiled-in default + +# Failing since MySQL 8.0.29 +main.mysqlpump_bugs : BUG#0 + +# Failing since 8.0.34 +binlog.binlog_mysqlbinlog_linux : BUG#0 + +# Failing since 8.0.37 +auth_sec.wl15800_ciphers_tlsv13 : BUG#0 +binlog.binlog_mysqlbinlog_linux : BUG#0 + +main.archive : BUG#0 +main.mysqlpump_basic_lz4 : BUG#0 + +clone.local_dml_auto_tune : BUG#0 +clone.remote_dml_auto_tune : BUG#0 + +innodb.check_ibd_filesize_16k : BUG#0 + +rpl_gtid.mysqldump_bug33630199 : BUG#0 +rpl.rpl_eventlog_psi_memory : BUG#0 +rpl.rpl_tlsv13 : 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..9ffdb04 --- /dev/null +++ b/SOURCES/rh-skipped-tests-list-ppc.list @@ -0,0 +1,49 @@ +# Fails since 8.0.30 +federated.federated_server : BUG#0 +rpl.rpl_innodb_bug28430 : BUG#0 + +# Fails since 8.0.31 +main.lock_multi_bug38691 : BUG#0 + +# Fails since 8.0.34 +rpl_gtid.rpl_gtid_row_event_max_size : BUG#0 +rpl.rpl_channel_creation_under_replica_load : BUG#0 + +# Fails since 8.0.37 +clone.local_dml : BUG#0 +clone.remote_dml_no_binlog : BUG#0 +clone.remote_dml_replace : BUG#0 + +innodb.create_index_with_disable_sort_file_cache : BUG#0 +innodb_fts.bug_34846823 : BUG#0 +innodb_gis.rtree_search : BUG#0 +innodb.innodb_autoextend_import_export : BUG#0 +innodb.instant_ddl_upgrade_rollback : BUG#0 +innodb.lob_recovery : BUG#0 +innodb.multi_value_basic : BUG#0 +innodb_undo.undo_settings : BUG#0 + +main.mysql_client_test : BUG#0 +main.mysqlslap : BUG#0 + +parts.partition_reverse_scan_icp : BUG#0 + +rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction_mts : BUG#0 +rpl_nogtid.rpl_loaddatalocal : BUG#0 +rpl_nogtid.rpl_row_event_max_size : BUG#0 +rpl_nogtid.rpl_typeconv : BUG#0 +rpl.rpl_mysql_upgrade : BUG#0 +rpl.rpl_parallel : BUG#0 +rpl.rpl_priv_checks_user_start_info : BUG#0 + +sys_vars.myisam_data_pointer_size_func : BUG#0 +x.upgrade : BUG#0 + +# Unstable in 8.0.37 +main.component-upgrade : BUG#0 +main.count_distinct2 : BUG#0 +main.dd_upgrade_non_debug : BUG#0 +main.dd_upgrade_partition : BUG#0 +main.disabled_storage_engines : BUG#0 +main.partition : BUG#0 +main.multi_update : 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..a2d393c --- /dev/null +++ b/SOURCES/rh-skipped-tests-list-s390.list @@ -0,0 +1,7 @@ +# Fails since 8.0.34 +rpl.rpl_channel_creation_under_replica_load : BUG#0 +rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction_mts : BUG#0 + +# Fails since 8.0.37 +innodb.lob_recovery : BUG#0 +sys_vars.myisam_data_pointer_size_func : BUG#0 diff --git a/SOURCES/server.cnf.in b/SOURCES/server.cnf.in new file mode 100644 index 0000000..727ca52 --- /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=@LOGFILE_RPM@ +pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid + diff --git a/SPECS/mysql8.4.spec b/SPECS/mysql8.4.spec new file mode 100644 index 0000000..7167499 --- /dev/null +++ b/SPECS/mysql8.4.spec @@ -0,0 +1,3224 @@ +ExcludeArch: %{ix86} + +# Name of the package without any prefixes +%global majorname mysql +%global package_version 8.4.2 +%define majorversion %(echo %{package_version} | cut -d'.' -f1-2 ) +%global pkgnamepatch mysql + + +# Set if this package will be the default one in distribution +%{!?mysql_default:%global mysql_default 1} + +# 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 0} + +# 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.37 +# Set to 1 to force run the testsuite even if it was already tested in current version +%global force_run_testsuite 0 + +# 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)$ + +%global skiplist platform-specific-tests.list + +%global boost_bundled_version 1.84.0 + + +# For some use cases we do not need some parts of the package +%bcond clibrary 1 +%bcond devel 1 +%bcond client 1 +%bcond common 1 +%bcond errmsg 1 +%bcond test 1 + +# 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 config 0 + +# Various plugins +# TO-DO: +# Need to check and fix the ON/OFF matrix of those plugins. +# It seems the current implementation is buggy, e.g.: +# - ldap needs krb5-devel too +# - when kr5-devel is part of the buildroot, kerberos plugin is compiled no matter the WITH_AUTHENTICATION_KERBEROS value +# - when fido is disabled but ldap enabled, authentication_oci_client.so is still built +# To avoid issues, leave either all ON or all OFF. +%if 0%{?fedora} +%bcond fido 1 +%bcond kerberos 1 +%bcond ldap 1 +%else +%bcond fido 0 +%bcond kerberos 0 +%bcond ldap 0 +%endif + +# For deep debugging we need to build binaries with extra debug info +%bcond debug 0 + +# Aditional SELinux rules from a standalone package 'mysql-selinux' (that holds rules shared between MariaDB and MySQL) +%bcond require_mysql_selinux 1 + + +# Include files for systemd +%global daemon_name mysqld +%global daemon_no_prefix mysqld + +# 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 +# Directory for storing pid file +%global pidfiledir %{_rundir}/%{daemon_name} +# Defining where database data live +%global dbdatadir %{_localstatedir}/lib/mysql + + +# Set explicit conflicts with 'mariadb' packages +%bcond conflicts_mariadb 1 +# Provide explicitly the 'community-mysql' names +# 'community-mysql' names are deprecated and to be removed in future Fedora +# but we're leaving them here for compatibility reasons +%bcond provides_community_mysql %{?mysql_default} +# Obsolete the package 'community-mysql' and all its sub-packages +%bcond obsoletes_community_mysql %{?mysql_default} +# This is the last version of the 'community-mysql' package production release +%global obsolete_community_mysql_version 8.0.35-10 +%global community_mysql_version 8.0.36-1 + +# Make long macros shorter +%global sameevr %{?epoch:%{epoch}:}%{version}-%{release} + +Name: %{majorname}%{majorversion} +Version: %{package_version} +Release: 4%{?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: GPL-2.0-or-later AND LGPL-2.1-only AND BSL-1.0 AND BSD-2-Clause + +Source0: https://cdn.mysql.com/Downloads/MySQL-8.4/mysql-%{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 +Patch3: %{pkgnamepatch}-file-contents.patch +Patch4: %{pkgnamepatch}-scripts.patch +Patch5: %{pkgnamepatch}-paths.patch + +# Patches specific for this mysql package +Patch51: %{pkgnamepatch}-sharedir.patch +Patch52: %{pkgnamepatch}-rpath.patch +Patch56: %{pkgnamepatch}-flush-logrotate.patch +Patch57: %{pkgnamepatch}-openssl-engine.patch + +# Patches taken from boost 1.59 +Patch112: boost-1.57.0-mpl-print.patch + +# This macro is used for package/sub-package names in the entire specfile +%if %?mysql_default +%global pkgname %{majorname} +%package -n %{pkgname} +Summary: MySQL client programs and shared libraries +%else +%global pkgname %{name} +%endif + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: libaio-devel +BuildRequires: libedit-devel +BuildRequires: libevent-devel +BuildRequires: libicu-devel +BuildRequires: lz4-devel +BuildRequires: mecab-devel +BuildRequires: bison +BuildRequires: libzstd-devel +BuildRequires: libcurl-devel +%ifnarch aarch64 s390x +BuildRequires: numactl-devel +BuildRequires: libquadmath-devel +%endif +BuildRequires: openssl +BuildRequires: openssl-devel +%if 0%{?fedora} >= 41 +# Complement of mysql-openssl-engine.patch +BuildRequires: openssl-devel-engine +%endif + +BuildRequires: perl-interpreter +BuildRequires: perl-generators +BuildRequires: rpcgen +BuildRequires: libtirpc-devel +BuildRequires: protobuf-lite-devel +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 + +# Since MySQL 8.0.28 +%{?with_fido:BuildRequires: libfido2-devel} + +%{?with_kerberos:BuildRequires: krb5-devel} +%{?with_ldap:BuildRequires: openldap-devel cyrus-sasl-devel cyrus-sasl-scram} + + +Requires: bash coreutils grep +Requires: %{pkgname}-common = %{sameevr} + +# 'boost' header files must be bundled +# See https://bugzilla.redhat.com/show_bug.cgi?id=2260138#c7 for details +Provides: bundled(boost) = %{boost_bundled_version} + +# 'rapidjson' library must be bundled +# The rapidjson upstream made the last release in 2016, even though it has an active development till today (2024, ~750 commits since) +# The MySQL upstream forked the project from a specific commit and added custom patches. See "extra/RAPIDJSON-README" for details. +# In the MySQL 8.0.34, the MySQL upsstream made the 'rapidjson' library to be bundled by default. +Provides: bundled(rapidjson) + +# Not available in Fedora +# https://github.com/martinus/unordered_dense +Provides: bundled(unordered_dense) + +%{?with_conflicts_mariadb:Conflicts: mariadb} +# Explicitly disallow installation of mysql + mariadb-server +%{?with_conflicts_mariadb:Conflicts: mariadb-server} +%{?with_provides_community_mysql:Provides: community-mysql = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql%{?_isa} = %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql <= %obsolete_community_mysql_version} + +%define conflict_with_other_streams() %{expand:\ +Provides: %{majorname}%{?1:-%{1}}-any\ +Conflicts: %{majorname}%{?1:-%{1}}-any\ +} + +# Provide also mysqlX.X if default +%if %?mysql_default +%define mysqlX_if_default() %{expand:\ +Provides: mysql%{majorversion}%{?1:-%{1}} = %{sameevr}\ +Provides: mysql%{majorversion}%{?1:-%{1}}%{?_isa} = %{sameevr}\ +} +%else +%define mysqlX_if_default() %{nil} +%endif + +%define add_metadata() %{expand:\ +%conflict_with_other_streams %{**}\ +%mysqlX_if_default %{**}\ +} + +%add_metadata + +%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 %?mysql_default +%description -n %{pkgname} +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. +%endif + +%if %{with clibrary} +%package -n %{pkgname}-libs +Summary: The shared libraries required for MySQL clients +Requires: %{pkgname}-common = %{sameevr} +%{?with_provides_community_mysql:Provides: community-mysql-libs = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-libs%{?_isa}= %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-libs <= %obsolete_community_mysql_version} + +%add_metadata libs + +%description -n %{pkgname}-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 -n %{pkgname}-config +Summary: The config files required by server and client +%{?with_provides_community_mysql:Provides: community-mysql-config = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-config%{?_isa} = %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-config <= %obsolete_community_mysql_version} + +%add_metadata config + +%description -n %{pkgname}-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 -n %{pkgname}-common +Summary: The shared files required for MySQL server and client +BuildArch: noarch +%if 0%{?flatpak} +Requires: mariadb-connector-c-config +%else +Requires: %{_sysconfdir}/my.cnf +%endif +%{?with_provides_community_mysql:Provides: community-mysql-common = %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-common <= %obsolete_community_mysql_version} + +# As this package is noarch, it can't use the %%{?_isa} RPM macro +%conflict_with_other_streams common + +%description -n %{pkgname}-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 -n %{pkgname}-errmsg +Summary: The error messages files required by MySQL server +BuildArch: noarch +Requires: %{pkgname}-common = %{sameevr} +%{?with_provides_community_mysql:Provides: community-mysql-errmsg = %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-errmsg <= %obsolete_community_mysql_version} + +# As this package is noarch, it can't use the %%{?_isa} RPM macro +%conflict_with_other_streams errmsg + +%description -n %{pkgname}-errmsg +The package provides error messages files for the MySQL daemon +%endif + + +%package -n %{pkgname}-server +Summary: The MySQL server and related files + +Requires: %{pkgname}%{?_isa} = %{sameevr} + +Requires: %{pkgname}-common = %{sameevr} +%if 0%{?flatpak} +Requires: mariadb-connector-c-config +%else +Requires: %{_sysconfdir}/my.cnf +Requires: %{_sysconfdir}/my.cnf.d +%endif +Requires: %{pkgname}-errmsg = %{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 %{with require_mysql_selinux} +Requires: (mysql-selinux if selinux-policy-targeted) +%endif + +%{?with_conflicts_mariadb:Conflicts: mariadb-server} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-utils} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-galera} +# Explicitly disallow installation of mysql + mariadb-server +%{?with_conflicts_mariadb:Conflicts: mariadb} +%{?with_provides_community_mysql:Provides: community-mysql-server = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-server%{?_isa} = %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-server <= %obsolete_community_mysql_version} + +%add_metadata server + +%description -n %{pkgname}-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 -n %{pkgname}-devel +Summary: Files for development of MySQL applications +%{?with_clibrary:Requires: %{pkgname}-libs%{?_isa} = %{sameevr}} +Requires: openssl-devel +Requires: zlib-devel +Requires: libzstd-devel +%{?with_conflicts_mariadb:Conflicts: mariadb-devel} +%{?with_conflicts_mariadb:Conflicts: mariadb-connector-c-devel} +%{?with_provides_community_mysql:Provides: community-mysql-devel = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-devel%{?_isa} = %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-devel <= %obsolete_community_mysql_version} + +%add_metadata devel + +%description -n %{pkgname}-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 -n %{pkgname}-test +Summary: The test suite distributed with MySQL +Requires: %{pkgname}-test-data = %{sameevr} +Requires: %{pkgname}%{?_isa} = %{sameevr} +Requires: %{pkgname}-common = %{sameevr} +Requires: %{pkgname}-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_mariadb:Conflicts: mariadb-test} +%{?with_provides_community_mysql:Provides: community-mysql-test = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-test%{?_isa} = %community_mysql_version} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-test <= %obsolete_community_mysql_version} + +%add_metadata test + +%description -n %{pkgname}-test +MySQL is a multi-user, multi-threaded SQL database server. This +package contains the architecture specific files for the +regression test suite distributed with the MySQL sources. + +%package -n %{pkgname}-test-data +Summary: The test suite distributed with MySQL +BuildArch: noarch +Requires: %{pkgname}-test = %{sameevr} + +# As this package is noarch, it can't use the %%{?_isa} RPM macro +%conflict_with_other_streams test-data + +%description -n %{pkgname}-test-data +MySQL is a multi-user, multi-threaded SQL database server. This +package contains the architecture independent data for the +regression test suite distributed with the MySQL sources. +%endif + + +%prep +%setup -q -n mysql-%{version} +%patch -P1 -p1 +%patch -P3 -p1 +%patch -P4 -p1 +%patch -P5 -p1 +%patch -P51 -p1 +%patch -P52 -p1 +%patch -P56 -p1 +%patch -P57 -p1 + +# Patch Boost +pushd extra/boost/boost_$(echo %{boost_bundled_version}| tr . _) +%patch -P112 -p4 +popd + +# Remove bundled code that is unused (all cases in which we use the system version of the library instead) +# as required by https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling +rm -r extra/curl +rm -r extra/icu +rm -r extra/libcbor +rm -r extra/libedit +rm -r extra/libfido2 +rm -r extra/protobuf +rm -r extra/tirpc +rm -r extra/zlib +rm -r extra/zstd +# Three files from the lz4 bundle tree are still needed. +# They are the 'xxhash' library with custom extension to it. +find extra/lz4 -type f ! \( -name 'xxhash.c' -o -name 'xxhash.h' -o -name 'my_xxhash.h' \) -delete +# Only used in MySQL Router, which we don't build +rm -r extra/duktape +# Needed for unit tests (different from MTR tests), which we doesn't run, as they doesn't work on some architectures: #1989847 +rm -r extra/googletest +rm -r extra/abseil + +# 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 aarch64 +cat %{SOURCE51} | tee -a mysql-test/%{skiplist} +%endif + +%ifarch s390x +cat %{SOURCE52} | tee -a mysql-test/%{skiplist} +%endif + +%ifarch ppc64le +cat %{SOURCE53} | tee -a mysql-test/%{skiplist} +%endif + + + +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ + %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts + +%build +# 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 \ + -DINSTALL_LAYOUT=RPM \ + -DDAEMON_NAME="%{daemon_name}" \ + -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ + -DLOGFILE_RPM="%{logfile}" \ + -DPID_FILE_DIR="%{pidfiledir}" \ + -DNICE_PROJECT_NAME="MySQL" \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DSYSCONFDIR="%{_sysconfdir}" \ + -DSYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ + -DINSTALL_DOCDIR="share/doc/%{majorname}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{majorname}" \ + -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/%{majorname} \ + -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SBINDIR=bin \ + -DINSTALL_SUPPORTFILESDIR=share/%{majorname} \ + -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 s390x + -DWITH_NUMA=ON \ +%endif +%ifarch s390x + -DUSE_LD_GOLD=OFF \ +%endif + -DWITH_ROUTER=OFF \ + -DWITH_SYSTEM_LIBS=ON \ + -DWITH_ZLIB=system \ + -DWITH_RAPIDJSON=bundled \ + -DWITH_MECAB=system \ + -DWITH_FIDO=%{?with_fido:system}%{!?with_fido:none} \ + -DWITH_AUTHENTICATION_FIDO=%{?with_fido:ON}%{!?with_fido:OFF} \ + -DWITH_AUTHENTICATION_KERBEROS=%{?with_kerberos:ON}%{!?with_kerberos:OFF} \ + -DWITH_AUTHENTICATION_LDAP=%{?with_ldap:ON}%{!?with_ldap:OFF} \ + -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}" \ + -DWITH_LTO=ON \ +%{?with_debug: -DWITH_DEBUG=1} \ +%{?with_debug: -DMYSQL_MAINTAINER_MODE=0} \ + -DTMPDIR=/var/tmp \ + -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ + -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" \ + -DCMAKE_SKIP_INSTALL_RPATH=YES \ + -DWITH_UNIT_TESTS=0 + + +# Note: disabling building of unittests to workaround #1989847 + +# Print all Cmake options values; "-LAH" means "List Advanced Help" +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/%{majorname}-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} +# Remove the wrong file +rm %{buildroot}%{_datadir}/%{majorname}/mysql-log-rotate +# Install the correct one (meant for FSH layout in RPM packages) +install -D -m 0644 %{_vpath_builddir}/packaging/rpm-common/mysql.logrotate %{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 ! %{with clibrary} +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d +%endif + +%if ! %{with 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 ! %{with client} +rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +rm %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,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 ! %{with common} +rm -r %{buildroot}%{_datadir}/%{majorname}/charsets +%endif + +%if ! %{with errmsg} +rm %{buildroot}%{_datadir}/%{majorname}/{messages_to_error_log.txt,messages_to_clients.txt} +rm -r %{buildroot}%{_datadir}/%{majorname}/{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 ! %{with test} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process} +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} . +( + set -ex + cd %{buildroot}%{_datadir}/mysql-test + + export MTR_MAX_PARALLEL=16 + + export common_testsuite_arguments=" %{?with_debug:--debug-server} \ + --force --skip-combinations --report-unstable-tests --clean-vardir --nocheck-testcases \ + --suite-timeout=900 --testcase-timeout=30 --port-base=$(( $(date +%s) % 20000 + 10000 )) \ + --parallel=auto --retry=3 --max-test-fail=30 " + + # 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 --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 -n %{pkgname}-server +/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : +/usr/sbin/useradd -M -N -g mysql -o -r -d %{dbdatadir} -s /sbin/nologin \ + -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : + +%post -n %{pkgname}-server +%systemd_post %{daemon_name}.service +if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then + install /dev/null -m0640 -omysql -gmysql "%{logfile}" +fi + +%preun -n %{pkgname}-server +%systemd_preun %{daemon_name}.service + +%postun -n %{pkgname}-server +%systemd_postun_with_restart %{daemon_name}.service + + + +%if %{with client} +%files -n %{pkgname} +%{_bindir}/mysql +%{_bindir}/mysqladmin +%{_bindir}/mysqlbinlog +%{_bindir}/mysqlcheck +%{_bindir}/mysql_config_editor +%{_bindir}/mysqldump +%{_bindir}/mysqlimport +%{_bindir}/mysqlshow +%{_bindir}/mysqlslap + +%{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* +%{_mandir}/man1/mysql_config_editor.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/mysqlslap.1* +%endif + +%if %{with clibrary} +%files -n %{pkgname}-libs +%dir %{_libdir}/mysql +%{_libdir}/mysql/libmysqlclient*.so.* +%config(noreplace) %{_sysconfdir}/ld.so.conf.d/* +%endif + +%if %{with config} +%files -n %{pkgname}-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 -n %{pkgname}-common +%license LICENSE storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%doc README README.mysql-license README.mysql-docs +%dir %{_datadir}/%{majorname} +%{_datadir}/%{majorname}/charsets +%endif + +%if %{with errmsg} +%files -n %{pkgname}-errmsg +%{_datadir}/%{majorname}/messages_to_error_log.txt +%{_datadir}/%{majorname}/messages_to_clients.txt +%{_datadir}/%{majorname}/english +%lang(bg) %{_datadir}/%{majorname}/bulgarian +%lang(cs) %{_datadir}/%{majorname}/czech +%lang(da) %{_datadir}/%{majorname}/danish +%lang(nl) %{_datadir}/%{majorname}/dutch +%lang(et) %{_datadir}/%{majorname}/estonian +%lang(fr) %{_datadir}/%{majorname}/french +%lang(de) %{_datadir}/%{majorname}/german +%lang(el) %{_datadir}/%{majorname}/greek +%lang(hu) %{_datadir}/%{majorname}/hungarian +%lang(it) %{_datadir}/%{majorname}/italian +%lang(ja) %{_datadir}/%{majorname}/japanese +%lang(ko) %{_datadir}/%{majorname}/korean +%lang(no) %{_datadir}/%{majorname}/norwegian +%lang(no) %{_datadir}/%{majorname}/norwegian-ny +%lang(pl) %{_datadir}/%{majorname}/polish +%lang(pt) %{_datadir}/%{majorname}/portuguese +%lang(ro) %{_datadir}/%{majorname}/romanian +%lang(ru) %{_datadir}/%{majorname}/russian +%lang(sr) %{_datadir}/%{majorname}/serbian +%lang(sk) %{_datadir}/%{majorname}/slovak +%lang(es) %{_datadir}/%{majorname}/spanish +%lang(sv) %{_datadir}/%{majorname}/swedish +%lang(uk) %{_datadir}/%{majorname}/ukrainian +%endif + +%files -n %{pkgname}-server +%{_bindir}/ibd2sdi +%{_bindir}/innochecksum +%{_bindir}/myisamchk +%{_bindir}/myisam_ftdump +%{_bindir}/myisamlog +%{_bindir}/myisampack +%{_bindir}/my_print_defaults +%{_bindir}/mysqld_pre_systemd +%{_bindir}/mysqldumpslow +%{_bindir}/mysql_migrate_keyring +%{_bindir}/mysql_secure_installation +%{_bindir}/mysql_tzinfo_to_sql +%{_bindir}/perror + +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{majorname}-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 ! %{with common} +%dir %{_datadir}/%{majorname} +%endif + +%dir %{_libdir}/mysql +%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/conflicting_variables.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/keyring_udf.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 +%{?with_fido:%{_libdir}/mysql/plugin/authentication_webauthn_client.so} +%{?with_fido:%{_libdir}/mysql/plugin/authentication_oci_client.so} +%{?with_kerberos:%{_libdir}/mysql/plugin/authentication_kerberos_client.so} +%{?with_ldap:%{_libdir}/mysql/plugin/authentication_ldap_sasl_client.so} + +%{_mandir}/man1/ibd2sdi.1* +%{_mandir}/man1/innochecksum.1* +%{_mandir}/man1/myisamchk.1* +%{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/myisamlog.1* +%{_mandir}/man1/myisampack.1* +%{_mandir}/man1/my_print_defaults.1* +%{_mandir}/man1/mysqldumpslow.1* +%{_mandir}/man1/mysqlman.1* +%{_mandir}/man1/mysql_secure_installation.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* +%{_mandir}/man1/perror.1* +%{_mandir}/man8/mysqld.8* + +%{_datadir}/%{majorname}/dictionary.txt +%{_datadir}/%{majorname}/*.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 -n %{pkgname}-devel +%{_bindir}/mysql_config* +%exclude %{_bindir}/mysql_config_editor +%{_includedir}/mysql +%{_datadir}/aclocal/mysql.m4 +%dir %{_libdir}/mysql +%if %{with clibrary} +%{_libdir}/mysql/libmysqlclient.so +%endif +%{_libdir}/pkgconfig/mysqlclient.pc +%{_mandir}/man1/mysql_config.1* +%endif + +%if %{with test} +%files -n %{pkgname}-test +%{_bindir}/comp_err +%{_bindir}/mysql_client_test +%{_bindir}/mysqld_safe +%{_bindir}/mysql_keyring_encryption_test +%{_bindir}/mysqltest +%{_bindir}/mysql_test_event_tracking +%{_bindir}/mysqltest_safe_process +%{_bindir}/mysqlxtest + +%dir %attr(-,mysql,mysql) %{_datadir}/mysql-test +%{_datadir}/mysql-test/%{skiplist} + +%dir %{_libdir}/mysql +%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_event_tracking_consumer_a.so +%{_libdir}/mysql/plugin/component_test_event_tracking_consumer_b.so +%{_libdir}/mysql/plugin/component_test_event_tracking_consumer_c.so +%{_libdir}/mysql/plugin/component_test_event_tracking_consumer.so +%{_libdir}/mysql/plugin/component_test_event_tracking_producer_a.so +%{_libdir}/mysql/plugin/component_test_event_tracking_producer_b.so +%{_libdir}/mysql/plugin/component_test_execute_prepared_statement.so +%{_libdir}/mysql/plugin/component_test_execute_regular_statement.so +%{_libdir}/mysql/plugin/component_test_host_application_signal.so +%{_libdir}/mysql/plugin/component_test_mysql_command_services.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_signal_handler.so +%{_libdir}/mysql/plugin/component_test_mysql_system_variable_set.so +%{_libdir}/mysql/plugin/component_test_mysql_thd_store_service.so +%{_libdir}/mysql/plugin/component_test_pfs_notification.so +%{_libdir}/mysql/plugin/component_test_pfs_resource_group.so +%{_libdir}/mysql/plugin/component_test_sensitive_system_variables.so +%{_libdir}/mysql/plugin/component_test_server_telemetry_metrics.so +%{_libdir}/mysql/plugin/component_test_server_telemetry_traces.so +%{_libdir}/mysql/plugin/component_test_status_var_reader.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_command_services.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 + +%files -n %{pkgname}-test-data +%attr(-,mysql,mysql) %{_datadir}/mysql-test +%exclude %{_datadir}/mysql-test/%{skiplist} + +%endif + +%changelog +* Fri Aug 16 2024 Michal Schorm - 8.4.2-4 +- Bump release for a rebuild + +* Thu Aug 15 2024 Michal Schorm - 8.4.2-3 +- Bump release for a rebuild + +* Thu Aug 15 2024 Michal Schorm - 8.4.2-2 +- Bump release for a rebuild + +* Wed Aug 07 2024 Michal Schorm - 8.4.2-1 +- Rebase to 8.4.2 + +* Wed Jul 24 2024 Michal Schorm - 8.4.0-2 +- Bump version for a rebuild + +* Fri Jun 14 2024 Michal Schorm - 8.4.0-1 +- Rebase to 8.4.0 + +* Wed Jun 12 2024 Michal Schorm - 8.0.37-3 +- Bump release for package rebuild + +* Sun Jun 09 2024 Michal Schorm - 8.0.37-2 +- Bump release for package rebuild + +* Thu Apr 18 2024 Lars Tangvald - 8.0.37-1 +- Update to MySQL 8.0.37 +- Remove some legacy cmake options + +* Tue Apr 16 2024 Michal Schorm - 8.0.36-5 +- Fix my.cnf dependency for Flatpak builds + +* Mon Feb 19 2024 Honza Horak - 8.0.36-4 +- Do not provide community-mysql* symbols if alternative + +* Mon Feb 05 2024 Lukas Javorsky - 8.0.36-3 +- Apply demodularization +- the default stream builds mysql.rpm +- the non-default stream builds mysqlX.XX.rpm + +* Wed Jan 31 2024 Honza Horak - 8.0.36-2 +- Use signal to flush logs when rotating + +* Wed Jan 31 2024 Lukas Javorsky - 8.0.36-1 +- Rebase to version 8.0.36 + +* Wed Jan 31 2024 Lukas Javorsky - 8.0.35-100 +- Renaming 'community-mysql' to 'mysql8.0' + +* Wed Jan 31 2024 Pete Walter - 8.0.35-5 +- Rebuild for ICU 74 + +* Wed Jan 24 2024 Fedora Release Engineering - 8.0.35-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 8.0.35-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Dec 19 2023 Florian Weimer - 8.0.35-2 +- Fix int-conversion type error in memcached + +* Thu Sep 21 2023 Lars Tangvald - 8.0.35-1 +- Update to MySQL 8.0.35 +- Remove patches now upstream + +* Tue Aug 22 2023 Lukas Javorsky - 8.0.34-2 +- Migrate license to SPDX + +* Wed Aug 09 2023 Lars Tangvald - 8.0.34-1 +- Update to MySQL 8.0.34 +- Add patch from upstream bug#110569 +- Add patch to fix binlog format issue +- Use --skip-combinations over --binlog-format=mixed +- Add alignment patch upstream bug#110752 + +* Wed Jul 19 2023 Fedora Release Engineering - 8.0.33-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 František Zatloukal - 8.0.33-3 +- Rebuilt for ICU 73.2 + +* Wed Apr 12 2023 Lars Tangvald - 8.0.33-1 +- Update to MySQL 8.0.33 + +* Thu Jan 26 2023 Lars Tangvald - 8.0.32-1 +- Update to MySQL 8.0.32 + +* Thu Jan 19 2023 Fedora Release Engineering - 8.0.31-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 31 2022 Pete Walter - 8.0.31-2 +- Rebuild for ICU 72 + +* Fri Sep 30 2022 Lars Tangvald - 8.0.31-1 +- Update to MySQL 8.0.31 + +* Mon Sep 12 2022 Michal Schorm - 8.0.30-3 +- Release bump for rebuild + +* Thu Aug 11 2022 Michal Schorm - 8.0.30-2 +- Release bump for rebuild + +* Mon Aug 01 2022 Lars Tangvald - 8.0.30-1 +- Update to MySQL 8.0.30 +- Remove patches now upstream: + chain certs, OpenSSL 3, s390 and robin hood +- Add a new plugin + +* Mon Aug 01 2022 Frantisek Zatloukal - 8.0.29-3 +- Rebuilt for ICU 71.1 + +* Wed Jul 20 2022 Fedora Release Engineering - 8.0.29-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Apr 20 2022 Lars Tangvald - 8.0.29-1 +- Update to MySQL 8.0.29 + +* Wed Jan 19 2022 Lars Tangvald - 8.0.28-1 +- Update to MySQL 8.0.28 + +* Wed Jan 19 2022 Fedora Release Engineering - 8.0.27-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Nov 07 2021 Mamoru TASAKA - 8.0.27-2 +- rebuild for new protobuf + +* Sun Oct 31 2021 Lars Tangvald - 8.0.27-1 +- Update to MySQL 8.0.27 + +* Sat Oct 30 2021 Honza Horak - 8.0.26-4 +- Make MySQL compile with openssl 3.x without FIPS properly implemented + +* Mon Oct 25 2021 Adrian Reber - 8.0.26-3 +- Rebuilt for protobuf 3.18.1 + +* Tue Sep 14 2021 Sahana Prasad - 8.0.26-2 +- Rebuilt with OpenSSL 3.0.0 + +* Wed Jul 21 2021 Lars Tangvald - 8.0.26-1 +- Update to MySQL 8.0.26 + +* Wed Jul 21 2021 Fedora Release Engineering - 8.0.25-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 01 2021 Michal Schorm - 8.0.25-1 +- Update to MySQL 8.0.25 + +* Wed May 19 2021 Pete Walter - 8.0.24-3 +- Rebuild for ICU 69 + +* Wed May 19 2021 Pete Walter - 8.0.24-2 +- Rebuild for ICU 69 + +* Sun Apr 18 2021 Lars Tangvald - 8.0.24-1 +- Update to MySQL 8.0.24 + +* Wed Mar 31 2021 Jonathan Wakely - 8.0.23-3 +- Rebuilt for removed libstdc++ symbols (#1937698) + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 8.0.23-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Thu Feb 04 2021 Lars Tangvald - 8.0.23-1 +- Update to MySQL 8.0.23 +- Created community-mysql-fix-includes-robin-hood.patch + +* 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.