Commit graph

1341 commits

Author SHA1 Message Date
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
Sergei Golubchik
a629d3b703 Merge branch '10.9' into 10.10 2022-06-17 08:37:01 +02:00
Sergei Golubchik
f50c130eee fixes for aarch64 deb 2022-06-16 09:57:31 +02:00
Sergei Golubchik
d5922c71ac deb: fix hashicorp plugin dependencies 2022-06-16 09:57:31 +02:00
Marko Mäkelä
51a4fcd565 Merge 10.9 into 10.10 2022-06-15 10:07:31 +03:00
Marko Mäkelä
9fe784ff7e Merge 10.8 into 10.9 2022-06-15 10:01:51 +03:00
Marko Mäkelä
813986a647 Merge 10.7 into 10.8 2022-06-14 16:19:29 +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
Marko Mäkelä
3cc8539d84 Merge 10.9 into 10.10 2022-05-25 09:15:08 +03:00
Marko Mäkelä
1ace1075dc Merge 10.8 into 10.9 2022-05-25 08:52:21 +03:00
Marko Mäkelä
c2bae9c77f Merge 10.7 into 10.8 2022-05-25 08:38:17 +03: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
956d93b581 MDEV-28587: Remove '-10.9' suffixes entries from Debian control Conflicts/Replaces
MariaDB Debian packages does not have version suffix anymore since MariaDB version 10.9.
This makes obsolete need for the suffix in debian/control file.

Fix Lintian errors:

E: mariadb source: version-substvar-for-external-package Conflicts (line 408) ${source:Version} mariadb-client -> mariadb-client-10.9
E: mariadb source: version-substvar-for-external-package Conflicts (line 575) ${source:Version} mariadb-server-core -> mariadb-server-core-10.9
E: mariadb source: version-substvar-for-external-package Conflicts (line 711) ${source:Version} mariadb-server -> mariadb-server-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 330) ${source:Version} mariadb-client-core -> mariadb-client-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 330) ${source:Version} mariadb-client-core -> mariadb-server-core-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 481) ${source:Version} mariadb-client -> mariadb-client-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 481) ${source:Version} mariadb-client -> mariadb-client-core-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 481) ${source:Version} mariadb-client -> mariadb-server-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 481) ${source:Version} mariadb-client -> mariadb-server-core-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 626) ${source:Version} mariadb-server-core -> mariadb-client-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 626) ${source:Version} mariadb-server-core -> mariadb-server-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 748) ${source:Version} mariadb-server -> mariadb-client-10.9
E: mariadb source: version-substvar-for-external-package Replaces (line 748) ${source:Version} mariadb-server -> mariadb-server-10.9
2022-05-24 10:27:48 +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
bf2bdd1a1a Merge branch '10.8' into 10.9 2022-05-19 14:07:55 +02:00
Marko Mäkelä
4652c1775b Create a 10.10 branch 2022-05-13 13:54:14 +03:00
Sergei Golubchik
443c2a715d Merge branch '10.7' into 10.8 2022-05-11 12:21:36 +02: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
Julius Goryavsky
404984980f MDEV-28500: Hashicorp: Debian packaging is broken
This commit fixes a documentation installation
issue (for debian packaging) and generally brings
the installation control files up to date (as for
the rest of the components).
2022-05-10 08:22:21 +02:00
Sergei Golubchik
ef781162ff Merge branch '10.4' into 10.5 2022-05-09 22:04:06 +02:00
Julius Goryavsky
1146b713b2 MDEV-19281: Plugin implementation for the Hashicorp Vault KMS
- Authentication is done using the Hashicorp Vault's token
  authentication method;
- If additional client authentication is required, then the
  path to the CA authentication bundle file may be passed
  as a plugin parameter;
- The creation of the keys and their management is carried
  out using the Hashicorp Vault KMS and their tools;
- Key values stored as hexadecimal strings;
- Key values caching is supported.
- Implemented a time-invalidated cache for key values and
  for key version numbers received from the Hashicorp Valult
  server;
- The plugin uses libcurl (https) as an interface to
  the HashiCorp Vault server;
- JSON parsing is performed through the JSON service
  (through the include/mysql/service_json.h);
- HashiCorp Vault 1.2.4 was used for development and testing.
2022-05-09 07:55:41 +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
Daniel Black
c8bcb6e809 Deb: dh_missing --fail-missing - columnstore
Per man dh_missing, not-installed will exand wildcards
since debhelper 11.1. Since Stretch is on 10.2.5, this won't happen.

As columnstore is still only x86_64 we can use that in the file.
2022-05-06 15:02:32 +10:00
Daniel Black
e6df7a4c9f Deb: dh_missing --fail-missing/ man3 pages
Put man3 pages in libmariadb-dev.install

Ignore /usr/share/mysql/*.jar because CI
environment inconsistent in the availablity of
java to compile parts.
2022-05-06 15:02:31 +10:00
Otto Kekäläinen
d426d0782d Deb: Use --fail-missing and ensure the not-installed list is up-to-date
Make the Debian build fail if it detects that the build (CMake) created
files that are not used in any package nor accounted in the special
not-installed file.

Stop creating symbolic links in Debian packaging for files that the CMake
build already created.

Document known cases of files that are intentionally not installed.
Leave the rest in the not-installed list for visibility. The list can
later be trimmed down and having the --fail-missing will prevent any new
unaccounted files from being introduced.

Note that despite extensive refactoring in the Debian packaging files,
there was no changes in the packages produced as verified by package
files lists before and after.
2022-05-05 12:06:56 +10:00
Otto Kekäläinen
a82cdb0690 Deb: Finalize the version less Debian package transition
In addition to the binary .deb packages, also remove the version
string from the Debian source package.

Also clean away excess use of __MARIADB_MAJOR_VER__ constant
and add inline note that the whole debian-XX.X.flag file thing
should be removed and replaced by using the new MariaDB server
mysql_upgrade_info file.
2022-05-05 12:06:56 +10:00
Otto Kekäläinen
dde5988306 Deb: Don't Conflicts/Replaces with a 10.9 provided by the same package
Fixes issues like e.g.:

  The following packages have unmet dependencies:
   mariadb-client : Breaks: mariadb-client-core-10.9
                    Breaks: mariadb-server-10.9
   mariadb-server-core : Breaks: mariadb-client-10.9
                         Breaks: mariadb-server-10.9

and

  [ERROR] Missing Breaks/Replaces found
  [ERROR] libmariadb-dev-compat conflicts with libmariadbclient-dev
        files: {'/usr/bin/mysql_config'}
2022-05-05 12:06:56 +10:00
Otto Kekäläinen
ff1d8fa7b0 Deb: Clean away Buster to Bookworm upgrade tests in Salsa-CI
Upgrades from Debian 10 "Buster" directly to Debian 12 "Bookworm",
skipping Debian 11 "Bullseye", fail with apt erroring on:

    libcrypt.so.1: cannot open shared object file

This is an intentional OpenSSL transition as described in
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993755

Hence, clean away such tests.

Also other minor cleanups in salsa-ci.yml.
2022-05-05 12:06:56 +10:00
Otto Kekäläinen
e3a7d13b11 Deb: Remove from Salsa-CI buster-backports as it does not have libfmt 7+
Switch to using bullseye-backports where buster-backports was used or
remove steps that only worked on buster-backports. For example the
Percona XtraDB Cluster 5.7 was available up until Buster but no longer
in Bullseye, so remove it.
2022-05-05 12:06:56 +10:00
Otto Kekäläinen
2c52941423 Deb: Run wrap-and-sort -av
Sort and organize the Debian packaging files.

Also revert 4d03269425 that was done in vain.
For the sake of CI we do want to have working upgrades from previous 10.9
releases and it is doable with another kind of fix in a later commit.
2022-05-05 12:06:56 +10: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
Marko Mäkelä
4d03269425 After-merge fixes
These were broken in commit 504a3b32f6
2022-05-02 09:14:32 +03:00
Marko Mäkelä
504a3b32f6 Merge 10.8 into 10.9 2022-04-28 15:54:03 +03: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
Tuukka Pasanen
375b8f40ce MDEV-27033: Remove version suffix from Debian packages
Remove version suffix from Debian packages (for example mariadb-server-10.9)
because installing suffixed package removes older version
of package even if it's suffixed (for example mariadb-server-10.7)

This make also Debian package management easier in future MariaDB
version iterations because there is no need for stacking
Conlicts/Breaks/Replaces-parameters in every new major release
2022-04-26 12:46:39 +10:00
Tuukka Pasanen
b884410a0e MDEV-28232: Add missing conflict and breaks for MariaDB 10.7
There is missing conflict and breaks for MariaDB 10.7 which
can cause upgrading from 10.6 not be clean and end up with
errors on Debian.
2022-04-22 17:25:41 +10:00