The MDEV-25004 test innodb_fts.versioning is omitted because ever since
commit 685d958e38 InnoDB would not allow
writes to a database where the redo log file ib_logfile0 is missing.
- Prefer Breaks+Replaces over Conflicts+Replaces in debian/control.
- Clean away conflict/break/replace with self as it either has no
effect or harmfully prevents upgrades to self (packages from this
source version).
- Remove references to mariadb-server-10.11 as the package names no
longer have versions and thus such references are unnecessary cruft.
- Apply 'wrap-and-sort -av' and minor typo fixing.
- Extend Salsa-CI to test for upgrades from 10.9 and 10.10 to 10.11.
- Add minimal required new Lintian overrides so Salsa-CI would not
fail on Lintian.
* mariadb-service-convert to use mariadbd-safe
* galera_recovery to use mariadbd
* mtr - wsrep use mariadb executables
* debian/mariadb-server.mariadb.init use mariadbd-safe
* debian/tests/smoke uses mariadb instead of mysql as client.
Co-Author: Daniel Black <daniel@mariadb.org>
Convert minimal amount of Lintian overrides to make Lintian
test pass also with Debian Sid latest Lintian 2.115 version.
Old style overrides are kept so they can be used with
older versions of Lintian.
Introduce minimal Lintian overrides which are common
from MariaDB version 10.5 up-to to 10.8.
Overrides added files:
* debian/mariadb-test-data.lintian-overrides
- MariaDB installs some shared objects to test-suite directory and not in
'/usr/lib' or similar. Share objects is pam_mariadb_mtr.so. Tags are
arch-dependent-file-in-usr-share and
arch-independent-package-contains-binary-or-object Lintia
* debian/mariadb-test.lintian-overrides
- MariaDB installs some some binaries to test-sute directory and
in mariadb-test package they are my_safe_process and
wsrep_check_version. Tags is
arch-dependent-file-in-usr-share
* debian/source/lintian-overrides
- In source there is some source files missing which should be addressed
sql/share/charsets/languages.html and
and storage/rocksdb/rocksdb/docs/_includes/footer.html.
Tags is source-is-missing
- Add Lintian override for missing:
storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2
- Add Lintian override for substvar external resources:
${source:Version} libmariadb-dev -> libmysqlclient-dev [debian/control:66]
${source:Version} libmariadb-dev -> libmysqld-dev [debian/control:66]
${source:Version} libmariadbd-dev -> libmariadbclient-dev [debian/control:216]
* Deb: Handle codename 'n/a' from Debian Sid properly and autobake-deb cleanup
This fixes autobake-deb.sh builds on Sid which was visible as 4 failing
build steps on Salsa-CI.
- In Sid the LSBNAME might evaluate to 'n/a', so accept it as 'Sid' to
fix builds that failed with error:
Error - unknown release codename n/a
- Refactor list to have Ubuntu versions first, then Debian, and as last
the special case of Debian Sid
- Fix minor syntax issues detected by Shellcheck
Also remove useless DEB_HOST_ARCH_CPU check from debian/rules:
* It was never in effect as the 'sed' in autobake-deb.sh cleared it anyway
* The variable name was wrong and always empty
* If variable would have been correct, logic was still reversed
- Define 3h timeout as the default 1h timeout on Gitlab.com (and others)
is usually not enough for initial (uncached) MariaDB builds.
- Replace Buster to Bookworm/Sid upgrade testing with upgrade inside Buster
testing as direct upgrades from Stretch to Bullseye and Buster to Bookworm
are no longer possible due to:
Bug#993755: libcrypt.so.1: cannot open shared object file when
upgrading from Stretch to Sid (https://bugs.debian.org/993755)
- Stop ignoring MariaDB.org 10.6 to this version upgrade testing failures
to reveal bug MDEV-28640. Originally this step was failing as the uring
dependencies in upstream builders lagged behind and there was nothing
that needed work, only time time to resolve. Now there is an actual bug
in packaging that should be visible as a CI failure.
- Stop testing for 'service mysql status' on systems that upgraded from
MySQL 8.0 to MariaDB.org vended 10.6. Due to some unidentified debian/control
changes in 10.6 on upstream the upgrade is no longer compatible in
a way that would maintain the init.d script with name 'mysql'.
- Fix typos where mergers had changed occurrences of 10.5 to 10.6 while
they intentionally need to be exactly 10.5, otherwise the meaning
changes.
- Align autopkgtest code with downstream official Debian packaging one.
This is change is safe on a stable branch because is only affects builds
and testing, not any actual usage of MariaDB 10.6.
- Standardize on using capitalized 'YES' in CMake build options
(instead of 'yes' or mixed case)
- Add some comments to better document debian/rules
- Fix typo in Lintian overrides
Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/mariadb-10.6/+bug/1970634
MariaDB ticket: https://jira.mariadb.org/browse/MDEV-25633
When built with LTO on Ubuntu, MariaDB does not catch an exception when
the uring initialization fails due to a low RLIMIT_MEMLOCK value.
This commit amends the commit 0609b34555
to be identical to the one done downstream in Debian:
8d20ca979c
This way both the inline comments and 'git blame' for this section will
show properly why this is needed, and the fix is one that is fully tested
on Debian and Ubuntu.
Also having this section fully identical in upstream MariaDB and downstream
Debian will make the packaging maintenance easier as 'diff` runs on this
file will not flag this as a difference anymore.
In MDEV-28640 the init script failed to stop/start the MariaDB server
due to missing mysqladmin on the system. This was however very hard to
spot from the console output.
Add an explicit check for the binary the script depends on, and fail
verbosely if the dependency is missing.