From b433324d56a533a9bcdaad00f3cf2f6edfa7ec29 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 10 Jun 2024 12:48:38 +0200 Subject: [PATCH] Added support for various compression algorithms --- mariadb10.11.spec | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/mariadb10.11.spec b/mariadb10.11.spec index ad6edc6..1ea37a9 100644 --- a/mariadb10.11.spec +++ b/mariadb10.11.spec @@ -45,8 +45,17 @@ %bcond_without test %endif -# Page compression algorithms for InnoDB & XtraDB +# Page compression algorithms for various storage engines %bcond_without lz4 +%bcond_without bzip2 +%bcond_without lzo +%bcond_without snappy +%bcond_without zstd +%if 0%{?fedora} +%bcond_without lzma +%else +%bcond_with lzma +%endif # Aditional SELinux rules from a standalone package 'mysql-selinux' (that holds rules shared between MariaDB and MySQL) %bcond_without require_mysql_selinux @@ -222,9 +231,14 @@ BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel BuildRequires: systemd systemd-devel -# Page compression algorithms for InnoDB & XtraDB +# Page compression algorithms for various storage engines BuildRequires: zlib-devel -%{?with_lz4:BuildRequires: lz4-devel} +%{?with_lz4:BuildRequires: lz4-devel >= 1.6} +%{?with_bzip2:BuildRequires: bzip2-devel} +%{?with_lzma:BuildRequires: lzma-sdk-devel} +%{?with_lzo:BuildRequires: lzo-devel} +%{?with_snappy:BuildRequires: snappy-devel} +%{?with_zstd:BuildRequires: libzstd-devel} # asynchornous operations stuff; needed also for wsrep API BuildRequires: libaio-devel @@ -903,9 +917,12 @@ fi -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBFMT=%{?with_bundled_fmt:bundled}%{!?with_bundled_fmt:system} \ - -DLZ4_LIBS=%{?with_lz4:/usr/%{_lib}/liblz4.so}%{!?with_lz4:} \ - -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ + -DPLUGIN_PROVIDER_LZ4=%{?with_lz4:DYNAMIC}%{!?with_lz4:NO} \ -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ + -DPLUGIN_PROVIDER_BZIP2=%{?with_bzip2:DYNAMIC}%{!?with_bzip2:NO} \ + -DWITH_ROCKSDB_BZip2=%{?with_bzip2:ON}%{!?with_bzip2:OFF} \ + -DPLUGIN_PROVIDER_LZMA=%{?with_lzma:DYNAMIC}%{!?with_lzma:NO} \ + \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -921,7 +938,6 @@ fi -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ - -DPLUGIN_PROVIDER_LZMA=NO \ -DPLUGIN_HASHICORP_KEY_MANAGEMENT=NO \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} @@ -1495,8 +1511,11 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset %config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lz4.cnf -#%%config(noreplace) %%{_sysconfdir}/my.cnf.d/provider_lzma.cnf +%{?with_lz4:%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lz4.cnf} +%{?with_bzip2:%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_bzip2.cnf} +%{?with_lzma:%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lzma.cnf} +%{?with_lzo:%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lzo.cnf} +%{?with_snappy:%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_snappy.cnf} #%%config(noreplace) %%{_sysconfdir}/my.cnf.d/hashicorp_key_management.cnf