percona: adapt upstream release model

In accordance to the upstream release cycle, we now provide 2 flavours
of the percona mysql ecosystem. The default is the LTS variant,
additionally there is now the floating `percona-server_innovation`
always pointing to the most recent regular release.

- mentioned in release notes
- adapted all depending tests and tools (xtrabackup)
This commit is contained in:
Oliver Schmidt 2024-05-07 21:01:30 +02:00
parent 58240f8069
commit 52506a2744
9 changed files with 18 additions and 12 deletions

@ -238,6 +238,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.
- `percona-server` now follows [the same two-fold release cycle](https://www.percona.com/blog/lts-and-innovation-releases-for-percona-server-for-mysql/) as Oracle MySQL and provides a *Long-Term-Support (LTS)* in parallel with a continuous-delivery *Innovation* release. `percona-server` defaults to `percona-server_lts`, will be backed by the same release branch throughout the lifetime of this stable NixOS release, and is still available under the versioned attribute `percona-server_8_0`.
The `percona-server_innovation` releases however have support periods shorter than the lifetime of this NixOS release and will continuously be updated to newer Percona releases. Note that Oracle considers the *Innovation* releases to be production-grade, but each release might include backwards-incompatible changes, even in its on-disk format.
The same release scheme is applied to the supporting `percona-xtrabackup` tool as well.
- `git-town` was updated from version 11 to 13. See the [changelog](https://github.com/git-town/git-town/blob/main/CHANGELOG.md#1300-2024-03-22) for breaking changes.
- `k9s` was updated to v0.31. There have been various breaking changes in the config file format,

@ -4,7 +4,7 @@
inherit (pkgs) mysql80;
};
perconaPackages = {
inherit (pkgs) percona-server_8_0 percona-server_8_3;
inherit (pkgs) percona-server_lts percona-server_innovation;
};
mkTestName = pkg: "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor pkg.version)}";
}

@ -146,7 +146,6 @@ in
}) mariadbPackages)
// (lib.mapAttrs (_: package: makeMySQLTest {
inherit package;
# FIXME: packages are renamed soon anyways
#name = package.pname;
name = builtins.replaceStrings ["-"] ["_"] package.pname;
hasMroonga = false; useSocketAuth = false;
}) perconaPackages)

@ -12,7 +12,7 @@ assert !(withJemalloc && withTcmalloc);
stdenv.mkDerivation (finalAttrs: {
pname = "percona-server";
pname = "percona-server_innovation";
version = "8.3.0-1";
src = fetchurl {
@ -95,7 +95,7 @@ stdenv.mkDerivation (finalAttrs: {
connector-c = finalAttrs.finalPackage;
server = finalAttrs.finalPackage;
mysqlVersion = lib.versions.majorMinor finalAttrs.version;
tests = nixosTests.mysql.percona-server_8_3;
tests = nixosTests.mysql.percona-server_innovation;
};

@ -6,7 +6,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "percona-server";
pname = "percona-server_lts";
version = "8.0.36-28";
src = fetchurl {
@ -80,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
connector-c = finalAttrs.finalPackage;
server = finalAttrs.finalPackage;
mysqlVersion = lib.versions.majorMinor finalAttrs.version;
tests = nixosTests.mysql.percona-server_8_0;
tests = nixosTests.mysql.percona-server_lts;
};
meta = with lib; {

@ -960,6 +960,8 @@ mapAliases ({
pdf2xml = throw "'pdf2xml' was removed: abandoned for years."; # Added 2023-10-22
peach = asouldocs; # Added 2022-08-28
pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23
percona-server_8_0 = percona-server_lts; # Added 2024-05-07
percona-xtrabackup_8_0 = percona-xtrabackup_lts; # Added 2024-05-07
perldevel = throw "'perldevel' has been dropped due to lack of updates in nixpkgs and lack of consistent support for devel versions by 'perl-cross' releases, use 'perl' instead";
perldevelPackages = perldevel;
pgadmin = pgadmin4;

@ -11701,24 +11701,25 @@ with pkgs;
perceptualdiff = callPackage ../tools/graphics/perceptualdiff { };
percona-server_8_0 = callPackage ../servers/sql/percona-server/8.0.x.nix {
percona-server = percona-server_lts;
percona-server_lts = callPackage ../servers/sql/percona-server/lts.nix {
inherit (darwin) cctools developer_cmds DarwinTools;
inherit (darwin.apple_sdk.frameworks) CoreServices;
boost = boost177; # Configure checks for specific version.
icu = icu69;
protobuf = protobuf_21;
};
percona-server_8_3 = callPackage ../servers/sql/percona-server/8.3.nix {
percona-server_innovation = callPackage ../servers/sql/percona-server/innovation.nix {
inherit (darwin) cctools developer_cmds DarwinTools;
inherit (darwin.apple_sdk.frameworks) CoreServices;
# newer versions cause linking failures against `libabsl_spinlock_wait`
protobuf = protobuf_21;
};
percona-xtrabackup = percona-xtrabackup_8_0;
percona-xtrabackup_8_0 = callPackage ../tools/backup/percona-xtrabackup/8_0.nix {
percona-xtrabackup = percona-xtrabackup_lts;
percona-xtrabackup_lts = callPackage ../tools/backup/percona-xtrabackup/lts.nix {
boost = boost177;
};
percona-xtrabackup_8_3 = callPackage ../tools/backup/percona-xtrabackup/8_3.nix { };
percona-xtrabackup_innovation = callPackage ../tools/backup/percona-xtrabackup/innovation.nix { };
pick = callPackage ../tools/misc/pick { };