SHA256
1
0
forked from pool/dpdk
dpdk/kni-fix-build-with-Linux-6.10.patch
Ana Guerrero b3e62b524a Accepting request 1187835 from home:jirislaby:branches:network
- add kni-fix-build-with-Linux-6.10.patch to fix build against
  kernel 6.8.
- update kni-fix-build-with-Linux-6.8.patch -- it is upstream now.

OBS-URL: https://build.opensuse.org/request/show/1187835
OBS-URL: https://build.opensuse.org/package/show/network/dpdk?expand=0&rev=156
2024-07-16 11:17:21 +00:00

69 lines
2.1 KiB
Diff

From: Jiri Slaby <jslaby@suse.cz>
Date: Tue, 16 Jul 2024 10:40:26 +0200
Subject: kni: fix build with Linux 6.10
Patch-mainline: submitted to dev@dpdk.org, <20240716084414.115852-1-jslaby@suse.cz>
References: kernel 6.10
6.10 removed the "support" (it was never supported [1]) of separate
source and build dirs for out of tree modules.
KNI uses "src=" hack for that purpose.
Instead, copy sources to the build dir and don't rely upon the
unsupported...
Intended esp. for stable/22.11. It should go wherever kni is still in
the tree.
[1] https://lore.kernel.org/all/CAK7LNAQ47bZpE6c6Yoz-jQS78uU611oZwU8bH+7e=p5zSyADJw@mail.gmail.com/
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
kernel/linux/kni/meson.build | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index 4c90069e..39ca2ade 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -11,8 +11,8 @@ if run_cmd.stdout().contains('txqueue') == true
kmod_cflags = '-DHAVE_ARG_TX_QUEUE'
endif
-
-kni_mkfile = custom_target('rte_kni_makefile',
+kni_deps = []
+kni_deps += custom_target('rte_kni_makefile',
output: 'Makefile',
command: ['touch', '@OUTPUT@'])
@@ -22,12 +22,15 @@ kni_sources = files(
'Kbuild',
)
+foreach file : kni_sources
+ kni_deps += fs.copyfile(file)
+endforeach
+
custom_target('rte_kni',
input: kni_sources,
output: 'rte_kni.ko',
command: ['make', '-j4', '-C', kernel_build_dir,
'M=' + meson.current_build_dir(),
- 'src=' + meson.current_source_dir(),
' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include '])
+ dpdk_source_root + '/config/rte_config.h' +
' -I' + dpdk_source_root + '/lib/eal/include' +
@@ -35,7 +38,7 @@ custom_target('rte_kni',
' -I' + dpdk_build_root +
' -I' + meson.current_source_dir(),
'modules'] + cross_args,
- depends: kni_mkfile,
+ depends: kni_deps,
install: install,
install_dir: kernel_install_dir,
build_by_default: get_option('enable_kmods'))
--
2.45.2