summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <daniel@mariadb.org>2021-08-19 13:45:44 +1000
committerDaniel Black <daniel@mariadb.org>2021-08-19 13:45:44 +1000
commitf36f156ccb9da9258b0958d8ebf8b84c93931823 (patch)
treebef0b3b1f52452329631570462625dfa1722cfae
parent05742cc6560ac874f88adf2321b65a704495cccf (diff)
downloadmariadb-git-bb-10.5-danielblack-did-i-break-deb-columnstore.tar.gz
Revert "deb: columnstore not 32bit"bb-10.5-danielblack-did-i-break-deb-columnstore
This reverts commit 0268b8712288d46fbd8a43fdef6bada399b68dff.
-rwxr-xr-xdebian/autobake-deb.sh20
-rwxr-xr-xdebian/rules21
2 files changed, 24 insertions, 17 deletions
diff --git a/debian/autobake-deb.sh b/debian/autobake-deb.sh
index 1363f96dc5a..516b842ba57 100755
--- a/debian/autobake-deb.sh
+++ b/debian/autobake-deb.sh
@@ -17,17 +17,29 @@ 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 -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
+ sed 's|$(CMAKEFLAGS)|$(CMAKEFLAGS) -DPLUGIN_COLUMNSTORE=NO|' -i debian/rules
+ sed "/Package: mariadb-plugin-columnstore/,/^$/d" -i debian/control
fi
# Don't build or try to put files in a package for selected plugins and components on Travis-CI
diff --git a/debian/rules b/debian/rules
index 184a7733159..865784526be 100755
--- a/debian/rules
+++ b/debian/rules
@@ -38,6 +38,11 @@ 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
@@ -69,26 +74,15 @@ 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
- # RocksDB and Column Store cannot build on 32-bit platforms
+ # 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.
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)" \
@@ -98,6 +92,7 @@ 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