Commit 211e9b3e authored by Otto Kekäläinen's avatar Otto Kekäläinen Committed by Marko Mäkelä

MDEV-24927: Deb: Use liburing-dev instead of libaio-dev

Updating the debian/control file will automatically update the dependencies
in all CI environments that directly read the debian/control file, such
as Salsa-CI and buildbot.mariadb.org to some degree.
(https://github.com/MariaDB/mariadb.org-tools/issues/43)

On Debian/Ubuntu releases that don't have liburing-dev available,
automatically downgrade to libaio-dev (just like libcurl4->3 is done).
This ensures the debian/control file is always up-to-date and works for
latest Debian and Ubuntu releases, while the backwards compatibility mods
are maintained in autobake-deb.sh separately, and can be dropped from there
once support for certain platforms end.

Debian/Ubuntu availability visible at:
- https://packages.debian.org/search?searchon=names&keywords=liburing-dev
- https://packages.ubuntu.com/search?searchon=names&keywords=liburing-dev

Also modify debian/rules to force a build without libaio. Use YES instead
of ON to make the flag more logical (=turning libaio check "off").

Stop running Salsa-CI for Debian Stretch-backports, as it does not have
liburing-dev available nor is the old-old Debian stable a relevant platform
for MariaDB 10.6 to test against anymore. Since the Stretch-backports build
can no longer be made, neither can the MySQL 5.7 on Bionic upgrade test be
run, as it depended on the Stretch binary.

This commit does not modify the .travis.yml file, as Travis-CI does not
have new enough Ubuntu releases available yet. Also Travis-CI.org is
practically dead now as build times have been shrunk to near zero.

The scope of this change is also Debian/Ubuntu only. No RPM or Windows or
Mac changes are included in this commit.

This commit does not update the external libmariadb or ColumnStore
CI pipelines, as those are maintained in different repositories.
parent 783625d7
......@@ -149,7 +149,7 @@ IF(UNIX)
RedHat/Fedora/Oracle Linux: yum install libaio-devel
SuSE: zypper install libaio-devel
If you really do not want it, pass -DIGNORE_AIO_CHECK=ON to cmake.
If you really do not want it, pass -DIGNORE_AIO_CHECK=YES to cmake.
")
ENDIF()
......
......@@ -98,6 +98,14 @@ then
sed 's/libcurl4/libcurl3/g' -i debian/control
fi
# From Debian Bullseye/Ubuntu Groovy, liburing replaces libaio
if ! apt-cache madison liburing-dev | grep 'liburing-dev' >/dev/null 2>&1
then
sed 's/liburing-dev/libaio-dev/g' -i debian/control
sed '/-DIGNORE_AIO_CHECK=YES/d' -i debian/rules
sed '/-DWITH_URING=yes/d' -i debian/rules
fi
# Adjust changelog, add new version
echo "Incrementing changelog and starting build scripts"
......
......@@ -36,6 +36,7 @@ Build-Depends: bison,
libssl-dev,
libssl-dev:native,
libsystemd-dev [linux-any],
liburing-dev [linux-any],
libxml2-dev,
libzstd-dev,
lsb-release,
......
......@@ -99,6 +99,8 @@ endif
-DBUILD_CONFIG=mysql_release \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DPLUGIN_COLUMNSTORE=NO \
-DIGNORE_AIO_CHECK=YES \
-DWITH_URING=yes \
-DDEB=$(DEB_VENDOR)
# This is needed, otherwise 'make test' will run before binaries have been built
......
......@@ -61,13 +61,6 @@ build buster-backports:
variables:
RELEASE: buster-backports
build stretch-backports:
extends: .build-package
script:
- *autobake-deb-steps
variables:
RELEASE: stretch-backports
# base image missing git
build i386:
extends: .build-package
......@@ -598,42 +591,6 @@ mysql-8.0 Focal to mariadb-10.6 upgrade:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
mysql-5.7 Bionic to mariadb-10.6 upgrade:
stage: upgrade extras
needs:
- job: build stretch-backports
artifacts: true
image: debian:stretch
artifacts:
when: always
name: "$CI_BUILD_NAME"
paths:
- ${WORKING_DIR}/debug
script:
- *test-prepare-container
# Add Ubuntu Bionic archive keys and repository
- apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
- apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 871920D1991BC93C 3B4FE6ACC0B21F32
- echo 'deb http://archive.ubuntu.com/ubuntu/ bionic main restricted' > /etc/apt/sources.list.d/ubuntu.list
- apt-get update
- apt-get install -y 'mysql*' 'libmysqlc*'
- *test-verify-initial
# Enable backports to make libzstd1, rocksdb-tools
- echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/backports.list
# Enable backports to make galera-4 available
- echo 'deb http://deb.debian.org/debian stretch-backports-sloppy main' >> /etc/apt/sources.list.d/backports.list && apt-get update
# Remove plugin that requires libcurl4, not available in Debian Stretch
- rm mariadb-plugin-s3*.deb
- *test-install
- service mysql status
- sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
- *test-verify-final
variables:
GIT_STRATEGY: none
except:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
mariadb.org-10.5 to mariadb-10.6 upgrade:
stage: upgrade extras
needs:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment