diff options
author | Daniel Black <daniel@mariadb.org> | 2022-03-16 17:51:49 +1100 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2022-03-17 17:03:24 +1100 |
commit | b73d85277939e3edff90e1ff927218a541a2c136 (patch) | |
tree | 89d82c9686e5f28689ef9546dbe5fe8b47009ce4 /debian | |
parent | 73fee39ea62037780c59161507e89dd76c10b7a3 (diff) | |
parent | 069139a549a62f26d566c1aea2a49c13e9e8a654 (diff) | |
download | mariadb-git-b73d85277939e3edff90e1ff927218a541a2c136.tar.gz |
Merge 10.4 to 10.5
Diffstat (limited to 'debian')
-rwxr-xr-x | debian/autobake-deb.sh | 84 | ||||
-rw-r--r-- | debian/control | 2 |
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>, |