summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorDaniel Black <daniel@mariadb.org>2022-03-16 17:51:49 +1100
committerDaniel Black <daniel@mariadb.org>2022-03-17 17:03:24 +1100
commitb73d85277939e3edff90e1ff927218a541a2c136 (patch)
tree89d82c9686e5f28689ef9546dbe5fe8b47009ce4 /debian
parent73fee39ea62037780c59161507e89dd76c10b7a3 (diff)
parent069139a549a62f26d566c1aea2a49c13e9e8a654 (diff)
downloadmariadb-git-b73d85277939e3edff90e1ff927218a541a2c136.tar.gz
Merge 10.4 to 10.5
Diffstat (limited to 'debian')
-rwxr-xr-xdebian/autobake-deb.sh84
-rw-r--r--debian/control2
2 files changed, 37 insertions, 49 deletions
diff --git a/debian/autobake-deb.sh b/debian/autobake-deb.sh
index 1215df9053f..e35372f7127 100755
--- a/debian/autobake-deb.sh
+++ b/debian/autobake-deb.sh
@@ -11,24 +11,15 @@
# Exit immediately on any error
set -e
-CODENAME="$(lsb_release -sc)"
-case "${CODENAME}" in
- stretch)
- # MDEV-28022 libzstd-dev-1.1.3 minimum version
- sed -i -e '/libzstd-dev/d' debian/control
- ;;
-esac
-
-# This file is invoked from Buildbot and Travis-CI to build deb packages.
-# As both of those CI systems have many parallel jobs that include different
-# parts of the test suite, we don't need to run the mysql-test-run at all when
-# building the deb packages here.
+# On Buildbot, don't run the mysql-test-run test suite as part of build.
+# It takes a lot of time, and we will do a better test anyway in
+# Buildbot, running the test suite from installed .debs on a clean VM.
export DEB_BUILD_OPTIONS="nocheck $DEB_BUILD_OPTIONS"
# General CI optimizations to keep build output smaller
-if [[ $TRAVIS ]] || [[ $GITLAB_CI ]]
+if [[ $GITLAB_CI ]]
then
- # On both Travis and Gitlab the output log must stay under 4MB so make the
+ # On Gitlab the output log must stay under 4MB so make the
# build less verbose
sed '/Add support for verbose builds/,/^$/d' -i debian/rules
elif [ -d storage/columnstore/columnstore/debian ]
@@ -43,41 +34,38 @@ then
cat storage/columnstore/columnstore/debian/control >> debian/control
fi
-# Don't build or try to put files in a package for selected plugins and components on Travis-CI
-# in order to keep build small (in both duration and disk space)
-if [[ $TRAVIS ]]
-then
- # Test suite package not relevant on Travis-CI
- sed 's|DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test|DINSTALL_MYSQLTESTDIR=false|' -i debian/rules
- sed '/Package: mariadb-test-data/,/^$/d' -i debian/control
- sed '/Package: mariadb-test$/,/^$/d' -i debian/control
-
- # Extra plugins such as Mroonga, Spider, OQgraph, Sphinx and the embedded build can safely be skipped
- sed 's|-DDEB|-DPLUGIN_MROONGA=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO -DWITH_EMBEDDED_SERVER=OFF -DDEB|' -i debian/rules
- sed "/Package: mariadb-plugin-mroonga/,/^$/d" -i debian/control
- sed "/Package: mariadb-plugin-rocksdb/,/^$/d" -i debian/control
- sed "/Package: mariadb-plugin-spider/,/^$/d" -i debian/control
- sed "/Package: mariadb-plugin-oqgraph/,/^$/d" -i debian/control
- sed "/ha_sphinx.so/d" -i debian/mariadb-server-10.5.install
- sed "/Package: libmariadbd19/,/^$/d" -i debian/control
- sed "/Package: libmariadbd-dev/,/^$/d" -i debian/control
-fi
+# Look up distro-version specific stuff
+#
+# Always keep the actual packaging as up-to-date as possible following the latest
+# Debian policy and targeting Debian Sid. Then case-by-case run in autobake-deb.sh
+# tests for backwards compatibility and strip away parts on older builders.
-# If rocksdb-tools is not available (before Debian Buster and Ubuntu Disco)
-# remove the dependency from the RocksDB plugin so it can install properly
-# and instead ship the one built from MariaDB sources
-if ! apt-cache madison rocksdb-tools | grep 'rocksdb-tools' >/dev/null 2>&1
-then
+remove_rocksdb_tools()
+{
sed '/rocksdb-tools/d' -i debian/control
sed '/sst_dump/d' -i debian/not-installed
- echo "usr/bin/sst_dump" >> debian/mariadb-plugin-rocksdb.install
-fi
+ if ! grep -q sst_dump debian/mariadb-plugin-rocksdb.install
+ then
+ echo "usr/bin/sst_dump" >> debian/mariadb-plugin-rocksdb.install
+ 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 libcurl4 is not available (before Debian Buster and Ubuntu Bionic)
-# use older libcurl3 instead
-if ! apt-cache madison libcurl4 | grep 'libcurl4' >/dev/null 2>&1
+if [[ ! "$(dpkg-architecture -q DEB_BUILD_ARCH)" =~ amd64|arm64|ppc64el|s390x ]]
then
- sed 's/libcurl4/libcurl3/g' -i debian/control
+ remove_rocksdb_tools
fi
# Adjust changelog, add new version
@@ -95,9 +83,9 @@ dch -b -D "${CODENAME}" -v "${VERSION}" "Automatic build with ${LOGSTRING}." --c
echo "Creating package version ${VERSION} ... "
-# On Travis CI and Gitlab-CI, use -b to build binary only packages as there is
+# On Gitlab-CI, use -b to build binary only packages as there is
# no need to waste time on generating the source package.
-if [[ $TRAVIS ]]
+if [[ $GITLAB_CI ]]
then
BUILDPACKAGE_FLAGS="-b"
fi
@@ -117,8 +105,8 @@ fakeroot $BUILDPACKAGE_PREPEND dpkg-buildpackage -us -uc -I $BUILDPACKAGE_FLAGS
# If the step above fails due to missing dependencies, you can manually run
# sudo mk-build-deps debian/control -r -i
-# Don't log package contents on Travis-CI or Gitlab-CI to save time and log size
-if [[ ! $TRAVIS ]] && [[ ! $GITLAB_CI ]]
+# Don't log package contents on Gitlab-CI to save time and log size
+if [[ ! $GITLAB_CI ]]
then
echo "List package contents ..."
cd ..
diff --git a/debian/control b/debian/control
index 4acf692dd28..5352e9902ed 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,7 @@ Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
Build-Depends: bison,
cmake,
cracklib-runtime <!nocheck>,
- debhelper (>= 9.20160709~),
+ debhelper (>= 10),
dh-exec,
flex [amd64],
gdb <!nocheck>,