[libcamera-devel,v7,03/13] meson: add 'check: true' for run_command() calls
diff mbox series

Message ID 20220505104104.70841-4-tomi.valkeinen@ideasonboard.com
State Superseded
Headers show
Series
  • Python bindings
Related show

Commit Message

Tomi Valkeinen May 5, 2022, 10:40 a.m. UTC
Add 'check: true' to all run_command() calls as suggested in
https://github.com/mesonbuild/meson/issues/9300 to get rid of meson
warning "You should add the boolean check kwarg to the run_command
call."

This makes meson fail if the executed command fails, which makes sense.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---
 meson.build | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Kieran Bingham May 5, 2022, 12:33 p.m. UTC | #1
Quoting Tomi Valkeinen (2022-05-05 11:40:54)
> Add 'check: true' to all run_command() calls as suggested in
> https://github.com/mesonbuild/meson/issues/9300 to get rid of meson
> warning "You should add the boolean check kwarg to the run_command
> call."
> 
> This makes meson fail if the executed command fails, which makes sense.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> ---
>  meson.build | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 10ad8c5c..0124e7d3 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -18,7 +18,8 @@ project('libcamera', 'c', 'cpp',
>  # libcamera_git_version.
>  libcamera_git_version = run_command('utils/gen-version.sh',
>                                      meson.project_build_root(),
> -                                    meson.project_source_root()).stdout().strip()
> +                                    meson.project_source_root(),
> +                                    check: true).stdout().strip()
>  if libcamera_git_version == ''

I think I recall on ChromeOS builds - there was something about the
build occuring in a different tree location - and it affected this
somehow.

So ... I would say 'Yes, I agree with this change' - but it will need
specific testing to make sure we don't break chrome builds.

(That's part of my integration tests anyway, but just highlighting here)

So assuming we don't break a build : 

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>


>      libcamera_git_version = meson.project_version()
>  endif
> @@ -148,7 +149,7 @@ subdir('test')
>  
>  if not meson.is_cross_build()
>      kernel_version_req = '>= 5.0.0'
> -    kernel_version = run_command('uname', '-r').stdout().strip()
> +    kernel_version = run_command('uname', '-r', check: true).stdout().strip()
>      if not kernel_version.version_compare(kernel_version_req)
>          warning('The current running kernel version @0@ is too old to run libcamera.'
>                  .format(kernel_version))
> @@ -160,7 +161,8 @@ endif
>  # Create a symlink from the build root to the source root. This is used when
>  # running libcamera from the build directory to locate resources in the source
>  # directory (such as IPA configuration files).
> -run_command('ln', '-fsT', meson.project_source_root(), meson.project_build_root() / 'source')
> +run_command('ln', '-fsT', meson.project_source_root(), meson.project_build_root() / 'source',
> +            check: true)
>  
>  configure_file(output : 'config.h', configuration : config_h)
>  
> -- 
> 2.34.1
>
Tomi Valkeinen May 5, 2022, 12:48 p.m. UTC | #2
On 05/05/2022 15:33, Kieran Bingham wrote:
> Quoting Tomi Valkeinen (2022-05-05 11:40:54)
>> Add 'check: true' to all run_command() calls as suggested in
>> https://github.com/mesonbuild/meson/issues/9300 to get rid of meson
>> warning "You should add the boolean check kwarg to the run_command
>> call."
>>
>> This makes meson fail if the executed command fails, which makes sense.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
>> ---
>>   meson.build | 8 +++++---
>>   1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/meson.build b/meson.build
>> index 10ad8c5c..0124e7d3 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -18,7 +18,8 @@ project('libcamera', 'c', 'cpp',
>>   # libcamera_git_version.
>>   libcamera_git_version = run_command('utils/gen-version.sh',
>>                                       meson.project_build_root(),
>> -                                    meson.project_source_root()).stdout().strip()
>> +                                    meson.project_source_root(),
>> +                                    check: true).stdout().strip()
>>   if libcamera_git_version == ''
> 
> I think I recall on ChromeOS builds - there was something about the
> build occuring in a different tree location - and it affected this
> somehow.
> 
> So ... I would say 'Yes, I agree with this change' - but it will need
> specific testing to make sure we don't break chrome builds.
> 
> (That's part of my integration tests anyway, but just highlighting here)
> 
> So assuming we don't break a build :
> 
> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

Thanks! Btw, feel free to pick these three first patches separately if 
they look fine.

  Tomi
Laurent Pinchart May 5, 2022, 3:54 p.m. UTC | #3
On Thu, May 05, 2022 at 01:33:48PM +0100, Kieran Bingham wrote:
> Quoting Tomi Valkeinen (2022-05-05 11:40:54)
> > Add 'check: true' to all run_command() calls as suggested in
> > https://github.com/mesonbuild/meson/issues/9300 to get rid of meson
> > warning "You should add the boolean check kwarg to the run_command
> > call."
> > 
> > This makes meson fail if the executed command fails, which makes sense.
> > 
> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> > ---
> >  meson.build | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> > 
> > diff --git a/meson.build b/meson.build
> > index 10ad8c5c..0124e7d3 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -18,7 +18,8 @@ project('libcamera', 'c', 'cpp',
> >  # libcamera_git_version.
> >  libcamera_git_version = run_command('utils/gen-version.sh',
> >                                      meson.project_build_root(),
> > -                                    meson.project_source_root()).stdout().strip()
> > +                                    meson.project_source_root(),
> > +                                    check: true).stdout().strip()
> >  if libcamera_git_version == ''
> 
> I think I recall on ChromeOS builds - there was something about the
> build occuring in a different tree location - and it affected this
> somehow.
> 
> So ... I would say 'Yes, I agree with this change' - but it will need
> specific testing to make sure we don't break chrome builds.
> 
> (That's part of my integration tests anyway, but just highlighting here)

Can you test both the regular ebuild and the live ebuild (with cros
workon) ?

> So assuming we don't break a build : 
> 
> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

As Tomi mentioned in another e-mail, could you already push patches
01/13 to 03/13 after running your integrations tests ?

> >      libcamera_git_version = meson.project_version()
> >  endif
> > @@ -148,7 +149,7 @@ subdir('test')
> >  
> >  if not meson.is_cross_build()
> >      kernel_version_req = '>= 5.0.0'
> > -    kernel_version = run_command('uname', '-r').stdout().strip()
> > +    kernel_version = run_command('uname', '-r', check: true).stdout().strip()
> >      if not kernel_version.version_compare(kernel_version_req)
> >          warning('The current running kernel version @0@ is too old to run libcamera.'
> >                  .format(kernel_version))
> > @@ -160,7 +161,8 @@ endif
> >  # Create a symlink from the build root to the source root. This is used when
> >  # running libcamera from the build directory to locate resources in the source
> >  # directory (such as IPA configuration files).
> > -run_command('ln', '-fsT', meson.project_source_root(), meson.project_build_root() / 'source')
> > +run_command('ln', '-fsT', meson.project_source_root(), meson.project_build_root() / 'source',
> > +            check: true)
> >  
> >  configure_file(output : 'config.h', configuration : config_h)
> >

Patch
diff mbox series

diff --git a/meson.build b/meson.build
index 10ad8c5c..0124e7d3 100644
--- a/meson.build
+++ b/meson.build
@@ -18,7 +18,8 @@  project('libcamera', 'c', 'cpp',
 # libcamera_git_version.
 libcamera_git_version = run_command('utils/gen-version.sh',
                                     meson.project_build_root(),
-                                    meson.project_source_root()).stdout().strip()
+                                    meson.project_source_root(),
+                                    check: true).stdout().strip()
 if libcamera_git_version == ''
     libcamera_git_version = meson.project_version()
 endif
@@ -148,7 +149,7 @@  subdir('test')
 
 if not meson.is_cross_build()
     kernel_version_req = '>= 5.0.0'
-    kernel_version = run_command('uname', '-r').stdout().strip()
+    kernel_version = run_command('uname', '-r', check: true).stdout().strip()
     if not kernel_version.version_compare(kernel_version_req)
         warning('The current running kernel version @0@ is too old to run libcamera.'
                 .format(kernel_version))
@@ -160,7 +161,8 @@  endif
 # Create a symlink from the build root to the source root. This is used when
 # running libcamera from the build directory to locate resources in the source
 # directory (such as IPA configuration files).
-run_command('ln', '-fsT', meson.project_source_root(), meson.project_build_root() / 'source')
+run_command('ln', '-fsT', meson.project_source_root(), meson.project_build_root() / 'source',
+            check: true)
 
 configure_file(output : 'config.h', configuration : config_h)