diff --git a/mariadb-10.2.4-fortify-and-O.patch b/mariadb-10.2.4-fortify-and-O.patch index 396f516..dd6a6d9 100644 --- a/mariadb-10.2.4-fortify-and-O.patch +++ b/mariadb-10.2.4-fortify-and-O.patch @@ -17,3 +17,66 @@ Index: CMakeLists.txt ENDIF() INCLUDE(wsrep) +Index: storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake +=================================================================== +--- storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake.orig ++++ storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake +@@ -26,11 +26,9 @@ endif () + if (CMAKE_VERSION VERSION_LESS 3.0) + set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1) + set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DRD TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1) +- set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DRD _FORTIFY_SOURCE=2) + else () + set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS + $<$,$>:TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1> +- $<$:_FORTIFY_SOURCE=2> + ) + endif () + +@@ -93,23 +91,23 @@ endif () + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions") + + ## set extra debugging flags and preprocessor definitions +-set(CMAKE_C_FLAGS_DEBUG "-g3 -O0 ${CMAKE_C_FLAGS_DEBUG}") +-set(CMAKE_CXX_FLAGS_DEBUG "-g3 -O0 ${CMAKE_CXX_FLAGS_DEBUG}") ++set(CMAKE_C_FLAGS_DEBUG "-g3 ${CMAKE_C_FLAGS_DEBUG}") ++set(CMAKE_CXX_FLAGS_DEBUG "-g3 ${CMAKE_CXX_FLAGS_DEBUG}") + + ## flags to use when we want to run DRD on the resulting binaries + ## DRD needs debugging symbols. + ## -O0 makes it too slow, and -O2 inlines too much for our suppressions to work. -O1 is just right. +-set(CMAKE_C_FLAGS_DRD "-g3 -O1 ${CMAKE_C_FLAGS_DRD}") +-set(CMAKE_CXX_FLAGS_DRD "-g3 -O1 ${CMAKE_CXX_FLAGS_DRD}") ++set(CMAKE_C_FLAGS_DRD "-g3 ${CMAKE_C_FLAGS_DRD}") ++set(CMAKE_CXX_FLAGS_DRD "-g3 ${CMAKE_CXX_FLAGS_DRD}") + + ## set extra release flags + ## need to set flags for RelWithDebInfo as well because we want the MySQL/MariaDB builds to use them + if (CMAKE_CXX_COMPILER_ID STREQUAL Clang) + # have tried -flto and -O4, both make our statically linked executables break apple's linker +- set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG") +- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG") +- set(CMAKE_C_FLAGS_RELEASE "-g -O3 ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG") +- set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG") ++ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -UNDEBUG") ++ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -UNDEBUG") ++ set(CMAKE_C_FLAGS_RELEASE "-g ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG") ++ set(CMAKE_CXX_FLAGS_RELEASE "-g ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG") + else () + if (APPLE) + set(FLTO_OPTS "-fwhole-program") +@@ -117,10 +115,10 @@ else () + set(FLTO_OPTS "-fuse-linker-plugin") + endif() + # we overwrite this because the default passes -DNDEBUG and we don't want that +- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG") +- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG") +- set(CMAKE_C_FLAGS_RELEASE "-g -O3 -flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG") +- set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 -flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG") ++ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -UNDEBUG") ++ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -UNDEBUG") ++ set(CMAKE_C_FLAGS_RELEASE "-g -flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG") ++ set(CMAKE_CXX_FLAGS_RELEASE "-g -flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG") + set(CMAKE_EXE_LINKER_FLAGS "-g ${FLTO_OPTS} ${CMAKE_EXE_LINKER_FLAGS}") + set(CMAKE_SHARED_LINKER_FLAGS "-g ${FLTO_OPTS} ${CMAKE_SHARED_LINKER_FLAGS}") + endif () diff --git a/mariadb-10.5.10.tar.gz b/mariadb-10.5.10.tar.gz new file mode 100644 index 0000000..d31d71a --- /dev/null +++ b/mariadb-10.5.10.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5ff32f9fcaaf26bf5cba94accc7b246d2d5eb75710d027e40122df6bac0babb +size 99019617 diff --git a/mariadb-10.5.10.tar.gz.asc b/mariadb-10.5.10.tar.gz.asc new file mode 100644 index 0000000..36af36e --- /dev/null +++ b/mariadb-10.5.10.tar.gz.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQQZk2nlQEvV/H0v5DvLywgqG7lD2wUCYJRvoQAKCRDLywgqG7lD +23CBAJ0ZDLtwXvUvR4vYwrryNXMeTte/gQCgydybdIn2u3C+rvs9PLmUK0+jTc4= +=my3Y +-----END PGP SIGNATURE----- diff --git a/mariadb-10.6.3.tar.gz b/mariadb-10.6.3.tar.gz deleted file mode 100644 index a59b09f..0000000 --- a/mariadb-10.6.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5bc125606af5ec1fda80f594c1ddfacef8b305c158ecf8b1ca7a3f01cd0b18db -size 82053322 diff --git a/mariadb-10.6.3.tar.gz.asc b/mariadb-10.6.3.tar.gz.asc deleted file mode 100644 index a43bf40..0000000 --- a/mariadb-10.6.3.tar.gz.asc +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQQZk2nlQEvV/H0v5DvLywgqG7lD2wUCYOOSIAAKCRDLywgqG7lD -23elAKCJ1en5AlLjqsFZwnYwlcuWlq7FbQCgyAjb25IRU7utcObJEDI5krH407A= -=NV3c ------END PGP SIGNATURE----- diff --git a/mariadb-rpmlintrc b/mariadb-rpmlintrc index dd8673a..12a88dc 100644 --- a/mariadb-rpmlintrc +++ b/mariadb-rpmlintrc @@ -14,8 +14,8 @@ addFilter(r'script-without-shebang /usr/bin/wsrep_sst_common') # Wrong location # wsrep_check_version is a wsrep version check utility. Used in testing only. -addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test/lib/My/SafeProcess/wsrep_check_version') +addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mysql-test/lib/My/SafeProcess/wsrep_check_version') # my_safe_process is an utility that encapsulates process creation, monitoring and cleanup. Used in testing only. -addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test/lib/My/SafeProcess/my_safe_process') +addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mysql-test/lib/My/SafeProcess/my_safe_process') # pam_mariadb_mtr.so is a pam module to test pam authentication plugin. Used in pam.test only. -addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so') +addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so') diff --git a/mariadb.changes b/mariadb.changes index da6bb10..a6b47ae 100644 --- a/mariadb.changes +++ b/mariadb.changes @@ -1,25 +1,3 @@ -------------------------------------------------------------------- -Wed Aug 11 09:59:33 UTC 2021 - Martin Liška - -- Update rpmlint rules in order to work with rpmlint2 - (bsc#1179049). - -------------------------------------------------------------------- -Wed Jul 21 16:24:41 UTC 2021 - Danilo Spinella - -- Update to 10.6.3: - * release notes and changelog: - https://mariadb.com/kb/en/library/mariadb-1063-release-notes - https://mariadb.com/kb/en/library/mariadb-1063-changelog - https://mariadb.com/kb/en/library/mariadb-1062-release-notes - https://mariadb.com/kb/en/library/mariadb-1062-changelog - https://mariadb.com/kb/en/library/mariadb-1061-release-notes - https://mariadb.com/kb/en/library/mariadb-1061-changelog - https://mariadb.com/kb/en/library/mariadb-106-release-notes - https://mariadb.com/kb/en/library/mariadb-106-changelog -- Removed TokuDB support as it has been removed from upstream -- Refresh mariadb-10.2.4-fortify-and-0.patch - ------------------------------------------------------------------- Mon May 31 17:50:36 UTC 2021 - Ferdinand Thiessen diff --git a/mariadb.spec b/mariadb.spec index 3b7d9cd..cf1c0cc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -26,6 +26,12 @@ # ignore failures %define ignore_testsuite_result 0 %define with_oqgraph 1 +# TokuDB engine is available only for x86_64 architecture +# see https://mariadb.com/kb/en/mariadb/tokudb/ +# Temporarily stop to build it as jemalloc 5 is not backwards compatible +# and a build without jemalloc is not supported upstream (MDEV-15034) +# Also we can't use PerconaFT (AGPL licence) that is needed for tokudb +%define with_tokudb 0 # Mroonga and RocksDB are available only for x86_64 architecture # see https://mariadb.com/kb/en/mariadb/about-mroonga/ and # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ @@ -41,10 +47,16 @@ %else %bcond_with galera %endif +# Define python interpreter version +%if 0%{?suse_version} >= 1500 +%define python_path %{_bindir}/python3 +%else +%define python_path %{_bindir}/python2 +%endif # Build with cracklib plugin when cracklib-dict-full >= 2.9.0 is available %define with_cracklib_plugin 0 Name: mariadb -Version: 10.6.3 +Version: 10.5.10 Release: 0 Summary: Server part of MariaDB License: SUSE-GPL-2.0-with-FLOSS-exception @@ -69,6 +81,7 @@ Source52: series Patch1: mariadb-10.2.4-logrotate.patch Patch2: mariadb-10.1.1-mysqld_multi-features.patch Patch3: mariadb-10.0.15-logrotate-su.patch +Patch4: mariadb-10.2.4-fortify-and-O.patch Patch5: mariadb-10.2.19-link-and-enable-c++11-atomics.patch Patch6: mariadb-10.4.12-harden_setuid.patch Patch7: mariadb-10.4.12-fix-install-db.patch @@ -177,6 +190,9 @@ BuildRequires: libboost_headers-devel BuildRequires: boost-devel %endif %endif +%if 0%{with_tokudb} > 0 +BuildRequires: jemalloc-devel +%endif %description MariaDB is an open-source, multi-threaded, relational database management @@ -353,6 +369,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch1 %patch2 %patch3 +%patch4 %patch5 -p1 %patch6 -p1 %patch7 -p1 @@ -385,6 +402,12 @@ done # tests created by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests +# Remove python scripts remains from tokudb upstream (those files are not used anyway) +rm -r storage/tokudb/mysql-test/tokudb/t/*.py + +# Remove PerconaFT from the package because it has AGPL licence [bsc#1118754] +rm -rf storage/tokudb/PerconaFT + %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects EXTRA_FLAGS="-Wno-unused-but-set-variable -fno-strict-aliasing -Wno-unused-parameter" @@ -417,13 +440,16 @@ export CXXFLAGS="$CFLAGS -felide-constructors" %if 0%{with_oqgraph} < 1 -DPLUGIN_OQGRAPH=NO \ %endif +%if 0%{with_tokudb} < 1 + -DPLUGIN_TOKUDB=NO \ +%endif %if 0%{with_mroonga} < 1 -DPLUGIN_MROONGA=NO \ %endif %if 0%{with_rocksdb} < 1 -DPLUGIN_ROCKSDB=NO \ %endif - -DPYTHON_SHEBANG=%{_bindir}/python3 \ + -DPYTHON_SHEBANG=%{python_path} \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_CSV_STORAGE_ENGINE=1 \ -DWITH_HANDLERSOCKET_STORAGE_ENGINE=1 \