The meson.build files in each example directory is simply to support
building the example as part of the main SDK build, and these should not
be installed with the example's source code and makefile. The exclude of
"meson.build" only filters out the top-level examples/meson.build file,
not the file in each subdirectory.

To fix this, we can build up the list of files to exclude based off the
list of all examples. With this change "find examples/ -name meson.build"
returns no hits when run on an installed instance.

Fixes: e5b95003f1df ("examples: fix flattening directory layout on install")
Cc: sta...@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>

---

Including stable on CC for this patch because even though it's removing
files, those files are useless alone, since they must be part of a
larger DPDK build. Therefore I think the patch should be safe to
consider for backporting, especially since prior to the commit in
question the meson.build files were being properly filtered out.
---
 examples/meson.build | 6 ++++++
 meson.build          | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/examples/meson.build b/examples/meson.build
index b9ab24223..3fe08d4ca 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -48,6 +48,12 @@ all_examples = [
        'vmdq', 'vmdq_dcb',
 ]
 
+# on install, skip copying all meson.build files
+ex_file_excludes = ['meson.build']
+foreach ex:all_examples
+       ex_file_excludes += [ex + '/meson.build']
+endforeach
+
 if get_option('examples') == ''
        subdir_done()
 endif
diff --git a/meson.build b/meson.build
index fcc4d4c90..7778e1820 100644
--- a/meson.build
+++ b/meson.build
@@ -61,7 +61,7 @@ subdir('doc')
 subdir('examples')
 install_subdir('examples',
        install_dir: get_option('datadir') + '/dpdk',
-       exclude_files: 'meson.build')
+       exclude_files: ex_file_excludes)
 
 # build kernel modules if enabled
 if get_option('enable_kmods')
-- 
2.27.0

Reply via email to