build: skip copying meson files for examples installation
Checks
Commit Message
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: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@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(-)
Comments
12/03/2021 15:56, Bruce Richardson:
> 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: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Applied, thanks
@@ -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
@@ -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')