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

lib/minver: bump to 2.3.17 #354586

Merged
merged 1 commit into from
Nov 10, 2024
Merged

lib/minver: bump to 2.3.17 #354586

merged 1 commit into from
Nov 10, 2024

Conversation

mweinelt
Copy link
Member

@mweinelt mweinelt commented Nov 8, 2024

The first version that supports zstd compression, to create the option to eventually switch compression for the binary cache.

It was released one year ago on 2023-11-03 and first shipped in NixOS 23.11.

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.

@github-actions github-actions bot added the 6.topic: lib The Nixpkgs function library label Nov 8, 2024
@nix-owners nix-owners bot requested a review from infinisil November 8, 2024 20:35
@mweinelt mweinelt added this to the 24.11 milestone Nov 8, 2024
Copy link
Member

@winterqt winterqt left a comment

Choose a reason for hiding this comment

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

Technically this is a breaking change, but I think this is fine -- realistically, nobody is still evaluating Nixpkgs with 2.3.16 or below.

I can see arguments for and against a changelog entry, given we're just bumping to a patch version, so that's up to you.

The first version that supports zstd compression, to create the option
to eventually switch compression for the binary cache.

It was released one year ago on 2023-11-03 and first shipped in NixOS
23.11.
@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: documentation This PR adds or changes documentation 8.has: changelog labels Nov 8, 2024
@mweinelt
Copy link
Member Author

mweinelt commented Nov 8, 2024

Changelog added.

@winterqt
Copy link
Member

winterqt commented Nov 8, 2024

Thanks! LGTM. cc @RossComputerGuy for final OK as 24.11 RM.

Copy link
Member

@RossComputerGuy RossComputerGuy left a comment

Choose a reason for hiding this comment

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

i approb

@winterqt
Copy link
Member

winterqt commented Nov 8, 2024

Apparently I can't read and didn't notice @infinisil was pinged lol. Will wait on him.

@infinisil
Copy link
Member

Hmm, this is not really what minver is supposed to be used for, it's documented as the "minimum required version for evaluating Nixpkgs". It's arguably even possible to evaluate with Nix 2.3 but substitute with 2.3.17 to use zstd. So is this really the right place to make this change? What happens if we just don't do this? Is there another mechanism that fits better?

Nothing obvious comes to mind, so this might really be the best way of doing it, but I'd like to see a bit more background on why this is needed.

@mweinelt
Copy link
Member Author

mweinelt commented Nov 8, 2024

That's fair.

Earlier versions will be unable to substitute, which makes nixpkgs a fairly expensive proposition. The solution is then to upgrade nix, and this kinda achieves the same effect, even though it does not break eval.

That being said, I'm fine with not doing this change, if that means we don't have to wait for minver changes to switch the compression algorithm.

@infinisil
Copy link
Member

How about we make sure that all versions of Nix that don't support zstd are marked as deprecated in at least supported releases.

@mweinelt
Copy link
Member Author

mweinelt commented Nov 8, 2024

What mechanism do you have in mind?

@infinisil
Copy link
Member

I had lib.warn in mind, but that messes up nix-env :/

@infinisil
Copy link
Member

Hacky alternative that probably breaks other things: Wrap /bin/nix to print a deprecation warning to stderr before executing the actual Nix binary.

@infinisil
Copy link
Member

Maybe this bump is the best way after all, because the above options just suck. We'd need to fix nix-env really, but that's a huge effort.

@wegank wegank added the 12.approvals: 2 This PR was reviewed and approved by two reputable people label Nov 8, 2024
@winterqt
Copy link
Member

winterqt commented Nov 9, 2024

Yeah, I'd be fine with merging if it's the only good option. (curses nix-env from the distance)

Copy link
Contributor

@Mindavi Mindavi left a comment

Choose a reason for hiding this comment

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

I think this is the best way to express that. People using older versions can indeed eval, but shouldn't expect the cache to work. Which is one of the things people find very valuable, I think.

@wegank wegank added 12.approvals: 3+ This PR was reviewed and approved by three or more reputable people and removed 12.approvals: 2 This PR was reviewed and approved by two reputable people labels Nov 10, 2024
@winterqt winterqt merged commit f0000fe into NixOS:master Nov 10, 2024
31 checks passed
@mweinelt mweinelt deleted the minver-zstd branch November 10, 2024 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: lib The Nixpkgs function library 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 1-10 10.rebuild-darwin: 1 10.rebuild-linux: 1-10 12.approvals: 3+ This PR was reviewed and approved by three or more reputable people
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants