Commit graph

930 commits

Author SHA1 Message Date
Marko Mäkelä
0632b8034b Merge 10.3 into 10.4 2020-04-29 09:05:15 +03:00
Marko Mäkelä
1fbdcada73 Merge 10.2 into 10.3 2020-04-28 22:29:13 +03:00
Sergei Golubchik
fb7c1b9415 MDEV-21331 installation fails on a server with containers
when detecting running mysqld processes to stop,
ignore processes in different namespaces.
2020-04-28 17:51:38 +02:00
Otto Kekäläinen
2655984ed4 Deb: Use mysql[d].service symlinks as created by CMake
Stop making new symlinks and use the existing ones directly as they have
been available since d2f5e82f00.
2020-04-23 10:07:07 +03:00
Otto Kekäläinen
77bf7a9176 Remove excess mysql-* provides (the virtual-mysql-* are enough)
Originally added in cc08c134f7 in 2015
for backwards compatibility with old packages.

It no longer makes much sense in providing mysql-* packages since the
virtual-mysql-* packages paradign has been in effect since 2016 and
all current MySQL installs should already follow the virtual-mysql-*
paradigm controlled by https://tracker.debian.org/pkg/mysql-defaults.
2020-04-23 10:07:07 +03:00
Otto Kekäläinen
7cbde2d0a2 Deb: Misc small fixes and cleanups
- Include binary wsrep_sst_rsync_wan previously omitted.
- Don't build the embedded server. This saves a lot of time and
  around 500 MB of disk space.
- Clean away unused override_dh_installcron. The package does not
  have any *.cron files, so this section is not needed.
- Make mariadb-server run time depend on procps so pgrep works.
  The command pgrep is used in the maintainer scripts of mariadb-server,
  thus we should ensure it is found on the system.
- Include build plugin func_test.so in test package. Don't include yet
  type_test.so since it fails (MDEV-22243).
- Clean away obsolete Lintian overrides.
2020-04-23 10:07:07 +03:00
Otto Kekäläinen
13ec2ecc99 Deb: Rename mysqlreport to mariadb-report, fix regression in 9e1b3af4a
This was partially already done in 9e1b3af4a4
as the symlink mysqlreport pointed to mariadb-report. There just was no
script with that name, so this rename complements it and now both
mariadb-report and mysqlreport work again.
2020-04-23 10:07:07 +03:00
Otto Kekäläinen
7fe2dddb0f Clean up logcheck.ignore.* configs and unify MariaDB.org links with https 2020-04-23 10:07:07 +03:00
Otto Kekäläinen
b8092a3c9d Deb: Remove unmaintained AWS key plugin packaging
Likewise to TokuDB and Cassandra, if this plugin is maintained it should
be either fully enabled or not present at all. Packaging can be recovered
from MariaDB 10.2 if needed, or if build outside of this packaging, then
also the packaging scripts and snippets should be injected from the
outside.
2020-04-23 10:07:07 +03:00
Otto Kekäläinen
da64ec1ede MDEV-19110: Remove Cassandra from Debian packaging
Cassandra has deprecated their Thrift interface years ago (a few months
after Cassandra SE was released). The new way to access Cassandra is to
use the CQL Connector, which does not use Thrift.

There have been talks to make a CassandraSE V2 but no usable code have
been produced. The motivation to keep CassandraSE in the MariaDB source
code is to have it as an example for such future attempts.

It can stay in the source code but it should be removed from packaging
to avoid Debian packaging maintenance work around trying to compile it
and have tests pass on new platform.

If somebody wants Cassandra, they can use the 10.4 branch.
2020-04-23 10:07:07 +03:00
Otto Kekäläinen
9cc1c74ca3 MDEV-21944: Remove TokuDB from Debian packaging
It was already disabled in 1589cf1cb3 but
turns out that as long as the packaging is there, is requires maintenance,
ensuring it still builds, debugging failing tests etc and that takes its
toll and is not worth all the extra work. Having it "only disabled" does
not help, since either we have it and keep it tested and working, or we
don't have it and don't spend time on keeping it working and tested.

In MDEV-19780 there was already a decision to drop TokuDB from MariaDB.

If somebody wants TokuDB, they can use the 10.4 branch.
2020-04-23 10:07:07 +03:00
Otto Kekäläinen
86f59e8615 Deb: Use 'eatmydata' when available to build faster with less disk I/O 2020-04-23 10:07:07 +03:00
Otto Kekäläinen
03119c5890 Deb: Add a customized salsa-ci.yml for easy extra testing
As initially most tests fail, they have allow_failures defined so that
testing anyway proceeds all the way to the final 'upgrade extras' stage.

All of these tests work for downstream Debian packaging of MariaDB 10.4
and should eventually pass on upstream MariaDB 10.5 as well.

Also upstream the Debian autopkgtests from MariaDB 10.4 in Debian so that
pipeline includes running mtr.
2020-04-23 10:07:07 +03:00
Vicențiu Ciorbaru
478ec7750a Cleanup whitespace 2020-04-19 17:17:59 +03:00
Otto Kekäläinen
8c41a1df86 MDEV-21869: Add temporary Lintian overrides
With these in place Lintian will pass without errors (only warnings) and
the CI systems will at least be able to stop anybody from introducing
new Lintian errors.
2020-04-19 17:15:40 +03:00
Otto Kekäläinen
29c5d96da3 MDEV-21869: Make Debian packaging Lintian clean
Fix Lintian complaints on:
 P: maintainer-script-without-set-e
 W: mariadb-server-10.5: script-not-executable usr/share/mysql/mysql.init
 W: mariadb-client-10.5: incorrect-path-for-interpreter usr/bin/innotop
    (#!/usr/bin/env perl != /usr/bin/perl)
2020-04-19 17:15:40 +03:00
Otto Kekäläinen
a4c5480525 MDEV-6284: Sync correct Debian handling of auth_pam_tool
Manages the security risk in way that also fixes Lintian warning:
  W: mariadb-server-10.5: setuid-binary
  usr/lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool 4755 root/root

Applied downstream in
9605a48a99
2020-04-19 17:15:40 +03:00
Otto Kekäläinen
4e946b0f0c MDEV-6284: Sync mariadb-server maintainer scripts as much as possible
There are still some differences in due to systemd and service triggers,
but these differences make sense and are likely to be synced the other
way later so that downstream Debian official packaging adopts them.

The synced changes include among others:
- 9f49e4b494
- 6440c0d6e7
- 6e5ee72d64
- e62e67ae4b
- df2415a53d
- 643558da74
2020-04-19 17:15:40 +03:00
Otto Kekäläinen
9ed7e967b3 MDEV-6284: Sync breaks/replaces relationships and file locations
These changes are in line with what has been changes in downstream Debian
and they fix the following errors:

 $ check_for_missing_breaks_replaces.py -o ${WORKING_DIR}/missing_breaks.xml --changes-file ${WORKING_DIR}/*.changes
 [ERROR] mariadb-client-10.5 conflicts with mytop files: {'/usr/bin/mytop'}
 [ERROR] mariadb-client-10.5 conflicts with mariadb-client-core-10.3 files: {'/usr/bin/mysqlcheck'}
 [ERROR] mariadb-server-10.5 conflicts with mariadb-server-core-10.3 files: {'/usr/share/man/man1/resolveip.1.gz', '/usr/bin/resolveip', '/usr/share/mysql/mysql_test_data_timezone.sql'}
 [ERROR] mariadb-client-10.5 conflicts with mysql-client-core-5.7 files: {'/usr/bin/mysqlcheck'} [ERROR] mariadb-server-10.5 conflicts with mariadb-server-core-10.3 files: {'/usr/share/man/man1/resolveip.1.gz', '/usr/bin/resolveip', '/usr/share/mysql/mysql_test_data_timezone.sql'}
 [ERROR] mariadb-server-10.5 conflicts with mysql-client-5.7 files: {'/usr/bin/myisam_ftdump', '/usr/share/man/man1/myisam_ftdump.1.gz'}
 [ERROR] mariadb-server-core-10.5 conflicts with mysql-server-5.7 files: {'/usr/share/mysql/mysql_test_data_timezone.sql', '/usr/bin/resolveip', '/usr/share/man/man1/resolveip.1.gz'}
 [ERROR] mariadb-test conflicts with mysql-server-5.7 files: {'/usr/lib/mysql/plugin/adt_null.so', '/usr/lib/mysql/plugin/mypluglib.so'}
2020-04-19 17:15:40 +03:00
Otto Kekäläinen
7a0eeaaf66 MDEV-6284: Sync deb build rules etc with downstream
- Ensure cmake builds also apply CPPFLAGS flags for hardening to fully work
  fc4f33cf40
- Install Ubuntu Apport files in the same way with same filename.
- MDEV-21705: Build flags to keep WolfSSL from crashing
- Clean away sql-bench from packaging immediately after build step.
- Delete private files from libraries so they don't get shipped in the -dev
  packages.
2020-04-19 17:15:40 +03:00
Otto Kekäläinen
bc11f392f8 MDEV-6284: Correctly place files in libmariadb-dev, libmariadbd-dev etc packages
- Make full contents, also header files, explicit in -dev packages
  fb77df0c75
- Don't ship private header files at all.
- Ship both libmariadb.pc and maridb.pc.
- Ship mysql_config only as a symlink.
- Keep 'mariadbcheck' as symlink as somebody could have used it already
  d0466f74d5
- The mariadb.pc is the server pkg-config, ship in libmariadbd-dev.
- The client pkg-config is called libmariadb.pc. Ship only it in the client
  library packages.

Use versioned breaks/replaces for mysql* packages we also provide and fix:

  [ERROR] libmariadb-dev conflicts with libmysqlclient-dev files:
    {'/usr/share/man/man1/mysql_config.1.gz', '/usr/share/aclocal/mysql.m4'}
  [ERROR] libmariadb-dev conflicts with libmysqld-dev files:
    {'/usr/lib/x86_64-linux-gnu/libmysqlservices.a'}
2020-04-19 17:15:40 +03:00
Otto Kekäläinen
5cdf245d7e MDEV-6284: Sync deb build dependencies and control file with downstream
- Remove versioned depends that are far outdated and not relevant anymore
  in 2020.
- Link with libedit instead of unmaintained readline5
  d8796a0e3b
- Add [linux-any] for Linux specific depends and other smaller control
  file tweaks.
- Update .travis-ci.yml to match.
- Also fixes the Debian autopkgtest detected error:
    ERROR 1231 (42000) at line 1: Variable 'innodb_compression_algorithm'
    can't be set to the value of 'lz4'
2020-04-19 17:15:40 +03:00
Faustin Lammler
6af0bd6907 MDEV-15526 systemd unit files naming and installation
Drop Aliases from the service file directive. Aliases in the service
file only take effect when the service is enabled. This is the case
because Aliases in service files do not have to be unique across various
services.

Shipping symlinks guarantees that one can always enable mariadb service
using `systemctl enable mysql` or `systemctl enable mysqld` and makes
the commands indempotent.
2020-04-18 16:06:16 +03:00
Otto Kekäläinen
87a7968c23 MDEV-22150: Symlink and move test client plugins to client plugin path
Without this, the mtr will fail to load client plugins and the following
tests would fail:

- main.plugin_auth_qa_2
- main.plugin_auth_qa_3
- main.plugin_auth
- plugins.multiauth
- plugins.auth_ed25519
2020-04-14 12:08:30 +03:00
Otto Kekäläinen
4bc31a904f MDEV-22053: Pass INSTALL_LAYOUT "DEB" correctly to CONC (libmariadb)
As this was missing, the libmariadb/install.cmake section for Debian
builds was not triggered at all, and existing fixes to make the
Debian paths correct did not apply.

Update libmariadb3 paths in Debian packaging after MariaDB Connector C
3.1.8 upgrade

Also now include caching_sha2_password.so which was previously omitted.

Keep old libmariadbclient.a as symbolic link for backwards compatibility.

Closes: CONC-304
Related: CONC-456, MDEV-22150
2020-04-13 14:33:50 +03:00
Otto Kekäläinen
b6eabce139 Travis-CI: Shorten deb build log to keep it under 4 MB
There is a 4 MB hard limit on Travis-CI and build output needs to be less
than that. Silencing the 'make install' step gets rid of a lot of
"Installing.." and "Missing.." and removing all mysql-test files will
make the dh_missing warnings much shorter.
2020-04-06 09:07:02 +03:00
Otto Kekäläinen
811e4409ce Travis-CI: Shorten deb build log to keep it under 4 MB
There is a 4 MB hard limit on Travis-CI and build output needs to be less
than that. Silencing the 'make install' step gets rid of a lot of
"Installing.." and "Missing.." and removing all mysql-test files will
make the dh_missing warnings much shorter.
2020-04-05 23:55:45 +03:00
Otto Kekäläinen
b541defea0 Deb: Build depend on libcurl4-openssl-dev as primary option
The package libcurl4-dev is a virtual package, and no package with that
name actually exists. Depend on libcurl4-openssl-dev as the primary
option in case no libcurl4-dev providing package has been installed, and
if some of them (libcurl4-gnutls-dev, libcurl4-nss-dev,
libcurl4-openssl-dev ) are installed, they also satisfy the dependency
via the virtual package.

The Travis-CI still runs on libcurl3-dev as Travis-CI also runs Ubuntu
Xenial which does not yet have libcurl4 available.

This complements commit 2e0a40bdf0.
2020-04-05 00:24:24 +03:00
Otto Kekäläinen
6959c0922a MDEV-20298 Make mariadb-client-10.5 perl dep backwards compatible
The package libdbd-mariadb-perl has been available in Debian September
2018, so it is already included since Debian Buster and Ubuntu Disco.

Use it as the primary Recommends for MariaDB client binaries, but keep
the MySQL variant as a fall-back in case this package gets backported to
older releases that did not yet have it.

This change was done in downstream Debian packaging in
bb4ad78bc1
2020-04-05 00:24:24 +03:00
Otto Kekäläinen
333e1d82fc Deb: Update control file Depends to include only variables that are set
Don't include variables that are empty and unused.
2020-04-05 00:24:24 +03:00
Otto Kekäläinen
2cedf3eca4 MDEV-21303: Fix man page packaging for new mariadb-* named binaries
This fixes Lintian errors and warnings:

E: mariadb-client-10.5: manpage-not-compressed usr/share/man/man1/mariadb-analyze.1
E: mariadb-client-10.5: manpage-not-compressed usr/share/man/man1/mariadb-optimize.1
E: mariadb-client-10.5: manpage-not-compressed usr/share/man/man1/mariadb-repair.1
E: mariadb-client-10.5: manpage-not-compressed usr/share/man/man1/mysqlanalyze.1
E: mariadb-client-10.5: manpage-not-compressed usr/share/man/man1/mysqloptimize.1
E: mariadb-client-10.5: manpage-not-compressed usr/share/man/man1/mysqlrepair.1
W: mariadb-client-10.5: binary-without-manpage usr/bin/mariadb-conv
W: libmariadb-dev: binary-without-manpage usr/bin/mariadb_config

If the binary name is mariadb_config, the manpage needs to be mariadb_config.1.

Also run 'wrap-and-sort -a -v' to get lists in correct order.

In addition, sort .gitignore and remove duplicate lines.
2020-04-05 00:24:24 +03:00
Otto Kekäläinen
80abfa0eda Don't force to use all processors in autobake-deb.sh
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).
2020-04-04 20:42:00 +03:00
Otto Kekäläinen
1589cf1cb3 Deb: Remove TokuDB from Debian packages while keeping it easy to revert
Related:
- https://jira.mariadb.org/browse/MDEV-19780
- https://jira.mariadb.org/browse/MDEV-21944
2020-04-04 20:42:00 +03:00
Otto Kekäläinen
91994b6be4 Deb: Extend control dependencies for MySQL 8.0 and clean up
Make package have sensible control file relations to mysql-8.0.

Also some cleanup:
- Remove obsolete versioned control relationships. When the package
  name already has a version older than current package, the extra
  version is obsolete.
- Remove obsolete postinst script that was empty
- Remove priority "extra" which is deprecated, use "optional" that
  applies for the whole source package instead.
2020-04-04 20:42:00 +03:00
Otto Kekäläinen
400d7709ce Deb: Clean away deprecated autobake modifications
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
2020-04-04 20:42:00 +03:00
Daniel Black
2e0a40bdf0 Deb: libcurl4 in bionic+/buster+
Otherwise fall back to libcurl3
2020-03-26 17:02:38 +02:00
Sergei Golubchik
fbfd4fafd4 autobake-deb.sh: include symlinks in the final listing 2020-03-24 02:39:32 +01:00
Sergei Golubchik
e4afd3c337 MDEV-22003 mysql_config disappeared from 10.5 (e.g. binary tarball or source build)
* generate and install mysql_config
* symlink mariadb_config (from C/C) to mariadb-config

also:
* .gitignore generated mariadb-config.1
* remove obsolete compiler flag from C/C
2020-03-24 02:39:32 +01:00
Sergei Golubchik
73edb6ffd4 Revert "MDEV-21303 Make executables MariaDB named"
This reverts commit 5d1b8f4152.

because since 306e439c6d manpages use troff aliases
instead of symlinks, so they should not be symlinked.
2020-03-24 02:39:32 +01:00
Sergei Golubchik
5d1b8f4152 MDEV-21303 Make executables MariaDB named
fix manpages in Debian
2020-03-21 20:20:29 +01:00
Rasmus Johansson
9e1b3af4a4 MDEV-21303 Make executables MariaDB named
To change all executables to have a mariadb name I had to:
- Do name changes in every CMakeLists.txt that produces executables
- CREATE_MARIADB_SYMLINK was removed and GET_SYMLINK added by Wlad to reuse the function in other places also
- The scripts/CMakeLists.txt could make use of GET_SYMLINK instead of introducing redundant code, but I thought I'll leave that for next release
- A lot of changes to debian/.install and debian/.links files due to swapping of real executable and symlink. I did not however change the name of the manpages, so the real name is still mysql there and mariadb are symlinks.
- The Windows part needed a change now when we made the executables mariadb -named. MSI (and ZIP) do not support symlinks and to not break backward compatibility we had to include mysql named binaries also. Done by Wlad
2020-03-21 20:20:29 +01:00
Otto Kekäläinen
41952c85f1 Travis-CI: Shorten deb build log to keep it under 4 MB
There is a 4 MB hard limit on Travis-CI and build output needs to be less
than that. Silencing the 'make install' step gets rid of a lot of
"Installing.." and "Missing.." and removing all mysql-test files will
make the dh_missing warnings much shorter.
2020-03-18 22:49:55 +02:00
Otto Kekäläinen
30b44aaec7 Deb: Fix executable bit so dh-exec works (regression in fd2dc9c3fd)
Package contents before this fix:

libmariadb-dev-compat
drwxr-xr-x root/root ./
drwxr-xr-x root/root ./usr/
drwxr-xr-x root/root ./usr/bin/
lrwxrwxrwx root/root ./usr/bin/mysql_config
drwxr-xr-x root/root ./usr/include/
lrwxrwxrwx root/root ./usr/include/mysql
drwxr-xr-x root/root ./usr/lib/
drwxr-xr-x root/root ./usr/lib/${DEB_HOST_MULTIARCH}/
drwxr-xr-x root/root ./usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
lrwxrwxrwx root/root ./usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/mysqlclient.pc
drwxr-xr-x root/root ./usr/lib/x86_64-linux-gnu/
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient.a
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.a
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient.so
drwxr-xr-x root/root ./usr/share/
drwxr-xr-x root/root ./usr/share/doc/
drwxr-xr-x root/root ./usr/share/doc/libmariadb-dev-compat/
-rw-r--r-- root/root ./usr/share/doc/libmariadb-dev-compat/changelog.gz
-rw-r--r-- root/root ./usr/share/doc/libmariadb-dev-compat/copyright

With this fix the '/usr/lib/${DEB_HOST_MULTIARCH}/' becomes correctly
populated with the actual architecture dependent path.

Also add dh-exec to Travis-CI testing so that CI passes.

As an extra small thing, clean away excess executable bit from Mroonga
plugin maintainer script that does not need it.
2020-03-18 22:49:55 +02:00
Otto Kekäläinen
0f8d6e3bd8 MDEV-21942: Correctly use newer libpcre2 version (regression in b6b6980)
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.
2020-03-18 22:49:55 +02:00
Vicențiu Ciorbaru
c235691d67 Merge branch '10.4' into 10.5 2020-03-18 22:44:41 +02:00
Vicențiu Ciorbaru
6a63457639 Merge branch '10.3' into 10.4 2020-03-18 22:15:21 +02:00
Vicențiu Ciorbaru
dd68db0c17 Change exec bit to allow dh-exec to work 2020-03-18 22:14:38 +02:00
Sergei Golubchik
b6b6980686 MDEV-21942 Building 10.5 requires Internet access
fix build requirements for debian
2020-03-16 01:13:01 +01:00
Oleksandr Byelkin
fad47df995 Merge branch '10.4' into 10.5 2020-03-11 17:52:49 +01:00
Oleksandr Byelkin
b7362d5fbc Merge branch '10.3' into 10.4 2020-03-11 14:28:24 +01:00