Commit graph

998 commits

Author SHA1 Message Date
Nayuta Yanagisawa
3133435134 Merge 10.6 into 10.7 2022-09-08 21:54:45 +09:00
Vladislav Vaintroub
7d63f21693 Merge branch '10.5' into 10.6
# Conflicts:
#	sql/sql_connect.cc
#	sql/threadpool_common.cc
2022-09-07 16:39:30 +02:00
Daniel Black
dd092bc6eb
Deb: add kinetic to autobake (#2250) 2022-09-07 10:58:55 +01:00
Marko Mäkelä
ac0af4ec4a Merge 10.6 into 10.7 2022-06-28 08:34:12 +03:00
Marko Mäkelä
87bd79b1e7 Merge 10.5 into 10.6 2022-06-27 10:59:31 +03:00
Marko Mäkelä
ea847cbeaf Merge 10.4 into 10.5 2022-06-27 10:51:20 +03:00
Marko Mäkelä
01d757036f Merge 10.3 into 10.4 2022-06-27 10:14:37 +03:00
Marko Mäkelä
ddf511c44d Merge 10.6 into 10.7 2022-06-14 10:17:36 +03:00
Marko Mäkelä
1f1fa7e09c Merge 10.5 into 10.6 2022-06-14 09:49:47 +03:00
Tuukka Pasanen
c168e16782 MDEV-28628: Change current Debian package revision scheme
Current Debian package revision scheme when using
debian/autobake-deb.sh script is:
  '1:VERSION+maria~LSBNAME'

For example if VERSION can be like 10.6.8 and LSBNAME is
buster then version and revision is:
  '1:10.6.8+maria~buster'
Which can lead to problem as distro code names can be lexical unordered.

For example Debian LSBNAME's can be:
  Codename Buster is Debian version 10
  Codename Bookworm is Debian version 11

This happens because in ASCII table
Buster first two digits are 'Bu' and they are in hex 0x42 and 0x75
and Bookworm first digits 'Bo' are they are in hex 0x42 and 0x6F
When apt is upgrading it  means that:
  1:10.6.8+maria~buster is bigger than 1:10.6.8+maria~bookworm
and that leads to problems in dist-upgrade process

To solve problem revision format is changed to:
  '1:VERSION+maria~(deb|ubu)LSBVERSION'

Example for Debian 11 is now:
  1:10.6.8+maria~deb11

and for Ubuntu 22.04 is now:
  1:10.6.8+maria~ubu2204

There are new Variables
 * VERSION which contains whole version string
 * LSBVERSION which contains LSB version of distro
 * LSBID which contains LSB ID (Debian or Ubuntu)
added to debian/autobake-deb.sh.

Also CODENAME is change to LSBNAME as it's more declaritive
2022-06-14 10:44:15 +10:00
Tuukka Pasanen
d4760d8c01 MDEV-28642: Suspend obvious false-positive Lintian warnings
MariaDB codebase is huge and Lintian has lots of test than
can fire false-positive warnings which leads to situation
where real problems can't be spotted.

Suspend obvious false-positive Lintian warnings and
let Lintian problems that needs some love shine
out.

Suspends in package mariadb-test-data

Supporting BSD family needs to use '/usr/bin/env perl' and not '/usr/bin/perl'
Perl script are for testing and not for production in mariadb-test-data
package:
 * incorrect-path-for-interpreter

There is several files with national-encoding which are test file so they
can't be in unicode charset
 * national-encoding

Serveral test paths are intentionally repeated:
 * repeated-path-segment

Suspends in package mariadb-test

Supporting BSD family needs to use '/usr/bin/env perl' and not '/usr/bin/perl'
Perl script are for testing and not for production in mariadb-test-data
package:
 * incorrect-path-for-interpreter

Suspends in package source package

Remade some 'version-substvar-for-external-package' to use
regex.

MGroonga is missing source file 'jquery-ui-1.8.18.custom.js' correct
lintian suspend with regex:
 * source-is-missing

There is several files with very long line lenghts. Add suspends
for those that can't be corrected in several places. Most
of them are test result files, SQL test files or intentional
long lines that can't be splitted.
  * very-long-line-length-in-source-file

There is several autogenerated C++ files which probably should not
be there but they should not do any harm:
 * source-contains-autogenerated-visual-c++-file
2022-06-13 17:14:50 +10:00
Tuukka Pasanen
ace2e0301e MDEV-28666: Add correct 'Breaks' to make sure upgrade from 10.2 succeeds
File '/usr/bin/mariadb_config' has been moved from Debian package
libmariadbd-dev to libmariadb-dev since MariaDB version 10.2
this leads to situation where upgrade will no succeed but fail
with this kind of error message

 * trying to overwrite '/usr/bin/mariadb_config', which is also in package libmariadbd-dev 1:10.2.44+maria~bionic

Add libmariadbd-dev to libmariadb-dev Debian control files
'Breaks' solve situation and upgrading won't error anymore
2022-06-10 10:00:57 +10:00
Sergei Golubchik
57e66dc7e6 Merge branch 'bb-10.6-release' into 10.6 2022-05-24 22:10:38 +02:00
Sergei Golubchik
e8cb91943c fix a bad merge in ec62f46a61 2022-05-24 11:05:24 +02:00
Marko Mäkelä
f00ac20b03 Merge 10.6 into 10.7 2022-05-24 09:49:48 +03:00
Tuukka Pasanen
d3d50570de MDEV-28376: Make sure available Perl MariaDB DBI driver is chosen
Commit introduces automatic detection which supported
Perl MariaDB DBI driver is available:

 * DBD::mysql
 * DBD::MariaDB

If nothing is then bail out and die

Current Detection prefers Perl DBD:MariaDB driver.

This is mainly for older Linux distros or Windows which does not
have Perl DBD:MariaDB packaged or does not want to use Perl cpan command.
2022-05-24 10:57:13 +10:00
Daniel Black
a2bdd52835 Merge branch 10.5 into 10.6 2022-05-24 10:56:25 +10:00
Daniel Black
0d9aba05ec MDEV-28153: Debian autobake to get control (postfix)
The debian/mariabd-plugin-columnstore.install should
not have been committed. It was removed on other branches,
just 10.6 was missed. This prevented packages being built
because the debain/control wasn't populated.
2022-05-24 10:42:39 +10:00
Tuukka Pasanen
443590406c MDEV-28376: Make sure available Perl MariaDB DBI driver is chosen
Commit introduces automatic detection which supported
Perl MariaDB DBI driver is available:

 * DBD::mysql
 * DBD::MariaDB

If nothing is then bail out and die

Current Detection prefers Perl DBD:MariaDB driver.

This is mainly for older Linux distros or Windows which does not
have Perl DBD:MariaDB packaged or does not want to use Perl cpan command.
2022-05-24 10:32:13 +10:00
Tuukka Pasanen
06f043d717 MDEV-28191: Suspend Lintian problems in mariadb-test-data package
Suspend
 national-encoding
 repeated-path-segment
 package-contains-documentation-outside-usr-share-doc

Package mariadb-test-data has test files
in directory '/usr/share/mysql/mysql-test/' which are not UTF-8
encoded and they should not be as they are for testing.

package also have Lintian warnings for files that
are not in correct place in directory 'usr/share/mysql/mysql-test'
but as they are all are test results they are not in incorrect place

At last there is intentional use for some repeated directories so
they are false-positives and should be suspended
2022-05-20 18:58:28 +10:00
Sergei Golubchik
fd132be117 Merge branch '10.6' into 10.7 2022-05-11 11:25:33 +02:00
Sergei Golubchik
3bc98a4ec4 Merge branch '10.5' into 10.6 2022-05-10 14:01:23 +02:00
Sergei Golubchik
ef781162ff Merge branch '10.4' into 10.5 2022-05-09 22:04:06 +02:00
Sergei Golubchik
a70a1cf3f4 Merge branch '10.3' into 10.4 2022-05-08 23:03:08 +02:00
Sergei Golubchik
6f741eb6e4 Merge branch '10.2' into 10.3 2022-05-07 11:48:15 +02:00
Tuukka Pasanen
db47855eb7 MDEV-12275: Add switch '--silent' to SySV init upgrade
Debian script debian-start upgrades database (which can be huge)
and prints lots of unnecessary information (not errors). Add
'--silent' to only sport possible errors
2022-05-05 10:20:05 +10:00
anel
794bebf9ee Use proper pid namespace
Problem:
    ==============
    By testing `pgrep` with `--ns` option,
    introduced with MDEV-21331, commit fb7c1b9415,
    I noted that:
    a) `--ns`  cannot use more than single PID.
    b) `--ns` is returning the processes of the namespace to which supplied PID belongs to.
    So by that sense command `pgrep -x --ns $$ mysqld` will always return an error and skip
    checking of the existing PID of the server.

    Solution:
    ==============
    Suggested solution is to add `--nslist pid`, since `--ns` needs to know in which namespace type it should look for.
    See `pgrep --help` for different namespace types.
    Note also that this works *only* if script is run as a `root` (we have that case here).

    Current PR is a part of:
    1. MDEV-21331: sync preinst and postrm script
    2. MDEV-15718: check for exact mysqld process

    This commit:
    a) fixes fb7c1b9415
    b) Closes PR #2068 (obsolete)
    c) Closes PR #2069 (obsolete)

    Thanks Faustin Lammler <faustin@mariadb.org> for testing and verifying
    Reviewed by <>
2022-05-04 10:33:38 +02:00
Daniel Black
551e7814ed MDEV-28227 Chinese translation postfix
Add chinese language to missing sql/share/CMakeLists.txt that
results in installed files.

Also add bulgarian=bgn which has existing for a long time.

Sort both lists properly.

Append both to debian/mariadb-server-core-10.4 too.
2022-04-26 13:31:41 +10:00
Marko Mäkelä
aa3a9d1ef5 Merge 10.6 into 10.7 2022-04-12 16:11:29 +03:00
Marko Mäkelä
ca3bbf4c0c Merge 10.5 into 10.6 2022-04-12 09:26:02 +03:00
Tuukka Pasanen
bc75f7ed6d MDEV-28194: Remove unneeded path from MariaDB server postinst script
Remove unndeeded paths from mariadb-server-10.6.postinst as
it's already in export PATH and it fires 'command-with-path-in-maintainer-script'
in lintian checks
2022-04-12 13:28:30 +10:00
Tuukka Pasanen
e858fc89d3 MDEV-27033: Clean lintian 'duplicate-override-context' warnings
Fix Debian lintian warnings:
  W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 12 13) [debian/source/lintian-overrides:13]
  W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 14 15) [debian/source/lintian-overrides:15]
  W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 16 17) [debian/source/lintian-overrides:17]
  W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 18 19) [debian/source/lintian-overrides:19]
  W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 20 21) [debian/source/lintian-overrides:21]
  W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 4 5) [debian/source/lintian-overrides:5]
by removing duplicate override lines
2022-04-12 08:16:09 +10:00
Daniel Black
dea4e178fe deb: make --output-sync=target
Rather than Debian logs containing a barely decipherable mix
of build command and the output of some other command, we
use the make option --output-sync=target. This make the compile
line and the output stay together in the output stream.

This option exists even in the make version in debian;stretch
so should work everywhere.

Test on debian:stretch, ubuntu:18.04, the two lowest version that
use the debian/rules.
2022-04-07 16:05:02 +10:00
Daniel Black
8990ffe62a MDEV-28153: Debian autobake to generate control
Without doing the full build.

Autobake now includes a dependency on lsb-release.

As the BB CI images
(https://github.com/MariaDB/mariadb.org-tools/blob/master/buildbot.mariadb.org/ci_build_images/debian.Dockerfile)
have explicit dependencies, there's no point maintaining them in
two places. We don't want do the full autobake-deb.sh there, just enough
to have the control file containing the correct dependencies.

Helps: https://github.com/MariaDB/mariadb.org-tools/pull/130
2022-04-07 16:05:02 +10:00
Faustin Lammler
aed87f1e0a Change MDBF mirror URL
As as discussed with @dbart we decided to move
https://deb.mariadb.org/repo to https://deb.mariadb.org so that a
request on https://deb.mariadb.org will end up directly in
https://mirror.mariadb.org/repo.

The same behavior was configured for rpms (https://rpm.mariadb.org -->
https://mirror.mariadb.org/yum) this also makes the old yum.mariadb.org
service transparently compatible with this new service (after DNS change
to point to rpm.mariadb.org).

See also: https://jira.mariadb.org/browse/MDBF-297
2022-04-06 15:09:53 +10:00
Daniel Black
b249abde57 Merge branch '10.6' into 10.7
Closes #2082
2022-04-06 14:11:58 +10:00
Tuukka Pasanen
b4f3969a6c MDEV-28121: Add new compression plugins as autopkg dependencies
Add compression plugins:
  * bzip2
  * lz4
  * lzma
  * lzo
  * snappy
To Autopkg's basic smoke-test dependencies.

Also make sure that MariaDB service is reloaded
when smoke-test is executed.
2022-04-06 11:34:52 +10:00
Otto Kekäläinen
8c919330a7 Deb: Sync Salsa-CI from Debian MariaDB 10.6
As MariaDB 10.5 has been removed from Debian Sid and MariaDB 10.6 has
entered it, the Salsa-CI testing needs to adapt.

To achieve this, essentially sync most the the salsa-ci.yml contents from
https://salsa.debian.org/mariadb-team/mariadb-server/-/tree/debian/latest

This includes removing Stretch builds, as Stretch does not support uring
nor pmem libraries, which MariaDB 10.6 depends on.

Also add a couple Lintian overrides to make Salsa-CI pass.

NOTE TO MERGERS: This commit is made on 10.6 branch and can be merged to
all later branches (10.7, 10.8, 10.9..) for now, but later somebody needs
to go in and update all the testing stages to do the upgrade testing
correctly for 10.6->10.7->10.8->10.9 etc.
2022-04-05 16:49:57 +10:00
Marko Mäkelä
a4d753758f Merge 10.6 into 10.7 2022-03-30 08:52:05 +03:00
Marko Mäkelä
b242c3141f Merge 10.5 into 10.6 2022-03-29 16:16:21 +03:00
Daniel Black
2885fb0ee4 deb: merge fix - remove debian/mariadb-plugin-columnstore.*
Was accidently included in ec62f46a61.

The autobake-deb.sh populates these files when needed.
2022-03-28 14:03:44 +11:00
Otto Kekäläinen
9d6d122123 Deb: Fix Salsa-CI autopkgtest failure
The autopkgtest was failing due to missing *.changes file. This is part
of source build, so revert autobake-deb.sh back to NOT using -b for
Gitlab-CI/Salsa-CI runs.
2022-03-28 11:30:45 +11:00
Tuukka Pasanen
13b97880bd MDEV-27965: MariaDB needs at least libfmt version 7.0
Add requirement in Debian control file for libfmt 7.0
which is needed for building MariaDB.

This supports the SFORMAT function added in MDEV-25015.

+ autobake-deb.sh so old Debian/Ubuntu still
bundle the libfmt pulled in from upstream.

Closes #2062
2022-03-25 14:49:15 +11:00
Daniel Black
8b92e346b1 Merge 10.6 into 10.7 2022-03-25 14:31:59 +11:00
Daniel Black
63f76d3b98 Deb: enable pmem on riscv64 2022-03-25 12:01:51 +11:00
Daniel Black
1b2ee693b7 MDEV-28153: Debian autobake- use absolute dependencies rather than a buildtime detection
Fixing the version of debian/ubuntu dependencies in 10.6
removes the apt-cache checking of libpmem and liburing
dependencies.

By arranging the checks earliest to latest, we unconditionally
change the dependences in earlier versions, and in later versions
we perform architecture checks to see if there is a dependency
on this architecture before removing/changing.

This takes from the architecture information on Ubuntu[1,2]
and Debian[3,4].

[1] https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=liburing-dev
[2] https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=libpmem-dev
[3] https://packages.debian.org/search?suite=all&section=all&arch=any&searchon=names&keywords=liburing-dev
[4] https://packages.debian.org/search?suite=all&section=all&arch=any&searchon=names&keywords=libpmem-dev
2022-03-25 12:01:51 +11:00
Daniel Black
ec62f46a61 Merge 10.5 to 10.6 2022-03-25 11:31:49 +11:00
Daniel Black
157a838b19 MDEV-28153: Debian autobake- use absolute dependencies rather than a buildtime detection
While moving to a prescribed dependencies in MDEV-28011, an error was made
in the merge. The Ubuntu and Debian supported architectures of rocksdb-tools
are different and need to be treated as such.

This actually had no effect as our support of mariadb-plugin-rocksdb was never
different to the distro support of rocksdb-tools. Some notes where added
to this affect.

There is also nothing to do for Debian sid, and never should be.

The differentiation and grouping of distro codenames is for convenience in
merging upwards as more dependencies change across distro versions.

The fixing of versions rather than relying on apt-cache to be correct prevents
unstable changes between releases, and potentially uninstallable packages like
happened in MDEV-28014.

Correct comment about zstd to MDEV-16525
2022-03-25 11:01:09 +11:00
Daniel Black
e86986a157 Merge 10.6 into 10.7 2022-03-24 18:57:07 +11:00
Tuukka Pasanen
9c57bbdad0 MDEV-28120 Remove false-positive Lintian linking error
Lintian uses objdump-command to determine is share object linked against
C-libary. Compression provider shared objects does not have any symbols
from C-library they only depend compression library and MariaDB
libaries. This is false-positive as Lintian error itself is correct as
shared object does not share any symbols from for example Glibc.

Added overrides suppress Lintian errors:
 * E: mariadb-plugin-provider-bzip2: library-not-linked-against-libc usr/lib/mysql/plugin/provider_bzip2.so
 * E: mariadb-plugin-provider-lz4: library-not-linked-against-libc usr/lib/mysql/plugin/provider_lz4.so
 * E: mariadb-plugin-provider-lzma: library-not-linked-against-libc usr/lib/mysql/plugin/provider_lzma.so
 * E: mariadb-plugin-provider-lzo: library-not-linked-against-libc usr/lib/mysql/plugin/provider_lzo.so
 * E: mariadb-plugin-provider-snappy: library-not-linked-against-libc usr/lib/mysql/plugin/provider_snappy.so
2022-03-23 13:49:24 +11:00