[v2] build: increase minimum meson version to 0.53.2

Message ID 20221007162404.1117056-1-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v2] build: increase minimum meson version to 0.53.2 |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/iol-x86_64-unit-testing fail Testing issues
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing warning Testing issues
ci/iol-aarch64-compile-testing fail Testing issues
ci/Intel-compilation success Compilation OK
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Testing success Testing PASS

Commit Message

Bruce Richardson Oct. 7, 2022, 4:24 p.m. UTC
  This patchset bumps the minimum meson version from 0.49.2 to 0.53.2.
Ideally, the minimum version should be 0.53 without a point release, but
some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], fixed
by commit[2] in 0.53.1. Therefore we use the latest point release from
0.53 branch i.e. 0.53.2.

Some new features of interest which can now be used in DPDK with this
new minimum meson version:

* can do header-file checks directly inside find_library calls, rather
  than needing a separate check.[v0.50].
* can pass multiple cross-files at the same time when cross-compiling
  [v0.51].
* "alias_target" function, to allow use to give better/shorter names
  for particular build objects [v0.52].
* auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets
  when those tools are present and config dotfiles are present.
  Similarly ctags and cscope are added as targets when those tools are
  present [v0.53]
* meson module for filesystem operations, so meson can now check for the
  presence of particlar files or directories [v0.53].
* "summary" function to provide a configuration summary at the end of
  the meson run [v0.53].

Plus many other features. See [3] for full details of each version.

[1] https://github.com/mesonbuild/meson/issues/6442
[2] https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782
[3] https://mesonbuild.com/Release-notes.html

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 .ci/linux-setup.sh                        | 2 +-
 doc/guides/linux_gsg/sys_reqs.rst         | 2 +-
 doc/guides/prog_guide/build-sdk-meson.rst | 2 +-
 drivers/common/mlx5/linux/meson.build     | 2 +-
 meson.build                               | 8 +++-----
 5 files changed, 7 insertions(+), 9 deletions(-)
  

Comments

David Marchand Oct. 7, 2022, 7:13 p.m. UTC | #1
On Fri, Oct 7, 2022 at 6:24 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> This patchset bumps the minimum meson version from 0.49.2 to 0.53.2.
> Ideally, the minimum version should be 0.53 without a point release, but
> some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], fixed
> by commit[2] in 0.53.1. Therefore we use the latest point release from
> 0.53 branch i.e. 0.53.2.
>
> Some new features of interest which can now be used in DPDK with this
> new minimum meson version:
>
> * can do header-file checks directly inside find_library calls, rather
>   than needing a separate check.[v0.50].
> * can pass multiple cross-files at the same time when cross-compiling
>   [v0.51].
> * "alias_target" function, to allow use to give better/shorter names
>   for particular build objects [v0.52].
> * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets
>   when those tools are present and config dotfiles are present.
>   Similarly ctags and cscope are added as targets when those tools are
>   present [v0.53]
> * meson module for filesystem operations, so meson can now check for the
>   presence of particlar files or directories [v0.53].
> * "summary" function to provide a configuration summary at the end of
>   the meson run [v0.53].
>
> Plus many other features. See [3] for full details of each version.
>
> [1] https://github.com/mesonbuild/meson/issues/6442
> [2] https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782

Nit: we can shorten this link and keep only 12 chars for hash.
https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579

> [3] https://mesonbuild.com/Release-notes.html
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Acked-by: David Marchand <david.marchand@redhat.com>


Looking at the test reports for this patch, focusing on compilation:
- it looks like Intel envs are already using a recent enough meson,
- the change passes fine in GHA now,
- UNH envs are reporting failures, but that's expected since the
images must be refreshed once this patch is merged,

So from this aspect, I think we are all set to merge this patch.


It seems the "intel-Testing" test is in ... berserk mode and spewing
errors for all patches since 10/03.
No clue if we have an issue in the main branch, and this test logs are useless.

I'll wait for Intel PRC to be back and ignore for now.
  
Tu, Lijuan Oct. 10, 2022, 5:23 a.m. UTC | #2
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Saturday, October 8, 2022 3:13 AM
> To: Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>
> Cc: dev@dpdk.org; ci@dpdk.org; Lincoln Lavoie <lylavoie@iol.unh.edu>; Tu,
> Lijuan <lijuan.tu@intel.com>; Chen, Zhaoyan <zhaoyan.chen@intel.com>;
> Mcnamara, John <john.mcnamara@intel.com>
> Subject: Re: [PATCH v2] build: increase minimum meson version to 0.53.2
> 
> On Fri, Oct 7, 2022 at 6:24 PM Bruce Richardson <bruce.richardson@intel.com>
> wrote:
> >
> > This patchset bumps the minimum meson version from 0.49.2 to 0.53.2.
> > Ideally, the minimum version should be 0.53 without a point release,
> > but some DPDK builds (mingw) are broken with 0.53.0 due to issue[1],
> > fixed by commit[2] in 0.53.1. Therefore we use the latest point
> > release from
> > 0.53 branch i.e. 0.53.2.
> >
> > Some new features of interest which can now be used in DPDK with this
> > new minimum meson version:
> >
> > * can do header-file checks directly inside find_library calls, rather
> >   than needing a separate check.[v0.50].
> > * can pass multiple cross-files at the same time when cross-compiling
> >   [v0.51].
> > * "alias_target" function, to allow use to give better/shorter names
> >   for particular build objects [v0.52].
> > * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets
> >   when those tools are present and config dotfiles are present.
> >   Similarly ctags and cscope are added as targets when those tools are
> >   present [v0.53]
> > * meson module for filesystem operations, so meson can now check for the
> >   presence of particlar files or directories [v0.53].
> > * "summary" function to provide a configuration summary at the end of
> >   the meson run [v0.53].
> >
> > Plus many other features. See [3] for full details of each version.
> >
> > [1] https://github.com/mesonbuild/meson/issues/6442
> > [2]
> >
> https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11d
> > d389fcb1152a4e8ead8b8782
> 
> Nit: we can shorten this link and keep only 12 chars for hash.
> https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579
> 
> > [3] https://mesonbuild.com/Release-notes.html
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> 
> Acked-by: David Marchand <david.marchand@redhat.com>
> 
> 
> Looking at the test reports for this patch, focusing on compilation:
> - it looks like Intel envs are already using a recent enough meson,
> - the change passes fine in GHA now,
> - UNH envs are reporting failures, but that's expected since the images must be
> refreshed once this patch is merged,
> 
> So from this aspect, I think we are all set to merge this patch.
> 
> 
> It seems the "intel-Testing" test is in ... berserk mode and spewing errors for all
> patches since 10/03.
> No clue if we have an issue in the main branch, and this test logs are useless.
> 
> I'll wait for Intel PRC to be back and ignore for now.

Yes, the main branch had an issue and has been fixed now. Intel-Testing is back to normal. It works fine.

> 
> 
> --
> David Marchand
  
David Marchand Oct. 10, 2022, 7:48 a.m. UTC | #3
On Mon, Oct 10, 2022 at 7:23 AM Tu, Lijuan <lijuan.tu@intel.com> wrote:
> > It seems the "intel-Testing" test is in ... berserk mode and spewing errors for all
> > patches since 10/03.
> > No clue if we have an issue in the main branch, and this test logs are useless.
> >
> > I'll wait for Intel PRC to be back and ignore for now.
>
> Yes, the main branch had an issue and has been fixed now. Intel-Testing is back to normal. It works fine.

The only info we had was that "something" was broken.
Example: http://mails.dpdk.org/archives/test-report/2022-October/313054.html


When other CI report a failure, executed commands and logs are
available in GHA and UNH dashboard, downloadable as zip files.
So it is relatively easy to figure out if the issue was due to an
infrastructure problem or if it was a test failure.


I don't think Intel CI provide such info. If this is the case, please
document it.
Otherwise, please Intel CI team, work on providing the same kind of info.



Thanks.
  
David Marchand Oct. 10, 2022, 2:53 p.m. UTC | #4
On Fri, Oct 7, 2022 at 9:13 PM David Marchand <david.marchand@redhat.com> wrote:
>
> On Fri, Oct 7, 2022 at 6:24 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > This patchset bumps the minimum meson version from 0.49.2 to 0.53.2.
> > Ideally, the minimum version should be 0.53 without a point release, but
> > some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], fixed
> > by commit[2] in 0.53.1. Therefore we use the latest point release from
> > 0.53 branch i.e. 0.53.2.
> >
> > Some new features of interest which can now be used in DPDK with this
> > new minimum meson version:
> >
> > * can do header-file checks directly inside find_library calls, rather
> >   than needing a separate check.[v0.50].
> > * can pass multiple cross-files at the same time when cross-compiling
> >   [v0.51].
> > * "alias_target" function, to allow use to give better/shorter names
> >   for particular build objects [v0.52].
> > * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets
> >   when those tools are present and config dotfiles are present.
> >   Similarly ctags and cscope are added as targets when those tools are
> >   present [v0.53]
> > * meson module for filesystem operations, so meson can now check for the
> >   presence of particlar files or directories [v0.53].
> > * "summary" function to provide a configuration summary at the end of
> >   the meson run [v0.53].
> >
> > Plus many other features. See [3] for full details of each version.
> >
> > [1] https://github.com/mesonbuild/meson/issues/6442
> > [2] https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782
> > [3] https://mesonbuild.com/Release-notes.html
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: David Marchand <david.marchand@redhat.com>

Applied, thanks.
  
Tu, Lijuan Oct. 13, 2022, 12:51 p.m. UTC | #5
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Monday, October 10, 2022 3:48 PM
> To: Tu, Lijuan <lijuan.tu@intel.com>
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; dev@dpdk.org; ci@dpdk.org; Lincoln Lavoie
> <lylavoie@iol.unh.edu>; Chen, Zhaoyan <zhaoyan.chen@intel.com>; Mcnamara,
> John <john.mcnamara@intel.com>
> Subject: Re: [PATCH v2] build: increase minimum meson version to 0.53.2
> 
> On Mon, Oct 10, 2022 at 7:23 AM Tu, Lijuan <lijuan.tu@intel.com> wrote:
> > > It seems the "intel-Testing" test is in ... berserk mode and spewing
> > > errors for all patches since 10/03.
> > > No clue if we have an issue in the main branch, and this test logs are useless.
> > >
> > > I'll wait for Intel PRC to be back and ignore for now.
> >
> > Yes, the main branch had an issue and has been fixed now. Intel-Testing is back
> to normal. It works fine.
> 
> The only info we had was that "something" was broken.
> Example: http://mails.dpdk.org/archives/test-report/2022-
> October/313054.html
> 
> 
> When other CI report a failure, executed commands and logs are available in
> GHA and UNH dashboard, downloadable as zip files.
> So it is relatively easy to figure out if the issue was due to an infrastructure
> problem or if it was a test failure.
> 
> 
> I don't think Intel CI provide such info. If this is the case, please document it.
> Otherwise, please Intel CI team, work on providing the same kind of info.

Intel don't provide such info, and I don't think community provides API or services to support it. 
The https://lab.dpdk.org/results/dashboard/ is for UNH, If dashboard could provide a API for intel, we'd like to provide detail logs.
We need community 's help to set up this, I think we can discus it in CI meeting.

> 
> 
> 
> Thanks.
> --
> David Marchand
  

Patch

diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh
index f5ef6b1b98..975bf32144 100755
--- a/.ci/linux-setup.sh
+++ b/.ci/linux-setup.sh
@@ -4,7 +4,7 @@ 
 [ "$(id -u)" != '0' ] || alias sudo=
 
 # need to install as 'root' since some of the unit tests won't run without it
-sudo python3 -m pip install --upgrade 'meson==0.49.2'
+sudo python3 -m pip install --upgrade 'meson==0.53.2'
 
 # setup hugepages. error ignored because having hugepage is not mandatory.
 cat /proc/meminfo
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 08d45898f0..095d702497 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -43,7 +43,7 @@  Compilation of the DPDK
 
 *   Python 3.5 or later.
 
-*   Meson (version 0.49.2+) and ninja
+*   Meson (version 0.53.2+) and ninja
 
     * ``meson`` & ``ninja-build`` packages in most Linux distributions
     * If the packaged version is below the minimum version, the latest versions
diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst
index 30ce805902..58d9b553a0 100644
--- a/doc/guides/prog_guide/build-sdk-meson.rst
+++ b/doc/guides/prog_guide/build-sdk-meson.rst
@@ -35,7 +35,7 @@  The ``meson`` tool is used to configure a DPDK build. On most Linux
 distributions this can be got using the local package management system,
 e.g. ``dnf install meson`` or ``apt-get install meson``. If meson is not
 available as a suitable package, it can also be installed using the Python
-3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.49.2 of meson is
+3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.53.2 or later of meson is
 required - if the version packaged is too old, the latest version is
 generally available from "pip".
 
diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build
index f9d1937571..e77b46d157 100644
--- a/drivers/common/mlx5/linux/meson.build
+++ b/drivers/common/mlx5/linux/meson.build
@@ -47,7 +47,7 @@  endif
 
 libmtcr_ul_found = false
 lib = cc.find_library('mtcr_ul', required:false)
-if lib.found() and run_command('meson', '--version').stdout().version_compare('>= 0.49.2')
+if lib.found()
     libmtcr_ul_found = true
     ext_deps += lib
 endif
diff --git a/meson.build b/meson.build
index 8b1b09ead5..cf3343a547 100644
--- a/meson.build
+++ b/meson.build
@@ -12,16 +12,14 @@  project('DPDK', 'C',
             'default_library=static',
             'warning_level=2',
         ],
-        meson_version: '>= 0.49.2'
+        meson_version: '>= 0.53.2'
 )
 
 # check for developer mode
 developer_mode = false
 if get_option('developer_mode').auto()
-    if meson.version().version_compare('>=0.53') # fs module available
-        fs = import('fs')
-        developer_mode = fs.exists('.git')
-    endif
+    fs = import('fs')
+    developer_mode = fs.exists('.git')
 else
     developer_mode = get_option('developer_mode').enabled()
 endif