bzip2/lz4/lzma/lzo/snappy compression is now provided via *services*
they're almost like normal services, but in include/providers/
and they're supposed to provide exactly the same interface
as original compression libraries (but not everything,
only enough of if for the code to compile).
the services are implemented via dummy functions that return
corresponding error values (LZMA_PROG_ERROR, LZO_E_INTERNAL_ERROR, etc).
the actual compression libraries are linked into corresponding
provider plugins. Providers are daemon plugins that when loaded
replace service pointers to point to actual compression functions.
That is, run-time dependency on compression libraries is now on plugins,
and the server doesn't need any compression libraries to run, but
will automatically support the compression when a plugin is loaded.
InnoDB and Mroonga use compression plugins now. RocksDB doesn't,
because it comes with standalone utility binaries that cannot
load plugins.
Debian stretch is supported until Jun 2022.
MyRocks definitavely does require 1.1.3+.
Mroonga has never been zstd enabled, though
support for it exists in the codebase.
While a 1.1.3+ version exists in stretch backports
we don't support this.
Fixes: b67210b105
- Go back to using $MAJOR_VER instead of hard-coded version strings where
possible.
- Default to 'auto' in NUMJOBS instead of just 1. Will make mysql-test-run
faster.
- Unify autopkgtest with latest version in Debian, use eatmydata to make
mysql-test-run faster.
- Salsa-CI: Remove obsolete 'artifacts: true' as that is the default value.
- Salsa-CI: Clean away obsolete temporary fixes.
- Salsa-CI: Unify with salsa-ci.yml in Debian, including test upgrades
from Bullseye to Debian unstable.
058d93d47a introduced a switch in autobake
script to append dh-systemd package when it is necessary. However, the
change was not complete as it didn't actually remove the dh-systemd
dependency in debian/control.
MariaDB Server still supports Ubuntu 16.04 "Xenial" until it goes EOL
in April 30, 2021. Thus we need to include a customization for backwards
compatibility.
This change is intended to be applied for all MariaDB versions still
supported, i.e. 10.2 to 10.6.
Fix the following Breaks/Replaces errors detected by Salsa-CI:
[ERROR] mariadb-server-10.5 conflicts with mysql-client-core-8.0 files:
{'/usr/bin/myisam_ftdump', '/usr/share/man/man1/myisam_ftdump.1.gz'}
[ERROR] mariadb-server-10.5 conflicts with mysql-server-core-8.0 files:
{'/usr/share/man/man1/mysqlbinlog.1.gz',
'/usr/share/man/man1/myisamlog.1.gz',
'/usr/share/man/man1/mysql_tzinfo_to_sql.1.gz',
'/usr/share/man/man1/perror.1.gz',
'/usr/share/man/man1/myisampack.1.gz',
'/usr/bin/mysqld_safe', '/usr/share/man/man1/myisamchk.1.gz',
'/usr/bin/myisamchk', '/usr/bin/mysql_secure_installation',
'/usr/bin/mysqld_multi', '/usr/bin/mysql_tzinfo_to_sql',
'/usr/bin/perror', '/usr/share/man/man1/mysqld_multi.1.gz',
'/usr/bin/myisampack', '/usr/share/man/man1/mysqld_safe.1.gz',
'/usr/bin/myisamlog',
'/usr/share/man/man1/mysql_secure_installation.1.gz',
'/usr/bin/mysqlbinlog'}
[ERROR] mariadb-test conflicts with mysql-server-core-8.0 files:
{'/usr/lib/mysql/plugin/adt_null.so',
'/usr/lib/mysql/plugin/mypluglib.so'}
Upstreamed from Debian packaging commits:
9b6a67b53cf6d5545a02
Also:
- remove excess '<< ${source:Version}' on mysql-client-* and mysql-server-*
- move more packages to Conflicts as it is semantically more correct than
having those packages in Replaces
This reverts commit 44885273f2.
Reverting this commit is necessary to fix missing-breaks errors in the
Debian packaging. The original fix was also not entirely necessary as a
fix to the original problem.
Partially also reverts commit e7c7f5c1bb where this
unsorted debian/control file was sorted.
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 libpmem-dev available,
automatically omit it.
Debian/Ubuntu availability visible at:
- https://packages.debian.org/search?searchon=names&keywords=libpmem-dev
- https://packages.ubuntu.com/search?searchon=names&keywords=libpmem-dev
Also modify debian/rules to activate the use of PMEM, as it does not seem
to activate automatically.
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.
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.
- Reduce Build-Depends
150bf990c6
Dependencies chrpath, dh-apparmor and libarchive-dev are not needed.
Fixes buildbot sid failures that error on:
Unmet build dependencies: chrpath dh-apparmor libarchive-dev
- Salsa-CI: Remove mysql-5.7 upgrade in Sid test as package was removed
6f55ac620c
Also clean away extra Salsa-CI markup not needed anymore.
- Autopkgtest: Simplify autopkgtest 'smoke' to be easier to debug
836907989a
- Autopkgtest: Skip main.failed_auth_unixsocket on armhf and i386
74601f8b31
The Readline library is no longer available in Debian Sid.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=980504
Add the dependency on-the-fly in autobake-deb.sh for older distro versions
and keep the native build in a state that works on Debian Sid as-is.
- Add cracklib-runtime and libarchive-dev as build dependencies
- Update Debian policy standards version to 4.5.0
- Add libssl-dev to libmariadb-dev run-time dependency
- Add "Multi-Arch: same" to packages that have it in Debian
- Sync README.Debian
- Sync debian/rules formatting
- Sync autopkgtests
Also clean away impossible/unnecessary "Multi-Arch: same" stanzas.
Mostly upstreamed from f0ba31e156
Omitted 'libzstd-dev (>= 1.3.3)' as the version requirement would need
stretch-backports to be available on buildbot.askmonty.org builders and
they are not yet.
- Remove unnecessary unused files
- Remove duplicate encryption configuration sample from sources and
re-use the identical file in RPM directory instead
- Clean away harmful "default-character-set = utf8mb4" from client config
as it is unnecassary (server enforces utf8mb4 anyway by default) and
could cause issues with mysqlbinlog and other tools (MDEV-22981).
- Update S3 plugin description to be long enough
- Remove trailing whitespace from support-files and Debian packaging.
- Clean away fixed Lintian issues
- Clean away temporary Salsa-CI fixes now that 10.5.4 is out and is fixed
- Apply wrap-and-sort -a -v
- Add 'libboost-all-dev' and 'libreadline-gplv2-dev' as they were was found
to be a compulsory build dependency for columnstore plugin.
- Add 'expect' as run-time dependencey for columnstore plugin as scripts
use it:
usr/bin/mcs_module_installer.sh: #!/usr/bin/expect
usr/bin/remote_command.sh: #!/usr/bin/expect
usr/bin/remote_command_verify.sh: #!/usr/bin/expect
usr/bin/remote_scp_get.sh: #!/usr/bin/expect
usr/bin/remote_scp_put.sh: #!/usr/bin/expect
usr/bin/rsync.sh: #!/usr/bin/expect
- Properly define depends on Python. No Python 2 support needs to be
considered, Python 3 has been around long enough. Fixes Lintian errors
E: mariadb-plugin-columnstore: python-script-but-no-python-dep
usr/bin/mcs-loadbrm.py #!python
E: mariadb-plugin-columnstore: python-script-but-no-python-dep
usr/bin/mcs-start-storagemanager.py #!python
- Partially revert undocumented and thus unjustified changes in commits
d69a79da63287089efdc5f90a11ecd66ce55b471 and
c0565666cfe6528b76bc53ce50d3690d13c92cf6.
- Trigger ldconfig, otherwise Lintian complains:
E: mariadb-plugin-columnstore: package-must-activate-ldconfig-trigger
usr/lib/x86_64-linux-gnu/libwriteengineredistribute.so
- Update postinst to be compatible with new server binary mariadbd name.
- Properly detect systemd or fallback to sysv init in postrm script.
- Only attempt to build ColumnStore on amd64 and i386. Test builds on
Launchpad.net showed the CMake plugin configure step will prevent even
attempts to build on other platforms.
- Clean up and unify cmake build command in debian/rules.
- Explicitly list files not installed.
- Run 'wrap-and-sort -a -v'.
- Truncate build logs on Salsa-CI to keep under 4 MB. This is now needed
as the ColumnStore build is so verbose.
See https://jira.mariadb.org/browse/MCOL-4111.
- Update Travis-CI dependencies to match new debian/control.