summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtto Kekäläinen <otto@kekalainen.net>2020-02-24 23:32:13 +0200
committerOtto Kekäläinen <otto@kekalainen.net>2020-03-05 09:11:49 +0200
commitf2832a010a4ab0ba1cd47cc378338731bf659328 (patch)
tree048303ad0a3df8d5356d5ba596ae66315252d5ed
parentb464b999c9435b45c6dd4337fe940027273b5b43 (diff)
downloadmariadb-git-f2832a010a4ab0ba1cd47cc378338731bf659328.tar.gz
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
-rwxr-xr-xdebian/autobake-deb.sh12
-rw-r--r--debian/control1
-rw-r--r--debian/mariadb-plugin-rocksdb.install1
-rw-r--r--debian/not-installed1
4 files changed, 13 insertions, 2 deletions
diff --git a/debian/autobake-deb.sh b/debian/autobake-deb.sh
index 8b70e784615..26a00c541c1 100755
--- a/debian/autobake-deb.sh
+++ b/debian/autobake-deb.sh
@@ -73,13 +73,23 @@ then
fi
# 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
then
sed '/libzstd-dev/d' -i debian/control
sed '/libzstd1/d' -i debian/control
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
# 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
diff --git a/debian/control b/debian/control
index 08c9a92210b..62476161363 100644
--- a/debian/control
+++ b/debian/control
@@ -584,6 +584,7 @@ Description: Connect storage engine for MariaDB
Package: mariadb-plugin-rocksdb
Architecture: amd64 arm64 mips64el ppc64el
Depends: mariadb-server-10.5 (= ${binary:Version}),
+ rocksdb-tools,
${misc:Depends},
${shlibs:Depends}
Breaks: mariadb-rocksdb-engine-10.2,
diff --git a/debian/mariadb-plugin-rocksdb.install b/debian/mariadb-plugin-rocksdb.install
index 3e6e3d4b00e..1a15effa5ff 100644
--- a/debian/mariadb-plugin-rocksdb.install
+++ b/debian/mariadb-plugin-rocksdb.install
@@ -1,7 +1,6 @@
etc/mysql/conf.d/rocksdb.cnf etc/mysql/mariadb.conf.d
usr/bin/myrocks_hotbackup
usr/bin/mysql_ldb
-usr/bin/sst_dump
usr/lib/mysql/plugin/ha_rocksdb.so
usr/share/man/man1/mariadb-ldb.1
usr/share/man/man1/mysql_ldb.1
diff --git a/debian/not-installed b/debian/not-installed
index 7e42735b03c..c95954a90ef 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -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_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/sst_dump # Use the one from rocksdb-tools package
usr/lib/sysusers.d/sysusers.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