Compare commits

..

No commits in common. "c8-stream-10.3" and "stream-mariadb-10.5-rhel-8.9.0" have entirely different histories.

45 changed files with 2124 additions and 718 deletions

4
.gitignore vendored
View File

@ -1 +1,3 @@
SOURCES/mariadb-10.3.39.tar.gz
/*/
/*.rpm
/*.tar.gz

View File

@ -1 +1 @@
25972d22ed05249782141392f0893e71c7d549a9 SOURCES/mariadb-10.3.39.tar.gz
10c51d806a5eba0abce079a1965a487ff104a9a1 mariadb-10.5.16-downstream_modified.tar.gz

View File

@ -1,101 +0,0 @@
--- mariadb-10.3.39/mysql-test/include/default_mysqld.cnf 2023-05-03 06:32:44.000000000 +0200
+++ ../../mariadb-10.3.39/mysql-test/include/default_mysqld.cnf 2023-07-07 13:58:40.255283041 +0200
@@ -127,3 +127,8 @@ local-infile
# tables. Let's enable it in the [server] group, because this group
# is read after [mysqld] and [embedded]
loose-aria
+
+[mysqltest]
+loose-ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
+loose-ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/server-cert.pem
+loose-ssl-key=@ENV.MYSQL_TEST_DIR/std_data/server-key.pem
--- mariadb-10.3.39/mysql-test/include/wait_until_connected_again.inc 2023-05-03 06:32:44.000000000 +0200
+++ ../../mariadb-10.3.39/mysql-test/include/wait_until_connected_again.inc 2023-07-07 13:55:30.424368106 +0200
@@ -11,7 +11,7 @@ let $counter= 5000;
let $mysql_errno= 9999;
while ($mysql_errno)
{
- --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,ER_LOCK_WAIT_TIMEOUT,2002,2006,2013
+ --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,ER_LOCK_WAIT_TIMEOUT,2002,2006,2013,2026
show status;
dec $counter;
--- mariadb-10.3.39/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test 2023-05-03 06:32:45.000000000 +0200
+++ ../../mariadb-10.3.39/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test 2023-07-07 13:54:31.152082427 +0200
@@ -53,7 +53,7 @@ insert into t4 values (3),(4);
connection master;
# The get_lock function causes warning for unsafe statement.
--disable_warnings
---error 0,1317,2013
+--error 0,1317,2013,2026
reap;
--enable_warnings
connection master1;
--- mariadb-10.3.39/mysql-test/suite/innodb/t/innodb_bug51920.test 2023-05-03 06:32:44.000000000 +0200
+++ ../../mariadb-10.3.39/mysql-test/suite/innodb/t/innodb_bug51920.test 2023-07-07 15:11:39.000404508 +0200
@@ -36,7 +36,7 @@ let $wait_condition =
# depending on platform.
#
connection con1;
--- error 1317, 2006, 2013, ER_CONNECTION_KILLED
+-- error 1317, 2006, 2013, 2026, ER_CONNECTION_KILLED
reap;
connection default;
DROP TABLE bug51920;
--- mariadb-10.3.39/mysql-test/main/lock_kill.test 2023-05-03 06:32:44.000000000 +0200
+++ ../../mariadb-10.3.39/mysql-test/main/lock_kill.test 2023-07-07 15:13:54.335086789 +0200
@@ -17,7 +17,7 @@ LOCK TABLE t1 WRITE;
eval KILL $conid;
--enable_query_log
--connection con1
---error 0,2006,2013,ER_CONNECTION_KILLED
+--error 0,2006,2013,2026,ER_CONNECTION_KILLED
reap;
--connection default
--disconnect con1
@@ -35,7 +35,7 @@ LOCK TABLE t1 WRITE, t2 WRITE;
eval KILL $conid;
--enable_query_log
--connection con1
---error 0,2006,2013,ER_CONNECTION_KILLED
+--error 0,2006,2013,2026,ER_CONNECTION_KILLED
reap;
--connection default
--disconnect con1
--- mariadb-10.3.39/mysql-test/main/loadxml.test 2023-05-03 06:32:44.000000000 +0200
+++ ../../mariadb-10.3.39/mysql-test/main/loadxml.test 2023-07-07 15:15:14.862492763 +0200
@@ -83,7 +83,7 @@ connection default;
connection addconroot;
# Read response from connection to avoid packets out-of-order when disconnecting
# Note, that connection can already be dead due to previously issued kill
---error 0,2013
+--error 0,2013,2026
--reap
disconnect addconroot;
connection default;
--- mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.test 2023-05-03 06:32:45.000000000 +0200
+++ ../../mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.test 2023-07-10 11:48:28.859497746 +0200
@@ -1,3 +1,3 @@
--replace_regex /varchar\([0-9]+\)/varchar(pathlen)/
show create table information_schema.disks;
-select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks;
--- mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.result 2023-05-03 06:32:45.000000000 +0200
+++ ../../mariadb-10.3.39/plugin/disks/mysql-test/disks/disks.result 2023-07-10 12:47:10.460233056 +0200
@@ -7,6 +7,6 @@ DISKS CREATE TEMPORARY TABLE `DISKS` (
`Used` bigint(32) NOT NULL,
`Available` bigint(32) NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
-select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
-sum(Total) > sum(Available) sum(Total)>sum(Used)
+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks;
+sum(Total) >= sum(Available) sum(Total) >= sum(Used)
1 1

View File

@ -1,13 +0,0 @@
Harden the "hardened" flags even more to comply with RHEL8 security rules
--- mariadb-10.3.25/CMakeLists.txt 2020-10-05 18:19:45.000000000 +0200
+++ mariadb-10.3.25/CMakeLists.txt_patched 2020-11-03 01:29:52.369426705 +0100
@@ -247,7 +247,7 @@ IF(NOT WITH_TSAN)
# security-enhancing flags
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
MY_CHECK_AND_SET_LINKER_FLAG("-Wl,-z,relro,-z,now")
- MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
+ MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector-strong --param=ssp-buffer-size=4")
MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
ENDIF()
ENDIF()

View File

@ -1,12 +0,0 @@
--- mariadb-10.3.39/scripts/wsrep_sst_mariabackup.sh 2023-08-11 11:31:40.415022889 +0200
+++ ../../mariadb-10.3.39/scripts/wsrep_sst_mariabackup.sh 2023-08-11 11:32:01.924161077 +0200
@@ -340,6 +340,9 @@ get_transfer()
"Use workaround for socat $SOCAT_VERSION bug"
fi
fi
+ if check_for_version "$SOCAT_VERSION" '1.7.4'; then
+ tcmd="$tcmd,no-sni=1"
+ fi
fi
if [ "${sockopt#*,dhparam=}" = "$sockopt" ]; then

View File

@ -1,33 +0,0 @@
diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt
--- mariadb-10.2.32/support-files/CMakeLists.txt 2020-05-08 13:45:27.000000000 +0200
+++ mariadb-10.2.32/support-files/CMakeLists.txt_pacthed 2020-05-13 10:11:30.884190396 +0200
@@ -100,7 +100,8 @@ IF(UNIX)
ENDIF()
CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development)
+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development)
INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf
--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100
+++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100
@@ -9,7 +9,16 @@
[server]
# this is only for the mysqld standalone daemon
+# Settings user and group are ignored when systemd is used.
+# If you need to run mysqld under a different user or group,
+# customize your systemd unit file for mysqld/mariadb according to the
+# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld]
+datadir=@MYSQL_DATADIR@
+socket=@MYSQL_UNIX_ADDR@
+log-error=@LOG_LOCATION@
+pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid
+
#
# * Galera-related settings

View File

@ -1,20 +0,0 @@
Use PCDIR CMake option, if configured
Upstream install the server pkgconfig file into arch-independent directory
Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340
--- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100
+++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100
@@ -82,7 +82,12 @@ IF(UNIX)
CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY)
CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY)
+IF(INSTALL_PCDIR)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development)
+ELSE()
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development)
+ENDIF()
+
INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)

View File

@ -1,3 +0,0 @@
# Fails on aarch64
innodb.innodb_buffer_pool_resize :
innodb.innodb_buffer_pool_resize_with_chunks :

View File

@ -1,27 +0,0 @@
# Fails everywhere
innodb.innodb_defrag_binlog :
main.ssl_7937 :
main.ssl_8k_key :
main.ssl_crl :
main.ssl_system_ca :
main.userstat :
perfschema.cnf_option :
perfschema.nesting :
perfschema.socket_summary_by_event_name_func :
perfschema.socket_summary_by_instance_func :
plugins.feedback_plugin_load :
rpl.rpl_row_img_blobs :
rpl.rpl_row_img_eng_min :
rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic :
# Fails only on i686
main.myisampack :
# We don't build the plugin in server; we build it in mariadb-connector-c instead
plugins.auth_ed25519 :

View File

@ -1,30 +0,0 @@
# Fails on ppc64le
parts.partition_alter1_1_innodb :
parts.partition_alter1_2_innodb :
parts.partition_alter1_1_2_innodb :
parts.partition_alter1_2_1_innodb :
parts.partition_alter2_1_1_innodb :
parts.partition_alter1_2_2_innodb :
parts.partition_alter2_1_2_innodb :
parts.partition_alter2_2_1_innodb :
parts.partition_alter2_2_2_innodb :
parts.partition_alter4_innodb :
parts.partition_basic_innodb :
parts.part_supported_sql_func_innodb :
rpl.rpl_loaddata_m :
#
stress.ddl_innodb :
innodb.innodb_buffer_pool_resize :
innodb.innodb_buffer_pool_resize_with_chunks :
innodb.innodb_bulk_create_index :
innodb.innodb_defrag_binlog :
innodb.innodb_defrag_concurrent :
innodb_gis.kill_server :
gcol.innodb_virtual_basic :
# Unstable (randomly failing) tests
innodb_gis.rtree_search :
main.type_ranges :

View File

@ -1,8 +0,0 @@
# Fails on s390x
disks.disks :
disks.disks_notembedded :
# related to MDEV-20194
# first check of `undefined` table causes warning,
# instead INSERT and ALTER should cause it
innodb.row_size_error_log_warnings_3 :

View File

@ -0,0 +1,46 @@
#!/bin/bash
# This script downloads sources and modifies them
set -ex
NAME="mariadb"
VERSION=`rpmspec -q --srpm --qf '%{VERSION}' "$NAME.spec" `
# SOURCES_URL=`spectool -s 0 "$NAME.spec" | cut -d ' ' -f 2 `
SOURCES_URL="https://downloads.mariadb.org/interstitial/mariadb-$VERSION/source/mariadb-$VERSION.tar.gz"
OLD_ARCHIVE_NAME="${NAME}-${VERSION}"
NEW_ARCHIVE_NAME="${NAME}-${VERSION}-downstream_modified"
# Retrieve the archive:
rm -rf "${OLD_ARCHIVE_NAME}.tar.gz" "${OLD_ARCHIVE_NAME}/" "${NEW_ARCHIVE_NAME}.tar.gz" "${NEW_ARCHIVE_NAME}/"
wget "$SOURCES_URL"
# Modify the archive:
# 1/ Change both the name of the archive and the name of the base directory inside of the archive
# It will be necessary to change the name in the SPECfile in the %prep phase
# This will prevent maintainer to rebase to a non-modified sources archive without changing the SPECfile
tar -xof "${OLD_ARCHIVE_NAME}.tar.gz"
mv "${OLD_ARCHIVE_NAME}" "${NEW_ARCHIVE_NAME}"
# 2/ Remove the code licensed under the PerconaFT license
# which was not yet reviewed as suitable for Fedora or RHEL.
#
# License file:
# storage/tokudb/PerconaFT/PATENTS
#
# The whole storage engine, which requires code under this license
# has to be removed before uploading sources to Fedora.
rm -r "${NEW_ARCHIVE_NAME}/storage/tokudb"
# Pack the extracted files back to the archive
tar -czf "${NEW_ARCHIVE_NAME}.tar.gz" "${NEW_ARCHIVE_NAME}"
# Remove the decompressed original used to create the archive
rm -r "${NEW_ARCHIVE_NAME}/"

View File

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

View File

@ -26,13 +26,15 @@ Update 6/2018
beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can.
* Submited as PR: https://github.com/MariaDB/server/pull/807
Update 01/2022
* added delaycompress option
* see https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux
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.3.32/support-files/mysql-log-rotate.sh 2022-01-14 17:03:27.000000000 +0100
+++ mariadb-10.3.32/support-files/mysql-log-rotate.sh_patched 2022-01-17 15:07:54.205379672 +0100
@@ -3,36 +3,22 @@
--- 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]
@ -63,8 +65,9 @@ Update 01/2022
missingok
compress
+ delaycompress
+ sharedscripts
postrotate
# just if mysqld is really running
# just if mariadbd is really running
- if test -x @bindir@/mysqladmin && \
- @bindir@/mysqladmin ping &>/dev/null
- then

31
mariadb-ownsetup.patch Normal file
View File

@ -0,0 +1,31 @@
--- mariadb-10.4.14/support-files/CMakeLists.txt 2020-08-06 17:28:28.000000000 +0200
+++ mariadb-10.4.14/support-files/CMakeLists.txt_patched 2020-09-03 13:21:07.826658279 +0200
@@ -187,6 +187,7 @@ IF(UNIX)
COMPONENT SharedLibraries)
INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR}
COMPONENT Client)
+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf @ONLY)
INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR}
COMPONENT IniFiles)
INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR}
diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf
--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100
+++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100
@@ -9,7 +9,16 @@
[server]
# this is only for the mysqld standalone daemon
+# Settings user and group are ignored when systemd is used.
+# If you need to run mysqld under a different user or group,
+# customize your systemd unit file for mysqld/mariadb according to the
+# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld]
+datadir=@MYSQL_DATADIR@
+socket=@MYSQL_UNIX_ADDR@
+log-error=@LOG_LOCATION@
+pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid
+
#
# * Galera-related settings

View File

@ -1,11 +1,12 @@
We have some downstream patches and other scripts that include variables to
be expanded by cmake. Cmake needs to know about them, so adding them manually.
--- mariadb-10.3.8/scripts/CMakeLists.txt 2018-07-02 09:34:11.000000000 +0200
+++ mariadb-10.3.8/scripts/CMakeLists.txt_patched 2018-07-03 10:58:15.954670153 +0200
@@ -361,6 +361,34 @@ ELSE()
COMPONENT ${${file}_COMPONENT}
)
# Install libgcc as mylibgcc.a
--- mariadb-10.5.5/scripts/CMakeLists.txt.old 2020-09-24 10:13:35.272589689 +0200
+++ mariadb-10.5.5/scripts/CMakeLists.txt 2020-09-24 10:17:31.428985798 +0200
@@ -377,6 +377,34 @@
INSTALL_LINK(${file} ${binname} ${INSTALL_BINDIR} ${${file}_COMPONENT})
ENDIF()
ENDFOREACH()
+
+ # files for systemd

View File

@ -0,0 +1,13 @@
diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test
--- mariadb-10.3.13/mysql-test/main/ssl_cipher.test 2019-02-20 08:59:09.000000000 +0100
+++ mariadb-10.3.13/mysql-test/main/ssl_cipher.test_patched 2019-02-22 11:22:01.250256060 +0100
@@ -97,7 +97,9 @@ drop user mysqltest_1@localhost;
let $restart_parameters=--ssl-cipher=AES128-SHA;
source include/restart_mysqld.inc;
connect (ssl_con,localhost,root,,,,,SSL);
+--replace_regex /TLS_AES_.*/AES128-SHA/
SHOW STATUS LIKE 'Ssl_cipher';
+--replace_regex /TLS_AES_.*/AES128-SHA/
SHOW STATUS LIKE 'Ssl_cipher_list';
disconnect ssl_con;
connection default;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
# Fails since 10.3.17, only on armv7hl
versioning.partition :

View File

@ -0,0 +1,64 @@
# The SSL test are failing correctly. Fro more explanation, see:
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275
main.ssl_7937 : #1399847
main.ssl_8k_key :
main.ssl_crl : #1399847
# ------------------------------
# Tests that fails because of 'Self Signed Certificate in the Certificate Chain'
perfschema.cnf_option :
rpl.rpl_row_img_blobs :
rpl.rpl_row_img_eng_min :
rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic :
# ------------------------------
# Expected to fail, the plugin is not build with server, but 'mariadb-connector-c' instead
plugins.auth_ed25519 :
plugins.multiauth :
# ------------------------------
perfschema.nesting : #1399847
perfschema.socket_summary_by_instance_func : #1399847
perfschema.socket_summary_by_event_name_func :
# ------------------------------
# Fails since 10.1.12
innodb.innodb_defrag_binlog :
# Fails everywhere since 10.2.15
main.userstat :
# Fails everywhere since 10.4.11
main.events_bugs :
sys_vars.tcp_nodelay :
# Fails on i686
encryption.innodb-redo-badkey :
# Fails since 10.5.2
main.mysqld--help2 :
disks.disks :
disks.disks_notembedded :
# Fails since 10.5.3
main.mysqld--help-aria :
# Fails since 10.5.4
main.ssl_system_ca :
# Fails since 10.5.7
innodb.innodb_wl6326_big :
plugins.feedback_plugin_load :
# Fails only on i686
main.myisampack :
# Fails everywhere in 10.5.8
rpl.rpl_innodb_mixed_dml :
# Since 10.5.10
sys_vars.tcp_nodelay :
innodb.restart :

11
rh-skipped-tests-ppc.list Normal file
View File

@ -0,0 +1,11 @@
# Fails on ppc64le since 10.4.12
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 :

View File

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

50
rpminspect.yaml Normal file
View File

@ -0,0 +1,50 @@
# Set up global ignore list
ignore:
# mysql-test/ directory contains an extensive test-suite of about 20.000 files;
# It is very time consuming to be fully analysed and the results aren't useful anyway
# It is expected the tests change during rebases, as the underlying functionality the test evolve
# Some of the tests contain broken or problematic code, however that is on purpose
- /usr/share/mysql-test/
# based on https://lists.launchpad.net/maria-discuss/msg06133.html discussion
# are the invalid xmls (except for Index.xml) present in the sources on purpose
# and they can be removed from xmllint rpminspect check in the CI process.
#
# A bug report [https://jira.mariadb.org/browse/MDEV-26905] was created in the upstream
# for the Index.xml file.
#
# Fedora CI picks up the rpmlimspect.yaml for specific package in the dist-git repo
#[ref: https://rpminspect.readthedocs.io/en/latest/configuration.html#rpminspect-yaml]
#
xml:
ignore:
- /usr/share/mysql-test/std_data/loadxml.dat
- /usr/share/mysql-test/std_data/loaddata/mdev9874.xml
- /usr/share/mysql-test/std_data/ldml/Index.xml
- /usr/share/mysql-test/plugin/sphinx/sphinx/testdata.xml
- /usr/share/mysql-test/plugin/connect/connect/std_data/nocs.xml
- /usr/share/mariadb/charsets/Index.xml
# ignore bad functions in resolveip binary, based on BZ1973194
# all forbidden functions listed in main rpminspect config
# have to be menioned also here, else it would not be checked for them
badfuncs:
- gethostbyname
- gethostbyname2
- gethostbyaddr
- inet_addr
- inet_aton
- inet_nsap_addr
- inet_ntoa
- inet_nsap_ntoa
- inet_makeaddr
- inet_netof
- inet_network
- inet_neta
- inet_net_ntop
- inet_net_pton
- rcmd
- rexec
- rresvport
ignore:
- /usr/bin/resolveip

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (mariadb-10.5.16-downstream_modified.tar.gz) = c61457dcf4c2217b4432bee15094713e672f273a85f2f7a84326b619a0c51dd6f025d7bb94f5da35a2f4ac026c2b6fd32bd605985a5888101a06d62da8fdb02e

View File

@ -0,0 +1,62 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/tests/Sanity/basic_service
# Description: The very basic service testing
# Author: Michal Schorm <mschorm@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=basic_service
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Michal Schorm <mschorm@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: The very basic service testing" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: mariadb" >> $(METADATA)
@echo "Requires: mariadb" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of basic_service
Description: The very basic service testing
Author: Michal Schorm <mschorm@redhat.com>

72
tests/basic_service/runtest.sh Executable file
View File

@ -0,0 +1,72 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of basic_service
# Description: The very basic service testing
# Author: Michal Schorm <mschorm@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="mariadb"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "systemctl stop mariadb"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "systemctl -q status mariadb" 3 "Test status of dead service"
rlRun "systemctl -q start mariadb" 0 "Start mariadb service"
rlRun "systemctl -q status mariadb" 0 "Test status of running mariadb service"
rlPhaseEnd
rlPhaseStartTest
rlRun "systemctl -q restart mariadb" 0 "Restart running mariadb service"
rlRun "systemctl -q status mariadb" 0 "Test status of running mariadb service"
rlPhaseEnd
rlPhaseStartTest
rlRun "systemctl -q stop mariadb" 0 "Stop mariadb service"
rlRun "systemctl -q status mariadb" 3 "Test status of dead mariadb service"
rlPhaseEnd
rlPhaseStartTest
rlRun "systemctl -q start mariadb" 0 "Start mariadb service"
rlRun "systemctl -q status mariadb" 0 "Test status of running mariadb service"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

30
tests/tests.yml Normal file
View File

@ -0,0 +1,30 @@
---
# --------------------------------------------------
# This is an experiment with Fedora CI
#
# Refer to:
# https://fedoraproject.org/wiki/CI/Tests
#
# TL;DR you have to, as root:
# 1) # dnf install ansible python2-dnf libselinux-python standard-test-roles
# 2) install the packages to be tested
# 3) # ansible-playbook tests.yml
#
# Warning !!
# DO NOT run it on a machine that SHOULD NOT be destroyed.
#
# --------------------------------------------------
# Tests that run in classic context
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
tests:
- basic_service
required_packages:
- mariadb

File diff suppressed because it is too large Load Diff