The dpkg-buildpackage has by default sensible values for --jobs and
--try-jobs, and it also inherits whatever 'parallel' is set in
DEB_BUILD_OPTIONS. Overriding it here should not be needed and removing
it is better, since it allows build systems to control the level or
parallel builds via DEB_BUILD_OPTIONS if they want, which they often do
(e.g. to avoid CPU congestion or overheating laptops).
The current debian/control file and other packaging of 10.5 targets the
latest Debian unstable. In autobake-deb.sh there are automatic build
adaptations for older Debian/Ubuntu releases.
Some adaptations were for Debian versions prior to Jessie and Ubuntu
versions prior to Trusty. Those distro releases are no longer supported
anyway, so these should be cleaned away now in the 10.5 release cycle.
Summary:
- Debian Jessie has libcrack2 release 2.9.2-1, no need to have adaptations
for any older environments
- Debian Jessie has libpcre3-dev release 2:8.35-3.3, no need to consider
older versions
- Systemd has been available since Debian Jessie, no need to consider
that a Debian/Ubuntu environment would not have it available
adaptations for environments for anything older
If libpcre2 (10.x) is not defined and only the older libpcre3 (8.x)
would be available, the build would attempt to download it from the
Internet, violating many build environment restrictions.
Commit b6b6980686 attempted to fix
MDEV-21942 but was incomplete, and after in CI systems started
failing since the .travis.yml update was missing.
The Debian build tools add all run-time dependencies automatically. For the
mariadb-rocksdb-plugin the "${misc:Depends}, ${shlibs:Depends}" will become
(based on the build dependencies at build time):
Depends: mariadb-server-10.4 (= 1:10.4.12-1), rocksdb-tools,
libc6 (>= 2.29), liblz4-1 (>= 0.0~r130), libsnappy1v5 (>= 1.1.8),
libstdc++6 (>= 7), libzstd1 (>= 1.3.3), zlib1g (>= 1:1.1.4)
There is no need to manually add run-time build dependencies. Only external
dependencies need to be defined, for example rocksdb-tools could come in
question for mariadb-plugin-rocksdb, and it will be eventually added when
downstream official Debian packaging is merged upstream in a later commit.
Add check for git command and test for internet connectivity
using bash /dev/tcp interface, instead of wget and curl which might
not be available, thus reducing dependencies for this script.
- Update package names that had -10.3 to -10.4
- Update conflicts/breaks/replaces of to include now also 10.3,
just like 10.3 had the same relationship to 10.2
- Remove some old (<< ${source:Version}) not needed anymore as we
are not moving files around inside the 10.4 releases (at least yet).
- Ensure all plugins depend on server or client binaries from the same
release so that they for sure are binary API compatible.
Correct 898a8c3c0c to work when newer debhelper-10.2 is installed from
xenial-backports (or jessie-backports).
Use gcc version instead of debproxy version, this is likely a gcc
issue (as disabling LTO and gcc's linker plugin fixes it).
Building this plugin which requires run-time access to network, uses a lot
of disk space and is slow was already partially disabled. This way we
also ensure that on cmake level it never runs even if it out of some
autodetection reason at times thought it could run.
This fixes the error message:
fatal: unable to access 'https://github.com/awslabs/aws-sdk-cpp.git/':
Problem with the SSL CA cert (path? access rights?)
This complements commit ecb0e0ade4 that
disabled a bunch of plugins from being built on Travis-CI (due to time
and disk space saving reasons).
When the plugins are not built, the packaging phase will fail due to
missing files. This change omits the files from packaging to the process
can complete successfully.
Add libzstd-dev as a build dependency to the server and libzstd1 as a
runtime dependency for rocksdb. libzstd is practially a mandatory
compression library to ensure adequate performance for RocksDB.
It will only build if there is network access, which is a strict no-go
for Linux distributions. Thus the AWS plugin needs to be a custom built
only special plugin that is not built as part of the normal sources.
This fixes the build error in e.g. Launchpad:
Performing download step (git clone) for 'aws_sdk_cpp'
cd "/<<PKGBUILDDIR>>/builddir/plugin/aws_key_management" && /usr/bin/cmake ..
Cloning into 'aws-sdk-cpp'...
fatal: unable to access 'https://github.com/awslabs/aws-sdk-cpp.git/':
Could not resolve host: github.com
A non-MariaDB.org contributor introduced the epoch 1: in Debian.
There is no way to revert it, so we just need to adapt to it to
ensure no 10.3 installation would downgrade to that version in
Debian/Ubuntu, as 1: is considered higher than any version before.