Compare commits

...

No commits in common. 'c9' and 'i8c-beta-stream-10.11' have entirely different histories.

3
.gitignore vendored

@ -1 +1,2 @@
SOURCES/mariadb-10.5.22-downstream_modified.tar.gz
SOURCES/8.0.1.zip
SOURCES/mariadb-10.11.6.tar.gz

@ -1 +1,2 @@
d767fc64fbf44da4e1a4174a9939356fac5fe19b SOURCES/mariadb-10.5.22-downstream_modified.tar.gz
0e71402cb82eb84981ede3dc4d9be0b5924dc318 SOURCES/8.0.1.zip
4be66f91b577a1663832459ab881f6ac541d2775 SOURCES/mariadb-10.11.6.tar.gz

@ -1,9 +0,0 @@
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/

@ -0,0 +1,4 @@
The official MySQL documentation is not freely redistributable, so we cannot
include it in RHEL or Fedora. You can find it on-line at
http://dev.mysql.com/doc/

@ -0,0 +1,9 @@
MySQL is distributed under GPL v2, but there are some licensing exceptions
that allow the client libraries to be linked with a non-GPL application,
so long as the application is under a license approved by Oracle.
For details see
http://www.mysql.com/about/legal/licensing/foss-exception/
Some innobase code from Percona and Google is under BSD license.
Some code related to test-suite is under LGPLv2.

@ -0,0 +1,29 @@
This scirpt is ran by the systemd service.
In Fedora the service has priviledges dropped to the mysql user.
Thus "chown 0" will always fail
Never parse 'ls' output!
http://mywiki.wooledge.org/BashFAQ/087
--- mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 21:43:53.000000000 +0100
+++ mariadb-10.4.12/scripts/mysql_install_db.sh_patched 2020-01-29 11:11:09.448812331 +0100
@@ -482,13 +482,16 @@ if test -n "$user"
then
if test -z "$srcdir" -a "$in_rpm" -eq 0 -a -d "$pamtooldir/auth_pam_tool_dir"
then
- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
- if test $? -ne 0
+ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ]
then
+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
+ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+ if test $? -ne 0
+ then
echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
echo "It must be root, the PAM authentication plugin doesn't work otherwise.."
echo
+ fi
fi
chown $user "$pamtooldir/auth_pam_tool_dir" && \
chmod 0700 "$pamtooldir/auth_pam_tool_dir"

@ -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 ""

@ -1,82 +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 02/2021
* Enhance the script as proposed in:
https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/
* Discussion continues in:
https://jira.mariadb.org/browse/MDEV-16621
--- mariadb-10.5.13-downstream_modified/support-files/mysql-log-rotate.sh 2022-02-22 04:56:35.571185622 +0100
+++ mariadb-10.5.13-downstream_modified/support-files/mysql-log-rotate.sh_patched 2022-02-22 04:56:15.121003580 +0100
@@ -3,36 +3,23 @@
# 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 = <secret>
-# user= root
-#
-# where "<secret>" 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
+ sharedscripts
postrotate
# just if mariadbd 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 \

@ -11,13 +11,13 @@ be expanded by cmake. Cmake needs to know about them, so adding them manually.
+
+ # files for systemd
+ SET(SYSTEMD_SCRIPTS
+ mariadb.tmpfiles.d
+ mysql.tmpfiles.d
+ mysql.service
+ mysql@.service
+ mariadb-prepare-db-dir
+ mariadb-check-socket
+ mariadb-check-upgrade
+ mariadb-scripts-common
+ mysql-prepare-db-dir
+ mysql-check-socket
+ mysql-check-upgrade
+ mysql-scripts-common
+ mysql_config_multilib
+ clustercheck
+ galera_new_cluster

@ -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]}`/mariadb-scripts-common"
source "`dirname ${BASH_SOURCE[0]}`/mysql-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@/mariadb-admin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1`
response=`@bindir@/mysqladmin --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 MariaDB daemon already running with the same unix socket?" >&2
echo "Is another MySQL 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

@ -1,6 +1,6 @@
#!/bin/sh
source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common"
source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common"
upgrade_info_file="$datadir/mysql_upgrade_info"
version=0
@ -25,14 +25,14 @@ if [ $version -ne $thisversion ] ; then
fi
cat <<EOF >&2
The datadir located at $datadir needs to be upgraded using 'mariadb-upgrade' tool. This can be done using the following steps:
The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps:
1. Back-up your data before with '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
1. Back-up your data before with 'mysql_upgrade'
2. Start the database daemon using 'service @DAEMON_NAME@ start'
3. Run 'mysql_upgrade' with a database user that has sufficient privileges
Read more about 'mariadb-upgrade' usage at:
https://mariadb.com/kb/en/mysql_upgrade/
Read more about 'mysql_upgrade' usage at:
https://mariadb.com/kb/en/mariadb/documentation/sql-commands/table-commands/mysql_upgrade/
EOF
fi

@ -1,9 +1,9 @@
#!/bin/sh
# This script creates the MariaDB data directory during first service start.
# This script creates the mysql data directory during first service start.
# In subsequent starts, it does nothing much.
source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common"
source "`dirname ${BASH_SOURCE[0]}`/mysql-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@/mariadb-install-db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2
@bindir@/mysql_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

@ -1,11 +1,11 @@
#!/bin/sh
# Some useful functions used in other MariaDB helper scripts
# Some useful functions used in other MySQL helper scripts
# This scripts defines variables datadir, errlogfile, socketfile
export LC_ALL=C
# extract value of a MariaDB option from config files
# extract value of a MySQL option from config files
# Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ]
# result is returned in $result
# We use my_print_defaults which prints all options from multiple files,
@ -25,7 +25,7 @@ get_mysql_option(){
fi
}
# For the case of running more instances via systemd, scripts that source
# For the case of running more instances via systemd, scrits that source
# this file can get --default-group-suffix or similar option as the first
# argument. The utility my_print_defaults needs to use it as well, so the
# scripts sourcing this file work with the same options as the daemon.
@ -35,20 +35,20 @@ while echo "$1" | grep -q '^--defaults' ; do
shift
done
# Defaults here had better match what mariadbd-safe will default to
# Defaults here had better match what mysqld_safe will default to
# The option values are generally defined on three important places
# on the default installation:
# 1) default values are hardcoded in the code of mariadbd daemon or
# mariadbd-safe script
# 1) default values are hardcoded in the code of mysqld daemon or
# mysqld_safe script
# 2) configurable values are defined in @sysconfdir@/my.cnf
# 3) default values for helper scripts are specified bellow
# So, in case values are defined in my.cnf, we need to get that value.
# In case they are not defined in my.cnf, we need to get the same value
# in the daemon, as in the helper scripts. Thus, default values here
# must correspond with values defined in mariadbd-safe script and source
# must correspond with values defined in mysqld_safe script and source
# code itself.
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"
server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ client-server"
get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@"
datadir="$result"

@ -1,24 +1,32 @@
# 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:
#
# root> systemctl edit @DAEMON_NAME@.service
#
# Then add additonal directives under a section (probably [Service]).
# 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.
#
# 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 MariaDB's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, use the contents below:
#
# 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:
# [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:mariadbd(8)
Documentation=man:mysqld(8)
Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target
@ -32,19 +40,20 @@ Type=notify
User=mysql
Group=mysql
ExecStartPre=@libexecdir@/mariadb-check-socket
ExecStartPre=@libexecdir@/mysql-check-socket
# '%n' expands to 'Full unit name'; man systemd.unit
ExecStartPre=@libexecdir@/mariadb-prepare-db-dir %n
ExecStartPre=@libexecdir@/mysql-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@/mariadbd --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=@libexecdir@/mariadb-check-upgrade
ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=@libexecdir@/mysql-check-upgrade
# Setting this to true can break replication and the Type=notify settings
# See also bind-address MariaDB option.
# See also bind-address mysqld option.
PrivateNetwork=false
KillMode=process
KillSignal=SIGTERM
# Don't want to see an automated SIGKILL ever

@ -1,46 +1,39 @@
# 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 [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
#
# To use multi instance variant, use [mysqld.INSTANCENAME] as sections in my.cnf
# and start the service via:
#
# root> systemctl start @DAEMON_NAME@@{instancename}.server
# 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, 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
# 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.
#
# 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 MariaDB's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, use the contents below:
#
# 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:
# [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:mariadbd(8)
Documentation=man:mysqld(8)
Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target
@ -54,18 +47,19 @@ Type=notify
User=mysql
Group=mysql
ExecStartPre=@libexecdir@/mariadb-check-socket --defaults-group-suffix=.%I
ExecStartPre=@libexecdir@/mariadb-prepare-db-dir --defaults-group-suffix=.%I %n
ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I
ExecStartPre=@libexecdir@/mysql-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@/mariadbd --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=@libexecdir@/mariadb-check-upgrade --defaults-group-suffix=.%I
ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I
# Setting this to true can break replication and the Type=notify settings
# See also bind-address MariaDB option.
# See also bind-address mysqld option.
PrivateNetwork=false
KillMode=process
KillSignal=SIGTERM
# Don't want to see an automated SIGKILL ever

@ -1,5 +0,0 @@
# Fails since 10.3.17, only on armv7hl
versioning.partition :
# Fail since 10.4.16 only on armv7hl
versioning.partition_rotation :

@ -29,70 +29,57 @@ perfschema.socket_summary_by_event_name_func :
innodb.innodb_defrag_binlog :
# Fails everywhere since 10.2.15
main.userstat :
main.userstat :
# Fails everywhere since 10.4.11
main.events_bugs :
sys_vars.tcp_nodelay :
# Fails on i686
encryption.innodb-redo-badkey :
# 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
binlog_encryption.rpl_gtid_basic :
main.mysqld--help-aria :
main.plugin_auth :
mariabackup.encrypted_page_corruption :
multi_source.info_logs :
oqgraph.regression_mdev6345 :
perfschema.threads_mysql :
type_test.type_test_double :
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 :
# Unstable on 10.11.6
rpl.rpl_slave_shutdown_mdev20821 :

@ -1,7 +0,0 @@
# Fails on ppc64le since 10.4.12
oqgraph.social :
# Fails since 10.5.20
innodb.innodb_defrag_concurrent :
parts.partition_alter4_innodb :
rpl.rpl_parallel_optimistic_xa_lsu_off :

@ -1,3 +1,5 @@
# Fails since 10.5.2
perfschema.memory_aggregate_32bit :
period.overlaps :
# Fails on 10.11.6
main.func_json_notembedded :
mariabackup.huge_lsn :
mariabackup.xb_file_key_management :
main.column_compression_parts :

@ -1,3 +1,10 @@
# To both save infrastrucutre resources and workaround for i686 FTBFS
ExcludeArch: %{ix86}
# This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds
# So the beaviour will be the same also in F31 nad F32
%undefine __cmake_in_source_build
# Prefix that is used for patches
%global pkg_name %{name}
%global pkgnamepatch mariadb
@ -11,7 +18,7 @@
# 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.5.22
%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
@ -26,11 +33,6 @@
# 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
# Mroonga engine
@ -59,18 +61,14 @@
%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
@ -110,7 +108,7 @@
# 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
%if 0%{?fedora} || 0%{?rhel} > 8
%bcond_without unbundled_pcre
%else
%bcond_with unbundled_pcre
@ -141,8 +139,6 @@
# Home directory of mysql user should be same for all packages that create it
%global mysqluserhome /var/lib/mysql
# Provide mysql names for compatibility
%if 0%{?fedora}
%bcond_without mysql_names
@ -154,30 +150,28 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
Version: 10.5.22
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
License: GPLv2 and LGPLv2
# Original upstream sources archive URL
# Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz
# Non-existent URL containing correct archive name
# The archive was created by executing the "generate-modified-sources.sh" script
Source0: https://fedoraproject.org/mariadb-%{version}-downstream_modified.tar.gz
# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license
License: GPLv2 with exceptions and LGPLv2 and BSD
Source0: https://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.mariadb-docs
Source6: README.mysql-docs
Source7: README.mysql-license
Source8: README.wsrep_sst_rsync_tunnel
Source10: mariadb.tmpfiles.d.in
Source10: mysql.tmpfiles.d.in
Source11: mysql.service.in
Source12: mariadb-prepare-db-dir.sh
Source14: mariadb-check-socket.sh
Source15: mariadb-scripts-common.sh
Source16: mariadb-check-upgrade.sh
Source12: mysql-prepare-db-dir.sh
Source14: mysql-check-socket.sh
Source15: mysql-scripts-common.sh
Source16: mysql-check-upgrade.sh
Source18: mysql@.service.in
Source50: rh-skipped-tests-base.list
Source51: rh-skipped-tests-arm.list
@ -219,8 +213,13 @@ Patch7: %{pkgnamepatch}-scripts.patch
Patch9: %{pkgnamepatch}-ownsetup.patch
# Patch10: Fix cipher name in the SSL Cipher name test
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
# Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user
Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch
# Patch17: Revert of an upstream commit
Patch17: upstream_5cc2096f93b7f130b36f8bc0fc43440db9a848e4.patch
Patch11: %{pkgnamepatch}-fmt_bundle.patch
BuildRequires: make
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
BuildRequires: selinux-policy-devel
@ -243,6 +242,8 @@ BuildRequires: bison bison-devel
%{?with_debug:BuildRequires: valgrind-devel}
# auth_pam.so plugin will be build if pam-devel is installed
BuildRequires: pam-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}}
@ -292,6 +293,8 @@ BuildRequires: perl(warnings)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
#BuildRequires: fmt-devel
%if %{with debug}
BuildRequires: valgrind-devel
%endif
@ -317,7 +320,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr}
Suggests: %{name}-server%{?_isa} = %{sameevr}
Conflicts: %{?fedora:community-}mysql
Conflicts: mysql
# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep)
@ -327,11 +330,11 @@ Conflicts: %{?fedora:community-}mysql
%{!?_licensedir:%global license %doc}
%description
MariaDB is a community developed fork from MySQL - a multi-user, multi-threaded
MariaDB is a community developed branch of MySQL - a multi-user, multi-threaded
SQL database server. It is a client/server implementation consisting of
a server daemon (mariadbd) and many different client programs and libraries.
a server daemon (mysqld) and many different client programs and libraries.
The base package contains the standard MariaDB/MySQL client programs and
utilities.
generic MySQL files.
%if %{with clibrary}
@ -353,7 +356,7 @@ to a MariaDB/MySQL server.
# 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 community-mysql server),
# implementations (e.g. mariadb library and 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)
@ -415,10 +418,10 @@ Requires: rsync
%description server-galera
MariaDB is a multi-user, multi-threaded SQL database server. It is a
client/server implementation consisting of a server daemon (mariadbd)
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package contains
added files to allow MariaDB server to operate as a Galera cluster
member. MariaDB is a community developed fork originally from MySQL.
the MariaDB server and some accompanying files and directories.
MariaDB is a community developed branch of MySQL.
%endif
@ -451,7 +454,7 @@ Suggests: logrotate
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
# Additional SELinux rules (common for MariaDB & MySQL) shipped in a separate package
# Aditional 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)
@ -474,19 +477,21 @@ Provides: mysql-server%{?_isa} = %{sameevr}
Provides: mysql-compat-server = %{sameevr}
Provides: mysql-compat-server%{?_isa} = %{sameevr}
%endif
Conflicts: %{?fedora:community-}mysql-server
Conflicts: mysql-server
# Bench subpackage has been deprecated in F32
Obsoletes: %{name}-bench <= %{sameevr}
%if %{without tokudb}
Obsoletes: %{name}-tokudb-engine <= %{sameevr}
%endif
%description server
MariaDB is a multi-user, multi-threaded SQL database server. It is a
client/server implementation consisting of a server daemon (mariadbd)
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package contains
the MariaDB server and some accompanying files and directories.
MariaDB is a community developed fork from MySQL.
MariaDB is a community developed branch of MySQL.
%if %{with oqgraph}
@ -579,7 +584,7 @@ This plugin includes support for Kerberos on Unix.
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
# 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
@ -601,29 +606,15 @@ The Sphinx storage engine for MariaDB.
%endif
%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
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
Requires: %{name}-server%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-perl = %{sameevr}
%endif
Conflicts: %{?fedora:community-}mysql-server
Conflicts: mysql-server
# mysqlhotcopy needs DBI/DBD support
Requires: perl(DBI) perl(DBD::MariaDB)
Requires: perl(DBI) perl(DBD::mysql)
%description server-utils
This package contains all non-essential server utilities and scripts for
@ -643,18 +634,18 @@ Requires: mariadb-connector-c-devel >= 3.0
Provides: mysql-devel = %{sameevr}
Provides: mysql-devel%{?_isa} = %{sameevr}
%endif
Conflicts: %{?fedora:community-}mysql-devel
Conflicts: 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 plugins and applications.
and server applications.
%else
This package contains everything needed for developing MariaDB/MySQL server
plugins and applications. For developing client applications, use
mariadb-connector-c package.
applications. For developing client applications, use mariadb-connector-c
package.
%endif
%endif
@ -673,7 +664,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 fork from MySQL.
MariaDB is a community developed branch of MySQL.
%package embedded-devel
@ -686,11 +677,11 @@ Requires: libaio-devel
Provides: mysql-embedded-devel = %{sameevr}
Provides: mysql-embedded-devel%{?_isa} = %{sameevr}
%endif
Conflicts: %{?fedora:community-}mysql-embedded-devel
Conflicts: mysql-embedded-devel
%description embedded-devel
MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed fork from MySQL.
MariaDB is a community developed branch of MySQL.
This package contains files needed for developing and testing with
the embedded version of the MariaDB server.
%endif
@ -714,7 +705,7 @@ Requires: perl(Socket)
Requires: perl(Sys::Hostname)
Requires: perl(Test::More)
Requires: perl(Time::HiRes)
Conflicts: %{?fedora:community-}mysql-test
Conflicts: mysql-test
%if %{with mysql_names}
Provides: mysql-test = %{sameevr}
Provides: mysql-test%{?_isa} = %{sameevr}
@ -722,14 +713,14 @@ Provides: mysql-test%{?_isa} = %{sameevr}
%description test
MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed fork from MySQL.
MariaDB is a community developed branch of MySQL.
This package contains the regression test suite distributed with the MariaDB
sources.
%endif
%prep
%setup -q -n mariadb-%{version}-downstream_modified
%setup -q -n %{pkg_name}-%{version}
# Remove JAR files that upstream puts into tarball
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
@ -740,16 +731,18 @@ rm -r storage/rocksdb/
%endif
%patch4 -p1
%patch7 -p1
%patch9 -p1
%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
%patch16 -p1
%patch17 -R -p1
# generate a list of tests that fail, but are not disabled by upstream
cat %{SOURCE50} | tee -a mysql-test/unstable-tests
@ -767,6 +760,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
@ -798,6 +794,7 @@ fi
%build
# fail quickly and obviously if user tries to build as root
%if %runselftest
if [ x"$(id -u)" = "x0" ]; then
@ -810,7 +807,7 @@ fi
# 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 \
@ -851,6 +848,7 @@ fi
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-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} \
@ -861,9 +859,6 @@ fi
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx: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 \
-DPYTHON_SHEBANG=%{python_path} \
@ -871,6 +866,8 @@ fi
-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}
# The -DSECURITY_HARDENED is used to force a set of compilation flags for hardening
@ -966,31 +963,25 @@ rm %{_vpath_builddir}/scripts/my.cnf
# 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 upstream SysV init script and a symlink to that, we use systemd
# remove 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 <service_name>"
rm %{buildroot}%{_unitdir}/{mysql,mysqld}.service
# install systemd unit files and scripts for handling server startup
install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service
# helper scripts for service starting
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 downstream version of tmpfiles
install -D -p -m 0644 %{_vpath_builddir}/scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
install -D -p -m 0644 %{_vpath_builddir}/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
# install additional galera selinux policy
# helper scripts for service starting
install -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir
install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket
install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade
install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
# install aditional 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
@ -1032,11 +1023,6 @@ rm %{buildroot}%{_mandir}/man1/mytop.1*
# Should be shipped with mariadb-connector-c
rm %{buildroot}%{_mandir}/man1/mariadb_config.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}
# for compatibility with upstream RPMs, create mysqld symlink in sbin
mkdir -p %{buildroot}%{_sbindir}
ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld
@ -1044,10 +1030,17 @@ 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}}
# Delete upstreams service files
# We don't use this location of service files
rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service
# These may come handy in a future, but right now we use our own services
rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service
# install galera config file
%if %{with galera}
sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf
@ -1059,18 +1052,20 @@ touch %{buildroot}%{_sysconfdir}/sysconfig/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 /lib64 --> /usr/lib64
%if %{with pam}
mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir}
%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
rm %{buildroot}%{_unitdir}/%{daemon_name}*.socket
# Disable plugins
%if %{with gssapi}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
@ -1099,6 +1094,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}
@ -1142,8 +1138,6 @@ 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}
@ -1159,32 +1153,30 @@ 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,\
bulgarian,chinese}
bulgarian,chinese,georgian}
%endif
%if %{without test}
%if %{with 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}%{_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*
rm %{buildroot}/suite/plugins/pam/mariadb_mtr
rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so
%endif
%if %{without galera}
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}
@ -1197,10 +1189,6 @@ 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
@ -1245,7 +1233,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 ))
# 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"
echo -e "running advanced testsuite"
perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \
%if %{ignore_testsuite_result}
--max-test-fail=9999 || :
@ -1253,7 +1241,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 ))
--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,spider/handler \
perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --suite=spider,spider/bg,spider/bugfix --skip-test-list=unstable-tests \
%if %{ignore_testsuite_result}
--max-test-fail=999 || :
%else
@ -1264,6 +1252,8 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 ))
# 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 {} +
)
# NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2".
@ -1382,6 +1372,7 @@ fi
%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}
@ -1391,6 +1382,7 @@ 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
@ -1427,6 +1419,11 @@ fi
%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset
%config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf
%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}
@ -1439,7 +1436,6 @@ fi
%dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/plugin
%{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
@ -1447,7 +1443,6 @@ fi
%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so}
%{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.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
@ -1458,7 +1453,7 @@ fi
%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/aria_{chk,dump_log,ftdump,pack,read_log,s3_copy}.1*
%{_mandir}/man1/galera_new_cluster.1*
%{_mandir}/man1/galera_recovery.1*
%{_mandir}/man1/mariadb-service-convert.1*
@ -1484,10 +1479,12 @@ fi
%{_mandir}/man1/mysql.server.1*
%{_datadir}/%{pkg_name}/mini-benchmark
%{_datadir}/%{pkg_name}/fill_help_tables.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
@ -1511,13 +1508,19 @@ fi
%{_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
%{_datadir}/%{pkg_name}/systemd/mariadb*@.socket
# 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
%{_unitdir}/%{daemon_name}*
%{_libexecdir}/mariadb-prepare-db-dir
%{_libexecdir}/mariadb-check-socket
%{_libexecdir}/mariadb-check-upgrade
%{_libexecdir}/mariadb-scripts-common
%{_libexecdir}/mysql-prepare-db-dir
%{_libexecdir}/mysql-check-socket
%{_libexecdir}/mysql-check-upgrade
%{_libexecdir}/mysql-scripts-common
%attr(0755,mysql,mysql) %dir %{pidfiledir}
%attr(0755,mysql,mysql) %dir %{dbdatadir}
@ -1588,14 +1591,6 @@ fi
%{_libdir}/%{pkg_name}/plugin/ha_connect.so
%endif
%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,dumpslow,_fix_extensions,hotcopy,_setpermission}
@ -1617,6 +1612,7 @@ fi
%{_datadir}/aclocal/mysql.m4
%{_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*
@ -1656,6 +1652,27 @@ fi
%endif
%changelog
* Wed Apr 03 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 3:10.11.6-1
- Rebuilt for MSVSphere 8.10 beta
* Mon Dec 18 2023 Michal Schorm <mschorm@redhat.com> - 3:10.11.6-1
- Rebase to 10.11.6
* Mon Dec 18 2023 Michal Schorm <mschorm@redhat.com> - 3:10.10.7-1
- Rebase to 10.10.7
* Mon Dec 18 2023 Michal Schorm <mschorm@redhat.com> - 3:10.9.8-1
- Rebase to 10.9.8
* Mon Dec 18 2023 Michal Schorm <mschorm@redhat.com> - 3:10.8.8-1
- Rebase to 10.8.8
* Mon Dec 18 2023 Michal Schorm <mschorm@redhat.com> - 3:10.7.8-1
- Rebase to 10.7.8
* Mon Dec 18 2023 Michal Schorm <mschorm@redhat.com> - 3:10.6.16-1
- Rebase to 10.6.16
* Mon Sep 04 2023 Michal Schorm <mschorm@redhat.com> - 3:10.5.22-1
- Rebase to 10.5.22
@ -1681,103 +1698,37 @@ fi
* Sun Feb 20 2022 Michal Schorm <mschorm@redhat.com> - 3:10.5.15-1
- Rebase to 10.5.15
* Mon Feb 07 2022 Honza Horak <hhorak@redhat.com> - 3:10.5.13-2
- Fix md5 in FIPS mode with OpenSSL 3.0.0
Resolves: #2050541
* Thu Dec 02 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.13-1
* Tue Jan 11 2022 Michal Schorm <mschorm@redhat.com> - 3:10.5.13-1
- Rebase to 10.5.13
* Thu Nov 18 2021 Honza Horak <hhorak@redhat.com> - 3:10.5.12-4
- Use OpenSSL 3.0.0 patch from upstream
Related: #1991498
* Mon Oct 11 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.12-3
- Add wsrep_sst_rsync_tunnel script
* Tue Aug 17 2021 Honza Horak <hhorak@redhat.com> - 3:10.5.12-2
- Fix OpenSSL 3.x compatibility
Resolves: #1962047
* Tue Aug 17 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.12-1
* Tue Aug 24 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.12-1
- Rebase to 10.5.12
* Tue Aug 17 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.11-1
* Thu Aug 19 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.11-1
- Rebase to 10.5.11
- Set user_map.conf file to be noreplace config file
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Sat Aug 7 2021 Florian Weimer <fweimer@redhat.com> - 3:10.5.10-5
- Another rebuild against pcre2-10.37 (bug #1970765)
* Wed Jul 28 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.10-4
- Rebuild against pcre2-10.37 (bug #1970765)
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com>
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Wed May 12 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.10-2
- Use modified sources instead of the upstream original ones
* Mon Aug 16 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.10-2
- Set user_map.conf file to be noreplace config file
- Resolves: rhbz#1989621
* Tue May 11 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.10-1
- Rebase to 10.5.10
* Tue May 11 2021 Honza Horak <hhorak@redhat.com> - 3:10.5.9-9
- Fix OpenSSL 3.x compatibility
Resolves: #1962047
* Mon May 03 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-8
- Fix package Conflicts
* Fri Apr 30 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-7
- Rebuilt for RHEL 9 BETA
* Mon May 10 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-2
- Modify the upstream sources
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3:10.5.9-6
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 3:10.5.9-5
- Rebuilt for removed libstdc++ symbol (#1937698)
* Thu Mar 18 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-4
- Move PAM plugin to standalone subpackage
* Thu Mar 18 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-3
- Fixed permissions on files from PAMv2 plugin
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3:10.5.9-2
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Feb 24 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-1
* Mon Mar 22 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-1
- Rebase to 10.5.9
* Tue Feb 16 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.8-8
- Replace the tokudb Obsoletes to the right place
- Resolves: #1928757
* Fri Feb 12 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-7
- Enhance the logrotate script
- Resolves: #1683981
* Fri Feb 12 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-6
- Fix Perl database driver dependency
* Wed Feb 10 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-5
- Add support for S3 storage engine
* Thu Jan 28 2021 Honza Horak <hhorak@redhat.com> - 3:10.5.8-4
- For compatibility with upstream RPMs, create mysqld symlink in sbin
* Fri Mar 19 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-4
- Move the PAM plugin to a standalone sub-package
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3:10.5.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Mar 18 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-3
- Fix permissions of the PAMv2 plugin files
* Fri Dec 11 2020 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.8-2
- Add tokudb-engine to obsoletes
- Resolves: #1906559
* Tue Feb 16 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-2
- Bump release after several commits cherry-picked from Fedora Rawhide
* Wed Nov 11 2020 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-1
- Rebase to 10.5.8

Loading…
Cancel
Save