Commit f2832a01 authored by Otto Kekäläinen's avatar Otto Kekäläinen

MDEV-14918: Use sst_dump from package rocksdb-tools, don't build it

Since this tool is already shipped in the system, don't provide it from
MariaDB from 10.5 series onwards. It will potentially just create an
installation failure due to conflict if users install rocksdb-tools.

Package rocksdb-tools in Debian since Buster (10):
https://packages.debian.org/search?suite=buster&arch=any&mode=path&searchon=contents&keywords=sst_dump

Package rocksdb-tools in Ubuntu since Disco (19.04):
https://packages.ubuntu.com/search?suite=disco&arch=any&mode=exactfilename&searchon=contents&keywords=sst_dump

This change is adopted from Debian the change has been since Dec 18, 2018.
https://salsa.debian.org/mariadb-team/mariadb-10.3/-/commit/d50e2eaf1fad46c494bd0f090b0e75c19ac3f41a
parent b464b999
...@@ -73,13 +73,23 @@ then ...@@ -73,13 +73,23 @@ then
fi fi
# If libzstd-dev is not available (before Debian Stretch and Ubuntu Xenial) # If libzstd-dev is not available (before Debian Stretch and Ubuntu Xenial)
# remove the dependency from server and rocksdb so it can build properly # remove the dependency from server and RocksDB so it can build properly
if ! apt-cache madison libzstd-dev | grep 'libzstd-dev' >/dev/null 2>&1 if ! apt-cache madison libzstd-dev | grep 'libzstd-dev' >/dev/null 2>&1
then then
sed '/libzstd-dev/d' -i debian/control sed '/libzstd-dev/d' -i debian/control
sed '/libzstd1/d' -i debian/control sed '/libzstd1/d' -i debian/control
fi fi
# If rocksdb-tools is not available (before Debian Buster and Ubuntu Disco)
# remove the dependency from the RocksDB plugin so it can install properly
# and instead ship the one built from MariaDB sources
if ! apt-cache madison rocksdb-tools | grep 'rocksdb-tools' >/dev/null 2>&1
then
sed '/rocksdb-tools/d' -i debian/control
sed '/sst_dump/d' -i debian/not-installed
echo "usr/bin/sst_dump" >> debian/mariadb-plugin-rocksdb.install
fi
# The binaries should be fully hardened by default. However TokuDB compilation seems to fail on # The binaries should be fully hardened by default. However TokuDB compilation seems to fail on
# Debian Jessie and older and on Ubuntu Xenial and older with the following error message: # Debian Jessie and older and on Ubuntu Xenial and older with the following error message:
# /usr/bin/ld.bfd.real: /tmp/ccOIwjFo.ltrans0.ltrans.o: relocation R_X86_64_PC32 against symbol # /usr/bin/ld.bfd.real: /tmp/ccOIwjFo.ltrans0.ltrans.o: relocation R_X86_64_PC32 against symbol
......
...@@ -584,6 +584,7 @@ Description: Connect storage engine for MariaDB ...@@ -584,6 +584,7 @@ Description: Connect storage engine for MariaDB
Package: mariadb-plugin-rocksdb Package: mariadb-plugin-rocksdb
Architecture: amd64 arm64 mips64el ppc64el Architecture: amd64 arm64 mips64el ppc64el
Depends: mariadb-server-10.5 (= ${binary:Version}), Depends: mariadb-server-10.5 (= ${binary:Version}),
rocksdb-tools,
${misc:Depends}, ${misc:Depends},
${shlibs:Depends} ${shlibs:Depends}
Breaks: mariadb-rocksdb-engine-10.2, Breaks: mariadb-rocksdb-engine-10.2,
......
etc/mysql/conf.d/rocksdb.cnf etc/mysql/mariadb.conf.d etc/mysql/conf.d/rocksdb.cnf etc/mysql/mariadb.conf.d
usr/bin/myrocks_hotbackup usr/bin/myrocks_hotbackup
usr/bin/mysql_ldb usr/bin/mysql_ldb
usr/bin/sst_dump
usr/lib/mysql/plugin/ha_rocksdb.so usr/lib/mysql/plugin/ha_rocksdb.so
usr/share/man/man1/mariadb-ldb.1 usr/share/man/man1/mariadb-ldb.1
usr/share/man/man1/mysql_ldb.1 usr/share/man/man1/mysql_ldb.1
...@@ -3,6 +3,7 @@ lib/systemd/system/mariadb@.service # Installed by rules file ...@@ -3,6 +3,7 @@ lib/systemd/system/mariadb@.service # Installed by rules file
usr/bin/mysql_config # We already have the MariaDB variant usr/bin/mysql_config # We already have the MariaDB variant
usr/bin/mysql_embedded # Huge 500 MB file. Not intended for distribution via any disto package. usr/bin/mysql_embedded # Huge 500 MB file. Not intended for distribution via any disto package.
usr/bin/mytop # Mytop is distributed from a separate source package usr/bin/mytop # Mytop is distributed from a separate source package
usr/bin/sst_dump # Use the one from rocksdb-tools package
usr/lib/sysusers.d/sysusers.conf usr/lib/sysusers.d/sysusers.conf
usr/lib/tmpfiles.d/tmpfiles.conf usr/lib/tmpfiles.d/tmpfiles.conf
usr/lib/mysql/plugin/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless usr/lib/mysql/plugin/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment