Commit graph

22 commits

Author SHA1 Message Date
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
Otto Kekäläinen
9595ea8992 Deb: Sync Salsa-CI from Debian MariaDB 10.5 repository
Since Debian Sid now has MariaDB 10.6, we can't do any upgrade tests in
Debian Sid for the 10.5 branch anymore. It would just fail with downgrade
errors.

Also, since MariaDB 10.5 is no longer in Sid, we can't even test 10.5.x
to 10.5.y upgrades in Sid.

Instead the 10.5 branch salsa-ci.yml should run all builds and tests based
on Debian Bullseye, which has MariaDB 10.5 (only).

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

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

NOTE TO MERGERS: This commit is intended for the 10.5 branch only, do not
merge anything from it on 10.6 or any other branch.
2022-03-17 20:41:50 -07:00
Otto Kekäläinen
eab89f14ab Deb: Adapt custom build steps to be compatible with latest Salsa-CI
Upstream Salsa-CI refactored the build process in
58880fcef5

This broke our custom direct invocation of install-build-deps.sh as the
Salsa-CI images no longer contain them. Adapt the .build-script
equivalent to follow new Salsa-CI method so builds work again.
2022-01-03 18:17:21 +02:00
Otto Kekäläinen
cda072bb4b Deb: Sync build and runtime dependencies from downstream to upstream
- Go back to using $MAJOR_VER instead of hard-coded version strings where
  possible.

- Default to 'auto' in NUMJOBS instead of just 1. Will make mysql-test-run
  faster.

- Unify autopkgtest with latest version in Debian, use eatmydata to make
  mysql-test-run faster.

- Salsa-CI: Remove obsolete 'artifacts: true' as that is the default value.

- Salsa-CI: Clean away obsolete temporary fixes.

- Salsa-CI: Unify with salsa-ci.yml in Debian, including test upgrades
  from Bullseye to Debian unstable.
2021-10-09 17:44:11 -07:00
Otto Kekäläinen
07abcb5045 Deb: Fix Gitlab-CI/Salsa-CI builds failures
The debian/salsa-ci.yml used to work also on upstream MariaDB.org branches,
but has recently regressed and several jobs stopped working. These fixes
are necessary to get it working again.

* Partially revert 8642f592 that never worked, as MariaDB 10.2 does not
  have a mysql.global table nor a mariadb.sys user. Those features weren't
  introduced until MariaDB 10.4.

* Partially revert 0268b871 as we don't want ColumnStore as part of the
  native Debian build. It should build only when the build is triggered
  via autobake-deb.sh (MariaDB.org builds).

* Adjust salsa-ci.yml to cope with various Stretch to Sid upgrade issues
  and remove the legacy mariadb-connector-c job completely as that package
  hasn't been around for years anymore.

* Extend Lintian overrides to be otherwise Lintian clean
2021-09-13 17:34:55 -07:00
Daniel Black
8642f592e6 debian/salsa: Show complete auth and plugin situtation
SHOW PLUGINS has a more complete view of the installed
plugins into the server.

The mysql.user is a compatibility view that doesn't
show the complete authentication picture. Use global_priv.

Add `show create user` for default users to more clearly
represent its contents.
2021-07-21 17:02:49 +10:00
Otto Kekäläinen
d4a6e3a698 Deb: Misc cleanup and autobake-deb.sh and Salsa-CI fixes
* Clean up autobake-deb.sh

  - No need to define any TokuDB rules, there is no such package
  - No need to define RocksDB arch, it already has "Architecture:" line
  - No need to dh-systemd backwards compat stanza, neither Debian Jessie
    nor Ubuntu Xenial has any new MariaDB 10.5 releases anymore
  - Minor spelling fixes

* Ensure dch runs non-interactively so builds pass with new dch version

  A recent version of dch (available in Ubuntu Hirsute and Debian Bullseye)
  had a change in behaviour that it started prompting if the DEBEMAIL or
  EMAIL variable as unset, asking for confirmation. We can't have anything
  interactive in our build scripts, so prevent this prompt by giving
  --controlmaint to the command, so it always uses the name and email from
  the debian/control file and does not prompt anything.

  The command-line argument has been around for a long time, so it is safe
  to use on all Debian/Ubuntu builds we have.

  See https://manpages.debian.org/jessie/devscripts/dch.1.en.html

  Since MariaDB 10.5 is the oldest release we still release for Ubuntu Hisute
  and Debian Bullseye, merge this on 10.5 and from there merge up to latest.
  No need to consider 10.2, 10.3 and 10.4 as those will not be released for
  Ubuntu Bullseye or Ubuntu Hirsute.

* Minor Salsa-CI cleanup

  - Fix spelling (synced from downstream Debian)

* Many minor spelling fixes (synced from downstream Debian)
2021-06-05 19:25:16 -07:00
Otto Kekäläinen
803fa4b3fc MCOL-4535: Clean up libreadline as ColumnStore no longer needs it
Keep the readline installation step in Salsa-CI stages that install
MariaDB.org packages in Debian Sid (or releases after is, such as
Debian 11 "Bullseye" or Ubuntu 21.04 "Hirsute") as those old packages
still depend on readline for the MariaDB Server itself.
2021-05-04 09:13:28 -07:00
Daniel Black
fce3e4ee8f Revert "Deb: Use build flag to enforce default charset as utf8mb4"
This reverts commit f26e3259a1.
2021-04-16 18:21:52 +10:00
Otto Kekäläinen
f26e3259a1 Deb: Use build flag to enforce default charset as utf8mb4
Possible now since
29720950ee

Upstreamed from ca5e93c754

Closes: #1722
2021-04-15 11:34:20 +10:00
Otto Kekäläinen
0df74a0197 Deb: Fix failing Salsa-CI by syncing fixes from downstream to upstream
Fixes jobs:
- mysql-8.0 Sid to mariadb-10.5 upgrade
- mariadb.org-10.5 to mariadb-10.5 upgrade

Downstream source:
8db0e53087
2021-03-29 07:29:03 -07:00
Otto Kekäläinen
5a4daa9099 Deb: Add Breaks/Replaces
Fix the following Breaks/Replaces errors detected by Salsa-CI:

  [ERROR] mariadb-server-10.5 conflicts with mysql-client-core-8.0 files:
    {'/usr/bin/myisam_ftdump', '/usr/share/man/man1/myisam_ftdump.1.gz'}
  [ERROR] mariadb-server-10.5 conflicts with mysql-server-core-8.0 files:
    {'/usr/share/man/man1/mysqlbinlog.1.gz',
     '/usr/share/man/man1/myisamlog.1.gz',
     '/usr/share/man/man1/mysql_tzinfo_to_sql.1.gz',
     '/usr/share/man/man1/perror.1.gz',
     '/usr/share/man/man1/myisampack.1.gz',
     '/usr/bin/mysqld_safe', '/usr/share/man/man1/myisamchk.1.gz',
     '/usr/bin/myisamchk', '/usr/bin/mysql_secure_installation',
     '/usr/bin/mysqld_multi', '/usr/bin/mysql_tzinfo_to_sql',
     '/usr/bin/perror', '/usr/share/man/man1/mysqld_multi.1.gz',
     '/usr/bin/myisampack', '/usr/share/man/man1/mysqld_safe.1.gz',
     '/usr/bin/myisamlog',
     '/usr/share/man/man1/mysql_secure_installation.1.gz',
     '/usr/bin/mysqlbinlog'}
  [ERROR] mariadb-test conflicts with mysql-server-core-8.0 files:
    {'/usr/lib/mysql/plugin/adt_null.so',
     '/usr/lib/mysql/plugin/mypluglib.so'}

Upstreamed from Debian packaging commits:
9b6a67b53c
f6d5545a02

Also:
- remove excess '<< ${source:Version}' on mysql-client-* and mysql-server-*
- move more packages to Conflicts as it is semantically more correct than
  having those packages in Replaces
2021-03-29 07:29:04 -07:00
Otto Kekäläinen
bba6c38630 Deb: Sync downstream changes upstream
- Reduce Build-Depends
  150bf990c6

  Dependencies chrpath, dh-apparmor and libarchive-dev are not needed.
  Fixes buildbot sid failures that error on:
    Unmet build dependencies: chrpath dh-apparmor libarchive-dev

- Salsa-CI: Remove mysql-5.7 upgrade in Sid test as package was removed
  6f55ac620c

  Also clean away extra Salsa-CI markup not needed anymore.

- Autopkgtest: Simplify autopkgtest 'smoke' to be easier to debug
  836907989a

- Autopkgtest: Skip main.failed_auth_unixsocket on armhf and i386
  74601f8b31
2021-03-10 08:50:12 +02:00
Otto Kekäläinen
7fb528d722 Deb: Remove build depencency libreadline-gplv2-dev no longer available
The Readline library is no longer available in Debian Sid.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=980504

Add the dependency on-the-fly in autobake-deb.sh for older distro versions
and keep the native build in a state that works on Debian Sid as-is.
2021-02-11 17:59:09 +02:00
Otto Kekäläinen
2405752855 Salsa-CI: Install readline from Buster as it was removed from Sid
The older MariaDB.org packages were built against libreadline5 and depend
on it to install. As it was removed from Sid (and Bullseye), fetch and
install it from Buster.

This can eventually be removed once we stop backwards compat testing for
older MariaDB versions (new ones don't depend on it).

Upstreamed from Debian packaging repository commit
4b729db7f8
2021-02-11 17:59:09 +02:00
Otto Kekäläinen
ae185f393c Salsa-CI: Use aptitude to resolve build dependencies
Adopt the same install-build-deps.sh the upstream Salsa-CI has started
using. Since we have our own custom build step (to support autobake-deb.sh)
we need to maintain in like this and adopt to upstream changes.

This change will make the stretch-backports build pass and use the
backported libzstd-dev 1.3.8 library (to satisfy the > 1.3.3 requirement).

Also clean away excess autopkgtest stanza and allow missing-breaks to
fail so that in total Salsa-CI would now pass.
2021-01-03 21:14:32 +02:00
Otto Kekäläinen
ecb1b8721b Salsa-CI: Copy most of Salsa-CI from Debian 10.5
- Use new Salsa-CI templates just like downstream does
- Also apply adaptations needed for native MariaDB to
  build correctly on Salsa-CI
- Adapt for mysql-8.0 now in Debian Sid, keep also mysql-5.7 test
- Test TLSv1.3 to ensure it does not regress
- Remove Snappy compression from autopkgtest as it not longer works
2020-12-21 19:03:29 +02: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
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
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
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