kmod: add patch to correct behaviour with --field

This came up in https://github.com/NixOS/nixpkgs/pull/96008.
Without this patch modinfo always prints the module name for builtin
modules, even if an explicit --field is passed.
This commit is contained in:
Dominik Xaver Hörl 2020-08-24 00:00:37 +02:00
parent 58377555ed
commit 40d33887db
2 changed files with 25 additions and 1 deletions

View file

@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
"--with-modulesdirs=${modulesDirs}"
] ++ lib.optional withStatic "--enable-static";
patches = [ ./module-dir.patch ]
patches = [ ./module-dir.patch ./no-name-field.patch ]
++ lib.optional stdenv.isDarwin ./darwin.patch
++ lib.optional withStatic ./enable-static.patch;

View file

@ -0,0 +1,24 @@
---
tools/modinfo.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tools/modinfo.c b/tools/modinfo.c
index 0231bb0..7b2259e 100644
--- a/tools/modinfo.c
+++ b/tools/modinfo.c
@@ -178,7 +178,10 @@ static int modinfo_do(struct kmod_module *mod)
is_builtin = (filename == NULL);
if (is_builtin) {
- printf("%-16s%s%c", "name:", kmod_module_get_name(mod), separator);
+ if (field == NULL || field != NULL && streq(field, "name")){
+ printf("%-16s%s%c", "name:",
+ kmod_module_get_name(mod), separator);
+ }
filename = "(builtin)";
}
--
2.28.0