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. * 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 * Remove Debian specific code
* Note they are from Fedora 15 / 16 for the very unlikely, but possible scenario
in which the debian config file would exist.
Update 3/2017 --- mariadb-10.11.6/support-files/mariadb.logrotate.sh 2023-11-08 16:51:43.000000000 +0100
* it would be big unexpected change for anyone upgrading, if we start shipping it now. +++ mariadb-10.11.6/support-files/mariadb.logrotate.sh_patched 2023-12-17 18:03:36.955861025 +0100
Maybe it is good candidate for shipping with MariaDB 10.2 ? @@ -6,7 +6,7 @@
* the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost # Read https://mariadb.com/kb/en/error-log/ to learn more about logging and
during flushing, the operation is not atomic. # https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ about rotating logs.
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@
-@localstatedir@/mysqld.log { -@localstatedir@/mysqld.log @localstatedir@/mariadb.log @logdir@/*.log {
- # create 600 mysql mysql
+@LOG_LOCATION@ { +@LOG_LOCATION@ {
+ create 600 mysql mysql
su mysql mysql # Depends on a mysql@localhost unix_socket authenticated user with RELOAD privilege
notifempty @su_user@
daily @@ -45,11 +45,6 @@
rotate 3 # has thanks to the default use of Unix socket authentication for the 'mysql'
missingok # (or root on Debian) account used everywhere since MariaDB 10.4.
compress postrotate
+ delaycompress - if test -r /etc/mysql/debian.cnf
+ sharedscripts - then
postrotate - EXTRAPARAM='--defaults-file=/etc/mysql/debian.cnf'
# just if mariadbd is really running - fi
- if test -x @bindir@/mysqladmin && \ -
- @bindir@/mysqladmin ping &>/dev/null if test -x @bindir@/mariadb-admin
- then then
- @bindir@/mysqladmin --local flush-error-log \ @bindir@/mariadb-admin $EXTRAPARAM --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
}

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

@ -5,7 +5,7 @@
# positive result when starting and mysqld_safe could remove # positive result when starting and mysqld_safe could remove
# a socket file, which is actually being used by a different daemon. # 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 if test -e "$socketfile" ; then
echo "Socket file $socketfile exists." >&2 echo "Socket file $socketfile exists." >&2
@ -25,9 +25,9 @@ if test -e "$socketfile" ; then
fi fi
# some process uses the socket file # 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 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 echo "Please, stop the process using the socket $socketfile or remove the file manually to start the service." >&2
exit 1 exit 1
fi fi

@ -1,6 +1,6 @@
#!/bin/sh #!/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" upgrade_info_file="$datadir/mysql_upgrade_info"
version=0 version=0
@ -25,14 +25,14 @@ if [ $version -ne $thisversion ] ; then
fi fi
cat <<EOF >&2 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' 1. Back-up your data before with 'mysql_upgrade'
2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' 2. Start the database daemon using 'service @DAEMON_NAME@ start'
3. Run 'mariadb-upgrade' with a database user that has sufficient privileges 3. Run 'mysql_upgrade' with a database user that has sufficient privileges
Read more about 'mariadb-upgrade' usage at: Read more about 'mysql_upgrade' usage at:
https://mariadb.com/kb/en/mysql_upgrade/ https://mariadb.com/kb/en/mariadb/documentation/sql-commands/table-commands/mysql_upgrade/
EOF EOF
fi fi

@ -1,9 +1,9 @@
#!/bin/sh #!/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. # 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 export LC_ALL=C
@ -97,7 +97,7 @@ if should_initialize "$datadir" ; then
# https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19
INITDB_TIMESTAMP=`LANG=C date -u` INITDB_TIMESTAMP=`LANG=C date -u`
sleep 1 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=$? ret=$?
if [ $ret -ne 0 ] ; then if [ $ret -ne 0 ] ; then
echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2

@ -1,11 +1,11 @@
#!/bin/sh #!/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 # This scripts defines variables datadir, errlogfile, socketfile
export LC_ALL=C 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, ... ] # Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ]
# result is returned in $result # result is returned in $result
# We use my_print_defaults which prints all options from multiple files, # We use my_print_defaults which prints all options from multiple files,
@ -25,7 +25,7 @@ get_mysql_option(){
fi 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 # 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 # 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. # scripts sourcing this file work with the same options as the daemon.
@ -35,20 +35,20 @@ while echo "$1" | grep -q '^--defaults' ; do
shift shift
done 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 # The option values are generally defined on three important places
# on the default installation: # on the default installation:
# 1) default values are hardcoded in the code of mariadbd daemon or # 1) default values are hardcoded in the code of mysqld daemon or
# mariadbd-safe script # mysqld_safe script
# 2) configurable values are defined in @sysconfdir@/my.cnf # 2) configurable values are defined in @sysconfdir@/my.cnf
# 3) default values for helper scripts are specified bellow # 3) default values for helper scripts are specified bellow
# So, in case values are defined in my.cnf, we need to get that value. # 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 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 # 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. # 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@" get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@"
datadir="$result" datadir="$result"

@ -1,24 +1,32 @@
# It's not recommended to modify this file in-place, because it will be # It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, the # overwritten during package upgrades. If you want to customize, the
# best way is to: # best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service",
# # containing
# root> systemctl edit @DAEMON_NAME@.service # .include /usr/lib/systemd/system/@DAEMON_NAME@.service
# # ...make your changes here...
# Then add additonal directives under a section (probably [Service]). # 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 # 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 # 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, # For example, if you want to increase mysql's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, use the contents below: # you need to increase systemd's LimitNOFILE setting, so create a file named
# # "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing:
# [Service] # [Service]
# LimitNOFILE=10000 # 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] [Unit]
Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server 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/ Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target After=network.target
@ -32,19 +40,20 @@ Type=notify
User=mysql User=mysql
Group=mysql Group=mysql
ExecStartPre=@libexecdir@/mariadb-check-socket ExecStartPre=@libexecdir@/mysql-check-socket
# '%n' expands to 'Full unit name'; man systemd.unit # '%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 # 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, # Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485 # per bug #547485
ExecStart=@libexecdir@/mariadbd --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=@libexecdir@/mariadb-check-upgrade ExecStartPost=@libexecdir@/mysql-check-upgrade
# Setting this to true can break replication and the Type=notify settings # 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 PrivateNetwork=false
KillMode=process
KillSignal=SIGTERM KillSignal=SIGTERM
# Don't want to see an automated SIGKILL ever # 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. # Also used for @DAEMON_NAME@@bootstrap to bootstrap Galera.
# #
# To use multi instance variant, use [mariadbd.INSTANCENAME] as sections in # To use multi instance variant, use [mysqld.INSTANCENAME] as sections in my.cnf
# @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: # 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 # It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, for # overwritten during package upgrades. If you want to customize, the
# all instances, the best way is: # best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service",
# # containing
# root> systemctl edit @DAEMON_NAME@@.service # .include /usr/lib/systemd/system/@DAEMON_NAME@.service
# # ...make your changes here...
# Then add additonal directives under a section (probably [Service]). # 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
# If you only want to change a specific instance: # after the file @DAEMON_NAME@.service itself is parsed.
#
# root> systemctl edit @DAEMON_NAME@@{instancename}.server
# #
# For more info about custom unit files, see systemd.unit(5) or # 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 # 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, # For example, if you want to increase mysql's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, use the contents below: # you need to increase systemd's LimitNOFILE setting, so create a file named
# # "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing:
# [Service] # [Service]
# LimitNOFILE=10000 # 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] [Unit]
Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server 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/ Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target After=network.target
@ -54,18 +47,19 @@ Type=notify
User=mysql User=mysql
Group=mysql Group=mysql
ExecStartPre=@libexecdir@/mariadb-check-socket --defaults-group-suffix=.%I ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I
ExecStartPre=@libexecdir@/mariadb-prepare-db-dir --defaults-group-suffix=.%I %n 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 # 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, # Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485 # per bug #547485
ExecStart=@libexecdir@/mariadbd --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=@libexecdir@/mariadb-check-upgrade --defaults-group-suffix=.%I ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I
# Setting this to true can break replication and the Type=notify settings # 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 PrivateNetwork=false
KillMode=process
KillSignal=SIGTERM KillSignal=SIGTERM
# Don't want to see an automated SIGKILL ever # 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 : innodb.innodb_defrag_binlog :
# Fails everywhere since 10.2.15 # Fails everywhere since 10.2.15
main.userstat : main.userstat :
# Fails everywhere since 10.4.11 # Fails everywhere since 10.4.11
main.events_bugs :
sys_vars.tcp_nodelay : sys_vars.tcp_nodelay :
# Fails on i686
encryption.innodb-redo-badkey :
# Fails since 10.5.2 # Fails since 10.5.2
main.mysqld--help2 :
disks.disks : disks.disks :
disks.disks_notembedded : disks.disks_notembedded :
# Fails since 10.5.3 # Fails since 10.5.3
main.mysqld--help-aria : main.mysqld--help-aria :
# Fails since 10.5.4
main.ssl_system_ca :
# Fails since 10.5.7 # Fails since 10.5.7
innodb.innodb_wl6326_big :
plugins.feedback_plugin_load : 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 # Fails on all architectures since 10.5.18
main.information_schema : main.information_schema :
main.loadxml : main.loadxml :
main.lock_kill : main.lock_kill :
# Fails since 10.5.20 # Fails since 10.5.20
innodb.innodb_bug51920 :
innodb.row_size_error_log_warnings_3 :
binlog_encryption.rpl_cant_read_event_incident : 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_report_port :
rpl.rpl_reset_slave_fail : rpl.rpl_reset_slave_fail :
rpl.rpl_xa_survive_disconnect_lsu_off : rpl.rpl_xa_survive_disconnect_lsu_off :
rpl.rpl_heartbeat_basic : rpl.rpl_heartbeat_basic :
rpl.rpl_xa_survive_disconnect : rpl.rpl_xa_survive_disconnect :
rpl.rpl_err_ignoredtable : rpl.rpl_err_ignoredtable :
rpl.rpl_row_img_sequence_full :
rpl.rpl_row_img_sequence_min : # ------------------------------
rpl.rpl_row_img_sequence_noblob : # Fails on 10.11.6
rpl.rpl_xa_empty_transaction : binlog_encryption.rpl_gtid_basic :
rpl.rpl_slave_shutdown_mdev20821 : 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 # Fails on 10.11.6
perfschema.memory_aggregate_32bit : main.func_json_notembedded :
period.overlaps : 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 # Prefix that is used for patches
%global pkg_name %{name} %global pkg_name %{name}
%global pkgnamepatch mariadb %global pkgnamepatch mariadb
@ -11,7 +18,7 @@
# The last version on which the full testsuite has been run # 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 # In case of further rebuilds of that version, don't require full testsuite to be run
# run only "main" suite # 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 # Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0 %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). # Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
%global _default_patch_flags --no-backup-if-mismatch %global _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 # Mroonga engine
@ -59,18 +61,14 @@
%bcond_without pam %bcond_without pam
# Other plugins # Other plugins
# S3 storage engine
# https://mariadb.com/kb/en/s3-storage-engine/
%if 0%{?fedora} %if 0%{?fedora}
%bcond_without cracklib %bcond_without cracklib
%bcond_without connect %bcond_without connect
%bcond_without sphinx %bcond_without sphinx
%bcond_without s3
%else %else
%bcond_with cracklib %bcond_with cracklib
%bcond_with connect %bcond_with connect
%bcond_with sphinx %bcond_with sphinx
%bcond_with s3
%endif %endif
%bcond_without gssapi %bcond_without gssapi
@ -110,7 +108,7 @@
# MariaDB 10.0 and later requires pcre >= 10.34, 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 # the bundled library, since the package cannot be build with older version
# https://mariadb.com/kb/en/pcre/ # https://mariadb.com/kb/en/pcre/
%if 0%{?fedora} || 0%{?rhel} > 7 %if 0%{?fedora} || 0%{?rhel} > 8
%bcond_without unbundled_pcre %bcond_without unbundled_pcre
%else %else
%bcond_with unbundled_pcre %bcond_with unbundled_pcre
@ -141,8 +139,6 @@
# Home directory of mysql user should be same for all packages that create it # Home directory of mysql user should be same for all packages that create it
%global mysqluserhome /var/lib/mysql %global mysqluserhome /var/lib/mysql
# Provide mysql names for compatibility # Provide mysql names for compatibility
%if 0%{?fedora} %if 0%{?fedora}
%bcond_without mysql_names %bcond_without mysql_names
@ -154,30 +150,28 @@
%global sameevr %{epoch}:%{version}-%{release} %global sameevr %{epoch}:%{version}-%{release}
Name: mariadb Name: mariadb
Version: 10.5.22 Version: 10.11.6
Release: 1%{?with_debug:.debug}%{?dist} Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3 Epoch: 3
Summary: A very fast and robust SQL database server Summary: A very fast and robust SQL database server
URL: http://mariadb.org URL: http://mariadb.org
License: GPLv2 and LGPLv2 # 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
# 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
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 Source2: mysql_config_multilib.sh
Source3: my.cnf.in Source3: my.cnf.in
Source6: README.mariadb-docs Source6: README.mysql-docs
Source7: README.mysql-license
Source8: README.wsrep_sst_rsync_tunnel Source8: README.wsrep_sst_rsync_tunnel
Source10: mariadb.tmpfiles.d.in Source10: mysql.tmpfiles.d.in
Source11: mysql.service.in Source11: mysql.service.in
Source12: mariadb-prepare-db-dir.sh Source12: mysql-prepare-db-dir.sh
Source14: mariadb-check-socket.sh Source14: mysql-check-socket.sh
Source15: mariadb-scripts-common.sh Source15: mysql-scripts-common.sh
Source16: mariadb-check-upgrade.sh Source16: mysql-check-upgrade.sh
Source18: mysql@.service.in Source18: mysql@.service.in
Source50: rh-skipped-tests-base.list Source50: rh-skipped-tests-base.list
Source51: rh-skipped-tests-arm.list Source51: rh-skipped-tests-arm.list
@ -219,8 +213,13 @@ Patch7: %{pkgnamepatch}-scripts.patch
Patch9: %{pkgnamepatch}-ownsetup.patch Patch9: %{pkgnamepatch}-ownsetup.patch
# Patch10: Fix cipher name in the SSL Cipher name test # Patch10: Fix cipher name in the SSL Cipher name test
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch 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: cmake gcc-c++
BuildRequires: multilib-rpm-config BuildRequires: multilib-rpm-config
BuildRequires: selinux-policy-devel BuildRequires: selinux-policy-devel
@ -243,6 +242,8 @@ BuildRequires: bison bison-devel
%{?with_debug:BuildRequires: valgrind-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) # use either new enough version of pcre2 or provide bundles(pcre2)
%{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} %{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf}
%{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} %{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}}
@ -292,6 +293,8 @@ BuildRequires: perl(warnings)
# for running some openssl tests rhbz#1189180 # for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel BuildRequires: openssl openssl-devel
#BuildRequires: fmt-devel
%if %{with debug} %if %{with debug}
BuildRequires: valgrind-devel BuildRequires: valgrind-devel
%endif %endif
@ -317,7 +320,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr}
Suggests: %{name}-server%{?_isa} = %{sameevr} Suggests: %{name}-server%{?_isa} = %{sameevr}
Conflicts: %{?fedora:community-}mysql Conflicts: mysql
# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ # Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep)
@ -327,11 +330,11 @@ Conflicts: %{?fedora:community-}mysql
%{!?_licensedir:%global license %doc} %{!?_licensedir:%global license %doc}
%description %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 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 The base package contains the standard MariaDB/MySQL client programs and
utilities. generic MySQL files.
%if %{with clibrary} %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 # 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 # 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 # we need the config file(s) to be in a separate package, so no extra packages
# are pulled, because these would likely conflict. # are pulled, because these would likely conflict.
# More specifically, the dependency on the main configuration file (/etc/my.cnf) # More specifically, the dependency on the main configuration file (/etc/my.cnf)
@ -415,10 +418,10 @@ Requires: rsync
%description server-galera %description server-galera
MariaDB is a multi-user, multi-threaded SQL database server. It is a 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 and many different client programs and libraries. This package contains
added files to allow MariaDB server to operate as a Galera cluster the MariaDB server and some accompanying files and directories.
member. MariaDB is a community developed fork originally from MySQL. MariaDB is a community developed branch of MySQL.
%endif %endif
@ -451,7 +454,7 @@ Suggests: logrotate
Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d 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 # 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 %if %require_mysql_selinux
Requires: (mysql-selinux if selinux-policy-targeted) 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 = %{sameevr}
Provides: mysql-compat-server%{?_isa} = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr}
%endif %endif
Conflicts: %{?fedora:community-}mysql-server Conflicts: mysql-server
# Bench subpackage has been deprecated in F32 # Bench subpackage has been deprecated in F32
Obsoletes: %{name}-bench <= %{sameevr} Obsoletes: %{name}-bench <= %{sameevr}
%if %{without tokudb}
Obsoletes: %{name}-tokudb-engine <= %{sameevr} Obsoletes: %{name}-tokudb-engine <= %{sameevr}
%endif
%description server %description server
MariaDB is a multi-user, multi-threaded SQL database server. It is a 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 and many different client programs and libraries. This package contains
the MariaDB server and some accompanying files and directories. 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} %if %{with oqgraph}
@ -579,7 +584,7 @@ This plugin includes support for Kerberos on Unix.
Summary: PAM authentication plugin for the MariaDB server Summary: PAM authentication plugin for the MariaDB server
Requires: %{name}-server%{?_isa} = %{sameevr} 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} Requires(pre): %{name}-server%{?_isa} = %{sameevr}
BuildRequires: pam-devel BuildRequires: pam-devel
@ -601,29 +606,15 @@ The Sphinx storage engine for MariaDB.
%endif %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 %package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications Summary: Non-essential server utilities for MariaDB/MySQL applications
Requires: %{name}-server%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr}
%if %{with mysql_names} %if %{with mysql_names}
Provides: mysql-perl = %{sameevr} Provides: mysql-perl = %{sameevr}
%endif %endif
Conflicts: %{?fedora:community-}mysql-server Conflicts: mysql-server
# mysqlhotcopy needs DBI/DBD support # mysqlhotcopy needs DBI/DBD support
Requires: perl(DBI) perl(DBD::MariaDB) Requires: perl(DBI) perl(DBD::mysql)
%description server-utils %description server-utils
This package contains all non-essential server utilities and scripts for 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 = %{sameevr}
Provides: mysql-devel%{?_isa} = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr}
%endif %endif
Conflicts: %{?fedora:community-}mysql-devel Conflicts: mysql-devel
%description devel %description devel
MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL. MariaDB is a community developed branch of MySQL.
%if %{with clibrary} %if %{with clibrary}
This package contains everything needed for developing MariaDB/MySQL client This package contains everything needed for developing MariaDB/MySQL client
and server plugins and applications. and server applications.
%else %else
This package contains everything needed for developing MariaDB/MySQL server This package contains everything needed for developing MariaDB/MySQL server
plugins and applications. For developing client applications, use applications. For developing client applications, use mariadb-connector-c
mariadb-connector-c package. package.
%endif %endif
%endif %endif
@ -673,7 +664,7 @@ Provides: mysql-embedded%{?_isa} = %{sameevr}
MariaDB is a multi-user, multi-threaded SQL database server. This MariaDB is a multi-user, multi-threaded SQL database server. This
package contains a version of the MariaDB server that can be embedded package contains a version of the MariaDB server that can be embedded
into a client application instead of running as a separate process. 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 %package embedded-devel
@ -686,11 +677,11 @@ Requires: libaio-devel
Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel = %{sameevr}
Provides: mysql-embedded-devel%{?_isa} = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr}
%endif %endif
Conflicts: %{?fedora:community-}mysql-embedded-devel Conflicts: mysql-embedded-devel
%description embedded-devel %description embedded-devel
MariaDB is a multi-user, multi-threaded SQL database server. 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 This package contains files needed for developing and testing with
the embedded version of the MariaDB server. the embedded version of the MariaDB server.
%endif %endif
@ -714,7 +705,7 @@ Requires: perl(Socket)
Requires: perl(Sys::Hostname) Requires: perl(Sys::Hostname)
Requires: perl(Test::More) Requires: perl(Test::More)
Requires: perl(Time::HiRes) Requires: perl(Time::HiRes)
Conflicts: %{?fedora:community-}mysql-test Conflicts: mysql-test
%if %{with mysql_names} %if %{with mysql_names}
Provides: mysql-test = %{sameevr} Provides: mysql-test = %{sameevr}
Provides: mysql-test%{?_isa} = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr}
@ -722,14 +713,14 @@ Provides: mysql-test%{?_isa} = %{sameevr}
%description test %description test
MariaDB is a multi-user, multi-threaded SQL database server. 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 This package contains the regression test suite distributed with the MariaDB
sources. sources.
%endif %endif
%prep %prep
%setup -q -n mariadb-%{version}-downstream_modified %setup -q -n %{pkg_name}-%{version}
# Remove JAR files that upstream puts into tarball # Remove JAR files that upstream puts into tarball
find . -name "*.jar" -type f -exec rm --verbose -f {} \; find . -name "*.jar" -type f -exec rm --verbose -f {} \;
@ -740,16 +731,18 @@ rm -r storage/rocksdb/
%endif %endif
%patch4 -p1 %patch4 -p1
%patch7 -p1 %patch7 -p1
%patch9 -p1 %patch9 -p1
%patch11 -p1
# The test in Patch 10 has been recently updated by upstream # The test in Patch 10 has been recently updated by upstream
# and the test was disabled in the testuite run # and the test was disabled in the testuite run
# main.ssl_cipher [ disabled ] MDEV-17184 - Failures with OpenSSL 1.1.1 # main.ssl_cipher [ disabled ] MDEV-17184 - Failures with OpenSSL 1.1.1
# Keeping the patch commented out, need to revisit # Keeping the patch commented out, need to revisit
# once the test is re-enabled by upstream in some future release # once the test is re-enabled by upstream in some future release
#%%patch10 -p1 #%%patch10 -p1
%patch16 -p1
%patch17 -R -p1
# generate a list of tests that fail, but are not disabled by upstream # generate a list of tests that fail, but are not disabled by upstream
cat %{SOURCE50} | tee -a mysql-test/unstable-tests 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 cat %{SOURCE53} | tee -a mysql-test/unstable-tests
%endif %endif
mkdir -p %{_vpath_builddir}/bundles
cp %{SOURCE1} %{_vpath_builddir}/bundles/
cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \
%{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} %{SOURCE73} scripts %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} %{SOURCE73} scripts
@ -798,6 +794,7 @@ fi
%build %build
# fail quickly and obviously if user tries to build as root # fail quickly and obviously if user tries to build as root
%if %runselftest %if %runselftest
if [ x"$(id -u)" = "x0" ]; then if [ x"$(id -u)" = "x0" ]; then
@ -810,7 +807,7 @@ fi
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
# so we can't use %%{_datadir} and so forth here. # so we can't use %%{_datadir} and so forth here.
%cmake \ %cmake . \
-DBUILD_CONFIG=mysql_release \ -DBUILD_CONFIG=mysql_release \
-DFEATURE_SET="community" \ -DFEATURE_SET="community" \
-DINSTALL_LAYOUT=RPM \ -DINSTALL_LAYOUT=RPM \
@ -851,6 +848,7 @@ fi
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \ -DWITH_SSL=system \
-DWITH_ZLIB=system \ -DWITH_ZLIB=system \
-DWITH_LIBFMT=bundled \
-DLZ4_LIBS=%{_libdir}/liblz4.so \ -DLZ4_LIBS=%{_libdir}/liblz4.so \
-DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \ -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \
-DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
@ -861,9 +859,6 @@ fi
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect: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_COLUMNSTORE=NO \
-DPLUGIN_CLIENT_ED25519=OFF \ -DPLUGIN_CLIENT_ED25519=OFF \
-DPYTHON_SHEBANG=%{python_path} \ -DPYTHON_SHEBANG=%{python_path} \
@ -871,6 +866,8 @@ fi
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_MONGO=OFF \
-DCONNECT_WITH_JDBC=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} %{?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 # 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) # 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 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 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 systemd unit files and scripts for handling server startup
install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
install -D -p -m 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 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} %if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
%endif %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} %if %{with galera}
install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
%endif %endif
@ -1032,11 +1023,6 @@ rm %{buildroot}%{_mandir}/man1/mytop.1*
# Should be shipped with mariadb-connector-c # Should be shipped with mariadb-connector-c
rm %{buildroot}%{_mandir}/man1/mariadb_config.1* 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 # for compatibility with upstream RPMs, create mysqld symlink in sbin
mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sbindir}
ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld 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 # copy additional docs into build tree so %%doc will find them
install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} 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 %{SOURCE8} %{basename:%{SOURCE8}}
install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}}
install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} 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 # install galera config file
%if %{with galera} %if %{with galera}
sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf 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 install -p -m 0755 %{_vpath_builddir}/scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
# remove duplicate logrotate script # remove duplicate logrotate script
rm %{buildroot}%{logrotateddir}/mysql rm %{buildroot}%{_datadir}/mariadb/mariadb.logrotate
# Remove AppArmor files # Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
# Buildroot does not have symlink /lib64 --> /usr/lib64 # Buildroot does not have symlink /lib64 --> /usr/lib64
%if %{with pam}
mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir}
%endif
# Add wsrep_sst_rsync_tunnel script # Add wsrep_sst_rsync_tunnel script
install -p -m 0755 scripts/wsrep_sst_rsync_tunnel %{buildroot}%{_bindir}/wsrep_sst_rsync_tunnel 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 # Disable plugins
%if %{with gssapi} %if %{with gssapi}
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
@ -1099,6 +1094,7 @@ rm %{buildroot}%{_libdir}/libmariadb.so.*
unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient.so
unlink %{buildroot}%{_libdir}/libmysqlclient_r.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
unlink %{buildroot}%{_libdir}/libmariadb.so unlink %{buildroot}%{_libdir}/libmariadb.so
rm %{buildroot}%{_mandir}/man3/*
# Client plugins # Client plugins
rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so} rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so}
%if %{with gssapi} %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,mariadb}.1*
rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.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}%{_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 %endif
%if %{without config} %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,\ rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\
french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\
polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi,\
bulgarian,chinese} bulgarian,chinese,georgian}
%endif %endif
%if %{without test} %if %{without test}
%if %{with embedded} %if %{with embedded}
rm %{buildroot}%{_bindir}/test-connect-t
rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-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/{mysql_client_test_embedded,mysqltest_embedded}.1*
rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif # embedded %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}/{mysql_client_test,mysqltest}
rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* 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/{mariadb-client-test,mariadb-test}.1*
rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.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 %endif
%if %{without galera} %if %{without galera}
rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster}
rm %{buildroot}%{_bindir}/galera_recovery rm %{buildroot}%{_bindir}/galera_recovery
rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
%endif %endif
%if %{without rocksdb} %if %{without rocksdb}
@ -1197,10 +1189,6 @@ rm %{buildroot}%{_mandir}/man1/maria{,db-}backup.1*
rm %{buildroot}%{_mandir}/man1/mbstream.1* rm %{buildroot}%{_mandir}/man1/mbstream.1*
%endif %endif
%if %{without s3}
rm %{buildroot}%{_mandir}/man1/aria_s3_copy.1*
%endif
%check %check
%if %{with test} %if %{with test}
%if %runselftest %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 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 ]] if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]]
then 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 \ perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \
%if %{ignore_testsuite_result} %if %{ignore_testsuite_result}
--max-test-fail=9999 || : --max-test-fail=9999 || :
@ -1253,7 +1241,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 ))
--skip-test-list=unstable-tests --skip-test-list=unstable-tests
%endif %endif
# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) # 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} %if %{ignore_testsuite_result}
--max-test-fail=999 || : --max-test-fail=999 || :
%else %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 # There might be a dangling symlink left from the testing, remove it to not be installed
rm -rf ./var 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". # NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2".
@ -1382,6 +1372,7 @@ fi
%lang(uk) %{_datadir}/%{pkg_name}/ukrainian %lang(uk) %{_datadir}/%{pkg_name}/ukrainian
%lang(bg) %{_datadir}/%{pkg_name}/bulgarian %lang(bg) %{_datadir}/%{pkg_name}/bulgarian
%lang(zh) %{_datadir}/%{pkg_name}/chinese %lang(zh) %{_datadir}/%{pkg_name}/chinese
%lang(ka) %{_datadir}/%{pkg_name}/georgian
%endif %endif
%if %{with galera} %if %{with galera}
@ -1391,6 +1382,7 @@ fi
%{_bindir}/clustercheck %{_bindir}/clustercheck
%{_bindir}/galera_new_cluster %{_bindir}/galera_new_cluster
%{_bindir}/galera_recovery %{_bindir}/galera_recovery
%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
%config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf
%attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck
%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %{_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/enable_encryption.preset
%config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf %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}/mysqld
%{_sbindir}/mariadbd %{_sbindir}/mariadbd
%{_libexecdir}/{mysqld,mariadbd} %{_libexecdir}/{mysqld,mariadbd}
@ -1439,7 +1436,6 @@ fi
%dir %{_libdir}/%{pkg_name} %dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/plugin %dir %{_libdir}/%{pkg_name}/plugin
%{_libdir}/%{pkg_name}/plugin/* %{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.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_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so}
%{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
%{?with_s3:%exclude %{_libdir}/%{pkg_name}/plugin/ha_s3.so}
%if %{with clibrary} %if %{with clibrary}
%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.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 %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir
%exclude %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool %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_new_cluster.1*
%{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/galera_recovery.1*
%{_mandir}/man1/mariadb-service-convert.1* %{_mandir}/man1/mariadb-service-convert.1*
@ -1484,10 +1479,12 @@ fi
%{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql.server.1*
%{_datadir}/%{pkg_name}/mini-benchmark
%{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/fill_help_tables.sql
%{_datadir}/%{pkg_name}/maria_add_gis_sp.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql
%{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql
%{_datadir}/%{pkg_name}/mysql_system_tables.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_system_tables_data.sql
%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql
%{_datadir}/%{pkg_name}/mysql_performance_tables.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql
@ -1511,13 +1508,19 @@ fi
%{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/README
%{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.*
%{_datadir}/%{pkg_name}/policy/selinux/mariadb.* %{_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}* %{_unitdir}/%{daemon_name}*
%{_libexecdir}/mariadb-prepare-db-dir %{_libexecdir}/mysql-prepare-db-dir
%{_libexecdir}/mariadb-check-socket %{_libexecdir}/mysql-check-socket
%{_libexecdir}/mariadb-check-upgrade %{_libexecdir}/mysql-check-upgrade
%{_libexecdir}/mariadb-scripts-common %{_libexecdir}/mysql-scripts-common
%attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{pidfiledir}
%attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0755,mysql,mysql) %dir %{dbdatadir}
@ -1588,14 +1591,6 @@ fi
%{_libdir}/%{pkg_name}/plugin/ha_connect.so %{_libdir}/%{pkg_name}/plugin/ha_connect.so
%endif %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 %files server-utils
# Perl utilities # Perl utilities
%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission} %{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}
@ -1617,6 +1612,7 @@ fi
%{_datadir}/aclocal/mysql.m4 %{_datadir}/aclocal/mysql.m4
%{_libdir}/pkgconfig/*mariadb.pc %{_libdir}/pkgconfig/*mariadb.pc
%if %{with clibrary} %if %{with clibrary}
%{_mandir}/man3/*
%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
%{_bindir}/mysql_config* %{_bindir}/mysql_config*
%{_bindir}/mariadb_config* %{_bindir}/mariadb_config*
@ -1656,6 +1652,27 @@ fi
%endif %endif
%changelog %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 * Mon Sep 04 2023 Michal Schorm <mschorm@redhat.com> - 3:10.5.22-1
- Rebase to 10.5.22 - Rebase to 10.5.22
@ -1681,103 +1698,37 @@ fi
* Sun Feb 20 2022 Michal Schorm <mschorm@redhat.com> - 3:10.5.15-1 * Sun Feb 20 2022 Michal Schorm <mschorm@redhat.com> - 3:10.5.15-1
- Rebase to 10.5.15 - Rebase to 10.5.15
* Mon Feb 07 2022 Honza Horak <hhorak@redhat.com> - 3:10.5.13-2 * Tue Jan 11 2022 Michal Schorm <mschorm@redhat.com> - 3:10.5.13-1
- 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
- Rebase to 10.5.13 - 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 - Add wsrep_sst_rsync_tunnel script
* Tue Aug 17 2021 Honza Horak <hhorak@redhat.com> - 3:10.5.12-2 * Tue Aug 24 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.12-1
- Fix OpenSSL 3.x compatibility
Resolves: #1962047
* Tue Aug 17 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.12-1
- Rebase to 10.5.12 - 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 - 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 * Mon Aug 16 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.10-2
- Rebuild against pcre2-10.37 (bug #1970765) - Set user_map.conf file to be noreplace config file
- Resolves: rhbz#1989621
* 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
* Tue May 11 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.10-1 * Tue May 11 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.10-1
- Rebase to 10.5.10 - Rebase to 10.5.10
* Tue May 11 2021 Honza Horak <hhorak@redhat.com> - 3:10.5.9-9 * Mon May 10 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-2
- Fix OpenSSL 3.x compatibility - Modify the upstream sources
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
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3:10.5.9-6 * Mon Mar 22 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-1
- 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
- Rebase to 10.5.9 - Rebase to 10.5.9
* Tue Feb 16 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.8-8 * Fri Mar 19 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-4
- Replace the tokudb Obsoletes to the right place - Move the PAM plugin to a standalone sub-package
- 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
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3:10.5.8-3 * Thu Mar 18 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - Fix permissions of the PAMv2 plugin files
* Fri Dec 11 2020 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.8-2 * Tue Feb 16 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-2
- Add tokudb-engine to obsoletes - Bump release after several commits cherry-picked from Fedora Rawhide
- Resolves: #1906559
* Wed Nov 11 2020 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-1 * Wed Nov 11 2020 Michal Schorm <mschorm@redhat.com> - 3:10.5.8-1
- Rebase to 10.5.8 - Rebase to 10.5.8

Loading…
Cancel
Save