[Boot] move kernel no-DRM patch to a sed expression

This commit is contained in:
Antoine Viallon 2023-12-26 17:54:02 +01:00
parent 810b055e4d
commit 8f7bc11e09
Signed by: aviallon
GPG key ID: 186FC35EDEB25716
2 changed files with 15 additions and 14 deletions

View file

@ -279,7 +279,21 @@ in {
moddedKernelAttrs = traceValWithPrefix "moddedKernelAttrs" (
myLib.attrsets.mergeAttrsRecursive (traceValWithPrefix "aviallon.boot.kernel.addAttributes" cfg.kernel.addAttributes) optimizedKernelAttrs
);
moddedKernel = myLib.optimizations.addAttrs baseKernel moddedKernelAttrs;
noDRMKernel =
if cfg.removeKernelDRM then
baseKernel.overrideAttrs (old: {
passthru = baseKernel.passthru;
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gnused ];
postPatch = (old.postPatch or "") + ''
sed -i -e 's/_EXPORT_SYMBOL(sym, "_gpl")/_EXPORT_SYMBOL(sym, "")/g' -e 's/__EXPORT_SYMBOL(sym, "_gpl", __stringify(ns))/__EXPORT_SYMBOL(sym, "", __stringify(ns))/g' include/linux/export.h
'';
})
else
baseKernel
;
moddedKernel = myLib.optimizations.addAttrs noDRMKernel moddedKernelAttrs;
in mkOverride 2 (pkgs.linuxPackagesFor moddedKernel);
kernelPatches = []
@ -289,7 +303,6 @@ in {
++ optional (cfg.patches.amdClusterId.enable && kernelVersionOlder "6.4") customKernelPatches.amdClusterId
++ optional (cfg.patches.zenLLCIdle.enable && kernelVersionOlder "6.5") customKernelPatches.backports.zenLLCIdle
++ optional (isXanmod cfg.kernel.package && config.aviallon.optimizations.enable) (customKernelPatches.optimizeForCPUArch config.aviallon.general.cpu.arch)
++ optional cfg.removeKernelDRM customKernelPatches.removeKernelDRM
;
loader.grub.enable = cfg.useGrub;

View file

@ -1,12 +0,0 @@
diff --git a/include/linux/export.h b/include/linux/export.h
index 3f31ced0d977..dacee5534926 100644
--- a/include/linux/export.h
+++ b/include/linux/export.h
@@ -150,5 +150,5 @@ struct kernel_symbol {
#define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
-#define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
+#define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "")
#define EXPORT_SYMBOL_NS(sym, ns) __EXPORT_SYMBOL(sym, "", __stringify(ns))
-#define EXPORT_SYMBOL_NS_GPL(sym, ns) __EXPORT_SYMBOL(sym, "_gpl", __stringify(ns))
+#define EXPORT_SYMBOL_NS_GPL(sym, ns) __EXPORT_SYMBOL(sym, "", __stringify(ns))