Skip to content

Commit 8b92e34

Browse files
committed
Merge 10.6 into 10.7
2 parents 0444d86 + 63f76d3 commit 8b92e34

39 files changed

+520
-211
lines changed

debian/autobake-deb.sh

Lines changed: 72 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -52,39 +52,82 @@ remove_rocksdb_tools()
5252
fi
5353
}
5454

55-
CODENAME="$(lsb_release -sc)"
56-
case "${CODENAME}" in
57-
stretch)
58-
# MDEV-28022 libzstd-dev-1.1.3 minimum version
59-
sed -i -e '/libzstd-dev/d' \
60-
-e 's/libcurl4/libcurl3/g' -i debian/control
61-
remove_rocksdb_tools
62-
;;
63-
bionic)
64-
remove_rocksdb_tools
65-
;;
66-
esac
67-
68-
if [[ ! "$(dpkg-architecture -q DEB_BUILD_ARCH)" =~ amd64|arm64|ppc64el|s390x ]]
69-
then
70-
remove_rocksdb_tools
71-
fi
72-
73-
# From Debian Bullseye/Ubuntu Groovy, liburing replaces libaio
74-
if ! apt-cache madison liburing-dev | grep 'liburing-dev' >/dev/null 2>&1
75-
then
55+
replace_uring_with_aio()
56+
{
7657
sed 's/liburing-dev/libaio-dev/g' -i debian/control
77-
sed '/-DIGNORE_AIO_CHECK=YES/d' -i debian/rules
78-
sed '/-DWITH_URING=yes/d' -i debian/rules
79-
fi
58+
sed -e '/-DIGNORE_AIO_CHECK=YES/d' \
59+
-e '/-DWITH_URING=yes/d' -i debian/rules
60+
}
8061

81-
# From Debian Buster/Ubuntu Focal onwards libpmem-dev is available
82-
# Don't reference it when built in distro releases that lack it
83-
if ! apt-cache madison libpmem-dev | grep 'libpmem-dev' >/dev/null 2>&1
84-
then
62+
disable_pmem()
63+
{
8564
sed '/libpmem-dev/d' -i debian/control
8665
sed '/-DWITH_PMEM=yes/d' -i debian/rules
87-
fi
66+
}
67+
68+
architecture=$(dpkg-architecture -q DEB_BUILD_ARCH)
69+
70+
CODENAME="$(lsb_release -sc)"
71+
case "${CODENAME}" in
72+
stretch)
73+
# MDEV-16525 libzstd-dev-1.1.3 minimum version
74+
sed -e '/libzstd-dev/d' \
75+
-e 's/libcurl4/libcurl3/g' -i debian/control
76+
remove_rocksdb_tools
77+
disable_pmem
78+
;&
79+
buster)
80+
replace_uring_with_aio
81+
if [ ! "$architecture" = amd64 ]
82+
then
83+
disable_pmem
84+
fi
85+
;&
86+
bullseye|bookworm)
87+
# mariadb-plugin-rocksdb in control is 4 arches covered by the distro rocksdb-tools
88+
# so no removal is necessary.
89+
if [[ ! "$architecture" =~ amd64|arm64|ppc64el ]]
90+
then
91+
disable_pmem
92+
fi
93+
if [[ ! "$architecture" =~ amd64|arm64|armel|armhf|i386|mips64el|mipsel|ppc64el|s390x ]]
94+
then
95+
replace_uring_with_aio
96+
fi
97+
;&
98+
sid)
99+
# should always be empty here.
100+
# need to match here to avoid the default Error however
101+
;;
102+
# UBUNTU
103+
bionic)
104+
remove_rocksdb_tools
105+
[ "$architecture" != amd64 ] && disable_pmem
106+
;&
107+
focal)
108+
replace_uring_with_aio
109+
;&
110+
impish|jammy)
111+
# mariadb-plugin-rocksdb s390x not supported by us (yet)
112+
# ubuntu doesn't support mips64el yet, so keep this just
113+
# in case something changes.
114+
if [[ ! "$architecture" =~ amd64|arm64|ppc64el|s390x ]]
115+
then
116+
remove_rocksdb_tools
117+
fi
118+
if [[ ! "$architecture" =~ amd64|arm64|ppc64el ]]
119+
then
120+
disable_pmem
121+
fi
122+
if [[ ! "$architecture" =~ amd64|arm64|armhf|ppc64el|s390x ]]
123+
then
124+
replace_uring_with_aio
125+
fi
126+
;;
127+
*)
128+
echo "Error - unknown release codename $CODENAME" >&2
129+
exit 1
130+
esac
88131

89132
# Adjust changelog, add new version
90133
echo "Incrementing changelog and starting build scripts"

debian/control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Build-Depends: bison,
3434
libnuma-dev [linux-any],
3535
libpam0g-dev,
3636
libpcre2-dev,
37-
libpmem-dev [amd64 arm64 ppc64el],
37+
libpmem-dev [amd64 arm64 ppc64el riscv64],
3838
libsnappy-dev,
3939
libssl-dev,
4040
libssl-dev:native,
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
etc/columnstore/Columnstore.xml
2+
etc/columnstore/ErrorMessage.txt
3+
etc/columnstore/MessageFile.txt
4+
etc/columnstore/storagemanager.cnf
5+
etc/mysql/mariadb.conf.d/columnstore.cnf
6+
usr/bin/mcsRebuildEM
7+
usr/bin/DDLProc
8+
usr/bin/DMLProc
9+
usr/bin/ExeMgr
10+
usr/bin/PrimProc
11+
usr/bin/StorageManager
12+
usr/bin/WriteEngineServer
13+
usr/bin/clearShm
14+
usr/bin/cleartablelock
15+
usr/bin/columnstore-post-install
16+
usr/bin/columnstore-pre-uninstall
17+
usr/bin/columnstoreDBWrite
18+
usr/bin/columnstoreSyslogSetup.sh
19+
usr/bin/columnstore_run.sh
20+
usr/bin/colxml
21+
usr/bin/controllernode
22+
usr/bin/cpimport
23+
usr/bin/cpimport.bin
24+
usr/bin/cplogger
25+
usr/bin/cspasswd
26+
usr/bin/cskeys
27+
usr/bin/dbbuilder
28+
usr/bin/dbrmctl
29+
usr/bin/ddlcleanup
30+
usr/bin/editem
31+
usr/bin/idbmeminfo
32+
usr/bin/load_brm
33+
usr/bin/mariadb-columnstore-start.sh
34+
usr/bin/mariadb-columnstore-stop.sh
35+
usr/bin/mcs-savebrm.py
36+
usr/bin/mcs-loadbrm.py
37+
usr/bin/mcs-stop-controllernode.sh
38+
usr/bin/mcsGetConfig
39+
usr/bin/mcsSetConfig
40+
usr/bin/mycnfUpgrade
41+
usr/bin/post-mysql-install
42+
usr/bin/post-mysqld-install
43+
usr/bin/reset_locks
44+
usr/bin/rollback
45+
usr/bin/save_brm
46+
usr/bin/smcat
47+
usr/bin/smls
48+
usr/bin/smput
49+
usr/bin/smrm
50+
usr/bin/testS3Connection
51+
usr/bin/viewtablelock
52+
usr/bin/workernode
53+
usr/lib/*/libbatchloader.so
54+
usr/lib/*/libbrm.so
55+
usr/lib/*/libcacheutils.so
56+
usr/lib/*/libcloudio.so
57+
usr/lib/*/libcommon.so
58+
usr/lib/*/libcompress.so
59+
usr/lib/*/libconfigcpp.so
60+
usr/lib/*/libdataconvert.so
61+
usr/lib/*/libddlcleanuputil.so
62+
usr/lib/*/libddlpackage.so
63+
usr/lib/*/libddlpackageproc.so
64+
usr/lib/*/libdmlpackage.so
65+
usr/lib/*/libdmlpackageproc.so
66+
usr/lib/*/libexecplan.so
67+
usr/lib/*/libfuncexp.so
68+
usr/lib/*/libidbdatafile.so
69+
usr/lib/*/libjoblist.so
70+
usr/lib/*/libjoiner.so
71+
usr/lib/*/liblibmysql_client.so
72+
usr/lib/*/libloggingcpp.so
73+
usr/lib/*/libmarias3.so
74+
usr/lib/*/libmessageqcpp.so
75+
usr/lib/*/liboamcpp.so
76+
usr/lib/*/libquerystats.so
77+
usr/lib/*/libquerytele.so
78+
usr/lib/*/libregr.so
79+
usr/lib/*/librowgroup.so
80+
usr/lib/*/librwlock.so
81+
usr/lib/*/libstoragemanager.so
82+
usr/lib/*/libthreadpool.so
83+
usr/lib/*/libthrift.so
84+
usr/lib/*/libudfsdk.so
85+
usr/lib/*/libwindowfunction.so
86+
usr/lib/*/libwriteengine.so
87+
usr/lib/*/libwriteengineclient.so
88+
usr/lib/*/libwriteengineredistribute.so
89+
usr/lib/*/libdatatypes.so
90+
usr/lib/mysql/plugin/ha_columnstore.so
91+
usr/lib/mysql/plugin/libregr_mysql.so
92+
usr/lib/mysql/plugin/libudf_mysql.so
93+
usr/sbin/install_mcs_mysql.sh
94+
usr/share/columnstore/calremoveuserpriority.sql
95+
usr/share/columnstore/calsetuserpriority.sql
96+
usr/share/columnstore/calshowprocesslist.sql
97+
usr/share/columnstore/columnstoreAlias
98+
usr/share/columnstore/columnstoreLogRotate
99+
usr/share/columnstore/columnstoreSyslog
100+
usr/share/columnstore/columnstoreSyslog-ng
101+
usr/share/columnstore/columnstoreSyslog7
102+
usr/share/columnstore/columnstore_info.sql
103+
usr/share/columnstore/dumpcat_mysql.sql
104+
usr/share/columnstore/gitversionEngine
105+
usr/share/columnstore/mariadb-columnstore.service
106+
usr/share/columnstore/mcs-controllernode.service
107+
usr/share/columnstore/mcs-ddlproc.service
108+
usr/share/columnstore/mcs-dmlproc.service
109+
usr/share/columnstore/mcs-exemgr.service
110+
usr/share/columnstore/mcs-loadbrm.service
111+
usr/share/columnstore/mcs-primproc.service
112+
usr/share/columnstore/mcs-storagemanager.service
113+
usr/share/columnstore/mcs-workernode.service
114+
usr/share/columnstore/mcs-writeengineserver.service
115+
usr/share/columnstore/myCnf-exclude-args.text
116+
usr/share/columnstore/myCnf-include-args.text
117+
usr/share/columnstore/releasenum
118+
usr/share/columnstore/syscatalog_mysql.sql
119+
var/lib/columnstore/local/module
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
# Install ColumnStore
6+
columnstore-post-install install
7+
8+
#DEBHELPER#
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
if [ "$1" = "purge" ]; then
6+
rm -rf /var/lib/columnstore
7+
rm -rf /etc/columnstore
8+
rm -f /etc/mysql/mariadb.conf.d/columnstore.cnf.rpmsave
9+
fi
10+
11+
# Automatically restart MariaDB after ColumnStore plugin has been removed
12+
case "$1" in
13+
purge|remove|disappear)
14+
if [ -d /run/systemd/system ]; then
15+
# If systemd
16+
deb-systemd-invoke restart mariadb.service >/dev/null
17+
elif [ -x "/etc/init.d/mariadb" ]; then
18+
# Fall-back to SysV init
19+
invoke-rc.d mariadb restart || exit $?
20+
fi
21+
;;
22+
esac
23+
24+
#DEBHELPER#
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
columnstore-pre-uninstall
6+
7+
8+
#DEBHELPER#
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
activate-noawait ldconfig

debian/rules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ endif
6060

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

debian/source/lintian-overrides

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ version-substvar-for-external-package libmariadbd-dev -> libmariadbclient-dev
2323
# ColumnStore not used in Debian, safe to ignore. Reported upstream in https://jira.mariadb.org/browse/MDEV-24124
2424
source-is-missing storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2
2525
# Must be fixed upstream
26-
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)
26+
source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js *
2727
# Intentional control relationships
2828
version-substvar-for-external-package Replaces (line 216) ${source:Version} libmariadbd-dev -> libmariadbclient-dev
2929
version-substvar-for-external-package Replaces (line 66) ${source:Version} libmariadb-dev -> libmysqlclient-dev
3030
version-substvar-for-external-package Replaces (line 66) ${source:Version} libmariadb-dev -> libmysqld-dev
31+
# We can't change build dependencies on a stable branch (10.5..10.8) so just override this
32+
missing-build-dependency-for-dh-addon systemd *

mysql-test/include/have_innodb.inc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,15 @@
22
# suite.pm will make sure that all tests including this file
33
# will be skipped unless innodb is enabled
44
#
5+
--disable_query_log
6+
if (`select count(*) from information_schema.system_variables where variable_name='have_sanitizer' and global_value like "MSAN%"`)
7+
{
8+
SET STATEMENT sql_log_bin=0 FOR
9+
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
10+
}
11+
if ($VALGRIND_TEST)
12+
{
13+
SET STATEMENT sql_log_bin=0 FOR
14+
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
15+
}
16+
--enable_query_log

0 commit comments

Comments
 (0)