From 2ec2af3e1137c34bb40cb3c0e045619ab46b9f95 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Mon, 7 Dec 2020 12:33:03 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/mariadb.git#95e69a74bcb5a5f4981ead3885ef81730e8f0217 --- mariadb-logrotate.patch | 6 +- mariadb-pcdir.patch | 19 ++++++ mariadb-scripts.patch | 11 ++-- mariadb.spec | 120 +++++++++++++++++++++++++------------ rh-skipped-tests-base.list | 14 ++++- rh-skipped-tests-ppc.list | 3 + rh-skipped-tests-s390.list | 7 +-- sources | 2 +- 8 files changed, 127 insertions(+), 55 deletions(-) create mode 100644 mariadb-pcdir.patch diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 6af9466..d4ed2b7 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -26,8 +26,8 @@ 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 ---- mariadb-10.3.19/support-files/mysql-log-rotate.sh 2019-11-03 17:03:27.000000000 +0100 -+++ mariadb-10.3.19/support-files/mysql-log-rotate.sh_patched 2019-11-06 15:07:54.205379672 +0100 +--- mariadb-10.5.4/support-files/mysql-log-rotate.sh.old 2020-09-16 13:36:57.247955135 +0200 ++++ mariadb-10.5.4/support-files/mysql-log-rotate.sh 2020-09-16 13:40:59.744220908 +0200 @@ -3,23 +3,10 @@ # in the [mysqld] section as follows: # @@ -58,7 +58,7 @@ Update 6/2018 @@ -27,11 +14,9 @@ compress postrotate - # just if mysqld is really running + # just if mariadbd is really running - if test -x @bindir@/mysqladmin && \ - @bindir@/mysqladmin ping &>/dev/null - then diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch new file mode 100644 index 0000000..117273a --- /dev/null +++ b/mariadb-pcdir.patch @@ -0,0 +1,19 @@ +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.5.5/support-files/CMakeLists.txt.old 2020-09-30 10:36:08.582490318 +0200 ++++ mariadb-10.5.5/support-files/CMakeLists.txt 2020-09-30 10:38:58.079710848 +0200 +@@ -91,7 +91,11 @@ + ENDIF() + + CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @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_LIBDIR}/pkgconfig COMPONENT Development) ++ENDIF() + + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) + diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index b684482..74914b1 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -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 diff --git a/mariadb.spec b/mariadb.spec index 5499c66..595fe54 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.17 +%global last_tested_version 10.5.8 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -32,9 +32,10 @@ -# TokuDB engine +# TokuDB engine - DEPRECATED ! # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 +# The Percona upstream deprecated the SE. It is not part of MariaDB 10.5 # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -45,7 +46,8 @@ # RocksDB may be built with jemalloc, if specified in CMake %ifarch x86_64 %if 0%{?fedora} -%bcond_without tokudb +# TokuDB is deprecated in MariaDB 10.5 and later +%bcond_with tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -104,14 +106,14 @@ -# MariaDB 10.1.39 and later requires pcre >= 8.43, otherwise we need to use +# MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use # the bundled library, since the package cannot be build with older version # https://mariadb.com/kb/en/pcre/ %if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.44 +%global pcre_bundled_version 10.34 %endif # Use main python interpretter version @@ -151,7 +153,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.17 +Version: 10.5.8 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -209,6 +211,8 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +# Patch11: Use PCDIR CMake option, if configured +Patch11: %{pkgnamepatch}-pcdir.patch # Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path @@ -240,9 +244,9 @@ BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel -# use either new enough version of pcre or provide bundles(pcre) -%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.43 pkgconf} -%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +# use either new enough version of pcre2 or provide bundles(pcre2) +%{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -724,13 +728,11 @@ rm -r storage/rocksdb/ %patch7 -p1 %patch9 -p1 %patch10 -p1 -%patch13 -p1 +%patch11 -p1 +#%patch13 -p1 %patch15 -p1 %patch16 -p1 -# workaround for upstream bug #56342 -#rm mysql-test/t/ssl_8k_key-master.opt - # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -758,22 +760,20 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` -pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` +pcre_version=`grep -e "ftp.pcre.org/pub/pcre/pcre2" cmake/pcre.cmake | sed -r "s;[^0123456789]*2-([[:digit:]]+\.[[:digit:]]+)\.[^0123456789]*;\1;"` -%if %{without unbundled_pcre} # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles -if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] -then - echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" +%if %{without unbundled_pcre} +if [ %{pcre_bundled_version} != "$pcre_version" ] ; then + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" exit 1 fi %else # Check if the PCRE version that upstream use, is the same as the one present in system -pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` -if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] -then - echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` + +if [ "$pcre_system_version" != "$pcre_version" ] ; then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" fi %endif @@ -953,9 +953,8 @@ rm %{buildroot}%{_libexecdir}/rcmysql # 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 -# Remove the upstream version -rm %{buildroot}%{_tmpfilesdir}/mariadb.conf -# Install downstream version + +# Install downstream version of tmpfiles install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -1004,6 +1003,10 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance # Shipped as a standalone package in Fedora rm %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_mandir}/man1/mytop.1* + +# Should be shipped with mariadb-connector-c +rm %{buildroot}%{_mandir}/man1/mariadb_config.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1017,6 +1020,12 @@ install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} +# Delete upstreams service files +# We don't use this location of service files +rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service +# These may come handy in a future, but right now we use our own services +rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service + # install galera config file %if %{with galera} sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf @@ -1032,6 +1041,7 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor +# Buildroot does not have symlink /lib64 --> /usr/lib64 mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} # Disable plugins @@ -1072,8 +1082,8 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so %if %{without clibrary} || %{without devel} rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config +rm %{buildroot}%{_bindir}/mariadb-config rm %{buildroot}%{_mandir}/man1/mysql_config*.1* -unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %endif %if %{without clibrary} && %{with devel} @@ -1137,7 +1147,6 @@ rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif # embedded -rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* @@ -1148,7 +1157,6 @@ rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so %endif %if %{without galera} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} rm %{buildroot}%{_bindir}/galera_recovery @@ -1157,6 +1165,12 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* +rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* +%endif + +%if %{without backup} +rm %{buildroot}%{_mandir}/man1/maria{,db-}backup.1* +rm %{buildroot}%{_mandir}/man1/mbstream.1* %endif %check @@ -1356,6 +1370,8 @@ fi %{_bindir}/myisampack %{_bindir}/my_print_defaults +%{_bindir}/mariadb-conv + %{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} %{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} %{_bindir}/{mysqld_,mariadbd-}safe @@ -1365,11 +1381,14 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%if %{with galera} # wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 %{_bindir}/wsrep_* +%endif %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset +%config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf %{_libexecdir}/{mysqld,mariadbd} @@ -1398,7 +1417,7 @@ fi %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* +%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log,s3_copy}.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/mariadb-service-convert.1* @@ -1408,6 +1427,8 @@ fi %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* +%{_mandir}/man1/mariadb-conv.1* + %{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* %{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* %{_mandir}/man1/{mysqld_,mariadbd-}safe.1* @@ -1423,7 +1444,6 @@ fi %{_mandir}/man1/mysql.server.1* %{_datadir}/%{pkg_name}/fill_help_tables.sql -%{_datadir}/%{pkg_name}/install_spider.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql @@ -1470,7 +1490,7 @@ fi %attr(0750,mysql,mysql) %dir %{logfiledir} # This does what it should. # RPMLint error "conffile-without-noreplace-flag /var/log/mariadb/mariadb.log" is false positive. -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%attr(0660,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} %{_tmpfilesdir}/%{name}.conf @@ -1498,6 +1518,7 @@ fi %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so %{_mandir}/man1/{mysql_,mariadb-}ldb.1* +%{_mandir}/man1/myrocks_hotbackup.1* %endif %if %{with tokudb} @@ -1558,11 +1579,11 @@ fi %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* +%{_bindir}/mariadb-config %{_libdir}/libmariadb.so %{_libdir}/libmysqlclient.so %{_libdir}/libmysqlclient_r.so %{_mandir}/man1/mysql_config* -%{_mandir}/man1/mariadb_config* %endif %endif @@ -1587,7 +1608,6 @@ fi %{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test} %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/mysql_client_test.1* %{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1* %{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/mysql-stress-test.pl.1* @@ -1595,11 +1615,33 @@ fi %endif %changelog -* Wed Nov 11 2020 Michal Schorm - 10.4.17-1 -- Rebase to 10.4.17 +* Wen Nov 11 2020 Michal Schorm - 10.5.8-1 +- Rebase to 10.5.8 -* Wed Nov 04 2020 Michal Schorm - 10.4.16-1 -- Rebase to 10.4.16 +* Fri Nov 06 2020 Michal Schorm - 10.5.7-1 +- Rebase to 10.5.7 + +* Mon Sep 21 2020 Lukas Javorsky - 10.5.5-1 +- Rebase to 10.5.5 +- Fix mariadb-ownsetup +- Add manual for aria_s3_copy + +* Wed Sep 16 2020 Lukas Javorsky - 10.5.4-1 +- Rebase to 10.5.4 +- Add spider.cnf to the server config files + +* Mon Sep 14 2020 Lukas Javorsky - 10.5.3-1 +- Rebase to 10.5.3 + +* Fri Sep 11 2020 Michal Schorm - 10.5.2-1 +- Test rebase to 10.5.2 - Beta +- TokuDB SE has been deprecated + +* Thu Sep 10 2020 Michal Schorm - 10.5.1-1 +- Test rebase to 10.5.1 - Beta + +* Thu Sep 10 2020 Michal Schorm - 10.5.0-1 +- Test rebase to 10.5.0 - Alpha * Sun Sep 06 2020 Michal Schorm - 10.4.14-3 - Resolves: #1851605 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 9767f9e..a0bb6a8 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -38,9 +38,17 @@ sys_vars.tcp_nodelay : # Fails on i686 encryption.innodb-redo-badkey : -# Fails on all architectures since 10.4.14 -main.ssl_system_ca : +# Fails since 10.5.2 +main.mysqld--help2 : disks.disks : +disks.disks_notembedded : -# Since 10.3.26 produces a warning to the test logfile which causes the test to fail +# 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 : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index ceff217..403da66 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +1,5 @@ # Fails on ppc64le since 10.4.12 oqgraph.social : + +# Fails since 10.5.2 +rh-skipped-tests-ppc.list : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index a7573da..3ca7588 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,4 +1,3 @@ -# Fails since 10.2.15 -disks.disks : -# Fails since 10.4.11 -disks.disks_notembedded : +# Fails since 10.5.2 +perfschema.memory_aggregate_32bit : +period.overlaps : diff --git a/sources b/sources index ac7a742..9584397 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.17.tar.gz) = 51bbdbae9ba48e3e7b0b614a5e19a0549979b727797e2742a130c6bed23d06eea6d18da63759a3f5f3ba751bcaaef4cdbf6a3456f4d23ff9149b3b0ea07e7079 +SHA512 (mariadb-10.5.8.tar.gz) = 9801a68440a3502b49655e34dcbfd09734f4a4f1ba8621ed9b895e194cea461a8c69fb0ff66488d5defd3065b43f73e5083a60142e11cc7e4a442f86769b06e5