linuxManualConfig: Handle only y and m in readConfig, plus one minor fix (#444250)

K900 3bb82135 08eb6d24

Changed files
+13 -19
pkgs
os-specific
linux
top-level
+12 -18
pkgs/os-specific/linux/kernel/manual-config.nix
···
readConfig =
configfile:
-
lib.listToAttrs (
-
map
-
(
-
line:
-
let
-
match = lib.match "(.*)=\"?(.*)\"?" line;
-
in
-
{
-
name = lib.elemAt match 0;
-
value = lib.elemAt match 1;
-
}
-
)
-
(
-
lib.filter (line: !(lib.hasPrefix "#" line || line == "")) (
-
lib.splitString "\n" (builtins.readFile configfile)
-
)
-
)
-
);
+
let
+
matchLine =
+
line:
+
let
+
match = lib.match "(CONFIG_[^=]+)=([ym])" line;
+
in
+
lib.optional (match != null) {
+
name = lib.elemAt match 0;
+
value = lib.elemAt match 1;
+
};
+
in
+
lib.listToAttrs (lib.concatMap matchLine (lib.splitString "\n" (builtins.readFile configfile)));
in
lib.makeOverridable (
{
+1 -1
pkgs/top-level/linux-kernels.nix
···
src,
modDirVersion ? lib.versions.pad 3 version,
configfile,
-
allowImportFromDerivation ? true,
+
allowImportFromDerivation ? false,
}:
recurseIntoAttrs (
packagesFor (manualConfig {