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
really check requiredKernelConfig #69013
Conversation
ede12c7
to
76964b5
Compare
@fpletz you looked interested :p |
I think we have to be careful about moving computations that are currently done in builder (like |
at first, I had moved the check to a check-config.pl but I was not sure how to integrate with nixos/modules/system/boot/kernel.nix (I believe it's an IFD situation ? frowned upon) so I translated it to nix. |
I've added a commit that kinda reverts to the current behavior, i.e., it only runs the check when the kernel is built with no Another aspect (regardless of the implementation) is that I wanted a way to decouple the check from the build. For instance in nixops, I want to check if guest kernels have VIRTIO without rebuilding their kernels. |
ddf7be1
to
7b5d855
Compare
lib.kernel.loadConfig loads a kernel's .config into an attribute set.
the check was skipped when features is set which is true for almost all configurations. And the check was not run against the real kernel config but a structured config that may or may not be altered during kernel building.
Only do the full check when the kernel is built with no features (aka when built with linuxManualConfig).
Hello, I'm a bot and I thank you in the name of the community for your contributions. Nixpkgs is a busy repository, and unfortunately sometimes PRs get left behind for too long. Nevertheless, we'd like to help committers reach the PRs that are still important. This PR has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. If this is still important to you and you'd like to remove the stale label, we ask that you leave a comment. Your comment can be as simple as "still important to me". But there's a bit more you can do: If you received an approval by an unprivileged maintainer and you are just waiting for a merge, you can @ mention someone with merge permissions and ask them to help. You might be able to find someone relevant by using Git blame on the relevant files, or via GitHub's web interface. You can see if someone's a member of the nixpkgs-committers team, by hovering with the mouse over their username on the web interface, or by searching them directly on the list. If your PR wasn't reviewed at all, it might help to find someone who's perhaps a user of the package or module you are changing, or alternatively, ask once more for a review by the maintainer of the package/module this is about. If you don't know any, you can use Git blame on the relevant files, or GitHub's web interface to find someone who touched the relevant files in the past. If your PR has had reviews and nevertheless got stale, make sure you've responded to all of the reviewer's requests / questions. Usually when PR authors show responsibility and dedication, reviewers (privileged or not) show dedication as well. If you've pushed a change, it's possible the reviewer wasn't notified about your push via email, so you can always officially request them for a review, or just @ mention them and say you've addressed their comments. Lastly, you can always ask for help at our Discourse Forum, or more specifically, at this thread or at #nixos' IRC channel. |
still care. For reference, a new project appeared a few days ago to fix kernel configs https://bitbucket.org/easelab/configfix/src/master/ |
I marked this as stale due to inactivity. → More info |
If this PR is not accepted, should |
@@ -321,7 +321,27 @@ in | |||
|
|||
# nixpkgs kernels are assumed to have all required features | |||
assertions = if config.boot.kernelPackages.kernel ? features then [] else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
assertions = if config.boot.kernelPackages.kernel ? features then [] else | |
assertions = |
And, ... I might be wrong, but it looks like IFD in the present form of Nix-implementation (because of |
Motivation for this change
I want the system.requiredKernelConfig to check the final config rather than a structured config that can be ignored during the kernel configuration generation.
I have several follow up PRs. Here is a meta issue with what I intent to accomplish: #69014
The lib.kernel.loadConfig function is a translation to nix of
nixpkgs/pkgs/os-specific/linux/kernel/generate-config.pl
Line 124 in e598c40
Hopefully we can replace the perl part with the nix one afterwards.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @