Package: mariadb-10.5 / 1:10.5.12-1

Metadata

Package Version Patches format
mariadb-10.5 1:10.5.12-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
mips groonga atomic.patch | (download)

storage/mroonga/vendor/groonga/CMakeLists.txt | 2 2 + 0 - 0 !
storage/mroonga/vendor/groonga/lib/CMakeLists.txt | 1 1 + 0 - 0 !
2 files changed, 3 insertions(+)

 mips-groonga-atomic
 MIPS (and possibly other) platforms require linking against libatomic to
 support 64-bit atomic integers. Groonga was failing to do so and all related
 tests were failing with an atomics relocation error on MIPS.
mips connect unaligned.patch | (download)

storage/connect/valblk.cpp | 41 20 + 21 - 0 !
storage/connect/valblk.h | 51 32 + 19 - 0 !
2 files changed, 52 insertions(+), 40 deletions(-)

 handle unaligned buffers in connect's typblk class
 On MIPS platforms (and probably others) unaligned memory access results in a
 bus error. In the connect storage engine, block data for some data formats is
 stored packed in memory and the TYPBLK class is used to read values from it.
 Since TYPBLK does not have special handling for this packed memory, it can
 quite easily result in unaligned memory accesses.
 .
 The simple way to fix this is to perform all accesses to the main buffer
 through memcpy. With GCC and optimizations turned on, this call to memcpy is
 completely optimized away on architectures where unaligned accesses are ok
 (like x86).
c11_atomics.patch | (download)

configure.cmake | 20 19 + 1 - 0 !
mysys/CMakeLists.txt | 4 4 + 0 - 0 !
sql/CMakeLists.txt | 4 4 + 0 - 0 !
3 files changed, 27 insertions(+), 1 deletion(-)

---
0025 Change the default optimization from O3 to O2 in mys.patch | (download)

cmake/build_configurations/mysql_release.cmake | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 change the default optimization from -o3 to -o2 in
 mysql_release.cmake BUILD_CONFIG profile
mips compilation failure __bss_start symbol miss.patch | (download)

CMakeLists.txt | 4 2 + 2 - 0 !
cmake/systemd.cmake | 3 3 + 0 - 0 !
configure.cmake | 3 3 + 0 - 0 !
3 files changed, 8 insertions(+), 2 deletions(-)

 [patch] fix mips compilation failure (__bss_start symbol missing)

__bss_start symbol fails to link if -lsystemd is used. There is no
obvious reason why this happens but the code using it is only relevant
when doing a crash report and it is covered through a separate print
statement anyway (used to print THD->query()).

To fix the compilation problem, just check if we will link with systemd
before checking __bss_start symbol, and add -lsystemd as a required library.
This will reproduce the compilation environment used for the final binary
and will correctly detect if __bss_start will be available or not.

rocksdb kfreebsd.patch | (download)

storage/rocksdb/build_rocksdb.cmake | 2 2 + 0 - 0 !
storage/rocksdb/rdb_io_watchdog.cc | 2 1 + 1 - 0 !
storage/rocksdb/rdb_io_watchdog.h | 12 6 + 6 - 0 !
storage/rocksdb/rocksdb/CMakeLists.txt | 4 3 + 1 - 0 !
storage/rocksdb/rocksdb/build_tools/build_detect_platform | 11 11 + 0 - 0 !
storage/rocksdb/rocksdb/env/env_posix.cc | 9 5 + 4 - 0 !
storage/rocksdb/rocksdb/port/stack_trace.cc | 2 1 + 1 - 0 !
7 files changed, 29 insertions(+), 13 deletions(-)

 Upstream has merged this but we still need to wait for it to be included
 in a RocksDB release and imported into MariaDB and then into Debian.

mroonga path reproducible build.patch | (download)

storage/mroonga/vendor/groonga/configure.ac | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 mroonga plugin build in mariadb is not reproducible (closes: #976984)
 This did not make Mroonga reproducible, so we might as well remove this later on.


env perl usr bin perl.patch | (download)

mysql-test/lib/process-purecov-annotations.pl | 2 1 + 1 - 0 !
mysql-test/lib/v1/mysql-test-run.pl | 2 1 + 1 - 0 !
mysql-test/mysql-stress-test.pl | 2 1 + 1 - 0 !
mysql-test/mysql-test-run.pl | 2 1 + 1 - 0 !
mysql-test/std_data/checkDBI_DBD-MariaDB.pl | 2 1 + 1 - 0 !
mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl | 2 1 + 1 - 0 !
mysql-test/suite/funcs_1/lib/DataGen_local.pl | 2 1 + 1 - 0 !
mysql-test/suite/funcs_1/lib/DataGen_modify.pl | 2 1 + 1 - 0 !
mysql-test/suite/funcs_2/lib/gen_charset_utf8.pl | 2 1 + 1 - 0 !
mysql-test/suite/rpl/extension/checksum.pl | 2 1 + 1 - 0 !
scripts/mytop.sh | 2 1 + 1 - 0 !
11 files changed, 11 insertions(+), 11 deletions(-)

 fix perl path in scripts
 Fix Lintian issue
 https://lintian.debian.org/tags/incorrect-path-for-interpreter.html
 .
 Upstream will never accept this patch, see
 https://github.com/MariaDB/server/pull/1718


fix spelling.patch | (download)

storage/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc | 4 2 + 2 - 0 !
storage/rocksdb/rocksdb/include/rocksdb/cache.h | 2 1 + 1 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

 fix various spelling errors still found in code
  Two upstream PRs remain that have been merged, but not imported on MariaDB 10.5.


1556.patch | (download)

.gitignore | 2 1 + 1 - 0 !
support-files/CMakeLists.txt | 24 15 + 9 - 0 !
support-files/mariadb.logrotate.in | 56 56 + 0 - 0 !
support-files/mysql-log-rotate.sh | 37 0 + 37 - 0 !
4 files changed, 72 insertions(+), 47 deletions(-)

 [patch] mdev-22659: create one single unified and optimal logrotate
 config

Replace mysql-log-rotate.sh and debian/...mysql-server.logrotate with one
new unified and well documented version.

Name is mariadb.logrotate.in as in 10.5 branch we use now the 'mariadb'
name, and use 'logrotate' to match the actual name of the utility, and
use '.in' instead of '.sh' as this is not a shell script but a template
file.


fix reproducible builds rocksdb.patch | (download)

storage/rocksdb/rocksdb/util/build_version.cc.in | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 make rocksdb build reproducible

The RocksDB binary included a string with the build timestamp:
> rocksdb_build_git_date:@2021-05-23ยท16:04:38@

As this changes from build to build, it makes the builds unreproducible.
Simply removing it solves the issue.

This temporary fix can be removed when a proper fix already done in upstream
lands in MariaDB when the RocksDB submodule is updated to a newer release.