mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
deb: columnstore not 32bit
Columnstore badly failed on 32bit. The way Debian triggers somehow doesn't detect the amd64 in the architecture of columnstore so we explicitly disable it to prevent failures on x86_32. The architecture from the control file is sufficient to not build of arm64 and other unsupported achitectures so we don't need to disable columnstore by default. The logic around not building columnstore on Travis/Gitlab ci can be preserved with a autobake-deb.sh restructure.
This commit is contained in:
parent
30d33d85cb
commit
0268b87122
2 changed files with 17 additions and 24 deletions
20
debian/autobake-deb.sh
vendored
20
debian/autobake-deb.sh
vendored
|
@ -17,29 +17,17 @@ set -e
|
|||
# building the deb packages here.
|
||||
export DEB_BUILD_OPTIONS="nocheck $DEB_BUILD_OPTIONS"
|
||||
|
||||
# Take the files and part of control from MCS directory
|
||||
if [[ -d storage/columnstore/columnstore/debian ]]
|
||||
then
|
||||
cp -v storage/columnstore/columnstore/debian/mariadb-plugin-columnstore.* debian/
|
||||
echo >> debian/control
|
||||
cat storage/columnstore/columnstore/debian/control >> debian/control
|
||||
|
||||
# ColumnStore is explicitly disabled in the native build, so allow it now
|
||||
# when build it when triggered by autobake-deb.sh
|
||||
sed '/-DPLUGIN_COLUMNSTORE=NO/d' -i debian/rules
|
||||
fi
|
||||
|
||||
# General CI optimizations to keep build output smaller
|
||||
if [[ $TRAVIS ]] || [[ $GITLAB_CI ]]
|
||||
then
|
||||
# On both Travis and Gitlab the output log must stay under 4MB so make the
|
||||
# build less verbose
|
||||
sed '/Add support for verbose builds/,/^$/d' -i debian/rules
|
||||
|
||||
# MCOL-4149: ColumnStore builds are so slow and big that they must be skipped on
|
||||
# both Travis-CI and Gitlab-CI
|
||||
sed 's|$(CMAKEFLAGS)|$(CMAKEFLAGS) -DPLUGIN_COLUMNSTORE=NO|' -i debian/rules
|
||||
sed "/Package: mariadb-plugin-columnstore/,/^$/d" -i debian/control
|
||||
sed -e '/Add support for verbose builds/,/^$/d' \
|
||||
-e '/ColumnStore is part of the build/,/^$/d' \
|
||||
-e 's|$(CMAKEFLAGS)|$(CMAKEFLAGS) -DPLUGIN_COLUMNSTORE=NO|' \
|
||||
-i debian/rules
|
||||
fi
|
||||
|
||||
# Don't build or try to put files in a package for selected plugins and components on Travis-CI
|
||||
|
|
21
debian/rules
vendored
21
debian/rules
vendored
|
@ -38,11 +38,6 @@ else
|
|||
NUMJOBS = 1
|
||||
endif
|
||||
|
||||
# RocksDB cannot build on 32-bit platforms
|
||||
ifeq (32,$(DEB_HOST_ARCH_BITS))
|
||||
CMAKEFLAGS += -DPLUGIN_ROCKSDB=NO
|
||||
endif
|
||||
|
||||
ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH_CPU),alpha amd64 arm arm64 i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sh4 sparc64))
|
||||
CMAKEFLAGS += -DSTACK_DIRECTION=-1
|
||||
|
@ -74,15 +69,26 @@ ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
|
|||
dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c dh_auto_configure --builddirectory=builddir-native
|
||||
dh_auto_build --builddirectory=builddir-native -- import_executables
|
||||
endif
|
||||
|
||||
# ColumnStore is part of the build
|
||||
ifneq (32,$(DEB_HOST_ARCH_BITS))
|
||||
# Take the files and part of control from MCS directory
|
||||
cp -v storage/columnstore/columnstore/debian/mariadb-plugin-columnstore.* debian/
|
||||
# Don't include twice
|
||||
grep -q '^Package: mariadb-plugin-columnstore$$' debian/control || \
|
||||
echo >> debian/control && \
|
||||
cat storage/columnstore/columnstore/debian/control >> debian/control
|
||||
endif
|
||||
|
||||
echo "server:Version=$(DEB_VERSION)" >> debian/substvars
|
||||
|
||||
# Don't build ColumnStore as part of the native build, only build it when
|
||||
# triggered by autobake-deb.sh. Saves build time and disk space.
|
||||
# RocksDB and Column Store cannot build on 32-bit platforms
|
||||
PATH=$${MYSQL_BUILD_PATH:-"/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin"} \
|
||||
NO_UPDATE_BUILD_VERSION=1 \
|
||||
dh_auto_configure --builddirectory=$(BUILDDIR) -- \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
$(CMAKEFLAGS) \
|
||||
$(if $(findstring $(DEB_HOST_ARCH_BITS),32),-DPLUGIN_ROCKSDB=NO -DPLUGIN_COLUMNSTORE=NO) \
|
||||
$(if $(filter $(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)),,-DIMPORT_EXECUTABLES=$(CURDIR)/builddir-native/import_executables.cmake) \
|
||||
-DCOMPILATION_COMMENT="mariadb.org binary distribution" \
|
||||
-DMYSQL_SERVER_SUFFIX="-$(DEB_VERSION_REVISION)" \
|
||||
|
@ -92,7 +98,6 @@ endif
|
|||
-DPLUGIN_TOKUDB=NO \
|
||||
-DPLUGIN_CASSANDRA=NO \
|
||||
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
|
||||
-DPLUGIN_COLUMNSTORE=NO \
|
||||
-DDEB=$(DEB_VENDOR)
|
||||
|
||||
# This is needed, otherwise 'make test' will run before binaries have been built
|
||||
|
|
Loading…
Reference in a new issue