Commit graph

266 commits

Author SHA1 Message Date
Roman Nozdrin
2c5831b2c5 MCOL-4166 The solution to the minor upgrade issue
DEB package doesn't need expect and libreadline as dependencies

RPM packages now depends on jemalloc again
2020-07-28 09:48:17 +00:00
Otto Kekäläinen
439377927b Deb: Misc ColumnStore Debian packaging improvements
- 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.
2020-07-10 21:56:14 +03:00
Vladislav Vaintroub
272828a171 Merge branch '10.5' into 10.6 2020-07-04 11:53:26 +02:00
Patrick LeBlanc
04df0bdae7 A few important fixes for columnstore.
- fix columnstore's python dependencies (MCOL-4114)
 - reduce compiler warning count from 14k to ~100 (MCOL-4030)
 - disable bintar builds
2020-07-01 08:48:05 +02:00
Sergei Golubchik
8ad9ef642a MDEV-22972 After upgrading server/client to 10.5 clients identified via non-builtin plugins cannot be authenticated
in 10.5.4 libmariadb3 plugins were moved to a new location
2020-06-21 23:49:45 +02:00
Roman Nozdrin
aa9a42d639 Change the method to run SQL statements installing MCS to fix major update scenario.
Added binutils dependency.
2020-06-19 21:04:18 +02:00
Roman Nozdrin
1e7a68f84a Both RPM and DEB now restart MDB uninstalling the plugin.
Both RPM and DEB now conflicts on previous versions of MCS.

    Trim .deb packaging.

    MCS now depends on python. Python version varies in distributions.
2020-06-19 21:04:18 +02:00
Sergei Golubchik
71bf5085e4 MCS on i386 deb 2020-06-19 21:04:17 +02:00
Sergei Golubchik
c2b12c554e build deb packages for columnstore 2020-06-19 21:04:17 +02:00
Roman Nozdrin
09e8c77cad Clean up for debian packaging and updates for systemd service units. 2020-06-19 21:04:17 +02:00
Andrew Hutchings
793dcc7368 Add stub for building ColumnStore 2020-06-19 21:04:17 +02:00
Sergei Golubchik
35034d819c S3 is pluggable now 2020-06-19 19:43:07 +02:00
Otto Kekäläinen
7c2079f600 MDEV-19933: Sync mariadb-common and update-alternatives based /etc/mysql/
Split the big my.cnf into multiple smaller files with the same filenames
and contents as official Debian/Ubuntu packaging has.

The config contents stays the same apart from following additions
which the original MariaDB upstream configs had and probably needs
to be kept:
- lc-messages=en_US and skip-external-locking in server config

Configs the original MariaDB upstream had that are seemingly
unnecessary and thus removed:
- port=3306 removed from the client config
- log_warnings=2 removed from server config

Also adopt update-alternatives system using
mysql-common/configure-symlinks. This way it is aligned with
downstream Debian/Ubuntu packaging.
2020-06-10 13:24:18 +03:00
Otto Kekäläinen
57e654f59b Bugfix: Typo in 4501c7e875 that made mariadb-client-core conflict itself
This fixes the apt error:
  The following packages have unmet dependencies:
  mariadb-client-core-10.6 : Conflicts: mariadb-client-10.6 but
  1:10.6.0+maria~sid is to be installed
2020-05-16 13:00:22 +03:00
Otto Kekäläinen
4501c7e875 Deb: Rename relevant occurrences of 10.5 to 10.6 now in 10.6 series 2020-05-14 19:43:26 +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
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
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
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
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
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
Daniel Black
2e0a40bdf0 Deb: libcurl4 in bionic+/buster+
Otherwise fall back to libcurl3
2020-03-26 17:02:38 +02: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
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
Vicențiu Ciorbaru
fd2dc9c3fd Correctly link mysqlclient.pc to mariadb.pc under multi-arch support 2020-03-08 16:19:43 +02:00
Otto Kekäläinen
f2832a010a MDEV-14918: Use sst_dump from package rocksdb-tools, don't build it
Since this tool is already shipped in the system, don't provide it from
MariaDB from 10.5 series onwards. It will potentially just create an
installation failure due to conflict if users install rocksdb-tools.

Package rocksdb-tools in Debian since Buster (10):
https://packages.debian.org/search?suite=buster&arch=any&mode=path&searchon=contents&keywords=sst_dump

Package rocksdb-tools in Ubuntu since Disco (19.04):
https://packages.ubuntu.com/search?suite=disco&arch=any&mode=exactfilename&searchon=contents&keywords=sst_dump

This change is adopted from Debian the change has been since Dec 18, 2018.
d50e2eaf1f
2020-03-05 09:11:49 +02:00
Otto Kekäläinen
b464b999c9 MDEV-17367: Move my_print_defaults and *.sql to mariadb-server-core
The command is needed to install/upgrade databases. It should therefore
reside in the server-core package, as that package is supposed to contain
all necessary tools to start and run the database (although manually,
there are no automation or service scripts included in server-core by
design).

Also add Breaks+Replaces in the control so upgrades will not complain about
overwriting files in previously installed packages of different name.

This was adopted from Debian where this change has been since Nov 4, 2018.
3689350ad3

In addition, also move all *.sql files referenced mysql_install_db for
the same reasons.
2020-03-05 09:11:49 +02:00
Otto Kekäläinen
85d4a45d15 Deb: Run 'wrap-and-sort -a' so comparison across releases is easier
No functional changes.

Apply this in 10.3 so eventually it is merged to 10.4 and 10.5, which
in turn will have separate wrap-and-sort runs but only for new lines,
and not affecting badly next merges from 10.3 to 10.4 to 10.5.

Also remove a duplicate line that was found thanks to wrap-and-sort.
2020-02-13 20:47:23 +02:00
Otto Kekäläinen
1f0e72f874 Deb: Remove unnecessary manual libzstd1 dependency from RocksDB plugin
The Debian build tools add all run-time dependencies automatically. For the
mariadb-rocksdb-plugin the "${misc:Depends}, ${shlibs:Depends}" will become
(based on the build dependencies at build time):

  Depends: mariadb-server-10.4 (= 1:10.4.12-1), rocksdb-tools,
  libc6 (>= 2.29), liblz4-1 (>= 0.0~r130), libsnappy1v5 (>= 1.1.8),
  libstdc++6 (>= 7), libzstd1 (>= 1.3.3), zlib1g (>= 1:1.1.4)

There is no need to manually add run-time build dependencies. Only external
dependencies need to be defined, for example rocksdb-tools could come in
question for mariadb-plugin-rocksdb, and it will be eventually added when
downstream official Debian packaging is merged upstream in a later commit.
2020-02-13 20:47:23 +02:00
Otto Kekäläinen
415797f1a6 Deb: Run 'wrap-and-sort -a' so comparison across releases is easier 2020-02-13 09:54:22 +00:00
Sergei Golubchik
95898ac9bd Revert "Fix upgrade errors on eoan"
This reverts commit 0d345ec2e3.

Upgrades from 8.0 don't work yet, one has to dump/restore
manually to get the metadata out of the data dictionary.
2019-11-29 09:08:52 +01:00
Sergei Golubchik
0d345ec2e3 Fix upgrade errors on eoan
mariadb packages conflict with mysql-8.0
2019-11-28 16:01:02 +01:00
Marko Mäkelä
1333da90b5 Merge 10.4 into 10.5 2019-09-24 10:07:56 +03:00
Otto Kekäläinen
97cd583df7 Deb: Sync non-functional changes from official Debian 10.4 packaging
- Update comment strings
- Extend package description to satisfy Lintian complaint
- Remove uscan stanza from rules as it is never used anyway
2019-09-18 16:11:49 +03:00
Otto Kekäläinen
ffd36093f1 Deb: Run 'wrap-and-sort -a' so comparison across releases is easier 2019-09-18 16:11:49 +03:00
Marko Mäkelä
624dd71b94 Merge 10.4 into 10.5 2019-08-13 18:57:00 +03:00
Marko Mäkelä
e9c1701e11 Merge 10.3 into 10.4 2019-07-25 18:42:06 +03:00
Pali
5cc2096f93 Switch Perl DBI scripts from DBD::mysql to DBD::MariaDB driver
Perl DBD::MariaDB driver is available CPAN and is already used in
production environment.
2019-07-19 13:39:20 +03:00
Eugene Kosov
0f83c8878d Merge 10.2 into 10.3 2019-07-16 18:39:21 +03:00
Sergei Golubchik
d3c21484be MDEV-19942 Default installation of mariadb-server doesn't allow clients to use client plugins
while client tools technically don't need or depend on libmariadb3.so,
they need client plugins, that come with it.
2019-07-05 08:38:47 +02:00
Monty
2faa7dcd5c Updated debian packages to 10.5 2019-05-23 01:20:17 +03:00
Sergei Golubchik
48fb4504c5 MDEV-18337 Upgrade to 10.4 fails on some Ubuntu's due to dialog.so conflict
Restore changes from 10d347dc6a that were lost in a merge
2019-01-24 16:15:41 +01:00