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

Luca Boccassi luca.boccassi at gmail.com
Mon Feb 21 11:56:56 CET 2022


On Fri, 2022-02-18 at 13:16 +0000, Richardson, Bruce wrote:
> Again, I'm not sure this needs backport, as it's unlikely the deprecated functions will be removed in the near future. As before, I'll defer to your judgement as to the risk, if any.

These seemed low-risk enough to me (it either builds or doesn't), and
it makes deprecation warnings go away. Also helps keeping a smaller
diff with main, to easure future backporting.

> > -----Original Message-----
> > From: luca.boccassi at gmail.com <luca.boccassi at gmail.com>
> > Sent: Friday, February 18, 2022 12:39 PM
> > To: Richardson, Bruce <bruce.richardson at intel.com>
> > Cc: Jerin Jacob <jerinj at marvell.com>; dpdk stable <stable at dpdk.org>
> > Subject: patch 'build: remove deprecated Meson functions' has been queued
> > to stable release 20.11.5
> > 
> > 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