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

linux/kernel/generic.nix: assert if constraints would be ignored #227999

Closed
wants to merge 1 commit into from
Closed

linux/kernel/generic.nix: assert if constraints would be ignored #227999

wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Apr 24, 2023

Description of changes

There appears to be a real mess with the naming of the attribute which contains structured extra configuration:

  • Nixpkgs' linux kernel expression uses structuredExtraConfig.
  • NixOS uses extraStructuredConfig.
  • Nixpkgs' kernelPatches use extraStructuredConfig.

At the moment, if the user uses the wrong convention the configuration constraints are silently dropped. Let's assert instead so they at least know that their request isn't being respected. We can try to harmonize the naming later.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • 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/)
  • 23.05 Release Notes (or backporting 22.11 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.

There appears to be a real mess with the naming of the attribute
which contains structured extra configuration:

- Nixpkgs' linux kernel expression uses structuredExtraConfig.
- NixOS uses extraStructuredConfig.
- Nixpkgs' kernelPatches use extraStructuredConfig.

At the moment, if the user uses the wrong convention the
configuration constraints are silently dropped.  Let's `assert`
instead so they at least know that their request isn't being
respected.  We can try to harmonize the naming later.
@github-actions github-actions bot added the 6.topic: kernel The Linux kernel label Apr 24, 2023
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux labels Apr 24, 2023
@teto
Copy link
Member

teto commented Apr 24, 2023

wouldn't it be better to standardize on extraStructuredConfig ?

@ghost
Copy link
Author

ghost commented May 5, 2023

wouldn't it be better to standardize on extraStructuredConfig ?

Maybe, but that's a separate issue. This attribute is exposed to users outside of nixpkgs, so we need to add an assert either way. Unfortunately linux-kernel uses ...-style arguments, so it won't catch spelling errors.

I don't particularly care which spelling is used, but silently ignoring things is strictly worse than either choice.

@ghost ghost closed this Oct 22, 2023
@ghost ghost deleted the pr/kernel/assert-instead-of-ignoring branch January 23, 2024 06:48
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/improving-custom-configuration-for-alternate-kernels/45240/2

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: kernel The Linux kernel 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants