summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
authorDaniel Black <daniel@mariadb.org>2021-08-11 11:28:08 +1000
committerDaniel Black <daniel@mariadb.org>2021-08-13 09:23:43 +1000
commit0268b8712288d46fbd8a43fdef6bada399b68dff (patch)
tree3e5c6d36514367286b9c9043e16493ab8883e7bb /debian/rules
parent30d33d85cbeb7111898607fa9273bd308199eff7 (diff)
downloadmariadb-git-0268b8712288d46fbd8a43fdef6bada399b68dff.tar.gz
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.
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules21
1 files changed, 13 insertions, 8 deletions
diff --git a/debian/rules b/debian/rules
index 865784526be..184a7733159 100755
--- a/debian/rules
+++ b/debian/rules
@@ -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