Commit graph

930 commits

Author SHA1 Message Date
Daniel Black
3d28d1f3aa MDEV-23697: /usr/bin/perl for debian scripts 2020-09-24 08:16:30 +10:00
Daniel Black
4ddaa571fa MDEV-23697: perl -w -> perl
Leave debian/additions/mysqlreport as #!/usr/bin/perl

Acknowledge that `env perl` is a hack, a complete fix
needs to consider which path perl is at and insert into
these scripts.

The usefulness of these scripts is questionable.
2020-09-24 08:09:56 +10:00
Marko Mäkelä
17be2b47ba Merge mariadb-10.5.5 2020-08-10 21:11:54 +03:00
Daniel Black
2b6dd87b2c debian: 99-enable-encryption.cnf.preset file, not symlink
Prevents errors on Windows Linux subsystem.

Fix to pr #1600
2020-08-08 14:06:33 +10:00
Daniel Black
699a43704b debian: remove gcc check. don't package rocksdb on x86_32 2020-08-08 14:04:14 +10:00
Daniel Black
cca55a9ca9 debian: disable rocksdb on 32bit with valid cmake directive 2020-08-08 14:04:13 +10:00
Sergei Golubchik
2b856ecd98 MCOL-4229 ColumnStore fails to build on Ubuntu 20.10 due to missing readline
partially revert 2c5831b2c5 - ColumnStore still needs readline to build
2020-08-07 13:36:11 +02:00
Sergei Golubchik
44885273f2 MDEV-23342 MariaDB cannot be installed over MySQL 5.7.30 on Bionic anymore
Deb: fix Conflicts/Replaces/Breaks
2020-08-07 13:36:11 +02:00
Otto Kekäläinen
842da858b6 Unify config syntax in default files
- Include a link to the relevant KB article for more info
- Use spaced around the equal sign for better readability and so that
  the examples are more aligned with the general style in the KB
- Load plugins with just the base name, the .so is optional and excess
2020-08-01 10:31:41 +10:00
Otto Kekäläinen
f99de8915e Deb: Make RocksDB plugin depend on python3 as myrocks_hotbackup needs it
This fixes the Lintian error and thus the Lintian override can also be
removed.
2020-07-30 10:36:39 +10:00
Otto Kekäläinen
a10f72aa5e Deb: Proper DH_ and DEB_ flag use in debian/rules
- DEB_BUILD_HARDENING is only used with hardening-wrapper which is
  deprecated in Debian, so remove it
- The word 'terse' should be checked in DEB_BUILD_OPTIONS and verbosity
  controlled by it
2020-07-30 10:36:39 +10:00
Otto Kekäläinen
497e7eda8c Deb: Stop suggesting tinyca, upstream project does not exist anymore
TinyCA has not been updated since 2016 and was removed from Debian in 2019
and the dev site https://tinyca.alioth.debian.org/ is offline.

See https://tracker.debian.org/pkg/tinyca
2020-07-30 10:36:39 +10:00
Otto Kekäläinen
bdf8268307 Deb: Simplify and unify autobake-deb.sh
- Remove excess build flag from debian/rules that does nothing, introduced
  wrongly in commit 7cbde2d0a2. Instead
  implement the embedded server build skipping on Travis-CI correctly.
- Simplify structure by doing all Travis-CI slimdown in one step.
- Remove unnecessary -e from sed, as it does nothing. When regex is needed,
  use -r. Move -i to last so it is close to the file name it has an
  argument.
- Remove backwards compat checks that are no longer relevant as neither
  Debian Jessie (was before Stretch) nor Ubuntu Trusty (before Xenial)
  are supported nor built for anymore. For example the GCC 4.8 check
  if not relevant anymore, since Debian Jessie already has 4.9 and
  Ubuntu Xenial has 5.3 and there is no GCC < 4.8 around anymore.
- Skip building ColumnStore on both Travis-CI and Gitlab-CI as it is
  way too slow (time) and big (disk space) to pass.
2020-07-30 10:36:39 +10:00
Otto Kekäläinen
7a0fa9da03 Deb: Cleanup and document
- Remove unnecessary unused files
- Remove duplicate encryption configuration sample from sources and
  re-use the identical file in RPM directory instead
- Clean away harmful "default-character-set = utf8mb4" from client config
  as it is unnecassary (server enforces utf8mb4 anyway by default) and
  could cause issues with mysqlbinlog and other tools (MDEV-22981).
- Update S3 plugin description to be long enough
- Remove trailing whitespace from support-files and Debian packaging.
- Clean away fixed Lintian issues
- Clean away temporary Salsa-CI fixes now that 10.5.4 is out and is fixed
- Apply wrap-and-sort -a -v
2020-07-30 10:36:39 +10:00
Otto Kekäläinen
7c1807a0ad Deb: On upgrades, stop both mysqld and mariadbd for backwards compat 2020-07-30 10:36:39 +10:00
Otto Kekäläinen
b8031e362a Use mktemp instead of deprecated tempfile
This fixes the warning emitted during `/etc/init.d/mariadb restart`:
  WARNING: tempfile is deprecated; consider using mktemp instead.
2020-07-30 10:36:39 +10:00
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
Roman Nozdrin
2726203994 Remove obsolete file from the packaging list. 2020-07-11 14:04:53 +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
Otto Kekäläinen
55c7536a02 Add man page for new command aria_s3_copy
Based on output of 'aria_s3_copy --help'.

Also fix a typo in command help.
2020-07-08 12:24:55 +03:00
Marko Mäkelä
1813d92d0c Merge 10.4 into 10.5 2020-07-02 09:41:44 +03:00
Marko Mäkelä
f347b3e0e6 Merge 10.3 into 10.4 2020-07-02 07:39:33 +03:00
Marko Mäkelä
1df1a63924 Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
Marko Mäkelä
ea2bc974dc Merge 10.1 into 10.2 2020-07-01 12:03:55 +03: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
Oleksandr Byelkin
039cb6f6bf MDEV-22981: Bad "default-character-set" option in [client] option group 50-client.cnf on Debian/Ubuntu
Remove unsuported parameter by some clients.
2020-06-23 15:49:25 +02:00
Daniel Black
37c88445e3 mtr: use env for perl
On FreeBSD, perl isn't in /usr/bin, its in /usr/local/bin or
elsewhere in the path.

Like storage/{maria/unittest/,}ma_test_* , we use /usr/bin/env to
find perl and run it.
2020-06-23 03:24:46 +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
070413fab3 columnstore: delete .rpmsave, install tests 2020-06-19 21:04:18 +02:00
Roman Nozdrin
976d4570cd Change installed files list to align with the recent changes in the server.
Updated MCS
2020-06-19 21:04:18 +02:00
Roman Nozdrin
2e6acebedd MDEV-22197 Change .deb cleanup on uninstall and add extra install files.
Update MCS ref.
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
Roman Nozdrin
0f88fd84e6 MCOL-3991 MCS is now shiped in a single package. 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
7803601dcb MDEV-22569: Run bin/mariadbd instead of bin/mysqld
Replace all references to /usr/sbin/mysqld (and bin and libexec) with
mariadbd, so that the binary server will always be 'mariadbd'.

Also update all places that reference the server binary in other ways,
such as AppArmor profiles and scripts that previously expected to find
a 'mysqld' in process lists.
2020-06-16 12:59:30 +03:00
Sergei Golubchik
07d1c8567c post-fix for #1504 2020-06-12 01:17:57 +02:00
Otto Kekäläinen
ba4148698f MDEV-19917: Install Spider with a simple spider.cnf
To install Spider one can simply drop a /etc/mysql/conf.d/spider.cnf like

  [mariadb]
  plugin-load-add=ha_spider.so

This is automatically generated and installed when plugin is correctly
registered to plugin.cmake with its own component name. Many other plugins
such as Connect and RocksDB install in the same way.

This solved MDEV-19917 as the mere adding and removing of spider.cnf
automatically installs and uninstalls it.

Remove the overly complex and uncecessary install.sql from Spider,
if should not be needed in modern times anymore.

With this change there is no need for a uninstall.sql either.
2020-06-10 13:24:21 +03:00
Otto Kekäläinen
bb8477778b Deb: Clean up default configs for 10.5 era
- Recommend max_allowed_packet=1G which is the same as the default client
  value.
- Remove thread_concurrency removed in 10.5.
- Remove query cache, not recommended practice anymore.
- Remove binlog_*, should not recommend those too easily but rather require
  the database administrator to read up on those themselves.
- Remove chroot setting, not relevant in modern container era.
- Show explicitly innodb_buffer_pool_size example as the most likely thing
  a database administrator should change.
- Don't recommend rate limiting in slow log, logging once in a 1000
  would not be optimal for the basic case, hence bad example.
- Install the example configs in /usr/share/mysql.
- Use correct path /run/ instead of /var/run/.
2020-06-10 13:24:19 +03: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
8d056affd8 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.

Cherry-picked from 41952c85f1.
2020-05-17 15:46:34 +03:00
Otto Kekäläinen
91446c822f Deb: Create empty migrated-from-my.cnf-settings.conf for Buildbot tests
The buildbot.askmonty.org has explicit tests that check that this file
exists, thus to get tests pass, an empty placeholder must be created.
Remove this once CI has been updated not to expect this file.
2020-05-16 10:42:35 +03:00
Otto Kekäläinen
dab5698b3c Deb: Stop using mariadb-service-convert
We can't expect that users want to always convert their mysqld_safe
settings on an upgrade. In its current form it will always run, and that
seems unnecessary on every single installation.

Also the script is buggy, leaks mysqld_safe output into the written file
and since it gets syntax errors the whole mariadb.service will fail to
work.
2020-05-16 10:42:35 +03:00
Otto Kekäläinen
69964c4425 Deb: Add manually dh_systemd_start snippets
These do now show up automatically due to init and systemd customizations,
so the handiest fix is to add them manually. This has been the praxis
in downstream MariaDB packaging for a couple years now, and works fine.

- Ensure service is loaded and started after installation,
  (fixes service start issues in Debian/Ubuntu upgrades where
  otherwise service mysql status stayed stopped)

- Ensure service stopped before removal/purge
  (fixes unstopped processes detected by piuparts)

- Ensure systemd daemon is reloaded after removal/purge when service
  has been removed
2020-05-16 10:42:35 +03:00
Otto Kekäläinen
764dd39ca7 Deb: Add support for legacy init systems again
Partially reverts commit a4cc6fb91f.

While all current versions of Linux have systemd, support for traditional
init.d is still needed e.g. on Linux subsystem on Windows, kFreeBSD and
special variants of Debian/Ubuntu that for other reasons don't have
systemd.

Thus, re-introduce the init file that was remove, but this time with
then name 'mariadb'.

Supporting traditional sysv init in paraller with systemd is easy, since
Debian has facilities for it.

Also simplify and update salsa-ci.yml install/upgrade testing works
for all previous MariaDB and MySQL releases without any excess quirks.

Note that in fresh installs the salsa-ci.yml needs to run command
'service mariadb status' to control the service, while on upgrades
it is enough to run 'service mysql status', since the init.d/mysql
file is left behind from previous install, along with some other
config files such as /etc/default/mysql and /etc/mysql/* stuff.
2020-05-16 10:42:35 +03:00
Marko Mäkelä
496d0372ef Merge 10.4 into 10.5 2020-04-29 15:40:51 +03:00