Compare commits

...

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

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

@ -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 +1,2 @@
# Fails since 10.3.17, only on armv7hl # Fails since 10.3.17, only on armv7hl
versioning.partition : versioning.partition :
# Fail since 10.4.16 only on armv7hl
versioning.partition_rotation :

@ -53,25 +53,15 @@ main.ssl_system_ca :
innodb.innodb_wl6326_big : innodb.innodb_wl6326_big :
plugins.feedback_plugin_load : plugins.feedback_plugin_load :
# Fails only on RHEL 9 BETA on i686 architecture # Fails only on i686
main.myisampack : main.myisampack :
# Fails on all arches since 10.5.13 on CentOS Stream 9 # Fails everywhere in 10.5.8
oqgraph.regression_mdev6345 : rpl.rpl_innodb_mixed_dml :
type_test.type_test_double :
# Fails only on i686 since 10.5.13 on CentOS Stream 9 # Since 10.5.10
oqgraph.general-innodb : sys_vars.tcp_nodelay :
oqgraph.general-Aria : innodb.restart :
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 :
@ -96,3 +86,6 @@ rpl.rpl_row_img_sequence_min :
rpl.rpl_row_img_sequence_noblob : rpl.rpl_row_img_sequence_noblob :
rpl.rpl_xa_empty_transaction : rpl.rpl_xa_empty_transaction :
rpl.rpl_slave_shutdown_mdev20821 : rpl.rpl_slave_shutdown_mdev20821 :
# Fails since 10.5.22
mariabackup.aria_log_dir_path :

@ -1,7 +1,22 @@
# Fails on ppc64le since 10.4.12 # Fails on ppc64le since 10.4.12
oqgraph.social : oqgraph.social :
# Fails since 10.5.13
encryption.create_or_replace_big :
rpl.rpl_parallel_optimistic_xa_lsu_off :
rpl.rpl_parallel_optimistic_xa :
innodb.innodb_defrag_concurrent :
rpl.rpl_parallel_xa_same_xid :
parts.part_supported_sql_func_innodb :
parts.partition_alter2_1_1_innodb :
# Fails since 10.5.20 # Fails since 10.5.20
innodb.innodb_defrag_concurrent : innodb.innodb_defrag_concurrent :
parts.partition_alter4_innodb : parts.partition_alter4_innodb :
rpl.rpl_parallel_optimistic_xa_lsu_off : rpl.rpl_parallel_optimistic_xa_lsu_off :
# Fails since 10.5.22
parts.partition_alter2_1_2_innodb :
innodb_gis.kill_server :
parts.partition_alter2_2_1_innodb :
parts.partition_alter2_2_2_innodb :

@ -1,3 +1,7 @@
# Fails since 10.5.2 # Fails since 10.5.2
perfschema.memory_aggregate_32bit : perfschema.memory_aggregate_32bit :
period.overlaps : period.overlaps :
# Fails since 10.5.9
bugfix.wait_timeout :
#Fails since 10.5.16
innodb.row_size_error_log_warnings_3 :

@ -1,3 +1,7 @@
# 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
@ -26,11 +30,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 +58,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 +105,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 +136,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
@ -160,7 +153,8 @@ 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 # Original upstream sources archive URL
# Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz # Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz
@ -170,14 +164,15 @@ Source0: https://fedoraproject.org/mariadb-%{version}-downstream_modifi
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 +214,11 @@ 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
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 +241,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}}
@ -317,7 +317,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 +327,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 +353,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 +415,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 +451,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 +474,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 +581,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 +603,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 +631,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 +661,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 +674,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 +702,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,7 +710,7 @@ 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
@ -740,7 +728,6 @@ rm -r storage/rocksdb/
%endif %endif
%patch4 -p1 %patch4 -p1
%patch7 -p1 %patch7 -p1
%patch9 -p1 %patch9 -p1
@ -750,6 +737,8 @@ rm -r storage/rocksdb/
# 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
@ -798,6 +787,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 +800,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 \
@ -861,9 +851,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} \
@ -966,31 +953,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
@ -1044,10 +1025,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
@ -1064,9 +1052,7 @@ rm %{buildroot}%{logrotateddir}/mysql
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
@ -1142,8 +1128,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}
@ -1164,27 +1148,25 @@ bulgarian,chinese}
%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 +1179,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 +1223,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 +1231,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,spider/handler --skip-test-list=unstable-tests \
%if %{ignore_testsuite_result} %if %{ignore_testsuite_result}
--max-test-fail=999 || : --max-test-fail=999 || :
%else %else
@ -1391,6 +1369,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
@ -1439,7 +1418,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 +1425,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 +1435,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*
@ -1511,13 +1488,18 @@ 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
# 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 +1570,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}
@ -1656,6 +1630,9 @@ fi
%endif %endif
%changelog %changelog
* Sun Dec 10 2023 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 3:10.5.22-1
- Rebuilt for MSVSphere 8.8
* 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 +1658,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> * Mon Aug 16 2021 Lukas Javorsky <ljavorsk@redhat.com> - 3:10.5.10-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Set user_map.conf file to be noreplace config file
Related: rhbz#1991688 - Resolves: rhbz#1989621
* 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
* 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
- 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 * Mon Mar 22 2021 Michal Schorm <mschorm@redhat.com> - 3:10.5.9-1
- 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