Skip to content

Commit

Permalink
Merge 10.6 into 10.7
Browse files Browse the repository at this point in the history
  • Loading branch information
grooverdan committed Mar 25, 2022
2 parents 0444d86 + 63f76d3 commit 8b92e34
Show file tree
Hide file tree
Showing 39 changed files with 520 additions and 211 deletions.
101 changes: 72 additions & 29 deletions debian/autobake-deb.sh
Expand Up @@ -52,39 +52,82 @@ remove_rocksdb_tools()
fi
}

CODENAME="$(lsb_release -sc)"
case "${CODENAME}" in
stretch)
# MDEV-28022 libzstd-dev-1.1.3 minimum version
sed -i -e '/libzstd-dev/d' \
-e 's/libcurl4/libcurl3/g' -i debian/control
remove_rocksdb_tools
;;
bionic)
remove_rocksdb_tools
;;
esac

if [[ ! "$(dpkg-architecture -q DEB_BUILD_ARCH)" =~ amd64|arm64|ppc64el|s390x ]]
then
remove_rocksdb_tools
fi

# From Debian Bullseye/Ubuntu Groovy, liburing replaces libaio
if ! apt-cache madison liburing-dev | grep 'liburing-dev' >/dev/null 2>&1
then
replace_uring_with_aio()
{
sed 's/liburing-dev/libaio-dev/g' -i debian/control
sed '/-DIGNORE_AIO_CHECK=YES/d' -i debian/rules
sed '/-DWITH_URING=yes/d' -i debian/rules
fi
sed -e '/-DIGNORE_AIO_CHECK=YES/d' \
-e '/-DWITH_URING=yes/d' -i debian/rules
}

# From Debian Buster/Ubuntu Focal onwards libpmem-dev is available
# Don't reference it when built in distro releases that lack it
if ! apt-cache madison libpmem-dev | grep 'libpmem-dev' >/dev/null 2>&1
then
disable_pmem()
{
sed '/libpmem-dev/d' -i debian/control
sed '/-DWITH_PMEM=yes/d' -i debian/rules
fi
}

architecture=$(dpkg-architecture -q DEB_BUILD_ARCH)

CODENAME="$(lsb_release -sc)"
case "${CODENAME}" in
stretch)
# MDEV-16525 libzstd-dev-1.1.3 minimum version
sed -e '/libzstd-dev/d' \
-e 's/libcurl4/libcurl3/g' -i debian/control
remove_rocksdb_tools
disable_pmem
;&
buster)
replace_uring_with_aio
if [ ! "$architecture" = amd64 ]
then
disable_pmem
fi
;&
bullseye|bookworm)
# mariadb-plugin-rocksdb in control is 4 arches covered by the distro rocksdb-tools
# so no removal is necessary.
if [[ ! "$architecture" =~ amd64|arm64|ppc64el ]]
then
disable_pmem
fi
if [[ ! "$architecture" =~ amd64|arm64|armel|armhf|i386|mips64el|mipsel|ppc64el|s390x ]]
then
replace_uring_with_aio
fi
;&
sid)
# should always be empty here.
# need to match here to avoid the default Error however
;;
# UBUNTU
bionic)
remove_rocksdb_tools
[ "$architecture" != amd64 ] && disable_pmem
;&
focal)
replace_uring_with_aio
;&
impish|jammy)
# mariadb-plugin-rocksdb s390x not supported by us (yet)
# ubuntu doesn't support mips64el yet, so keep this just
# in case something changes.
if [[ ! "$architecture" =~ amd64|arm64|ppc64el|s390x ]]
then
remove_rocksdb_tools
fi
if [[ ! "$architecture" =~ amd64|arm64|ppc64el ]]
then
disable_pmem
fi
if [[ ! "$architecture" =~ amd64|arm64|armhf|ppc64el|s390x ]]
then
replace_uring_with_aio
fi
;;
*)
echo "Error - unknown release codename $CODENAME" >&2
exit 1
esac

# Adjust changelog, add new version
echo "Incrementing changelog and starting build scripts"
Expand Down
2 changes: 1 addition & 1 deletion debian/control
Expand Up @@ -34,7 +34,7 @@ Build-Depends: bison,
libnuma-dev [linux-any],
libpam0g-dev,
libpcre2-dev,
libpmem-dev [amd64 arm64 ppc64el],
libpmem-dev [amd64 arm64 ppc64el riscv64],
libsnappy-dev,
libssl-dev,
libssl-dev:native,
Expand Down
119 changes: 119 additions & 0 deletions debian/mariadb-plugin-columnstore.install
@@ -0,0 +1,119 @@
etc/columnstore/Columnstore.xml
etc/columnstore/ErrorMessage.txt
etc/columnstore/MessageFile.txt
etc/columnstore/storagemanager.cnf
etc/mysql/mariadb.conf.d/columnstore.cnf
usr/bin/mcsRebuildEM
usr/bin/DDLProc
usr/bin/DMLProc
usr/bin/ExeMgr
usr/bin/PrimProc
usr/bin/StorageManager
usr/bin/WriteEngineServer
usr/bin/clearShm
usr/bin/cleartablelock
usr/bin/columnstore-post-install
usr/bin/columnstore-pre-uninstall
usr/bin/columnstoreDBWrite
usr/bin/columnstoreSyslogSetup.sh
usr/bin/columnstore_run.sh
usr/bin/colxml
usr/bin/controllernode
usr/bin/cpimport
usr/bin/cpimport.bin
usr/bin/cplogger
usr/bin/cspasswd
usr/bin/cskeys
usr/bin/dbbuilder
usr/bin/dbrmctl
usr/bin/ddlcleanup
usr/bin/editem
usr/bin/idbmeminfo
usr/bin/load_brm
usr/bin/mariadb-columnstore-start.sh
usr/bin/mariadb-columnstore-stop.sh
usr/bin/mcs-savebrm.py
usr/bin/mcs-loadbrm.py
usr/bin/mcs-stop-controllernode.sh
usr/bin/mcsGetConfig
usr/bin/mcsSetConfig
usr/bin/mycnfUpgrade
usr/bin/post-mysql-install
usr/bin/post-mysqld-install
usr/bin/reset_locks
usr/bin/rollback
usr/bin/save_brm
usr/bin/smcat
usr/bin/smls
usr/bin/smput
usr/bin/smrm
usr/bin/testS3Connection
usr/bin/viewtablelock
usr/bin/workernode
usr/lib/*/libbatchloader.so
usr/lib/*/libbrm.so
usr/lib/*/libcacheutils.so
usr/lib/*/libcloudio.so
usr/lib/*/libcommon.so
usr/lib/*/libcompress.so
usr/lib/*/libconfigcpp.so
usr/lib/*/libdataconvert.so
usr/lib/*/libddlcleanuputil.so
usr/lib/*/libddlpackage.so
usr/lib/*/libddlpackageproc.so
usr/lib/*/libdmlpackage.so
usr/lib/*/libdmlpackageproc.so
usr/lib/*/libexecplan.so
usr/lib/*/libfuncexp.so
usr/lib/*/libidbdatafile.so
usr/lib/*/libjoblist.so
usr/lib/*/libjoiner.so
usr/lib/*/liblibmysql_client.so
usr/lib/*/libloggingcpp.so
usr/lib/*/libmarias3.so
usr/lib/*/libmessageqcpp.so
usr/lib/*/liboamcpp.so
usr/lib/*/libquerystats.so
usr/lib/*/libquerytele.so
usr/lib/*/libregr.so
usr/lib/*/librowgroup.so
usr/lib/*/librwlock.so
usr/lib/*/libstoragemanager.so
usr/lib/*/libthreadpool.so
usr/lib/*/libthrift.so
usr/lib/*/libudfsdk.so
usr/lib/*/libwindowfunction.so
usr/lib/*/libwriteengine.so
usr/lib/*/libwriteengineclient.so
usr/lib/*/libwriteengineredistribute.so
usr/lib/*/libdatatypes.so
usr/lib/mysql/plugin/ha_columnstore.so
usr/lib/mysql/plugin/libregr_mysql.so
usr/lib/mysql/plugin/libudf_mysql.so
usr/sbin/install_mcs_mysql.sh
usr/share/columnstore/calremoveuserpriority.sql
usr/share/columnstore/calsetuserpriority.sql
usr/share/columnstore/calshowprocesslist.sql
usr/share/columnstore/columnstoreAlias
usr/share/columnstore/columnstoreLogRotate
usr/share/columnstore/columnstoreSyslog
usr/share/columnstore/columnstoreSyslog-ng
usr/share/columnstore/columnstoreSyslog7
usr/share/columnstore/columnstore_info.sql
usr/share/columnstore/dumpcat_mysql.sql
usr/share/columnstore/gitversionEngine
usr/share/columnstore/mariadb-columnstore.service
usr/share/columnstore/mcs-controllernode.service
usr/share/columnstore/mcs-ddlproc.service
usr/share/columnstore/mcs-dmlproc.service
usr/share/columnstore/mcs-exemgr.service
usr/share/columnstore/mcs-loadbrm.service
usr/share/columnstore/mcs-primproc.service
usr/share/columnstore/mcs-storagemanager.service
usr/share/columnstore/mcs-workernode.service
usr/share/columnstore/mcs-writeengineserver.service
usr/share/columnstore/myCnf-exclude-args.text
usr/share/columnstore/myCnf-include-args.text
usr/share/columnstore/releasenum
usr/share/columnstore/syscatalog_mysql.sql
var/lib/columnstore/local/module
8 changes: 8 additions & 0 deletions debian/mariadb-plugin-columnstore.postinst
@@ -0,0 +1,8 @@
#!/bin/bash

set -e

# Install ColumnStore
columnstore-post-install install

#DEBHELPER#
24 changes: 24 additions & 0 deletions debian/mariadb-plugin-columnstore.postrm
@@ -0,0 +1,24 @@
#!/bin/bash

set -e

if [ "$1" = "purge" ]; then
rm -rf /var/lib/columnstore
rm -rf /etc/columnstore
rm -f /etc/mysql/mariadb.conf.d/columnstore.cnf.rpmsave
fi

# Automatically restart MariaDB after ColumnStore plugin has been removed
case "$1" in
purge|remove|disappear)
if [ -d /run/systemd/system ]; then
# If systemd
deb-systemd-invoke restart mariadb.service >/dev/null
elif [ -x "/etc/init.d/mariadb" ]; then
# Fall-back to SysV init
invoke-rc.d mariadb restart || exit $?
fi
;;
esac

#DEBHELPER#
8 changes: 8 additions & 0 deletions debian/mariadb-plugin-columnstore.prerm
@@ -0,0 +1,8 @@
#!/bin/bash

set -e

columnstore-pre-uninstall


#DEBHELPER#
1 change: 1 addition & 0 deletions debian/mariadb-plugin-columnstore.triggers
@@ -0,0 +1 @@
activate-noawait ldconfig
2 changes: 1 addition & 1 deletion debian/rules
Expand Up @@ -60,7 +60,7 @@ endif

# Only attempt to build with PMEM on archs that have package libpmem-dev available
# See https://packages.debian.org/search?searchon=names&keywords=libpmem-dev
ifneq (,$(filter $(DEB_HOST_ARCH_CPU),amd64 arm64 ppc64el))
ifneq (,$(filter $(DEB_HOST_ARCH_CPU),amd64 arm64 ppc64el riscv64))
CMAKEFLAGS += -DWITH_PMEM=yes
endif

Expand Down
4 changes: 3 additions & 1 deletion debian/source/lintian-overrides
Expand Up @@ -23,8 +23,10 @@ version-substvar-for-external-package libmariadbd-dev -> libmariadbclient-dev
# ColumnStore not used in Debian, safe to ignore. Reported upstream in https://jira.mariadb.org/browse/MDEV-24124
source-is-missing storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2
# Must be fixed upstream
source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js line 58 is 273 characters long (>256)
source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js *
# Intentional control relationships
version-substvar-for-external-package Replaces (line 216) ${source:Version} libmariadbd-dev -> libmariadbclient-dev
version-substvar-for-external-package Replaces (line 66) ${source:Version} libmariadb-dev -> libmysqlclient-dev
version-substvar-for-external-package Replaces (line 66) ${source:Version} libmariadb-dev -> libmysqld-dev
# We can't change build dependencies on a stable branch (10.5..10.8) so just override this
missing-build-dependency-for-dh-addon systemd *
12 changes: 12 additions & 0 deletions mysql-test/include/have_innodb.inc
Expand Up @@ -2,3 +2,15 @@
# suite.pm will make sure that all tests including this file
# will be skipped unless innodb is enabled
#
--disable_query_log
if (`select count(*) from information_schema.system_variables where variable_name='have_sanitizer' and global_value like "MSAN%"`)
{
SET STATEMENT sql_log_bin=0 FOR
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
}
if ($VALGRIND_TEST)
{
SET STATEMENT sql_log_bin=0 FOR
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
}
--enable_query_log
4 changes: 4 additions & 0 deletions mysql-test/main/flush_block_commit_notembedded.test
Expand Up @@ -12,6 +12,10 @@
--echo # Save the initial number of concurrent sessions
--source include/count_sessions.inc

--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log

connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
Expand Down
5 changes: 5 additions & 0 deletions mysql-test/suite/encryption/t/innochecksum.test
Expand Up @@ -15,6 +15,11 @@ if (!$INNOCHECKSUM) {
--die Need innochecksum binary
}

--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log

let $checksum_algorithm = `SELECT @@innodb_checksum_algorithm`;
SET GLOBAL innodb_file_per_table = ON;
# zlib
Expand Down

0 comments on commit 8b92e34

Please sign in to comment.