DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter
@ 2021-05-07  9:21 David Marchand
  2021-05-07  9:50 ` Bruce Richardson
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: David Marchand @ 2021-05-07  9:21 UTC (permalink / raw)
  To: dev
  Cc: Bruce Richardson, Robin Jarry, Luca Boccassi, Juraj Linkeš,
	Honnappa Nagarahalli, Ruifeng Wang

If no enable_drivers option is passed, the default is to build the
drivers list by calling list-dir-globs.py.

But if no python interpreter is installed, no error is reported and all
drivers end up being disabled.

Example on a minimal FreeBSD vm:

  dpdk@freebsd:~/dpdk $ meson setup build
  ...
  drivers:
	  common/cpt:	not in enabled drivers build config
	  common/dpaax:	not in enabled drivers build config
	  common/iavf:	not in enabled drivers build config
	  common/mvep:	not in enabled drivers build config
	  common/octeontx:	not in enabled drivers build config
	  common/octeontx2:	not in enabled drivers build config
	  bus/dpaa:	not in enabled drivers build config
	  bus/fslmc:	not in enabled drivers build config
  ...

  dpdk@freebsd:~/dpdk $ cd drivers/
  dpdk@freebsd:~/dpdk/drivers $ ~/dpdk/buildtools/list-dir-globs.py */*
  env: python3: No such file or directory

Rely on meson internal interpreter.
Check return code when calling this script.

Fixes: ab9407c3addd ("build: allow using wildcards to disable drivers")
Fixes: 2e33309ebe03 ("config: enable/disable drivers in Arm builds")

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 buildtools/meson.build | 2 +-
 drivers/meson.build    | 6 +++---
 lib/meson.build        | 3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/buildtools/meson.build b/buildtools/meson.build
index c520896b4b..df94782bdc 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -2,7 +2,6 @@
 # Copyright(c) 2017-2019 Intel Corporation
 
 pkgconf = find_program('pkg-config', 'pkgconf', required: false)
-list_dir_globs = find_program('list-dir-globs.py')
 check_symbols = find_program('check-symbols.sh')
 ldflags_ibverbs_static = find_program('options-ibverbs-static.sh')
 binutils_avx512_check = find_program('binutils-avx512-check.sh')
@@ -16,6 +15,7 @@ else
 endif
 map_to_win_cmd = py3 + files('map_to_win.py')
 sphinx_wrapper = py3 + files('call-sphinx-build.py')
+list_dir_globs = py3 + files('list-dir-globs.py')
 
 # select library and object file format
 pmdinfo = py3 + files('gen-pmdinfo-cfile.py') + [meson.current_build_dir()]
diff --git a/drivers/meson.build b/drivers/meson.build
index b78cac3897..0052247a55 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -27,13 +27,13 @@ endif
 
 # add cmdline disabled drivers and meson disabled drivers together
 disable_drivers += ',' + get_option('disable_drivers')
-disable_drivers = run_command(list_dir_globs, disable_drivers).stdout().split()
+disable_drivers = run_command(list_dir_globs, disable_drivers, check: true).stdout().split()
 
 # add cmdline enabled drivers and meson enabled drivers together
 enable_drivers = ',' + get_option('enable_drivers')
-enable_drivers = run_command(list_dir_globs, enable_drivers).stdout().split()
+enable_drivers = run_command(list_dir_globs, enable_drivers, check: true).stdout().split()
 if enable_drivers.length() == 0
-    enable_drivers = run_command(list_dir_globs, '*/*').stdout().split()
+    enable_drivers = run_command(list_dir_globs, '*/*', check: true).stdout().split()
 endif
 
 # these drivers must always be enabled, otherwise the build breaks
diff --git a/lib/meson.build b/lib/meson.build
index 77f363a516..56f2465ee2 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -88,7 +88,8 @@ optional_libs = [
 ]
 
 disabled_libs = []
-opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs')).stdout().split()
+opt_disabled_libs =
+    run_command(list_dir_globs, get_option('disable_libs'), check: true).stdout().split()
 foreach l:opt_disabled_libs
     if not optional_libs.contains(l)
         warning('Cannot disable mandatory library "@0@"'.format(l))
-- 
2.23.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter
  2021-05-07  9:21 [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter David Marchand
@ 2021-05-07  9:50 ` Bruce Richardson
  2021-05-07 10:01 ` David Marchand
  2021-05-07 11:54 ` [dpdk-dev] [PATCH v2] " David Marchand
  2 siblings, 0 replies; 5+ messages in thread
From: Bruce Richardson @ 2021-05-07  9:50 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, Robin Jarry, Luca Boccassi, Juraj Linkeš,
	Honnappa Nagarahalli, Ruifeng Wang

On Fri, May 07, 2021 at 11:21:57AM +0200, David Marchand wrote:
> If no enable_drivers option is passed, the default is to build the
> drivers list by calling list-dir-globs.py.
> 
> But if no python interpreter is installed, no error is reported and all
> drivers end up being disabled.
> 
> Example on a minimal FreeBSD vm:
> 
>   dpdk@freebsd:~/dpdk $ meson setup build
>   ...
>   drivers:
> 	  common/cpt:	not in enabled drivers build config
> 	  common/dpaax:	not in enabled drivers build config
> 	  common/iavf:	not in enabled drivers build config
> 	  common/mvep:	not in enabled drivers build config
> 	  common/octeontx:	not in enabled drivers build config
> 	  common/octeontx2:	not in enabled drivers build config
> 	  bus/dpaa:	not in enabled drivers build config
> 	  bus/fslmc:	not in enabled drivers build config
>   ...
> 
>   dpdk@freebsd:~/dpdk $ cd drivers/
>   dpdk@freebsd:~/dpdk/drivers $ ~/dpdk/buildtools/list-dir-globs.py */*
>   env: python3: No such file or directory
> 
> Rely on meson internal interpreter.
> Check return code when calling this script.
> 
> Fixes: ab9407c3addd ("build: allow using wildcards to disable drivers")
> Fixes: 2e33309ebe03 ("config: enable/disable drivers in Arm builds")
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter
  2021-05-07  9:21 [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter David Marchand
  2021-05-07  9:50 ` Bruce Richardson
@ 2021-05-07 10:01 ` David Marchand
  2021-05-07 11:54 ` [dpdk-dev] [PATCH v2] " David Marchand
  2 siblings, 0 replies; 5+ messages in thread
From: David Marchand @ 2021-05-07 10:01 UTC (permalink / raw)
  To: dev
  Cc: Bruce Richardson, Robin Jarry, Luca Boccassi, Juraj Linkeš,
	Honnappa Nagarahalli, Ruifeng Wang

On Fri, May 7, 2021 at 11:22 AM David Marchand
<david.marchand@redhat.com> wrote:
> diff --git a/lib/meson.build b/lib/meson.build
> index 77f363a516..56f2465ee2 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -88,7 +88,8 @@ optional_libs = [
>  ]
>
>  disabled_libs = []
> -opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs')).stdout().split()
> +opt_disabled_libs =
> +    run_command(list_dir_globs, get_option('disable_libs'), check: true).stdout().split()

^^
Buggy last minute edit

v2 coming...


-- 
David Marchand


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-dev] [PATCH v2] build: fix drivers config with no python interpreter
  2021-05-07  9:21 [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter David Marchand
  2021-05-07  9:50 ` Bruce Richardson
  2021-05-07 10:01 ` David Marchand
@ 2021-05-07 11:54 ` David Marchand
  2021-05-07 13:45   ` Thomas Monjalon
  2 siblings, 1 reply; 5+ messages in thread
From: David Marchand @ 2021-05-07 11:54 UTC (permalink / raw)
  To: dev
  Cc: Bruce Richardson, Robin Jarry, Luca Boccassi, Juraj Linkeš,
	Honnappa Nagarahalli, Ruifeng Wang

If no enable_drivers option is passed, the default is to build the
drivers list by calling list-dir-globs.py.

But if no python interpreter is installed, no error is reported and all
drivers end up being disabled.

Example on a minimal FreeBSD vm:

  dpdk@freebsd:~/dpdk $ meson setup build
  ...
  drivers:
	  common/cpt:	not in enabled drivers build config
	  common/dpaax:	not in enabled drivers build config
	  common/iavf:	not in enabled drivers build config
	  common/mvep:	not in enabled drivers build config
	  common/octeontx:	not in enabled drivers build config
	  common/octeontx2:	not in enabled drivers build config
	  bus/dpaa:	not in enabled drivers build config
	  bus/fslmc:	not in enabled drivers build config
  ...

  dpdk@freebsd:~/dpdk $ cd drivers/
  dpdk@freebsd:~/dpdk/drivers $ ~/dpdk/buildtools/list-dir-globs.py */*
  env: python3: No such file or directory

Rely on meson internal interpreter.
Check return code when calling this script.

Fixes: ab9407c3addd ("build: allow using wildcards to disable drivers")
Fixes: 2e33309ebe03 ("config: enable/disable drivers in Arm builds")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/meson.build | 2 +-
 drivers/meson.build    | 6 +++---
 lib/meson.build        | 3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/buildtools/meson.build b/buildtools/meson.build
index c520896b4b..df94782bdc 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -2,7 +2,6 @@
 # Copyright(c) 2017-2019 Intel Corporation
 
 pkgconf = find_program('pkg-config', 'pkgconf', required: false)
-list_dir_globs = find_program('list-dir-globs.py')
 check_symbols = find_program('check-symbols.sh')
 ldflags_ibverbs_static = find_program('options-ibverbs-static.sh')
 binutils_avx512_check = find_program('binutils-avx512-check.sh')
@@ -16,6 +15,7 @@ else
 endif
 map_to_win_cmd = py3 + files('map_to_win.py')
 sphinx_wrapper = py3 + files('call-sphinx-build.py')
+list_dir_globs = py3 + files('list-dir-globs.py')
 
 # select library and object file format
 pmdinfo = py3 + files('gen-pmdinfo-cfile.py') + [meson.current_build_dir()]
diff --git a/drivers/meson.build b/drivers/meson.build
index b78cac3897..0052247a55 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -27,13 +27,13 @@ endif
 
 # add cmdline disabled drivers and meson disabled drivers together
 disable_drivers += ',' + get_option('disable_drivers')
-disable_drivers = run_command(list_dir_globs, disable_drivers).stdout().split()
+disable_drivers = run_command(list_dir_globs, disable_drivers, check: true).stdout().split()
 
 # add cmdline enabled drivers and meson enabled drivers together
 enable_drivers = ',' + get_option('enable_drivers')
-enable_drivers = run_command(list_dir_globs, enable_drivers).stdout().split()
+enable_drivers = run_command(list_dir_globs, enable_drivers, check: true).stdout().split()
 if enable_drivers.length() == 0
-    enable_drivers = run_command(list_dir_globs, '*/*').stdout().split()
+    enable_drivers = run_command(list_dir_globs, '*/*', check: true).stdout().split()
 endif
 
 # these drivers must always be enabled, otherwise the build breaks
diff --git a/lib/meson.build b/lib/meson.build
index 77f363a516..a4fb0dbdd4 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -88,7 +88,8 @@ optional_libs = [
 ]
 
 disabled_libs = []
-opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs')).stdout().split()
+opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs'),
+        check: true).stdout().split()
 foreach l:opt_disabled_libs
     if not optional_libs.contains(l)
         warning('Cannot disable mandatory library "@0@"'.format(l))
-- 
2.23.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH v2] build: fix drivers config with no python interpreter
  2021-05-07 11:54 ` [dpdk-dev] [PATCH v2] " David Marchand
@ 2021-05-07 13:45   ` Thomas Monjalon
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2021-05-07 13:45 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, Bruce Richardson, Robin Jarry, Luca Boccassi,
	Juraj Linkeš,
	Honnappa Nagarahalli, Ruifeng Wang

07/05/2021 13:54, David Marchand:
> If no enable_drivers option is passed, the default is to build the
> drivers list by calling list-dir-globs.py.
> 
> But if no python interpreter is installed, no error is reported and all
> drivers end up being disabled.
> 
> Example on a minimal FreeBSD vm:
> 
>   dpdk@freebsd:~/dpdk $ meson setup build
>   ...
>   drivers:
> 	  common/cpt:	not in enabled drivers build config
> 	  common/dpaax:	not in enabled drivers build config
> 	  common/iavf:	not in enabled drivers build config
> 	  common/mvep:	not in enabled drivers build config
> 	  common/octeontx:	not in enabled drivers build config
> 	  common/octeontx2:	not in enabled drivers build config
> 	  bus/dpaa:	not in enabled drivers build config
> 	  bus/fslmc:	not in enabled drivers build config
>   ...
> 
>   dpdk@freebsd:~/dpdk $ cd drivers/
>   dpdk@freebsd:~/dpdk/drivers $ ~/dpdk/buildtools/list-dir-globs.py */*
>   env: python3: No such file or directory
> 
> Rely on meson internal interpreter.
> Check return code when calling this script.
> 
> Fixes: ab9407c3addd ("build: allow using wildcards to disable drivers")
> Fixes: 2e33309ebe03 ("config: enable/disable drivers in Arm builds")

+Cc: stable

> Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Applied, thanks



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-05-07 13:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-07  9:21 [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter David Marchand
2021-05-07  9:50 ` Bruce Richardson
2021-05-07 10:01 ` David Marchand
2021-05-07 11:54 ` [dpdk-dev] [PATCH v2] " David Marchand
2021-05-07 13:45   ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).