nixos/boot: properly override the kernel in boot.kernelPatches

Previously the code took the kernelPatches of the final derivation, which
might or might not be what was passed to the derivation in the original call.
The previous behaviour caused various hacks to become neccessary to avoid duplicates in kernelPatches.

(cherry picked from commit 436f61c878e3992b3d980168a5532416dd5be504)
This commit is contained in:
Dominik Xaver Hörl 2021-05-26 13:38:08 +02:00 committed by github-actions[bot]
parent 3b1789322f
commit f2281f6186
4 changed files with 6 additions and 6 deletions

View File

@ -38,11 +38,11 @@ in
default = pkgs.linuxPackages;
type = types.unspecified // { merge = mergeEqualOption; };
apply = kernelPackages: kernelPackages.extend (self: super: {
kernel = super.kernel.override {
kernel = super.kernel.override (originalArgs: {
inherit randstructSeed;
kernelPatches = super.kernel.kernelPatches ++ kernelPatches;
kernelPatches = (originalArgs.kernelPatches or []) ++ kernelPatches;
features = lib.recursiveUpdate super.kernel.features features;
};
});
});
# We don't want to evaluate all of linuxPackages for the manual
# - some of it might not even evaluate correctly.

View File

@ -27,7 +27,7 @@ in buildLinux (args // {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "0szqm9f939p9z701i5hj881nf5bhfa0a6037bbcz974y0x8g9nmk";
};
}; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
}; in [ rt-patch ] ++ kernelPatches;
structuredExtraConfig = with lib.kernel; {
PREEMPT_RT = yes;

View File

@ -27,7 +27,7 @@ in buildLinux (args // {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "1az6cn9jj3bnjgwzzrjy1adnrnn06p2vzsnc1iib4xhs0sfr27hc";
};
}; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
}; in [ rt-patch ] ++ kernelPatches;
structuredExtraConfig = with lib.kernel; {
PREEMPT_RT = yes;

View File

@ -23,7 +23,7 @@ in buildLinux (args // {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "0prfrvk2ds20sclikizzgg5qf4mfcyaymp9r272d5nj35293622n";
};
}; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
}; in [ rt-patch ] ++ kernelPatches;
structuredExtraConfig = with lib.kernel; {
PREEMPT_RT = yes;