diff mbox series

oeqa wic.py: clean image build dir before rebuild in test_permissions()

Message ID 20250407110946.47038-1-mikko.rapeli@linaro.org
State New
Headers show
Series oeqa wic.py: clean image build dir before rebuild in test_permissions() | expand

Commit Message

Mikko Rapeli April 7, 2025, 11:09 a.m. UTC
The test builds images using wic and then with bitbake
and compares results. This fails at least on aarch64
build machine and multiple target machines due to
pseudo errors. Fix by cleaning the build recipe
build directory before rebuild.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 meta/lib/oeqa/selftest/cases/wic.py | 1 +
 1 file changed, 1 insertion(+)

Comments

Trevor Woerner April 14, 2025, 8:56 p.m. UTC | #1
On Mon 2025-04-07 @ 02:09:45 PM, Mikko Rapeli via lists.openembedded.org wrote:
> The test builds images using wic and then with bitbake
> and compares results. This fails at least on aarch64
> build machine and multiple target machines due to
> pseudo errors. Fix by cleaning the build recipe
> build directory before rebuild.
> 
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
>  meta/lib/oeqa/selftest/cases/wic.py | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
> index 4f5d43b5ee..55c655cd6d 100644
> --- a/meta/lib/oeqa/selftest/cases/wic.py
> +++ b/meta/lib/oeqa/selftest/cases/wic.py
> @@ -674,6 +674,7 @@ part /etc --source rootfs --fstype=ext4 --change-directory=etc
>  
>                  config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "%s"\n' % wks_file
>                  self.append_config(config)
> +                bitbake('-c clean core-image-minimal')
>                  bitbake('core-image-minimal')
>                  tmpdir = os.path.join(get_bb_var('WORKDIR', 'core-image-minimal'),'build-wic')
>  

I have seen this issue too, but it is intermittent for me; is this an
intermittent issue with you as well? This feels a lot more like a hack rather
than a solution.
Mikko Rapeli April 15, 2025, 5:07 a.m. UTC | #2
Hi,

On Mon, Apr 14, 2025 at 04:56:14PM -0400, Trevor Woerner wrote:
> On Mon 2025-04-07 @ 02:09:45 PM, Mikko Rapeli via lists.openembedded.org wrote:
> > The test builds images using wic and then with bitbake
> > and compares results. This fails at least on aarch64
> > build machine and multiple target machines due to
> > pseudo errors. Fix by cleaning the build recipe
> > build directory before rebuild.
> > 
> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > ---
> >  meta/lib/oeqa/selftest/cases/wic.py | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
> > index 4f5d43b5ee..55c655cd6d 100644
> > --- a/meta/lib/oeqa/selftest/cases/wic.py
> > +++ b/meta/lib/oeqa/selftest/cases/wic.py
> > @@ -674,6 +674,7 @@ part /etc --source rootfs --fstype=ext4 --change-directory=etc
> >  
> >                  config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "%s"\n' % wks_file
> >                  self.append_config(config)
> > +                bitbake('-c clean core-image-minimal')
> >                  bitbake('core-image-minimal')
> >                  tmpdir = os.path.join(get_bb_var('WORKDIR', 'core-image-minimal'),'build-wic')
> >  
> 
> I have seen this issue too, but it is intermittent for me; is this an
> intermittent issue with you as well? This feels a lot more like a hack rather
> than a solution.

This is somewhat reproducible. I don't fully understand what is happening
but it has something to do with pseudo fakeroot database and creating
files with wic directly vs wic via bitbake build. Hack, possibly, but it
fixes the issue. I don't expect pseudo to work correctly if tools are run
in and outside of bitbake build environment.

Cheers,

-Mikko
Richard Purdie April 24, 2025, 10:38 a.m. UTC | #3
On Mon, 2025-04-07 at 14:09 +0300, Mikko Rapeli via lists.openembedded.org wrote:
> The test builds images using wic and then with bitbake
> and compares results. This fails at least on aarch64
> build machine and multiple target machines due to
> pseudo errors. Fix by cleaning the build recipe
> build directory before rebuild.
> 
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
>  meta/lib/oeqa/selftest/cases/wic.py | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
> index 4f5d43b5ee..55c655cd6d 100644
> --- a/meta/lib/oeqa/selftest/cases/wic.py
> +++ b/meta/lib/oeqa/selftest/cases/wic.py
> @@ -674,6 +674,7 @@ part /etc --source rootfs --fstype=ext4 --change-directory=etc
>  
>                  config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "%s"\n' % wks_file
>                  self.append_config(config)
> +                bitbake('-c clean core-image-minimal')
>                  bitbake('core-image-minimal')
>                  tmpdir = os.path.join(get_bb_var('WORKDIR', 'core-image-minimal'),'build-wic')
>  
> 

Just to follow up on this, I'm reluctant to merge this as it will "live
forever" without people understanding why it is there. We really need
to get to the bottom of the underlying issue.

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index 4f5d43b5ee..55c655cd6d 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -674,6 +674,7 @@  part /etc --source rootfs --fstype=ext4 --change-directory=etc
 
                 config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "%s"\n' % wks_file
                 self.append_config(config)
+                bitbake('-c clean core-image-minimal')
                 bitbake('core-image-minimal')
                 tmpdir = os.path.join(get_bb_var('WORKDIR', 'core-image-minimal'),'build-wic')