Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

percona: update packages, init 8.4 #346027

Merged
merged 11 commits into from
Oct 14, 2024
Merged

Conversation

osnyx
Copy link
Contributor

@osnyx osnyx commented Oct 2, 2024

  • updates LTS packages for percona-server and percona-xtrabackup in the 8.0 release series
  • inits the 8.4 release series of percona-server and percona-xtrabackup
    • the 8.4 series is another LTS release, hence the percona-server_lts and percona-xtrabackup_lts now point towards these packages
    • the 8.3 innovation series is now end-of-life, thus the -innovation package names temporarily point to 8.4 as well, until the release of 8.5

I had to restructure the package naming again, partially undoing #309953:
When reworking the percona package naming towards the two release
streams "innovation" and "lts", I did not anticipate the case that two
releases are long-term supported in parallel, and that the latest
Innovation release is end-of-life and replaced by a more recent lts.

Hence, the first-level attribute names now reflect the package
major-minor versions again, augmented by attribute names pointing to
respective lts and innovation releases.

notes on backporting

I intend to manually backport this to release-24.05. The package-updates will be kept as-is, but the -lts names will continue to point to the 8.0 release series to avoid breaking changes within a release.
The backport is necessary, as 8.3 is end-of-life by now.

Changelogs:

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@osnyx
Copy link
Contributor Author

osnyx commented Oct 2, 2024

I can also offer to run this through our extended test suite that combines percona-server and xtrabackup invocations, but that might take a few days.

@osnyx
Copy link
Contributor Author

osnyx commented Oct 4, 2024

I found a typo in a commit message and had to reword that commit. Code remains unchanged.

@osnyx
Copy link
Contributor Author

osnyx commented Oct 4, 2024

Our internal extended test suite currently fails for percona-server_8_4, but this is likely cause by native password authentication now being disabled by default.
I added this change to the NixOS 24.11 release notes.

For percona-server_8_0 the test suite still passes.

@osnyx
Copy link
Contributor Author

osnyx commented Oct 9, 2024

I can happily report that our extended test suite passes again after enabling legacy password auth again. So the packages are working fine.

Copy link
Member

@Ma27 Ma27 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes are looking good and the packages build for me.

Two things however:

  • Should we also update the list of percona packages in nixos/tests/mysql/common.nix to match our current naming scheme? I'd suggest to just do percona-server_8_0 and percona-server_8_4 there (and percona-server_8_5 when it gets out - or 9_0 or whatever the next one will be).
  • Also, I have one request about the commits themselves: I see that you've renamed files in the commits and then changed the imports in another commit (the rework naming part). This has the downside that there are some commits where percona doesn't evaluate which has the potential of making bisects unnecessarily hard. Can you please make sure that if you rename a file in a commit, the import of the file also gets changed already?

When reworking the percona package naming towards the two release
streams "innovation" and "lts", I did not anticipate the case that two
releases are long-term supported in parallel, and that the latest
Innovation release is end-of-life and replaced by a more recent lts.

Hence, the first-level attribute names now reflect the package
major-minor versions again, augmented by attribute names pointing to
respective lts and innovation releases.
Copy link
Member

@leona-ya leona-ya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally this seems to be the right move. Also because Percona won't release Innovation releases anymore for 9.x

pkgs/top-level/all-packages.nix Outdated Show resolved Hide resolved
@osnyx
Copy link
Contributor Author

osnyx commented Oct 13, 2024

@Ma27 You're correct with your remarks on rebasing. My motivation was to lay out the commits in a way that makes backporting easier, but I guess I found another good commit scoping now.

Percona upstream has decided not to create releases or each MySQL
innovation upstream release, but just for LTS releases.
https://www.percona.com/blog/no-mysql-9-x-innovation-releases-from-percona/
Corrects the partially wrong change from NixOS#313931, all Oracle MySQL
derivates are actually GPLv2 only.
@osnyx
Copy link
Contributor Author

osnyx commented Oct 13, 2024

I fixed some small further nitpicks, also updated the designated backport. Please re-review.

@Ma27 Ma27 merged commit 782b08b into NixOS:master Oct 14, 2024
30 of 31 checks passed
@Ma27 Ma27 deleted the PL-132970-percona-84 branch October 14, 2024 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants