From 29c53c843768c76286310b93c29a5c9d4d006f59 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 3 Apr 2024 18:29:34 +0000 Subject: [PATCH] import CS mariadb-10.11.6-1.module_el9+853+7b957b9b --- .gitignore | 3 +- .mariadb.metadata | 3 +- SOURCES/README.mariadb-docs | 9 + SOURCES/README.mysql-docs | 4 - SOURCES/README.mysql-license | 9 - SOURCES/mariadb-10.3.39-tests.patch | 101 -- SOURCES/mariadb-annocheck.patch | 13 - ...heck-socket.sh => mariadb-check-socket.sh} | 6 +- ...ck-upgrade.sh => mariadb-check-upgrade.sh} | 14 +- SOURCES/mariadb-fmt_bundle.patch | 16 + SOURCES/mariadb-logrotate.patch | 99 +- SOURCES/mariadb-mdev-30402.patch | 12 - SOURCES/mariadb-ownsetup.patch | 24 +- SOURCES/mariadb-pcdir.patch | 20 - ...re-db-dir.sh => mariadb-prepare-db-dir.sh} | 6 +- ...ts-common.sh => mariadb-scripts-common.sh} | 16 +- SOURCES/mariadb-scripts.patch | 21 +- SOURCES/mariadb-ssl-cipher-tests.patch | 13 + ...ql.tmpfiles.d.in => mariadb.tmpfiles.d.in} | 0 SOURCES/mysql.service.in | 41 +- SOURCES/mysql@.service.in | 64 +- SOURCES/rh-skipped-tests-arm.list | 8 +- SOURCES/rh-skipped-tests-base.list | 127 +- SOURCES/rh-skipped-tests-ppc.list | 36 +- SOURCES/rh-skipped-tests-s390.list | 17 +- SPECS/mariadb.spec | 1319 ++++++++++------- 26 files changed, 1111 insertions(+), 890 deletions(-) create mode 100644 SOURCES/README.mariadb-docs delete mode 100644 SOURCES/README.mysql-docs delete mode 100644 SOURCES/README.mysql-license delete mode 100644 SOURCES/mariadb-10.3.39-tests.patch delete mode 100644 SOURCES/mariadb-annocheck.patch rename SOURCES/{mysql-check-socket.sh => mariadb-check-socket.sh} (80%) rename SOURCES/{mysql-check-upgrade.sh => mariadb-check-upgrade.sh} (68%) create mode 100644 SOURCES/mariadb-fmt_bundle.patch delete mode 100644 SOURCES/mariadb-mdev-30402.patch delete mode 100644 SOURCES/mariadb-pcdir.patch rename SOURCES/{mysql-prepare-db-dir.sh => mariadb-prepare-db-dir.sh} (95%) rename SOURCES/{mysql-scripts-common.sh => mariadb-scripts-common.sh} (81%) create mode 100644 SOURCES/mariadb-ssl-cipher-tests.patch rename SOURCES/{mysql.tmpfiles.d.in => mariadb.tmpfiles.d.in} (100%) diff --git a/.gitignore b/.gitignore index 2b032ad..6006f62 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -SOURCES/mariadb-10.3.39.tar.gz +SOURCES/8.0.1.zip +SOURCES/mariadb-10.11.6.tar.gz diff --git a/.mariadb.metadata b/.mariadb.metadata index 81ef032..2a91022 100644 --- a/.mariadb.metadata +++ b/.mariadb.metadata @@ -1 +1,2 @@ -25972d22ed05249782141392f0893e71c7d549a9 SOURCES/mariadb-10.3.39.tar.gz +0e71402cb82eb84981ede3dc4d9be0b5924dc318 SOURCES/8.0.1.zip +4be66f91b577a1663832459ab881f6ac541d2775 SOURCES/mariadb-10.11.6.tar.gz diff --git a/SOURCES/README.mariadb-docs b/SOURCES/README.mariadb-docs new file mode 100644 index 0000000..bff53eb --- /dev/null +++ b/SOURCES/README.mariadb-docs @@ -0,0 +1,9 @@ +MariaDB haven't yet made a document package available for offline. + +You can create your own copy with the instructions here: + +https://mariadb.com/kb/en/meta/mirroring-the-mariadb-knowledge-base/ + +You can find view the on-line documentation at: + +https://mariadb.com/kb/en/documentation/ diff --git a/SOURCES/README.mysql-docs b/SOURCES/README.mysql-docs deleted file mode 100644 index dd894a7..0000000 --- a/SOURCES/README.mysql-docs +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index ceabbcf..0000000 --- a/SOURCES/README.mysql-license +++ /dev/null @@ -1,9 +0,0 @@ -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/mariadb-10.3.39-tests.patch b/SOURCES/mariadb-10.3.39-tests.patch deleted file mode 100644 index 54f5ff9..0000000 --- a/SOURCES/mariadb-10.3.39-tests.patch +++ /dev/null @@ -1,101 +0,0 @@ ---- mariadb-10.3.39/mysql-test/include/default_mysqld.cnf 2023-05-03 06:32:44.000000000 +0200 -+++ ../../mariadb-10.3.39/mysql-test/include/default_mysqld.cnf 2023-07-07 13:58:40.255283041 +0200 -@@ -127,3 +127,8 @@ local-infile - # tables. Let's enable it in the [server] group, because this group - # is read after [mysqld] and [embedded] - loose-aria -+ -+[mysqltest] -+loose-ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem -+loose-ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/server-cert.pem -+loose-ssl-key=@ENV.MYSQL_TEST_DIR/std_data/server-key.pem - ---- mariadb-10.3.39/mysql-test/include/wait_until_connected_again.inc 2023-05-03 06:32:44.000000000 +0200 -+++ ../../mariadb-10.3.39/mysql-test/include/wait_until_connected_again.inc 2023-07-07 13:55:30.424368106 +0200 -@@ -11,7 +11,7 @@ let $counter= 5000; - let $mysql_errno= 9999; - while ($mysql_errno) - { -- --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,ER_LOCK_WAIT_TIMEOUT,2002,2006,2013 -+ --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,ER_LOCK_WAIT_TIMEOUT,2002,2006,2013,2026 - show status; - - dec $counter; - ---- mariadb-10.3.39/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test 2023-05-03 06:32:45.000000000 +0200 -+++ ../../mariadb-10.3.39/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test 2023-07-07 13:54:31.152082427 +0200 -@@ -53,7 +53,7 @@ insert into t4 values (3),(4); - connection master; - # The get_lock function causes warning for unsafe statement. - --disable_warnings ----error 0,1317,2013 -+--error 0,1317,2013,2026 - reap; - --enable_warnings - connection master1; - ---- mariadb-10.3.39/mysql-test/suite/innodb/t/innodb_bug51920.test 2023-05-03 06:32:44.000000000 +0200 -+++ ../../mariadb-10.3.39/mysql-test/suite/innodb/t/innodb_bug51920.test 2023-07-07 15:11:39.000404508 +0200 -@@ -36,7 +36,7 @@ let $wait_condition = - # depending on platform. - # - connection con1; ---- error 1317, 2006, 2013, ER_CONNECTION_KILLED -+-- error 1317, 2006, 2013, 2026, ER_CONNECTION_KILLED - reap; - connection default; - DROP TABLE bug51920; - ---- mariadb-10.3.39/mysql-test/main/lock_kill.test 2023-05-03 06:32:44.000000000 +0200 -+++ ../../mariadb-10.3.39/mysql-test/main/lock_kill.test 2023-07-07 15:13:54.335086789 +0200 -@@ -17,7 +17,7 @@ LOCK TABLE t1 WRITE; - eval KILL $conid; - --enable_query_log - --connection con1 ----error 0,2006,2013,ER_CONNECTION_KILLED -+--error 0,2006,2013,2026,ER_CONNECTION_KILLED - reap; - --connection default - --disconnect con1 -@@ -35,7 +35,7 @@ LOCK TABLE t1 WRITE, t2 WRITE; - eval KILL $conid; - --enable_query_log - --connection con1 ----error 0,2006,2013,ER_CONNECTION_KILLED -+--error 0,2006,2013,2026,ER_CONNECTION_KILLED - reap; - --connection default - --disconnect con1 - ---- mariadb-10.3.39/mysql-test/main/loadxml.test 2023-05-03 06:32:44.000000000 +0200 -+++ ../../mariadb-10.3.39/mysql-test/main/loadxml.test 2023-07-07 15:15:14.862492763 +0200 -@@ -83,7 +83,7 @@ connection default; - connection addconroot; - # Read response from connection to avoid packets out-of-order when disconnecting - # Note, that connection can already be dead due to previously issued kill ----error 0,2013 -+--error 0,2013,2026 - --reap - disconnect addconroot; - connection default; - ---- mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.test 2023-05-03 06:32:45.000000000 +0200 -+++ ../../mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.test 2023-07-10 11:48:28.859497746 +0200 -@@ -1,3 +1,3 @@ - --replace_regex /varchar\([0-9]+\)/varchar(pathlen)/ - show create table information_schema.disks; --select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks; -+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks; - ---- mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.result 2023-05-03 06:32:45.000000000 +0200 -+++ ../../mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.result 2023-07-10 12:47:10.460233056 +0200 -@@ -7,6 +7,6 @@ DISKS CREATE TEMPORARY TABLE `DISKS` ( - `Used` bigint(32) NOT NULL, - `Available` bigint(32) NOT NULL - ) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci --select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks; --sum(Total) > sum(Available) sum(Total)>sum(Used) -+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks; -+sum(Total) >= sum(Available) sum(Total) >= sum(Used) - 1 1 - diff --git a/SOURCES/mariadb-annocheck.patch b/SOURCES/mariadb-annocheck.patch deleted file mode 100644 index 223619d..0000000 --- a/SOURCES/mariadb-annocheck.patch +++ /dev/null @@ -1,13 +0,0 @@ -Harden the "hardened" flags even more to comply with RHEL8 security rules - ---- mariadb-10.3.25/CMakeLists.txt 2020-10-05 18:19:45.000000000 +0200 -+++ mariadb-10.3.25/CMakeLists.txt_patched 2020-11-03 01:29:52.369426705 +0100 -@@ -247,7 +247,7 @@ IF(NOT WITH_TSAN) - # security-enhancing flags - MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC") - MY_CHECK_AND_SET_LINKER_FLAG("-Wl,-z,relro,-z,now") -- MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4") -+ MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector-strong --param=ssp-buffer-size=4") - MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO) - ENDIF() - ENDIF() diff --git a/SOURCES/mysql-check-socket.sh b/SOURCES/mariadb-check-socket.sh similarity index 80% rename from SOURCES/mysql-check-socket.sh rename to SOURCES/mariadb-check-socket.sh index 407523f..51a7e43 100644 --- a/SOURCES/mysql-check-socket.sh +++ b/SOURCES/mariadb-check-socket.sh @@ -5,7 +5,7 @@ # 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" +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" if test -e "$socketfile" ; then echo "Socket file $socketfile exists." >&2 @@ -25,9 +25,9 @@ if test -e "$socketfile" ; then fi # some process uses the socket file - response=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1` + response=`@bindir@/mariadb-admin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1` if [ $? -eq 0 ] || echo "$response" | grep -q "Access denied for user" ; then - echo "Is another MySQL daemon already running with the same unix socket?" >&2 + echo "Is another MariaDB daemon already running with the same unix socket?" >&2 echo "Please, stop the process using the socket $socketfile or remove the file manually to start the service." >&2 exit 1 fi diff --git a/SOURCES/mysql-check-upgrade.sh b/SOURCES/mariadb-check-upgrade.sh similarity index 68% rename from SOURCES/mysql-check-upgrade.sh rename to SOURCES/mariadb-check-upgrade.sh index 1bfd3bc..fe95544 100644 --- a/SOURCES/mysql-check-upgrade.sh +++ b/SOURCES/mariadb-check-upgrade.sh @@ -1,6 +1,6 @@ #!/bin/sh -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" upgrade_info_file="$datadir/mysql_upgrade_info" version=0 @@ -25,14 +25,14 @@ if [ $version -ne $thisversion ] ; then fi cat <&2 -The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: +The datadir located at $datadir needs to be upgraded using 'mariadb-upgrade' tool. This can be done using the following steps: - 1. Back-up your data before with 'mysql_upgrade' - 2. Start the database daemon using 'service @DAEMON_NAME@ start' - 3. Run 'mysql_upgrade' with a database user that has sufficient privileges + 1. Back-up your data before with 'mariadb-upgrade' + 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' + 3. Run 'mariadb-upgrade' with a database user that has sufficient privileges -Read more about 'mysql_upgrade' usage at: -https://mariadb.com/kb/en/mariadb/documentation/sql-commands/table-commands/mysql_upgrade/ +Read more about 'mariadb-upgrade' usage at: +https://mariadb.com/kb/en/mysql_upgrade/ EOF fi diff --git a/SOURCES/mariadb-fmt_bundle.patch b/SOURCES/mariadb-fmt_bundle.patch new file mode 100644 index 0000000..a988598 --- /dev/null +++ b/SOURCES/mariadb-fmt_bundle.patch @@ -0,0 +1,16 @@ +Currently, the CMAKE script is able to aither use the system library, or download a bundle. +We don't have FMT as a system library in RHEL, and we can't *download* a bundle during build time. +So we download the bundle ourselves, add it as additional package sources, and redirect the CMAKE +so it would search for it on the correct - local - location. + +--- mariadb-10.11.6/cmake/libfmt.cmake 2023-11-08 16:51:39.000000000 +0100 ++++ mariadb-10.11.6/cmake/libfmt.cmake_patched 2024-01-10 17:29:18.004421343 +0100 +@@ -15,7 +15,7 @@ MACRO(BUNDLE_LIBFMT) + ExternalProject_Add( + libfmt + PREFIX "${dir}" +- URL "https://github.com/fmtlib/fmt/archive/refs/tags/8.0.1.zip" ++ URL "${CMAKE_BINARY_DIR}/bundles/8.0.1.zip" + URL_MD5 e77873199e897ca9f780479ad68e25b1 + INSTALL_COMMAND "" + CONFIGURE_COMMAND "" diff --git a/SOURCES/mariadb-logrotate.patch b/SOURCES/mariadb-logrotate.patch index e3b7e7c..ec522b0 100644 --- a/SOURCES/mariadb-logrotate.patch +++ b/SOURCES/mariadb-logrotate.patch @@ -1,79 +1,32 @@ -Adjust the mysql-log-rotate script in several ways: +Adjust the 'mariadb.logrotate.sh' script in several ways: * Use the correct log file pathname for Red Hat installations. -* Enable creation of the log file by logrotate (needed since - /var/log/ isn't writable by mysql user); and set the same 640 - permissions we normally use. -* Comment out the actual rotation commands, so that user must edit - the file to enable rotation. This is unfortunate, but the fact - that the script will probably fail without manual configuration - (to set a root password) means that we can't really have it turned - on by default. Fortunately, in most configurations the log file - is low-volume and so rotation is not critical functionality. -See discussions at RH bugs 799735, 547007 -* Note they are from Fedora 15 / 16 +* Remove Debian specific code + for the very unlikely, but possible scenario + in which the debian config file would exist. -Update 3/2017 -* it would be big unexpected change for anyone upgrading, if we start shipping it now. - Maybe it is good candidate for shipping with MariaDB 10.2 ? -* the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost - during flushing, the operation is not atomic. - We should not ship it in that state - -Update 6/2018 -* the SIGHUP causes server to flush all logs. No password admin needed, the only constraint is - beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. -* Submited as PR: https://github.com/MariaDB/server/pull/807 - -Update 01/2022 -* added delaycompress option -* see https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux - ---- mariadb-10.3.32/support-files/mysql-log-rotate.sh 2022-01-14 17:03:27.000000000 +0100 -+++ mariadb-10.3.32/support-files/mysql-log-rotate.sh_patched 2022-01-17 15:07:54.205379672 +0100 -@@ -3,36 +3,22 @@ - # in the [mysqld] section as follows: - # - # [mysqld] --# log-error=@localstatedir@/mysqld.log --# --# If the root user has a password you have to create a --# /root/.my.cnf configuration file with the following --# content: --# --# [mysqladmin] --# password = --# user= root --# --# where "" is the password. --# --# ATTENTION: This /root/.my.cnf should be readable ONLY --# for root ! -+# log-error=@LOG_LOCATION@ +--- mariadb-10.11.6/support-files/mariadb.logrotate.sh 2023-11-08 16:51:43.000000000 +0100 ++++ mariadb-10.11.6/support-files/mariadb.logrotate.sh_patched 2023-12-17 18:03:36.955861025 +0100 +@@ -6,7 +6,7 @@ + # Read https://mariadb.com/kb/en/error-log/ to learn more about logging and + # https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ about rotating logs. --@localstatedir@/mysqld.log { -- # create 600 mysql mysql +-@localstatedir@/mysqld.log @localstatedir@/mariadb.log @logdir@/*.log { +@LOG_LOCATION@ { -+ create 600 mysql mysql - su mysql mysql - notifempty - daily - rotate 3 - missingok - compress -+ delaycompress - postrotate - # just if mysqld is really running -- if test -x @bindir@/mysqladmin && \ -- @bindir@/mysqladmin ping &>/dev/null -- then -- @bindir@/mysqladmin --local flush-error-log \ -- flush-engine-log flush-general-log flush-slow-log -- fi -+ if [ -e @PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid ] -+ then -+ kill -1 $(<@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid) -+ fi - endscript - } + + # Depends on a mysql@localhost unix_socket authenticated user with RELOAD privilege + @su_user@ +@@ -45,11 +45,6 @@ + # has thanks to the default use of Unix socket authentication for the 'mysql' + # (or root on Debian) account used everywhere since MariaDB 10.4. + postrotate +- if test -r /etc/mysql/debian.cnf +- then +- EXTRAPARAM='--defaults-file=/etc/mysql/debian.cnf' +- fi +- + if test -x @bindir@/mariadb-admin + then + @bindir@/mariadb-admin $EXTRAPARAM --local flush-error-log \ + diff --git a/SOURCES/mariadb-mdev-30402.patch b/SOURCES/mariadb-mdev-30402.patch deleted file mode 100644 index 069bf76..0000000 --- a/SOURCES/mariadb-mdev-30402.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mariadb-10.3.39/scripts/wsrep_sst_mariabackup.sh 2023-08-11 11:31:40.415022889 +0200 -+++ ../../mariadb-10.3.39/scripts/wsrep_sst_mariabackup.sh 2023-08-11 11:32:01.924161077 +0200 -@@ -340,6 +340,9 @@ get_transfer() - "Use workaround for socat $SOCAT_VERSION bug" - fi - fi -+ if check_for_version "$SOCAT_VERSION" '1.7.4'; then -+ tcmd="$tcmd,no-sni=1" -+ fi - fi - - if [ "${sockopt#*,dhparam=}" = "$sockopt" ]; then diff --git a/SOURCES/mariadb-ownsetup.patch b/SOURCES/mariadb-ownsetup.patch index 3534c43..7728cf1 100644 --- a/SOURCES/mariadb-ownsetup.patch +++ b/SOURCES/mariadb-ownsetup.patch @@ -1,16 +1,14 @@ -diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt ---- mariadb-10.2.32/support-files/CMakeLists.txt 2020-05-08 13:45:27.000000000 +0200 -+++ mariadb-10.2.32/support-files/CMakeLists.txt_pacthed 2020-05-13 10:11:30.884190396 +0200 -@@ -100,7 +100,8 @@ IF(UNIX) - ENDIF() - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) -- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) -+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) - +--- mariadb-10.4.14/support-files/CMakeLists.txt 2020-08-06 17:28:28.000000000 +0200 ++++ mariadb-10.4.14/support-files/CMakeLists.txt_patched 2020-09-03 13:21:07.826658279 +0200 +@@ -187,6 +187,7 @@ IF(UNIX) + COMPONENT SharedLibraries) + INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT Client) ++ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf @ONLY) + INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT IniFiles) + INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR} + diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf --- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 +++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 diff --git a/SOURCES/mariadb-pcdir.patch b/SOURCES/mariadb-pcdir.patch deleted file mode 100644 index d9a8a78..0000000 --- a/SOURCES/mariadb-pcdir.patch +++ /dev/null @@ -1,20 +0,0 @@ -Use PCDIR CMake option, if configured - -Upstream install the server pkgconfig file into arch-independent directory -Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 - ---- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100 -+++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100 -@@ -82,7 +82,12 @@ IF(UNIX) - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) - CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) -+IF(INSTALL_PCDIR) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) -+ELSE() - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) -+ENDIF() -+ - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) - diff --git a/SOURCES/mysql-prepare-db-dir.sh b/SOURCES/mariadb-prepare-db-dir.sh similarity index 95% rename from SOURCES/mysql-prepare-db-dir.sh rename to SOURCES/mariadb-prepare-db-dir.sh index a82479f..cccfe96 100644 --- a/SOURCES/mysql-prepare-db-dir.sh +++ b/SOURCES/mariadb-prepare-db-dir.sh @@ -1,9 +1,9 @@ #!/bin/sh -# This script creates the mysql data directory during first service start. +# This script creates the MariaDB data directory during first service start. # In subsequent starts, it does nothing much. -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" export LC_ALL=C @@ -97,7 +97,7 @@ if should_initialize "$datadir" ; then # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 INITDB_TIMESTAMP=`LANG=C date -u` sleep 1 - @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2 + @bindir@/mariadb-install-db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2 ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/SOURCES/mysql-scripts-common.sh b/SOURCES/mariadb-scripts-common.sh similarity index 81% rename from SOURCES/mysql-scripts-common.sh rename to SOURCES/mariadb-scripts-common.sh index e270433..e603a9e 100644 --- a/SOURCES/mysql-scripts-common.sh +++ b/SOURCES/mariadb-scripts-common.sh @@ -1,11 +1,11 @@ #!/bin/sh -# Some useful functions used in other MySQL helper scripts +# Some useful functions used in other MariaDB helper scripts # This scripts defines variables datadir, errlogfile, socketfile export LC_ALL=C -# extract value of a MySQL option from config files +# extract value of a MariaDB 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, @@ -25,7 +25,7 @@ get_mysql_option(){ fi } -# For the case of running more instances via systemd, scrits that source +# For the case of running more instances via systemd, scripts 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. @@ -35,20 +35,20 @@ while echo "$1" | grep -q '^--defaults' ; do shift done -# Defaults here had better match what mysqld_safe will default to +# Defaults here had better match what mariadbd-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 +# 1) default values are hardcoded in the code of mariadbd daemon or +# mariadbd-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 +# must correspond with values defined in mariadbd-safe script and source # code itself. -server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ client-server" +server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ mariadbd mariadbd-@MAJOR_VERSION@.@MINOR_VERSION@ client-server galera" get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@" datadir="$result" diff --git a/SOURCES/mariadb-scripts.patch b/SOURCES/mariadb-scripts.patch index b684482..3b6dc16 100644 --- a/SOURCES/mariadb-scripts.patch +++ b/SOURCES/mariadb-scripts.patch @@ -1,22 +1,23 @@ We have some downstream patches and other scripts that include variables to be expanded by cmake. Cmake needs to know about them, so adding them manually. ---- mariadb-10.3.8/scripts/CMakeLists.txt 2018-07-02 09:34:11.000000000 +0200 -+++ mariadb-10.3.8/scripts/CMakeLists.txt_patched 2018-07-03 10:58:15.954670153 +0200 -@@ -361,6 +361,34 @@ ELSE() - COMPONENT ${${file}_COMPONENT} - ) + # Install libgcc as mylibgcc.a +--- mariadb-10.5.5/scripts/CMakeLists.txt.old 2020-09-24 10:13:35.272589689 +0200 ++++ mariadb-10.5.5/scripts/CMakeLists.txt 2020-09-24 10:17:31.428985798 +0200 +@@ -377,6 +377,34 @@ + INSTALL_LINK(${file} ${binname} ${INSTALL_BINDIR} ${${file}_COMPONENT}) + ENDIF() ENDFOREACH() + + # files for systemd + SET(SYSTEMD_SCRIPTS -+ mysql.tmpfiles.d ++ mariadb.tmpfiles.d + mysql.service + mysql@.service -+ mysql-prepare-db-dir -+ mysql-check-socket -+ mysql-check-upgrade -+ mysql-scripts-common ++ mariadb-prepare-db-dir ++ mariadb-check-socket ++ mariadb-check-upgrade ++ mariadb-scripts-common + mysql_config_multilib + clustercheck + galera_new_cluster diff --git a/SOURCES/mariadb-ssl-cipher-tests.patch b/SOURCES/mariadb-ssl-cipher-tests.patch new file mode 100644 index 0000000..567e433 --- /dev/null +++ b/SOURCES/mariadb-ssl-cipher-tests.patch @@ -0,0 +1,13 @@ +diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test +--- mariadb-10.3.13/mysql-test/main/ssl_cipher.test 2019-02-20 08:59:09.000000000 +0100 ++++ mariadb-10.3.13/mysql-test/main/ssl_cipher.test_patched 2019-02-22 11:22:01.250256060 +0100 +@@ -97,7 +97,9 @@ drop user mysqltest_1@localhost; + let $restart_parameters=--ssl-cipher=AES128-SHA; + source include/restart_mysqld.inc; + connect (ssl_con,localhost,root,,,,,SSL); ++--replace_regex /TLS_AES_.*/AES128-SHA/ + SHOW STATUS LIKE 'Ssl_cipher'; ++--replace_regex /TLS_AES_.*/AES128-SHA/ + SHOW STATUS LIKE 'Ssl_cipher_list'; + disconnect ssl_con; + connection default; diff --git a/SOURCES/mysql.tmpfiles.d.in b/SOURCES/mariadb.tmpfiles.d.in similarity index 100% rename from SOURCES/mysql.tmpfiles.d.in rename to SOURCES/mariadb.tmpfiles.d.in diff --git a/SOURCES/mysql.service.in b/SOURCES/mysql.service.in index 6f84dd3..91dfeca 100644 --- a/SOURCES/mysql.service.in +++ b/SOURCES/mysql.service.in @@ -1,32 +1,24 @@ # 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 create a file "/etc/systemd/system/@DAEMON_NAME@.service", -# containing -# .include /usr/lib/systemd/system/@DAEMON_NAME@.service -# ...make your changes here... -# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", -# which doesn't need to include ".include" call and which will be parsed -# after the file @DAEMON_NAME@.service itself is parsed. +# best way is to: +# +# root> systemctl edit @DAEMON_NAME@.service +# +# Then add additonal directives under a section (probably [Service]). # # 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 - -# For example, if you want to increase mysql's open-files-limit to 10000, -# you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: +# +# For example, if you want to increase MariaDB's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, use the contents below: +# # [Service] # LimitNOFILE=10000 - -# Note: /usr/lib/... is recommended in the .include line though /lib/... -# still works. -# Don't forget to reload systemd daemon after you change unit configuration: -# root> systemctl --system daemon-reload - -# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance. +# [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server -Documentation=man:mysqld(8) +Documentation=man:mariadbd(8) Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target @@ -40,20 +32,19 @@ Type=notify User=mysql Group=mysql -ExecStartPre=@libexecdir@/mysql-check-socket +ExecStartPre=@libexecdir@/mariadb-check-socket # '%n' expands to 'Full unit name'; man systemd.unit -ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +ExecStartPre=@libexecdir@/mariadb-prepare-db-dir %n # MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER -ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStart=@libexecdir@/mariadbd --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER +ExecStartPost=@libexecdir@/mariadb-check-upgrade # Setting this to true can break replication and the Type=notify settings -# See also bind-address mysqld option. +# See also bind-address MariaDB option. PrivateNetwork=false -KillMode=process KillSignal=SIGTERM # Don't want to see an automated SIGKILL ever diff --git a/SOURCES/mysql@.service.in b/SOURCES/mysql@.service.in index b36ce6d..acb2c57 100644 --- a/SOURCES/mysql@.service.in +++ b/SOURCES/mysql@.service.in @@ -1,39 +1,46 @@ -# Multi instance version of mariadb. For if you run mutiple verions at once. +# Multi instance version of MariaDB. For if you run mutiple verions at once. # Also used for @DAEMON_NAME@@bootstrap to bootstrap Galera. # -# To use multi instance variant, use [mysqld.INSTANCENAME] as sections in my.cnf +# To use multi instance variant, use [mariadbd.INSTANCENAME] as sections in +# @sysconfdir@/@my.cnf to change per instance settings. A minimumal necessary +# configuration items to change to avoid conflicts between instances is: +# +# [mariadbd.instancename] +# # TCP port to make available for clients +# port=3306 +# # Socket to make available for clients +# socket=/tmp/mariadb-instancename.sock +# # Where MariaDB should store all its data +# datadir=/usr/local/mariadb-instancename/data +# # and start the service via: -# systemctl start @DAEMON_NAME@@{instancename}.server +# +# root> systemctl start @DAEMON_NAME@@{instancename}.server # # 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 create a file "/etc/systemd/system/@DAEMON_NAME@.service", -# containing -# .include /usr/lib/systemd/system/@DAEMON_NAME@.service -# ...make your changes here... -# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", -# which doesn't need to include ".include" call and which will be parsed -# after the file @DAEMON_NAME@.service itself is parsed. +# overwritten during package upgrades. If you want to customize, for +# all instances, the best way is: +# +# root> systemctl edit @DAEMON_NAME@@.service +# +# Then add additonal directives under a section (probably [Service]). +# +# If you only want to change a specific instance: +# +# root> systemctl edit @DAEMON_NAME@@{instancename}.server # # 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 - -# For example, if you want to increase mysql's open-files-limit to 10000, -# you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: +# +# For example, if you want to increase MariaDB's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, use the contents below: +# # [Service] # LimitNOFILE=10000 -# Note: /usr/lib/... is recommended in the .include line though /lib/... -# still works. -# Don't forget to reload systemd daemon after you change unit configuration: -# root> systemctl --system daemon-reload - -# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance. - [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server -Documentation=man:mysqld(8) +Documentation=man:mariadbd(8) Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target @@ -47,19 +54,18 @@ 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 +ExecStartPre=@libexecdir@/mariadb-check-socket --defaults-group-suffix=.%I +ExecStartPre=@libexecdir@/mariadb-prepare-db-dir --defaults-group-suffix=.%I %n # MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER -ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I +ExecStart=@libexecdir@/mariadbd --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER +ExecStartPost=@libexecdir@/mariadb-check-upgrade --defaults-group-suffix=.%I # Setting this to true can break replication and the Type=notify settings -# See also bind-address mysqld option. +# See also bind-address MariaDB option. PrivateNetwork=false -KillMode=process KillSignal=SIGTERM # Don't want to see an automated SIGKILL ever diff --git a/SOURCES/rh-skipped-tests-arm.list b/SOURCES/rh-skipped-tests-arm.list index c3b5ced..ec2e920 100644 --- a/SOURCES/rh-skipped-tests-arm.list +++ b/SOURCES/rh-skipped-tests-arm.list @@ -1,3 +1,5 @@ -# Fails on aarch64 -innodb.innodb_buffer_pool_resize : -innodb.innodb_buffer_pool_resize_with_chunks : +# Fails since 10.3.17, only on armv7hl +versioning.partition : + +# Fail since 10.4.16 only on armv7hl +versioning.partition_rotation : diff --git a/SOURCES/rh-skipped-tests-base.list b/SOURCES/rh-skipped-tests-base.list index 6b720f4..828cab8 100644 --- a/SOURCES/rh-skipped-tests-base.list +++ b/SOURCES/rh-skipped-tests-base.list @@ -1,27 +1,116 @@ -# Fails everywhere -innodb.innodb_defrag_binlog : +# The SSL test are failing correctly. Fro more explanation, see: +# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 +main.ssl_7937 : #1399847 +main.ssl_8k_key : +main.ssl_crl : #1399847 -main.ssl_7937 : -main.ssl_8k_key : -main.ssl_crl : -main.ssl_system_ca : -main.userstat : +# ------------------------------ +# Tests that fails because of 'Self Signed Certificate in the Certificate Chain' +perfschema.cnf_option : -perfschema.cnf_option : -perfschema.nesting : +rpl.rpl_row_img_blobs : +rpl.rpl_row_img_eng_min : +rpl.rpl_row_img_eng_noblob : + +sys_vars.slave_parallel_threads_basic : + +# ------------------------------ +# Expected to fail, the plugin is not build with server, but 'mariadb-connector-c' instead +plugins.auth_ed25519 : +plugins.multiauth : + +# ------------------------------ +perfschema.nesting : #1399847 +perfschema.socket_summary_by_instance_func : #1399847 perfschema.socket_summary_by_event_name_func : -perfschema.socket_summary_by_instance_func : -plugins.feedback_plugin_load : +# ------------------------------ +# Fails since 10.1.12 +innodb.innodb_defrag_binlog : -rpl.rpl_row_img_blobs : -rpl.rpl_row_img_eng_min : -rpl.rpl_row_img_eng_noblob : +# Fails everywhere since 10.2.15 +main.userstat : -sys_vars.slave_parallel_threads_basic : +# Fails everywhere since 10.4.11 +main.events_bugs : +sys_vars.tcp_nodelay : -# Fails only on i686 -main.myisampack : +# Fails on i686 +encryption.innodb-redo-badkey : -# We don't build the plugin in server; we build it in mariadb-connector-c instead -plugins.auth_ed25519 : \ No newline at end of file +# Fails since 10.5.2 +main.mysqld--help2 : +disks.disks : +disks.disks_notembedded : + +# Fails since 10.5.3 +main.mysqld--help-aria : + +# Fails since 10.5.4 +main.ssl_system_ca : + +# Fails since 10.5.7 +innodb.innodb_wl6326_big : +plugins.feedback_plugin_load : + +# Fails only on RHEL 9 BETA on i686 architecture +main.myisampack : + +# Fails on all arches since 10.5.13 on CentOS Stream 9 +oqgraph.regression_mdev6345 : +type_test.type_test_double : +# Fails only on i686 since 10.5.13 on CentOS Stream 9 +oqgraph.general-innodb : +oqgraph.general-Aria : +oqgraph.general-MyISAM : +oqgraph.legacy_upgrade : +oqgraph.regression_1133093 : +oqgraph.regression_1196036 : +oqgraph.regression_1213120 : + +# Fails since RHEL 9.0.0 GA +# TLSv1.0 and TLSv1.1 are not allowed anymore +# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/security_hardening/index +main.tls_version1 : + +# Fails on all architectures since 10.5.18 +main.information_schema : +main.loadxml : +main.lock_kill : + +# Fails since 10.5.20 +innodb.innodb_bug51920 : +innodb.row_size_error_log_warnings_3 : +binlog_encryption.rpl_cant_read_event_incident : +bg.spider_fixes : +bugfix.mdev_29904 : "[Warning] mariadbd: Can't get hardware address with error 0" +sys_vars.completion_type_func : +rpl.rpl_report_port : +rpl.rpl_reset_slave_fail : +rpl.rpl_xa_survive_disconnect_lsu_off : +rpl.rpl_heartbeat_basic : +rpl.rpl_xa_survive_disconnect : +rpl.rpl_err_ignoredtable : +rpl.rpl_row_img_sequence_full : +rpl.rpl_row_img_sequence_min : +rpl.rpl_row_img_sequence_noblob : +rpl.rpl_xa_empty_transaction : +rpl.rpl_slave_shutdown_mdev20821 : + +# Fails on 10.11.6 +main.plugin_auth : + +binlog_encryption.rpl_gtid_basic : +multi_source.info_logs : +perfschema.threads_mysql : +rpl.rpl_cant_read_event_incident : +rpl.rpl_change_master_demote : +rpl.rpl_domain_id_filter_restart : +rpl.rpl_gtid_basic : +rpl.rpl_mdev6020 : +rpl.rpl_old_master : +rpl.rpl_perfschema_applier_status_by_coordinator : +rpl.rpl_rewrite_db_sys_vars : +rpl.rpl_semi_sync_wait_point : +rpl.rpl_trigger : +rpl.rpl_upgrade_master_info : diff --git a/SOURCES/rh-skipped-tests-ppc.list b/SOURCES/rh-skipped-tests-ppc.list index 1938180..48f7c63 100644 --- a/SOURCES/rh-skipped-tests-ppc.list +++ b/SOURCES/rh-skipped-tests-ppc.list @@ -1,30 +1,10 @@ -# Fails on ppc64le -parts.partition_alter1_1_innodb : -parts.partition_alter1_2_innodb : -parts.partition_alter1_1_2_innodb : -parts.partition_alter1_2_1_innodb : -parts.partition_alter2_1_1_innodb : -parts.partition_alter1_2_2_innodb : -parts.partition_alter2_1_2_innodb : -parts.partition_alter2_2_1_innodb : -parts.partition_alter2_2_2_innodb : -parts.partition_alter4_innodb : -parts.partition_basic_innodb : -parts.part_supported_sql_func_innodb : +# Fails on ppc64le since 10.4.12 +oqgraph.social : -rpl.rpl_loaddata_m : +# Fails since 10.5.20 +innodb.innodb_defrag_concurrent : +parts.partition_alter4_innodb : +rpl.rpl_parallel_optimistic_xa_lsu_off : -# -stress.ddl_innodb : - -innodb.innodb_buffer_pool_resize : -innodb.innodb_buffer_pool_resize_with_chunks : -innodb.innodb_bulk_create_index : -innodb.innodb_defrag_binlog : -innodb.innodb_defrag_concurrent : -innodb_gis.kill_server : -gcol.innodb_virtual_basic : - -# Unstable (randomly failing) tests -innodb_gis.rtree_search : -main.type_ranges : +# Fails on 10.11.6 +perfschema.threads_innodb : diff --git a/SOURCES/rh-skipped-tests-s390.list b/SOURCES/rh-skipped-tests-s390.list index 96f893a..b898780 100644 --- a/SOURCES/rh-skipped-tests-s390.list +++ b/SOURCES/rh-skipped-tests-s390.list @@ -1,8 +1,11 @@ -# Fails on s390x -disks.disks : -disks.disks_notembedded : +# Fails since 10.5.2 +perfschema.memory_aggregate_32bit : +period.overlaps : -# related to MDEV-20194 -# first check of `undefined` table causes warning, -# instead INSERT and ALTER should cause it -innodb.row_size_error_log_warnings_3 : +# Fails on 10.11.6 +main.func_json_notembedded : + +innodb_gis.rtree_rollback1 : +mariabackup.encrypted_page_corruption : +mariabackup.huge_lsn : +mariabackup.xb_file_key_management : diff --git a/SPECS/mariadb.spec b/SPECS/mariadb.spec index dc72386..3bf21e3 100644 --- a/SPECS/mariadb.spec +++ b/SPECS/mariadb.spec @@ -1,3 +1,6 @@ +# To both save infrastrucutre resources and workaround for i686 FTBFS +ExcludeArch: %{ix86} + # Prefix that is used for patches %global pkg_name %{name} %global pkgnamepatch mariadb @@ -6,7 +9,17 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%{!?ignore_testsuite_result:%global ignore_testsuite_result 0} +%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 10.11.6 +# Set to 1 to force run the testsuite even if it was already tested in current version +%global force_run_testsuite 0 + +# Aditional SELinux rules +%global require_mysql_selinux 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -16,49 +29,53 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +# Temporary workaround to fix the "internal compiler error" described in https://bugzilla.redhat.com/show_bug.cgi?id=2239498 +# TODO: Remove when the issue is resolved +%ifarch i686 +%global _lto_cflags %{nil} +%endif -# TokuDB engine -# https://mariadb.com/kb/en/mariadb/tokudb/ -# TokuDB engine is available only for x86_64 # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 # Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html # RocksDB engine -# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ -# RocksB engine is available only for x86_64 +# https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ +# RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -# Cassandra engine -# Experimental version of the Cassandra storage engine -# The tests needs running cassandra server -# Do not build it for now -%if "%_arch" == "x86_64" && 0%{?fedora} -%bcond_without tokudb +%ifarch x86_64 +%if 0%{?fedora} %bcond_without mroonga %bcond_without rocksdb -%bcond_with cassandra %else -%bcond_with tokudb %bcond_with mroonga %bcond_with rocksdb -%bcond_with cassandra +%endif %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational fashion %bcond_without oqgraph +# PAM authentication plugin +%bcond_without pam + # Other plugins +# S3 storage engine +# https://mariadb.com/kb/en/s3-storage-engine/ %if 0%{?fedora} %bcond_without cracklib %bcond_without connect %bcond_without sphinx +%bcond_without s3 %else %bcond_with cracklib %bcond_with connect %bcond_with sphinx +%bcond_with s3 %endif + %bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude @@ -75,16 +92,11 @@ %bcond_without test %bcond_without galera %bcond_without backup -%if 0%{?fedora} -%bcond_without bench -%else -%bcond_with bench -%endif # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues -%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_with config %else %bcond_without config @@ -94,24 +106,29 @@ %bcond_with debug # Page compression algorithms for InnoDB & XtraDB -# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot -# https://jira.mariadb.org/browse/MDEV-15932 %bcond_without lz4 -# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use +# MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use # the bundled library, since the package cannot be build with older version +# https://mariadb.com/kb/en/pcre/ %if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.45 +%global pcre_bundled_version 10.42 +%endif + +# Use main python interpretter version +%if 0%{?fedora} || 0%{?rhel} > 7 +%global python_path /usr/bin/python3 +%else +%global python_path /usr/bin/python2 %endif # Include systemd files %global daemon_name %{name} -%global daemondir %{_unitdir} %global daemon_no_prefix %{pkg_name} %global mysqld_pid_dir mariadb @@ -136,45 +153,58 @@ %bcond_with mysql_names %endif - - # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.39 +Version: 10.11.6 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server URL: http://mariadb.org -# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license -License: GPLv2 with exceptions and LGPLv2 and BSD +License: GPLv2 and LGPLv2 Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz +Source1: https://github.com/fmtlib/fmt/archive/refs/tags/8.0.1.zip Source2: mysql_config_multilib.sh Source3: my.cnf.in -Source6: README.mysql-docs -Source7: README.mysql-license +Source6: README.mariadb-docs Source8: README.wsrep_sst_rsync_tunnel -Source10: mysql.tmpfiles.d.in +Source10: mariadb.tmpfiles.d.in Source11: mysql.service.in -Source12: mysql-prepare-db-dir.sh -Source14: mysql-check-socket.sh -Source15: mysql-scripts-common.sh -Source16: mysql-check-upgrade.sh +Source12: mariadb-prepare-db-dir.sh +Source14: mariadb-check-socket.sh +Source15: mariadb-scripts-common.sh +Source16: mariadb-check-upgrade.sh Source18: mysql@.service.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-s390.list Source53: rh-skipped-tests-ppc.list -# Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 -# General upstream response was slightly positive +# Red Hat OpenStack scripts: +# Clustercheck: +# Maintainer: +# Damien Ciabrini +# Source / Upstream: +# Damien; based on https://github.com/olafz/percona-clustercheck +# not updated in 5 years; low-effort maintenance +# Purpose: +# In Openstack, galera is accessed like an A/P database, we have a +# load balancer (haproxy) that drives traffic to a single node and +# performs failover when the galera node monitor fails. +# clustercheck.sh is the monitoring script that is being called remotely +# by haproxy. It is a glue between haproxy and the local galera node that +# can run SQL commands to check whether the local galera is connected to the galera cluster. +# Proposed to MariaDB upstream: https://jira.mariadb.org/browse/MDEV-12442 +# General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck + # Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism". # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te + # Script to support encrypted rsync transfers when SST is required between nodes. # https://github.com/dciabrin/wsrep_sst_rsync_tunnel/blob/master/wsrep_sst_rsync_tunnel Source73: wsrep_sst_rsync_tunnel @@ -186,15 +216,12 @@ Patch4: %{pkgnamepatch}-logrotate.patch Patch7: %{pkgnamepatch}-scripts.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch -# Patch10: Add RHEL8 required security -Patch10: %{pkgnamepatch}-annocheck.patch -# Patch12: Downstream fix for a correct pkgconfig file location -Patch12: %{pkgnamepatch}-pcdir.patch -# Patch13: Fix failing 10.3.39 ssl and disks tests -Patch13: %{pkgnamepatch}-10.3.39-tests.patch -# Patch14: Backport MDEV-30402 socat patch -Patch14: %{pkgnamepatch}-mdev-30402.patch +# Patch10: Fix cipher name in the SSL Cipher name test +Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +Patch11: %{pkgnamepatch}-fmt_bundle.patch + +BuildRequires: make BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel @@ -215,11 +242,11 @@ BuildRequires: systemtap-sdt-devel # Bison SQL parser; needed also for wsrep API BuildRequires: bison bison-devel -# auth_pam.so plugin will be build if pam-devel is installed -BuildRequires: pam-devel -# use either new enough version of pcre or provide bundles(pcre) -%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} -%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +%{?with_debug:BuildRequires: valgrind-devel} + +# use either new enough version of pcre2 or provide bundles(pcre2) +%{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -230,22 +257,48 @@ BuildRequires: python3 # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time +BuildRequires: perl(base) +BuildRequires: perl(Cwd) +BuildRequires: perl(Data::Dumper) +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(Data::Dumper) BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IO::File) +BuildRequires: perl(IO::Handle) +BuildRequires: perl(IO::Select) +BuildRequires: perl(IO::Socket) +BuildRequires: perl(IO::Socket::INET) BuildRequires: perl(IPC::Open3) +BuildRequires: perl(lib) BuildRequires: perl(Memoize) +BuildRequires: perl(POSIX) BuildRequires: perl(Socket) +BuildRequires: perl(strict) +BuildRequires: perl(Symbol) BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Term::ANSIColor) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -BuildRequires: perl(Symbol) +BuildRequires: perl(Time::localtime) +BuildRequires: perl(warnings) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel +#BuildRequires: fmt-devel + +%if %{with debug} +BuildRequires: valgrind-devel +%endif + Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} @@ -255,7 +308,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-libs%{?_isa} = %{sameevr} %else # If not built with client library in this package, use connector-c -Requires: mariadb-connector-c >= 3.1.11 +Requires: mariadb-connector-c >= 3.0 %endif %if %{with mysql_names} @@ -267,24 +320,21 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Suggests: %{name}-server%{?_isa} = %{sameevr} -Conflicts: mysql +Conflicts: %{?fedora:community-}mysql -# obsoletion of mariadb-galera -Provides: mariadb-galera = %{sameevr} - -# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ # Define license macro if not present %{!?_licensedir:%global license %doc} %description -MariaDB is a community developed branch of MySQL - a multi-user, multi-threaded +MariaDB is a community developed fork from MySQL - a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of -a server daemon (mysqld) and many different client programs and libraries. +a server daemon (mariadbd) and many different client programs and libraries. The base package contains the standard MariaDB/MySQL client programs and -generic MySQL files. +utilities. %if %{with clibrary} @@ -294,19 +344,19 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -%endif # mysql_names +%endif %description libs The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. -%endif #clibrary +%endif # At least main config file /etc/my.cnf is shared for client and server part # Since we want to support combination of different client and server -# implementations (e.g. mariadb library and mysql server), +# implementations (e.g. mariadb library and community-mysql server), # we need the config file(s) to be in a separate package, so no extra packages # are pulled, because these would likely conflict. # More specifically, the dependency on the main configuration file (/etc/my.cnf) @@ -330,8 +380,6 @@ package itself. Summary: The shared files required by server and client Requires: %{_sysconfdir}/my.cnf -# obsoletion of mariadb-galera-common -Provides: mariadb-galera-common = %{sameevr} %if %{without clibrary} Obsoletes: %{name}-libs <= %{sameevr} @@ -360,27 +408,20 @@ MariaDB packages. Summary: The configuration files and scripts for galera replication Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} -Requires: galera >= 25.3.3 +Requires: galera >= 26.4.3 Requires(post): libselinux-utils -%if 0%{?rhel} > 7 Requires(post): policycoreutils-python-utils -%else -Requires(post): policycoreutils-python -%endif # wsrep requirements Requires: lsof # Default wsrep_sst_method Requires: rsync -# obsoletion of mariadb-galera-server -Provides: mariadb-galera-server = %{sameevr} - %description server-galera MariaDB is a multi-user, multi-threaded SQL database server. It is a -client/server implementation consisting of a server daemon (mysqld) +client/server implementation consisting of a server daemon (mariadbd) and many different client programs and libraries. This package contains -the MariaDB server and some accompanying files and directories. -MariaDB is a community developed branch of MySQL. +added files to allow MariaDB server to operate as a Galera cluster +member. MariaDB is a community developed fork originally from MySQL. %endif @@ -399,10 +440,13 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} -%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} -%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} -%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} +%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} +%{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} +%{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} +%{?with_pam:Suggests: %{name}-pam%{?_isa} = %{sameevr}} Suggests: mytop Suggests: logrotate @@ -410,6 +454,12 @@ Suggests: logrotate Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d +# Additional SELinux rules (common for MariaDB & MySQL) shipped in a separate package +# For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released +%if %require_mysql_selinux +Requires: (mysql-selinux if selinux-policy-targeted) +%endif + # for fuser in mysql-check-socket Requires: psmisc @@ -427,14 +477,19 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -Conflicts: mysql-server +Conflicts: %{?fedora:community-}mysql-server + +# Bench subpackage has been deprecated in F32 +Obsoletes: %{name}-bench <= %{sameevr} + +Obsoletes: %{name}-tokudb-engine <= %{sameevr} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a -client/server implementation consisting of a server daemon (mysqld) +client/server implementation consisting of a server daemon (mariadbd) and many different client programs and libraries. This package contains the MariaDB server and some accompanying files and directories. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. %if %{with oqgraph} @@ -494,18 +549,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %endif -%if %{with tokudb} -%package tokudb-engine -Summary: The TokuDB storage engine for MariaDB -Requires: %{name}-server%{?_isa} = %{sameevr} -BuildRequires: jemalloc-devel -Requires: jemalloc - -%description tokudb-engine -The TokuDB storage engine from Percona. -%endif - - %if %{with cracklib} %package cracklib-password-check Summary: The password strength checking plugin @@ -534,6 +577,21 @@ This plugin includes support for Kerberos on Unix. %endif +%if %{with pam} +%package pam +Summary: PAM authentication plugin for the MariaDB server + +Requires: %{name}-server%{?_isa} = %{sameevr} +# This subpackage NEED the 'mysql' user/group (created during mariadb-server %%pre) to be available prior installation +Requires(pre): %{name}-server%{?_isa} = %{sameevr} + +BuildRequires: pam-devel + +%description pam +PAM authentication server-side plugin for MariaDB. +%endif + + %if %{with sphinx} %package sphinx-engine Summary: The Sphinx storage engine for MariaDB @@ -545,14 +603,18 @@ Requires: sphinx libsphinxclient The Sphinx storage engine for MariaDB. %endif -%if %{with cassandra} -%package cassandra-engine -Summary: The Cassandra storage engine for MariaDB - EXPERIMENTAL VERSION -Requires: %{name}-server%{?_isa} = %{sameevr} -BuildRequires: cassandra thrift-devel -%description cassandra-engine -The Cassandra storage engine for MariaDB. EXPERIMENTAL VERSION! +%if %{with s3} +%package s3-engine +Summary: The S3 storage engine for MariaDB +Requires: %{name}-server%{?_isa} = %{sameevr} + +BuildRequires: curl-devel + +%description s3-engine +The S3 read only storage engine allows archiving MariaDB tables in Amazon S3, +or any third-party public or private cloud that implements S3 API, +but still have them accessible for reading in MariaDB. %endif @@ -562,9 +624,9 @@ Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} %endif -Conflicts: mysql-server +Conflicts: %{?fedora:community-}mysql-server # mysqlhotcopy needs DBI/DBD support -Requires: perl(DBI) perl(DBD::mysql) +Requires: perl(DBI) perl(DBD::MariaDB) %description server-utils This package contains all non-essential server utilities and scripts for @@ -578,24 +640,24 @@ Summary: Files for development of MariaDB/MySQL applications %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel %if %{without clibrary} -Requires: mariadb-connector-c-devel >= 3.1.11 +Requires: mariadb-connector-c-devel >= 3.0 %endif %if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} %endif -Conflicts: mysql-devel +Conflicts: %{?fedora:community-}mysql-devel %description devel MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. %if %{with clibrary} This package contains everything needed for developing MariaDB/MySQL client -and server applications. +and server plugins and applications. %else This package contains everything needed for developing MariaDB/MySQL server -applications. For developing client applications, use mariadb-connector-c -package. +plugins and applications. For developing client applications, use +mariadb-connector-c package. %endif %endif @@ -614,7 +676,7 @@ Provides: mysql-embedded%{?_isa} = %{sameevr} MariaDB is a multi-user, multi-threaded SQL database server. This package contains a version of the MariaDB server that can be embedded into a client application instead of running as a separate process. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. %package embedded-devel @@ -627,40 +689,23 @@ Requires: libaio-devel Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %endif -Conflicts: mysql-embedded-devel +Conflicts: %{?fedora:community-}mysql-embedded-devel %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. This package contains files needed for developing and testing with the embedded version of the MariaDB server. %endif -%if %{with bench} -%package bench -Summary: MariaDB benchmark scripts and data -Requires: %{name}%{?_isa} = %{sameevr} -%if %{with mysql_names} -Provides: mysql-bench = %{sameevr} -Provides: mysql-bench%{?_isa} = %{sameevr} -%endif -Conflicts: mysql-bench - -%description bench -MariaDB is a multi-user, multi-threaded SQL database server. -MariaDB is a community developed branch of MySQL. -This package contains benchmark scripts and data for use when benchmarking -MariaDB. -%endif - - %if %{with test} %package test Summary: The test suite distributed with MariaDB Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: patch Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) @@ -672,8 +717,7 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) - -Conflicts: mysql-test +Conflicts: %{?fedora:community-}mysql-test %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} @@ -681,28 +725,35 @@ Provides: mysql-test%{?_isa} = %{sameevr} %description test MariaDB is a multi-user, multi-threaded SQL database server. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. This package contains the regression test suite distributed with the MariaDB sources. %endif %prep -%setup -q -n mariadb-%{version} +%setup -q -n %{pkg_name}-%{version} # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; +# Remove testsuite for the mariadb-connector-c +rm -rf libmariadb/unittest +%if %{without rocksdb} +rm -r storage/rocksdb/ +%endif + + %patch4 -p1 %patch7 -p1 %patch9 -p1 -%patch10 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 - -# workaround for upstream bug #56342 -#rm mysql-test/t/ssl_8k_key-master.opt +%patch11 -p1 +# The test in Patch 10 has been recently updated by upstream +# and the test was disabled in the testuite run +# main.ssl_cipher [ disabled ] MDEV-17184 - Failures with OpenSSL 1.1.1 +# Keeping the patch commented out, need to revisit +# once the test is re-enabled by upstream in some future release +#%%patch10 -p1 # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -720,6 +771,9 @@ cat %{SOURCE52} | tee -a mysql-test/unstable-tests cat %{SOURCE53} | tee -a mysql-test/unstable-tests %endif +mkdir -p %{_vpath_builddir}/bundles +cp %{SOURCE1} %{_vpath_builddir}/bundles/ + cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} %{SOURCE73} scripts @@ -731,38 +785,26 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` -pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` +pcre_version=`grep -e "https://github.com/PCRE2Project/pcre2/releases/download" cmake/pcre.cmake | sed -r "s;.*pcre2-([[:digit:]]+\.[[:digit:]]+).*;\1;" ` -%if %{without unbundled_pcre} # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles -if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] -then - echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" +%if %{without unbundled_pcre} +if [ %{pcre_bundled_version} != "$pcre_version" ] ; then + echo -e "\n Error: Bundled PCRE version is not correct. \n\tBundled version number: %{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" exit 1 fi %else # Check if the PCRE version that upstream use, is the same as the one present in system -pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` -if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] -then - echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` + +if [ "$pcre_system_version" != "$pcre_version" ] ; then + echo -e "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number: $pcre_system_version \n\tUpstream version number: $pcre_version\n" fi -%endif # PCRE - - -%if %{without rocksdb} -rm -r storage/rocksdb/ %endif -# Remove python scripts remains from tokudb upstream (those files are not used anyway) -rm -r storage/tokudb/mysql-test/tokudb/t/*.py - %build -%{set_build_flags} - # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"$(id -u)" = "x0" ]; then @@ -773,17 +815,9 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py fi %endif -CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# Override all optimization flags when making a debug build -%{?with_debug: CFLAGS="$CFLAGS -O0 -g"} - -CXXFLAGS="$CFLAGS" -CPPFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS CPPFLAGS - # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -%cmake . \ +%cmake \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ @@ -807,9 +841,7 @@ export CFLAGS CXXFLAGS CPPFLAGS -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ - -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ - -DINSTALL_PCDIR=%{_lib}/pkgconfig \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DTMPDIR=/var/tmp \ @@ -817,7 +849,7 @@ export CFLAGS CXXFLAGS CPPFLAGS -DGROONGA_NORMALIZER_MYSQL_PROJECT_NAME=%{name}-server/groonga-normalizer-mysql \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ - -DSECURITY_HARDENED=ON \ + -DSECURITY_HARDENED=OFF \ -DWITH_WSREP=%{?with_galera:ON}%{!?with_galera:OFF} \ -DWITH_INNODB_DISALLOW_WRITES=%{?with_galera:ON}%{!?with_galera:OFF} \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ @@ -826,7 +858,7 @@ export CFLAGS CXXFLAGS CPPFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \ + -DWITH_LIBFMT=bundled \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ @@ -836,22 +868,54 @@ export CFLAGS CXXFLAGS CPPFLAGS -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ - -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DPLUGIN_S3=%{?with_s3:DYNAMIC}%{!?with_s3:NO} \ + -DPLUGIN_AUTH_PAM=%{?with_pam:YES}%{!?with_pam:NO} \ + -DPLUGIN_AUTH_PAM_V1=%{?with_pam:DYNAMIC}%{!?with_pam:NO} \ + -DPLUGIN_COLUMNSTORE=NO \ -DPLUGIN_CLIENT_ED25519=OFF \ - -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ + -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ + -DPLUGIN_PROVIDER_LZMA=NO \ + -DPLUGIN_HASHICORP_KEY_MANAGEMENT=NO \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} -# Print all Cmake options values -# cmake -LAH for List Advanced Help -cmake -LA +# The -DSECURITY_HARDENED is used to force a set of compilation flags for hardening +# The issue is that the MariaDB upstream level of hardening is lower than expected by Red Hat +# We disable this option to the default compilation flags (which have higher level of hardening) will be used -%make_build VERBOSE=1 +CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# force PIC mode so that we can build libmysqld.so +CFLAGS="$CFLAGS -fPIC" + +%if %{with debug} +# Override all optimization flags when making a debug build +# -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. +%undefine _fortify_level +CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` + +CFLAGS="$CFLAGS -O0 -g" + +# Fixes for Fedora 32 & Rawhide (GCC 10.0): +%if 0%{?fedora} >= 32 +CFLAGS="$CFLAGS -Wno-error=class-memaccess" +CFLAGS="$CFLAGS -Wno-error=enum-conversion" +%endif # f32 +%endif # debug + +CXXFLAGS="$CFLAGS" +CPPFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS CPPFLAGS + + +# Print all Cmake options values; "-LAH" means "List Advanced Help" +cmake -B %{_vpath_builddir} -LAH + +%cmake_build # build selinux policy %if %{with galera} @@ -859,8 +923,10 @@ pushd selinux make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %endif + + %install -%make_install +%cmake_install # multilib header support #1625157 for header in mysql/server/my_config.h mysql/server/private/config.h; do @@ -874,7 +940,7 @@ ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz if [ %multilib_capable ] then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +install -p -m 0755 %{_vpath_builddir}/scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config # Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi @@ -886,8 +952,8 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc # 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 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ -install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ # Logfile creation @@ -902,35 +968,39 @@ mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} -install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf +install -D -p -m 0644 %{_vpath_builddir}/scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else -rm scripts/my.cnf +rm %{_vpath_builddir}/scripts/my.cnf %endif # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -# remove SysV init script and a symlink to that, we pack our very own -rm %{buildroot}%{_sysconfdir}/init.d/mysql +# Remove upstream SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_libexecdir}/rcmysql +# Remove upstream Systemd service files +rm -r %{buildroot}%{_datadir}/%{pkg_name}/systemd +# Our downstream Systemd service file have set aliases to the "mysql" names in the [Install] section. +# They can be enabled / disabled by "systemctl enable / diable " +rm %{buildroot}%{_unitdir}/{mysql,mysqld}.service + # install systemd unit files and scripts for handling server startup -install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service -install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service -# Remove the upstream version -rm %{buildroot}%{_tmpfilesdir}/mariadb.conf -# Install downstream version -install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf -%if 0%{?mysqld_pid_dir:1} -echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif #pid +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 # helper scripts for service starting -install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket -install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade -install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -p -m 755 %{_vpath_builddir}/scripts/mariadb-prepare-db-dir %{buildroot}%{_libexecdir}/mariadb-prepare-db-dir +install -p -m 755 %{_vpath_builddir}/scripts/mariadb-check-socket %{buildroot}%{_libexecdir}/mariadb-check-socket +install -p -m 755 %{_vpath_builddir}/scripts/mariadb-check-upgrade %{buildroot}%{_libexecdir}/mariadb-check-upgrade +install -p -m 644 %{_vpath_builddir}/scripts/mariadb-scripts-common %{buildroot}%{_libexecdir}/mariadb-scripts-common -# install aditional galera selinux policy +# Install downstream version of tmpfiles +install -D -p -m 0644 %{_vpath_builddir}/scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +%if 0%{?mysqld_pid_dir:1} +echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf +%endif + +# install additional galera selinux policy %if %{with galera} install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif @@ -946,8 +1016,8 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list # Client that uses libmysqld embedded server. # Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. -%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} -rm %{buildroot}%{_mandir}/man1/mysql_embedded.1* +%{?with_embedded:rm %{buildroot}%{_bindir}/{mariadb-,mysql_}embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}embedded.1* # Static libraries rm %{buildroot}%{_libdir}/*.a # This script creates the MySQL system tables and starts the server. @@ -965,54 +1035,70 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance -# Shipped as a standalona package in Fedora +# Shipped as a standalone package in Fedora rm %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_mandir}/man1/mytop.1* -# put logrotate script where it needs to be -mkdir -p %{buildroot}%{logrotateddir} -mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} -chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} +# Should be shipped with mariadb-connector-c +rm %{buildroot}%{_mandir}/man1/mariadb_config.1* + +# for compatibility with upstream RPMs, create mysqld symlink in sbin +mkdir -p %{buildroot}%{_sbindir} +ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld +ln -s %{_libexecdir}/mariadbd %{buildroot}%{_sbindir}/mariadbd # copy additional docs into build tree so %%doc will find them install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} -install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} install -p -m 0644 %{SOURCE8} %{basename:%{SOURCE8}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file -sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf -install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +%if %{with galera} +sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf +install -p -m 0644 %{_vpath_builddir}/support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +%endif # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck -install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck +install -p -m 0755 %{_vpath_builddir}/scripts/clustercheck %{buildroot}%{_bindir}/clustercheck # remove duplicate logrotate script -rm %{buildroot}%{logrotateddir}/mysql +rm %{buildroot}%{_datadir}/mariadb/mariadb.logrotate # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor -# Buildroot does not have symlink /lib --> /usr/lib +# Buildroot does not have symlink /lib64 --> /usr/lib64 +%if %{with pam} mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} - -# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 -chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf +%endif # Add wsrep_sst_rsync_tunnel script install -p -m 0755 scripts/wsrep_sst_rsync_tunnel %{buildroot}%{_bindir}/wsrep_sst_rsync_tunnel +# Remove systemd socket files from %%{_unitdir} +# We ship them in %%{_datadir}, so users can try them out on their own risk +mkdir -p %{buildroot}%{_datadir}/%{daemon_name}/systemd +mv %{buildroot}%{_unitdir}/%{daemon_name}*.socket %{buildroot}%{_datadir}/%{daemon_name}/systemd + # Disable plugins %if %{with gssapi} -# Comment out the line to keep RHEL8 behaviour the same -#sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %endif %if %{with cracklib} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %endif +# Fix Galera Replication config file +# The replication requires cluster address upon startup (which is end-user specific). +# Disable it entirely, rather than have it failing out-of-the-box. +%if %{with galera} +sed -i 's/^wsrep_on=1/wsrep_on=0/' %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +%endif + %if %{without embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif @@ -1023,6 +1109,7 @@ rm %{buildroot}%{_libdir}/libmariadb.so.* unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so unlink %{buildroot}%{_libdir}/libmariadb.so +rm %{buildroot}%{_mandir}/man3/* # Client plugins rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so} %if %{with gssapi} @@ -1033,8 +1120,8 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so %if %{without clibrary} || %{without devel} rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config +rm %{buildroot}%{_bindir}/mariadb-config rm %{buildroot}%{_mandir}/man1/mysql_config*.1* -unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %endif %if %{without clibrary} && %{with devel} @@ -1053,25 +1140,21 @@ rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_libdir}/libmariadb*.so unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so -%endif # clibrary -%endif # devel +%endif +%endif %if %{without client} -rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ -mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap} -rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ -mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* -rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf -%endif +rm %{buildroot}%{_bindir}/msql2mysql +rm %{buildroot}%{_bindir}/{mysql,mariadb} +rm %{buildroot}%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} +rm %{buildroot}%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} -%if %{without tokudb} -%else -%if 0%{?fedora} || 0%{?rhel} > 7 -# Move the upstream file to the correct location -mv %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf -%endif +rm %{buildroot}%{_mandir}/man1/msql2mysql.1* +rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1* +rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* +rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* + +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{without config} @@ -1086,50 +1169,59 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ -polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi} -%endif - -%if %{without bench} -rm -r %{buildroot}%{_datadir}/sql-bench +polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi,\ +bulgarian,chinese,georgian} %endif %if %{without test} %if %{with embedded} -rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} -rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* -%endif # embedded rm %{buildroot}%{_bindir}/test-connect-t +rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* +%endif # embedded +%if %{with pam} +rm %{buildroot}/suite/plugins/pam/mariadb_mtr +rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so +%endif # pam rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* +rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -%endif # test +%endif %if %{without galera} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} rm %{buildroot}%{_bindir}/galera_recovery -rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif %if %{without rocksdb} -rm %{buildroot}%{_mandir}/man1/mysql_ldb.1* +rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* +rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* +%endif + +%if %{without backup} +rm %{buildroot}%{_mandir}/man1/maria{,db-}backup.1* +rm %{buildroot}%{_mandir}/man1/mbstream.1* +%endif + +%if %{without s3} +rm %{buildroot}%{_mandir}/man1/aria_s3_copy.1* %endif %check %if %{with test} %if %runselftest - -# Workaround for rhbz#1618810 -OPENSSL_SYSTEM_CIPHERS_OVERRIDE=xyz_nonexistent_file -export OPENSSL_SYSTEM_CIPHERS_OVERRIDE -OPENSSL_CONF='' -export OPENSSL_CONF - # hack to let 32- and 64-bit tests run concurrently on same build machine export MTR_PARALLEL=1 -# builds might happen at the same host, avoid collision -export MTR_BUILD_THREAD=%{__isa_bits} +# Builds might happen at the same host, avoid collision +# The port used is calculated as 20 * MTR_BUILD_THREAD + 10000 +# The resulting port must be between 5000 and 32767 +# This is the same as using option "--build-thread" for the "mysql-test-run.pl" +export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) # The cmake build scripts don't provide any simple way to control the # options for mysql-test-run, so ignore the make target and just call it @@ -1149,32 +1241,49 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( set -ex + cd %{buildroot}%{_datadir}/mysql-test - cd mysql-test - perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \ - --suite-timeout=5000 --testcase-timeout=100 \ - --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=10 --big-test \ - --skip-test=spider \ -%if %{ignore_testsuite_result} - --max-test-fail=9999 || : -%else - --skip-test-list=unstable-tests -%endif + export common_testsuite_arguments=" --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " -# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \ - --suite-timeout=60 --testcase-timeout=10 \ - --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 --big-test \ - --skip-ssl --suite=spider,spider/bg,spider/bugfix,spider/handler \ -%if %{ignore_testsuite_result} - --max-test-fail=999 || : -%endif + # 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 -e "\n\nRunning just the base testsuite\n\n" + perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --suite=main --mem --skip-test-list=unstable-tests + 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 -e "\n\nRunning the advanced testsuite\n\n" + perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \ + %if %{ignore_testsuite_result} + --max-test-fail=9999 || : + %else + --skip-test-list=unstable-tests + %endif + # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) + perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --suite=spider,spider/bg,spider/bugfix \ + %if %{ignore_testsuite_result} + --max-test-fail=999 || : + %else + --skip-test-list=unstable-tests + %endif + # blank line + fi + + # There might be a dangling symlink left from the testing, remove it to not be installed + rm -rf ./var + # Remove temporary files created by the testsuite execution + find ./ -type f -name '*~' -exec rm {} + ) -%endif # if dry run -%endif # with test +# NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2". +# however, all of the tests fail with: "failed: 12521: Can't use wrapper 'oracle' for SQL connection" + +%endif +%endif @@ -1183,23 +1292,18 @@ export MTR_BUILD_THREAD=%{__isa_bits} /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_scriptlets libs -%endif - -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_scriptlets embedded -%endif - %if %{with galera} %post server-galera -# Do what README at support-files/policy/selinux/README and upstream page -# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend: -semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +# Allow ports needed for the replication: +# https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#network-ports +# Galera Replication Port semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : +# IST Port +semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +# SST Port +semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : + semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : %endif @@ -1224,44 +1328,28 @@ fi %if %{with client} %files %{_bindir}/msql2mysql -%{_bindir}/mysql -%{_bindir}/mysql_find_rows -%{_bindir}/mysql_plugin -%{_bindir}/mysql_waitpid -%{_bindir}/mysqlaccess -%{_bindir}/mysqladmin -%{_bindir}/mysqlbinlog -%{_bindir}/mysqlcheck -%{_bindir}/mysqldump -%{_bindir}/mysqlimport -%{_bindir}/mysqlshow -%{_bindir}/mysqlslap +%{_bindir}/{mysql,mariadb} +%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} +%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} %{_mandir}/man1/msql2mysql.1* -%{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_find_rows.1* -%{_mandir}/man1/mysql_plugin.1* -%{_mandir}/man1/mysql_waitpid.1* -%{_mandir}/man1/mysqlaccess.1* -%{_mandir}/man1/mysqladmin.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlcheck.1* -%{_mandir}/man1/mysqldump.1* -%{_mandir}/man1/mysqlimport.1* -%{_mandir}/man1/mysqlshow.1* -%{_mandir}/man1/mysqlslap.1* +%{_mandir}/man1/{mysql,mariadb}.1* +%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* +%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* + %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{with clibrary} %files libs -%{_libdir}/libmariadb.so.* +%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} +%{_libdir}/libmariadb.so* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{with config} %files config -# Although the default my.cnf contains only server settings, we put it in the +# 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 @@ -1275,8 +1363,8 @@ fi %if %{with clibrary} %{_libdir}/%{pkg_name}/plugin/dialog.so %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so -%endif # clibrary -%endif # common +%endif +%endif %if %{with errmsg} %files errmsg @@ -1305,6 +1393,9 @@ fi %lang(es) %{_datadir}/%{pkg_name}/spanish %lang(sv) %{_datadir}/%{pkg_name}/swedish %lang(uk) %{_datadir}/%{pkg_name}/ukrainian +%lang(bg) %{_datadir}/%{pkg_name}/bulgarian +%lang(zh) %{_datadir}/%{pkg_name}/chinese +%lang(ka) %{_datadir}/%{pkg_name}/georgian %endif %if %{with galera} @@ -1314,7 +1405,6 @@ fi %{_bindir}/clustercheck %{_bindir}/galera_new_cluster %{_bindir}/galera_recovery -%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp @@ -1323,33 +1413,42 @@ fi %files server %doc README.wsrep_sst_rsync_tunnel -%{_bindir}/aria_chk -%{_bindir}/aria_dump_log -%{_bindir}/aria_ftdump -%{_bindir}/aria_pack -%{_bindir}/aria_read_log +%{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log} %{_bindir}/mariadb-service-convert %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/my_print_defaults -%{_bindir}/mysql_install_db -%{_bindir}/mysql_secure_installation -%{_bindir}/mysql_tzinfo_to_sql -%{_bindir}/mysqld_safe -%{_bindir}/mysqld_safe_helper + +%{_bindir}/mariadb-conv + +%{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} +%{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} +%{_bindir}/{mysqld_,mariadbd-}safe +%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} + %{_bindir}/innochecksum %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%if %{with galera} # wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 %{_bindir}/wsrep_* +%endif %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset +%config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf -%{_libexecdir}/mysqld +%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lz4.cnf +#%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lzma.cnf + +#%config(noreplace) %{_sysconfdir}/my.cnf.d/hashicorp_key_management.cnf + +%{_sbindir}/mysqld +%{_sbindir}/mariadbd +%{_libexecdir}/{mysqld,mariadbd} %{_libdir}/%{pkg_name}/INFO_SRC %{_libdir}/%{pkg_name}/INFO_BIN @@ -1359,27 +1458,26 @@ fi %dir %{_libdir}/%{pkg_name} %dir %{_libdir}/%{pkg_name}/plugin -%{_libdir}/security/pam_user_map.so -%config(noreplace) %{_sysconfdir}/security/user_map.conf + %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} %{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so} %{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so} -%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} %{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} -%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so} +%{?with_s3:%exclude %{_libdir}/%{pkg_name}/plugin/ha_s3.so} %if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%{_mandir}/man1/aria_chk.1* -%{_mandir}/man1/aria_dump_log.1* -%{_mandir}/man1/aria_ftdump.1* -%{_mandir}/man1/aria_pack.1* -%{_mandir}/man1/aria_read_log.1* +# PAM plugin; moved to a standalone sub-package +%exclude %{_libdir}/%{pkg_name}/plugin/{auth_pam_v1.so,auth_pam.so} +%exclude %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir +%exclude %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool + +%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/mariadb-service-convert.1* @@ -1388,24 +1486,29 @@ fi %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_install_db.1* -%{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* -%{_mandir}/man1/mysqld_safe.1* -%{_mandir}/man1/mysqld_safe_helper.1* + +%{_mandir}/man1/mariadb-conv.1* + +%{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* +%{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* +%{_mandir}/man1/{mysqld_,mariadbd-}safe.1* +%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* + %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* -%{_mandir}/man8/mysqld.8* +%{_mandir}/man8/{mysqld,mariadbd}.8* %{_mandir}/man1/wsrep_*.1* +%{_mandir}/man1/mysql.server.1* + +%{_datadir}/%{pkg_name}/mini-benchmark %{_datadir}/%{pkg_name}/fill_help_tables.sql -%{_datadir}/%{pkg_name}/install_spider.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql +%{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql @@ -1420,33 +1523,31 @@ fi %doc %{_datadir}/%{name}-server/groonga-normalizer-mysql/README.md %doc %{_datadir}/%{name}-server/groonga/README.md %endif +%if %{with galera} %{_datadir}/%{pkg_name}/wsrep.cnf +%endif %{_datadir}/%{pkg_name}/wsrep_notify %dir %{_datadir}/%{pkg_name}/policy %dir %{_datadir}/%{pkg_name}/policy/selinux %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* -%{_datadir}/%{pkg_name}/systemd/mariadb.service -# mariadb@ is installed only when we have cmake newer than 3.3 -%if 0%{?fedora} || 0%{?rhel} > 7 -%{_datadir}/%{pkg_name}/systemd/mariadb@.service -%endif +%dir %{_datadir}/%{pkg_name}/systemd +%{_datadir}/%{pkg_name}/systemd/*.socket %{_unitdir}/%{daemon_name}* -%{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} -%{_libexecdir}/mysql-prepare-db-dir -%{_libexecdir}/mysql-check-socket -%{_libexecdir}/mysql-check-upgrade -%{_libexecdir}/mysql-scripts-common +%{_libexecdir}/mariadb-prepare-db-dir +%{_libexecdir}/mariadb-check-socket +%{_libexecdir}/mariadb-check-upgrade +%{_libexecdir}/mariadb-scripts-common %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{logfiledir} # This does what it should. # RPMLint error "conffile-without-noreplace-flag /var/log/mariadb/mariadb.log" is false positive. -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%attr(0660,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} %{_tmpfilesdir}/%{name}.conf @@ -1460,9 +1561,9 @@ fi %if %{with backup} %files backup -%{_bindir}/mariabackup +%{_bindir}/maria{,db-}backup %{_bindir}/mbstream -%{_mandir}/man1/mariabackup.1* +%{_mandir}/man1/maria{,db-}backup.1* %{_mandir}/man1/mbstream.1* %endif @@ -1470,21 +1571,11 @@ fi %files rocksdb-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf %{_bindir}/myrocks_hotbackup -%{_bindir}/mysql_ldb +%{_bindir}/{mysql_,mariadb-}ldb %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so -%{_mandir}/man1/mysql_ldb.1* -%endif - -%if %{with tokudb} -%files tokudb-engine -%{_bindir}/tokuftdump -%{_bindir}/tokuft_logprint -%{_mandir}/man1/tokuftdump.1* -%{_mandir}/man1/tokuft_logprint.1* -%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf -%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so -%{_unitdir}/mariadb.service.d/tokudb.conf +%{_mandir}/man1/{mysql_,mariadb-}ldb.1* +%{_mandir}/man1/myrocks_hotbackup.1* %endif %if %{with gssapi} @@ -1493,6 +1584,16 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %endif +%if %{with pam} +%files pam +%{_libdir}/%{pkg_name}/plugin/{auth_pam_v1.so,auth_pam.so} +%attr(0755,root,root) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir +# SUID-to-root binary. Access MUST be restricted (https://jira.mariadb.org/browse/MDEV-25126) +%attr(4750,root,mysql) %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool +%{_libdir}/security/pam_user_map.so +%config(noreplace) %{_sysconfdir}/security/user_map.conf +%endif + %if %{with sphinx} %files sphinx-engine %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so @@ -1510,46 +1611,44 @@ fi %{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif -%if %{with cassandra} -%files cassandra-engine -%config(noreplace) %{_sysconfdir}/my.cnf.d/cassandra.cnf -%{_libdir}/%{pkg_name}/plugin/ha_cassandra.so +%if %{with s3} +%files s3-engine +%{_bindir}/aria_s3_copy +%{_mandir}/man1/aria_s3_copy.1* +%config(noreplace) %{_sysconfdir}/my.cnf.d/s3.cnf +%{_libdir}/%{pkg_name}/plugin/ha_s3.so %endif %files server-utils # Perl utilities -%{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_fix_extensions -%{_bindir}/mysql_setpermission -%{_bindir}/mysqldumpslow -%{_bindir}/mysqld_multi -%{_bindir}/mysqlhotcopy -%{_mandir}/man1/mysql_convert_table_format.1* -%{_mandir}/man1/mysql_fix_extensions.1* -%{_mandir}/man1/mysqldumpslow.1* -%{_mandir}/man1/mysqld_multi.1* -%{_mandir}/man1/mysqlhotcopy.1* -%{_mandir}/man1/mysql_setpermission.1* +%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission} +%{_bindir}/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission} +%{_bindir}/{mysqld_,mariadbd-}multi + +%{_mandir}/man1/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}.1* +%{_mandir}/man1/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}.1* +%{_mandir}/man1/{mysqld_,mariadbd-}multi.1* # Utilities that can be used remotely -%{_bindir}/mysql_upgrade +%{_bindir}/{mysql_,mariadb-}upgrade %{_bindir}/perror -%{_mandir}/man1/mysql_upgrade.1* +%{_mandir}/man1/{mysql_,mariadb-}upgrade.1* %{_mandir}/man1/perror.1* %if %{with devel} %files devel %{_includedir}/* %{_datadir}/aclocal/mysql.m4 -%{_libdir}/pkgconfig/mariadb.pc +%{_libdir}/pkgconfig/*mariadb.pc %if %{with clibrary} +%{_mandir}/man3/* %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* +%{_bindir}/mariadb-config %{_libdir}/libmariadb.so %{_libdir}/libmysqlclient.so %{_libdir}/libmysqlclient_r.so %{_mandir}/man1/mysql_config* -%{_mandir}/man1/mariadb_config* %endif %endif @@ -1562,164 +1661,379 @@ fi %{_libdir}/libmariadbd.so %endif -%if %{with bench} -%files bench -%{_datadir}/sql-bench -%doc %{_datadir}/sql-bench/README -%endif - %if %{with test} %files test %if %{with embedded} %{_bindir}/test-connect-t -%{_bindir}/mysql_client_test_embedded -%{_bindir}/mysqltest_embedded -%{_mandir}/man1/mysql_client_test_embedded.1* -%{_mandir}/man1/mysqltest_embedded.1* +%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} +%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif -%{_bindir}/mysql_client_test +%{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test} %{_bindir}/my_safe_process -%{_bindir}/mysqltest %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1* %{_mandir}/man1/my_safe_process.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/mysql-stress-test.pl.1* %{_mandir}/man1/mysql-test-run.pl.1* %endif %changelog -* Thu Jun 22 2023 Anton Bobrov - 3:10.3.39-1 -- Rebase to 10.3.39 -- CVEs fixed: - CVE-2022-47015, CVE-2018-25032, CVE-2022-32091, CVE-2022-32084 +* Mon Dec 18 2023 Michal Schorm - 3:10.11.6-1 +- Rebase to 10.11.6 -* Thu Jun 30 2022 Zuzana Miklankova - 3:10.3.35-1 -- Rebase to 10.3.35 +* Mon Dec 18 2023 Michal Schorm - 3:10.10.7-1 +- Rebase to 10.10.7 -* Thu Jun 30 2022 Zuzana Miklankova - 3:10.3.34-1 -- Rebase to 10.3.34 +* Mon Dec 18 2023 Michal Schorm - 3:10.9.8-1 +- Rebase to 10.9.8 -* Mon Jan 17 2022 Zuzana Miklankova - 3:10.3.32-2 -- Add delaycompress option to the logrotate script -- Resolves: rhbz:#2015580 +* Mon Dec 18 2023 Michal Schorm - 3:10.8.8-1 +- Rebase to 10.8.8 -* Wed Jan 12 2022 Zuzana Miklankova - 3:10.3.32-1 -- Rebase to 10.3.32 +* Mon Dec 18 2023 Michal Schorm - 3:10.7.8-1 +- Rebase to 10.7.8 -* Tue Jan 11 2022 Zuzana Miklankova - 3:10.3.31-1 -- Rebase to 10.3.31 +* Mon Dec 18 2023 Michal Schorm - 3:10.6.16-1 +- Rebase to 10.6.16 -* Fri Sep 24 2021 Lukas Javorsky - 3:10.3.30-1 -- Rebase to 10.3.30 +* Mon Sep 04 2023 Michal Schorm - 3:10.5.22-1 +- Rebase to 10.5.22 -* Mon Aug 09 2021 Lukas Javorsky - 3:10.3.29-2 +* Wed Jul 26 2023 Michal Schorm - 3:10.5.21-1 +- Rebase to version 10.5.21 + +* Wed May 31 2023 Siddhesh Poyarekar - 3:10.5.20-2 +- Use _fortify_level to disable fortification in debug builds + +* Tue May 30 2023 Lukas Javorsky - 3:10.5.20-1 +- Rebase to version 10.5.20 + +* Wed Nov 16 2022 Michal Schorm - 3:10.5.18-1 +- Rebase to 10.5.18 +- OpenSSL 3 patch upstreamed + +* Mon Jun 13 2022 Michal Schorm - 3:10.5.16-2 +- Release bump for rebuild + +* Mon May 23 2022 Michal Schorm - 3:10.5.16-1 +- Rebase to 10.5.16 + +* Sun Feb 20 2022 Michal Schorm - 3:10.5.15-1 +- Rebase to 10.5.15 + +* Mon Feb 07 2022 Honza Horak - 3:10.5.13-2 +- Fix md5 in FIPS mode with OpenSSL 3.0.0 + Resolves: #2050541 + +* Thu Dec 02 2021 Michal Schorm - 3:10.5.13-1 +- Rebase to 10.5.13 + +* Thu Nov 18 2021 Honza Horak - 3:10.5.12-4 +- Use OpenSSL 3.0.0 patch from upstream + Related: #1991498 + +* Mon Oct 11 2021 Michal Schorm - 3:10.5.12-3 +- Add wsrep_sst_rsync_tunnel script + +* Tue Aug 17 2021 Honza Horak - 3:10.5.12-2 +- Fix OpenSSL 3.x compatibility + Resolves: #1962047 + +* Tue Aug 17 2021 Michal Schorm - 3:10.5.12-1 +- Rebase to 10.5.12 + +* Tue Aug 17 2021 Michal Schorm - 3:10.5.11-1 +- Rebase to 10.5.11 - Set user_map.conf file to be noreplace config file -- Resolves: rhbz#1989534 -* Tue May 05 2021 Michal Schorm - 3:10.3.29-1 -- Rebase to 10.3.29 +* Mon Aug 09 2021 Mohan Boddu +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 -* Wed Mar 24 2021 Michal Schorm - 3:10.3.28-1 -- Rebase to 10.3.28 +* Sat Aug 7 2021 Florian Weimer - 3:10.5.10-5 +- Another rebuild against pcre2-10.37 (bug #1970765) -* Thu Dec 03 2020 Michal Schorm - 3:10.3.27-3 -- Remove mariadb_rpl.h from includedir - This file is shipped in mariadb-connector-c package -- Require matching version of mariadb-connector-c package +* Wed Jul 28 2021 Lukas Javorsky - 3:10.5.10-4 +- Rebuild against pcre2-10.37 (bug #1970765) -* Wed Nov 25 2020 Michal Schorm - 3:10.3.27-2 -- Disable building of the ed25519 client plugin. - From now on it will be shipped by 'mariadb-connector-c' package +* Wed Jun 16 2021 Mohan Boddu +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 -* Thu Nov 12 2020 Michal Schorm - 3:10.3.27-1 -- Rebase to 10.3.27 -- mariadb-debug_build.patch is no more needed, upstream did the changes: - https://github.com/MariaDB/server/commit/31eaa2029f3c2a4f8e5609ce8b87682286238d9a#diff-32766783af7cac683980224d63c59929 - https://github.com/MariaDB/server/commit/23c6fb3e6231b8939331e2d9f157092f24ed8f4f#diff-78f3162f137407db5240950beb2bcd7c +* Wed May 12 2021 Michal Schorm - 3:10.5.10-2 +- Use modified sources instead of the upstream original ones -* Fri May 15 2020 Michal Schorm - 3:10.3.23-1 -- Rebase to 10.3.23 +* Tue May 11 2021 Michal Schorm - 3:10.5.10-1 +- Rebase to 10.5.10 + +* Tue May 11 2021 Honza Horak - 3:10.5.9-9 +- Fix OpenSSL 3.x compatibility + Resolves: #1962047 + +* Mon May 03 2021 Michal Schorm - 3:10.5.9-8 +- Fix package Conflicts + +* Fri Apr 30 2021 Michal Schorm - 3:10.5.9-7 +- Rebuilt for RHEL 9 BETA + +* Fri Apr 16 2021 Mohan Boddu - 3:10.5.9-6 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Mar 30 2021 Jonathan Wakely - 3:10.5.9-5 +- Rebuilt for removed libstdc++ symbol (#1937698) + +* Thu Mar 18 2021 Michal Schorm - 3:10.5.9-4 +- Move PAM plugin to standalone subpackage + +* Thu Mar 18 2021 Michal Schorm - 3:10.5.9-3 +- Fixed permissions on files from PAMv2 plugin + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3:10.5.9-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Wed Feb 24 2021 Michal Schorm - 3:10.5.9-1 +- Rebase to 10.5.9 + +* Tue Feb 16 2021 Lukas Javorsky - 3:10.5.8-8 +- Replace the tokudb Obsoletes to the right place +- Resolves: #1928757 + +* Fri Feb 12 2021 Michal Schorm - 3:10.5.8-7 +- Enhance the logrotate script +- Resolves: #1683981 + +* Fri Feb 12 2021 Michal Schorm - 3:10.5.8-6 +- Fix Perl database driver dependency + +* Wed Feb 10 2021 Michal Schorm - 3:10.5.8-5 +- Add support for S3 storage engine + +* Thu Jan 28 2021 Honza Horak - 3:10.5.8-4 +- For compatibility with upstream RPMs, create mysqld symlink in sbin + +* Tue Jan 26 2021 Fedora Release Engineering - 3:10.5.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Dec 11 2020 Lukas Javorsky - 3:10.5.8-2 +- Add tokudb-engine to obsoletes +- Resolves: #1906559 + +* Wed Nov 11 2020 Michal Schorm - 3:10.5.8-1 +- Rebase to 10.5.8 + +* Fri Nov 06 2020 Michal Schorm - 3:10.5.7-1 +- Rebase to 10.5.7 + +* Mon Sep 21 2020 Lukas Javorsky - 3:10.5.5-1 +- Rebase to 10.5.5 +- Fix mariadb-ownsetup +- Add manual for aria_s3_copy + +* Wed Sep 16 2020 Lukas Javorsky - 3:10.5.4-1 +- Rebase to 10.5.4 +- Add spider.cnf to the server config files + +* Mon Sep 14 2020 Lukas Javorsky - 3:10.5.3-1 +- Rebase to 10.5.3 + +* Fri Sep 11 2020 Michal Schorm - 3:10.5.2-1 +- Test rebase to 10.5.2 - Beta +- TokuDB SE has been deprecated + +* Thu Sep 10 2020 Michal Schorm - 3:10.5.1-1 +- Test rebase to 10.5.1 - Beta + +* Thu Sep 10 2020 Michal Schorm - 3:10.5.0-1 +- Test rebase to 10.5.0 - Alpha + +* Sun Sep 06 2020 Michal Schorm - 3:10.4.14-3 +- Resolves: #1851605 + +* Thu Sep 03 2020 Michal Schorm - 3:10.4.14-2 +- Resolves: #1873999, #1874446 + +* Thu Aug 20 2020 Michal Schorm - 3:10.4.14-1 +- Rebase to 10.4.14 + +* Tue Aug 18 2020 Michal Schorm - 3:10.4.13-7 +- Do CMake out-of-source 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 + Other changes to compile flags must be specified *after* the %%cmake macro + +* Wed Aug 05 2020 Jeff Law - 3:10.4.13-6 +- Disable LTO + +* Sat Aug 01 2020 Fedora Release Engineering - 3:10.4.13-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3:10.4.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Michal Schorm - 3:10.4.13-3 - Make conflicts between corresponding mariadb and mysql packages explicit - Get rid of the Conflicts macro, it was intended to mark conflicts with *upstream* packages - Resolves: #1853159 -* Mon Mar 30 2020 Lukas Javorsky - 3:10.3.22-1 -- Rebase to 10.3.22 +* Fri Jun 05 2020 Michal Schorm - 3:10.4.13-2 +- Extend Perl "Requires" filtering to wsrep + Resolves: #1845376 -* Fri Jan 10 2020 Lukas Javorsky - 3:10.3.21-1 +* Fri Jun 05 2020 Michal Schorm - 3:10.4.13-1 +- Rebase to 10.4.13 + +* Sun May 24 2020 Lukas Javorsky - 3:10.4.12-6 +- Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries + +* Thu Apr 02 2020 Björn Esser - 3:10.4.12-5 +- Fix string quoting for rpm >= 4.16 + +* Thu Mar 26 2020 Jitka Plesnikova - 3:10.4.12-4 +- Add perl dependencies needed for tests + +* Mon Mar 16 2020 Michal Schorm - 3:10.4.12-3 +- Rebase mariadb-connector-c git submodule to commit fbf1db6 + For fix: https://jira.mariadb.org/browse/CONC-441 + +* Tue Mar 10 2020 Michal Schorm - 3:10.4.12-2 +- Update the fix for building in the debug mode + +* Thu Feb 06 2020 Michal Schorm - 3:10.4.12-1 +- Rebase to 10.4.12 + +* Wed Jan 29 2020 Fedora Release Engineering - 3:10.4.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jan 17 2020 Michal Schorm - 3:10.4.11-1 +- Rebase to 10.4.11 + Related: #1756468 +- Remove 'bench' subpackage. Upstream no longer maintains it. +- Use Valgrind for debug builds +- Remove ancient obsoletions +- Tweak build flags +- Add patch for auth_pam_tool directory + +* Fri Jan 10 2020 Michal Schorm - 3:10.3.21-1 - Rebase to 10.3.21 -* Thu Dec 05 2019 Lukas Javorsky - 3:10.3.20-2 +* Mon Nov 18 2019 Lukas Javorsky - 3:10.3.20-3 - Change path of groonga's packaged files - Fix bz#1763287 -* Thu Dec 05 2019 Lukas Javorsky - 3:10.3.20-1 -- Rebase to 10.3.20 -- NOTE: 10.3.19 was deleted by upstream +* Tue Nov 12 2019 Michal Schorm - 3:10.3.20-2 +- Rebuild on top fo new mariadb-connector-c -* Tue Dec 03 2019 Lukas Javorsky - 3:10.3.18-1 +* Mon Nov 11 2019 Michal Schorm - 3:10.3.20-1 +- Rebase to 10.3.20 + +* Wed Nov 06 2019 Michal Schorm - 3:10.3.19-1 +- Rebase to 10.3.19 + +* Thu Oct 31 2019 Carl George - 3:10.3.18-1 - Rebase to 10.3.18 -* Tue Dec 03 2019 Lukas Javorsky - 3:10.3.17-2 +* Wed Sep 11 2019 Michal Schorm - 3:10.3.17-3 +- Disable building of the ed25519 client plugin. + From now on it will be shipped by 'mariadb-connector-c' package + +* Fri Sep 06 2019 Michal Schorm - 3:10.3.17-2 - Fix the debug build * Thu Aug 01 2019 Michal Schorm - 3:10.3.17-1 - Rebase to 10.3.17 - Resolves: #1711265 - Resolves: #1701687 -- Add patch for server pkgconfig file location -- Use logrotatedir macro on one more spot + +* Thu Jul 25 2019 Fedora Release Engineering - 3:10.3.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 18 2019 Michal Schorm - 3:10.3.16-1 +- Rebase to 10.3.16 +- Added patch for armv7hl builds of spider SE + +* Tue Jun 11 2019 Michal Schorm - 3:10.3.15-1 +- Rebase to 10.3.15 +- CVEs fixed: + CVE-2019-2510 CVE-2019-2537 +- CVEs fixed: + CVE-2019-2614 CVE-2019-2627 CVE-2019-2628 + +* Tue Jun 11 2019 Michal Schorm - 3:10.3.12-15 +- Remove Cassandra subpackage; it is no longer developed + +* Thu Mar 21 2019 Michal Schorm - 3:10.3.12-14 - Fix building of TokuDB with Jemalloc 5 - Fix building with / without lz4 -- Fix "ggsapi" -> "gssapi" typo but keep the broken behaviour -- Control building of the CACHING_SHA2_PASSWORD plugin -- Fix the license tag - Resolves: #1702707 + +* Thu Mar 21 2019 Michal Schorm - 3:10.3.12-13 +- Add patch for mysqld_safe --dry-run + +* Wed Mar 20 2019 Michal Schorm - 3:10.3.12-12 +- Add patch for server pkgconfig file location + +* Sat Feb 23 2019 Pavel Raiskup - 3:10.3.12-11 +- conditionally depend on selinux-policy-targeted again (rhbz#1665643) + +* Mon Feb 11 2019 Michal Schorm - 3:10.3.12-10 +- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643 + +* Fri Feb 01 2019 Fedora Release Engineering - 3:10.3.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 30 2019 Honza Horak - 3:10.3.12-8 +- Fix several SSL tests that failed because of different SSL cipher expectation + +* Wed Jan 23 2019 Michal Schorm - 3:10.3.12-7 +- Fix TokuDB Jemalloc ld_preload + Resolves: #1668375 +- Tweak macros usage + +* Sat Jan 19 2019 Michal Schorm - 3:10.3.12-6 +- Enable mysql-selinux requirement +- Tweak the testsuite execution, speed up the testsuite on rebuilds +- Change weak dependency of RocksDB and TokuDB storage engines + from Recommends to Suggests +- Add "Suggests" weak dependencies to more storage engines + +* Wed Jan 16 2019 Michal Schorm - 3:10.3.12-5 +- Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643 + +* Mon Jan 14 2019 Björn Esser - 3:10.3.12-4 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Fri Jan 11 2019 Kevin Fenzi - 3:10.3.12-3 +- Drop mysql-selinux recommends for now due to bug #1665643 + +* Wed Jan 09 2019 Honza Horak - 3:10.3.12-2 +- Use specific python shebang + +* Tue Jan 08 2019 Michal Schorm - 3:10.3.12-1 +- Rebase to 10.3.12 +- Disable building of the caching_sha2_password plugin, it is shipped + by 'mariadb-connector-c' +- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c' * Mon Dec 10 2018 Michal Schorm - 3:10.3.11-1 - Rebase to 10.3.11 -- Remove README.mysql-cnf as we don't ship example configuration files anymore - Resolves: #1653318 - CVEs fixed: CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156 CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173 CVE-2018-3200, CVE-2018-3284 -* Fri Oct 12 2018 Michal Schorm - 3:10.3.10-3 -- Fix "-fstack-protector-strong" static analysis errors - Resolves: #1624139 -- Add wsrep_sst_rsync_tunnel script, add README - Resolves: #1650463 -- Fix few covscan issues - Resolves: #1649707 -- Fix galera_new_cluster script - Resolves: #1641663 - -* Fri Oct 12 2018 Michal Schorm - 3:10.3.10-2 -- Fix RPMDiff errors - license and path macros - Resolves: #1638720 - * Fri Oct 05 2018 Michal Schorm - 3:10.3.10-1 - Rebase to 10.3.10 - Resolves: #1637034 -* Wed Aug 22 2018 Michal Schorm - 3:10.3.9-1 +* Tue Sep 04 2018 Michal Schorm - 3:10.3.9-2 +- Fix parallel installability of x86_64 and i686 devel packages + +* Mon Aug 20 2018 Michal Schorm - 3:10.3.9-1 - Rebase to 10.3.9 -- Add workaround for short SSL certificates -- Fix parallel installability for x86_64 and i686 devel packages -- CVEs fixed: #1603531 - CVE-2018-3058 CVE-2018-3063 CVE-2018-3064 CVE-2018-3066 -* Mon Aug 13 2018 Michal Schorm - 3:10.3.8-6 -- Use openssl-devel instead of pkgconfig(openssl) -- Enable conflicts against mysql (instead of community-mysql) - Related: #1581034 - -* Sun Aug 12 2018 Honza Horak - 3:10.3.8-5 -- Define explicit conflicts with mysql - Resolves: #1581034 +* Fri Aug 10 2018 Petr Lautrbach - 3:10.3.8-5 +- Update mariadb-server-galera sub-package to require the correct package with /usr/sbin/semanage * Wed Jul 25 2018 Honza Horak - 3:10.3.8-4 - Do not build config on systems where mariadb-connector-c-config exists instead @@ -1728,6 +2042,9 @@ fi - Move config files mysql-clients.cnf and enable_encryption.preset to correct sub-packages, similar to what upstream does +* Fri Jul 13 2018 Fedora Release Engineering - 3:10.3.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue Jul 03 2018 Michal Schorm - 3:10.3.8-1 - Rebase to 10.3.8 - Build TokuDB with jemalloc