patch 'build: remove deprecated Meson functions' has been queued to stable release 20.11.5

luca.boccassi at gmail.com luca.boccassi at gmail.com
Fri Feb 18 13:38:39 CET 2022


Hi,

FYI, your patch has been queued to stable release 20.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/20/22. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/04a29bf8a81580ad1349654e3227a96822b5faa5

Thanks.

Luca Boccassi

---
>From 04a29bf8a81580ad1349654e3227a96822b5faa5 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson at intel.com>
Date: Mon, 24 Jan 2022 17:49:59 +0000
Subject: [PATCH] build: remove deprecated Meson functions

[ upstream commit e16b972b1afe2444346016175ae086d5bea54016 ]

Starting in meson 0.56, the functions meson.source_root() and
meson.build_root() are deprecated and to be replaced by the [more
descriptive] functions: project_source_root()/global_source_root() and
project_build_root()/global_build_root(). Unfortunately, these new
replacement functions were only added in 0.56 release too, so to use
them we would need version checks for old/new functions to remove the
deprecation warnings.

However, the functions "current_build_dir()" and "current_source_dir()"
remain unaffected by all this, so we can bypass the versioning problem,
by saving off these values to "dpdk_source_root" and "dpdk_build_root"
in the top-level meson.build file

Bugzilla ID: 926

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
Tested-by: Jerin Jacob <jerinj at marvell.com>
---
 doc/api/meson.build          | 10 +++++-----
 kernel/freebsd/meson.build   |  2 +-
 kernel/linux/kni/meson.build |  8 ++++----
 meson.build                  |  2 ++
 4 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/doc/api/meson.build b/doc/api/meson.build
index 22d1bc204d..94e683455f 100644
--- a/doc/api/meson.build
+++ b/doc/api/meson.build
@@ -24,7 +24,7 @@ htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk')
 # So use a configure option for now.
 example = custom_target('examples.dox',
 	output: 'examples.dox',
-	command: [generate_examples, join_paths(meson.source_root(), 'examples'), '@OUTPUT@'],
+	command: [generate_examples, join_paths(dpdk_source_root, 'examples'), '@OUTPUT@'],
 	depfile: 'examples.dox.d',
 	install: get_option('enable_docs'),
 	install_dir: htmldir,
@@ -32,11 +32,11 @@ example = custom_target('examples.dox',
 
 cdata = configuration_data()
 cdata.set('VERSION', meson.project_version())
-cdata.set('API_EXAMPLES', join_paths(meson.build_root(), 'doc', 'api', 'examples.dox'))
-cdata.set('OUTPUT', join_paths(meson.build_root(), 'doc', 'api'))
+cdata.set('API_EXAMPLES', join_paths(dpdk_build_root, 'doc', 'api', 'examples.dox'))
+cdata.set('OUTPUT', join_paths(dpdk_build_root, 'doc', 'api'))
 cdata.set('HTML_OUTPUT', 'html')
-cdata.set('TOPDIR', meson.source_root())
-cdata.set('STRIP_FROM_PATH', ' '.join([meson.source_root(), join_paths(meson.build_root(), 'doc', 'api')]))
+cdata.set('TOPDIR', dpdk_source_root)
+cdata.set('STRIP_FROM_PATH', ' '.join([dpdk_source_root, join_paths(dpdk_build_root, 'doc', 'api')]))
 cdata.set('WARN_AS_ERROR', 'NO')
 if get_option('werror')
 	cdata.set('WARN_AS_ERROR', 'YES')
diff --git a/kernel/freebsd/meson.build b/kernel/freebsd/meson.build
index dc156a43fd..16a4e0b124 100644
--- a/kernel/freebsd/meson.build
+++ b/kernel/freebsd/meson.build
@@ -10,7 +10,7 @@ kmods = ['contigmem', 'nic_uio']
 # files from the individual meson.build files, and then use a custom
 # target to call make, passing in the values as env parameters.
 kmod_cflags = ['-I' + meson.build_root(),
-		'-I' + join_paths(meson.source_root(), 'config'),
+		'-I' + join_paths(dpdk_source_root, 'config'),
 		'-include rte_config.h']
 
 # to avoid warnings due to race conditions with creating the dev_if.h, etc.
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index 1e642ec9d4..dab4f77df4 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -28,10 +28,10 @@ custom_target('rte_kni',
 		'M=' + meson.current_build_dir(),
 		'src=' + meson.current_source_dir(),
 		' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include '])
-		+ meson.source_root() + '/config/rte_config.h' +
-		' -I' + meson.source_root() + '/lib/librte_eal/include' +
-		' -I' + meson.source_root() + '/lib/librte_kni' +
-		' -I' + meson.build_root() +
+		+ dpdk_source_root + '/config/rte_config.h' +
+		' -I' + dpdk_source_root + '/lib/librte_eal/include' +
+		' -I' + dpdk_source_root + '/lib/librte_kni' +
+		' -I' + dpdk_build_root +
 		' -I' + meson.current_source_dir(),
 		'modules'],
 	depends: kni_mkfile,
diff --git a/meson.build b/meson.build
index 8eeb0ff8d8..290d99cdf9 100644
--- a/meson.build
+++ b/meson.build
@@ -17,6 +17,8 @@ project('DPDK', 'C',
 
 # set up some global vars for compiler, platform, configuration, etc.
 cc = meson.get_compiler('c')
+dpdk_source_root = meson.current_source_dir()
+dpdk_build_root = meson.current_build_dir()
 dpdk_conf = configuration_data()
 dpdk_libraries = []
 dpdk_static_libraries = []
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-02-18 12:37:40.672276767 +0000
+++ 0070-build-remove-deprecated-Meson-functions.patch	2022-02-18 12:37:37.746793171 +0000
@@ -1 +1 @@
-From e16b972b1afe2444346016175ae086d5bea54016 Mon Sep 17 00:00:00 2001
+From 04a29bf8a81580ad1349654e3227a96822b5faa5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e16b972b1afe2444346016175ae086d5bea54016 ]
+
@@ -20 +21,0 @@
-Cc: stable at dpdk.org
@@ -26 +27 @@
- kernel/freebsd/meson.build   |  4 ++--
+ kernel/freebsd/meson.build   |  2 +-
@@ -29 +30 @@
- 4 files changed, 13 insertions(+), 11 deletions(-)
+ 4 files changed, 12 insertions(+), 10 deletions(-)
@@ -32 +33 @@
-index 7e2b429ac8..5c25b92092 100644
+index 22d1bc204d..94e683455f 100644
@@ -38,6 +39,6 @@
-         output: 'examples.dox',
--        command: [generate_examples, join_paths(meson.source_root(), 'examples'), '@OUTPUT@'],
-+        command: [generate_examples, join_paths(dpdk_source_root, 'examples'), '@OUTPUT@'],
-         depfile: 'examples.dox.d',
-         install: get_option('enable_docs'),
-         install_dir: htmldir,
+ 	output: 'examples.dox',
+-	command: [generate_examples, join_paths(meson.source_root(), 'examples'), '@OUTPUT@'],
++	command: [generate_examples, join_paths(dpdk_source_root, 'examples'), '@OUTPUT@'],
+ 	depfile: 'examples.dox.d',
+ 	install: get_option('enable_docs'),
+ 	install_dir: htmldir,
@@ -59 +60 @@
-     cdata.set('WARN_AS_ERROR', 'YES')
+ 	cdata.set('WARN_AS_ERROR', 'YES')
@@ -61 +62 @@
-index bf5aa20a55..1f612711be 100644
+index dc156a43fd..16a4e0b124 100644
@@ -64,2 +65 @@
-@@ -9,8 +9,8 @@ kmods = ['contigmem', 'nic_uio']
- # right now, which allows us to simplify things. We pull in the sourcer
+@@ -10,7 +10,7 @@ kmods = ['contigmem', 'nic_uio']
@@ -68,5 +68,4 @@
--kmod_cflags = ['-I' + meson.build_root(),
--        '-I' + join_paths(meson.source_root(), 'config'),
-+kmod_cflags = ['-I' + dpdk_build_root,
-+        '-I' + join_paths(dpdk_source_root, 'config'),
-         '-include rte_config.h']
+ kmod_cflags = ['-I' + meson.build_root(),
+-		'-I' + join_paths(meson.source_root(), 'config'),
++		'-I' + join_paths(dpdk_source_root, 'config'),
+ 		'-include rte_config.h']
@@ -76 +75 @@
-index dae8c37b37..4c90069e99 100644
+index 1e642ec9d4..dab4f77df4 100644
@@ -79,15 +78,15 @@
-@@ -29,10 +29,10 @@ custom_target('rte_kni',
-             'M=' + meson.current_build_dir(),
-             'src=' + meson.current_source_dir(),
-             ' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include '])
--            + meson.source_root() + '/config/rte_config.h' +
--            ' -I' + meson.source_root() + '/lib/eal/include' +
--            ' -I' + meson.source_root() + '/lib/kni' +
--            ' -I' + meson.build_root() +
-+            + dpdk_source_root + '/config/rte_config.h' +
-+            ' -I' + dpdk_source_root + '/lib/eal/include' +
-+            ' -I' + dpdk_source_root + '/lib/kni' +
-+            ' -I' + dpdk_build_root +
-             ' -I' + meson.current_source_dir(),
-             'modules'] + cross_args,
-         depends: kni_mkfile,
+@@ -28,10 +28,10 @@ custom_target('rte_kni',
+ 		'M=' + meson.current_build_dir(),
+ 		'src=' + meson.current_source_dir(),
+ 		' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include '])
+-		+ meson.source_root() + '/config/rte_config.h' +
+-		' -I' + meson.source_root() + '/lib/librte_eal/include' +
+-		' -I' + meson.source_root() + '/lib/librte_kni' +
+-		' -I' + meson.build_root() +
++		+ dpdk_source_root + '/config/rte_config.h' +
++		' -I' + dpdk_source_root + '/lib/librte_eal/include' +
++		' -I' + dpdk_source_root + '/lib/librte_kni' +
++		' -I' + dpdk_build_root +
+ 		' -I' + meson.current_source_dir(),
+ 		'modules'],
+ 	depends: kni_mkfile,
@@ -95 +94 @@
-index 3d97e96f38..937f6110c0 100644
+index 8eeb0ff8d8..290d99cdf9 100644
@@ -98 +97 @@
-@@ -31,6 +31,8 @@ endif
+@@ -17,6 +17,8 @@ project('DPDK', 'C',


More information about the stable mailing list