Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-24 Thread Joakim Tjernlund via lists.openembedded.org
On Tue, 2024-01-23 at 20:14 +0100, Alexander Kanavin wrote:
> On Tue, 23 Jan 2024 at 20:11, Joakim Tjernlund
>  wrote:
> > 
> > On Tue, 2024-01-23 at 20:02 +0100, Alexander Kanavin wrote:
> > > Host tools can influence reproducibility of target items too, so I
> > > would not want to use the same set in both builds. Checking for
> > > reproducibility is simply something that needs a powerful machine.
> > 
> > We would like to start gently, don't have that power yet and
> > some pkgs needs fixing before doing serious repro. builds.
> > Therefore I would like to reuse host tools if possible for now.
> > 
> > But how to setup OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS?
> 
> Documentation doesn't seem to help there (patches welcome), so I
> suggest you read the test directly:
> meta/lib/oeqa/selftest/cases/reproducible.py
> 
> Alex

Moving forward, but slowly ..
I note that get an repro error which I cannot explain:
024-01-24 11:15:32,108 - oe-selftest - INFO - 
==
2024-01-24 11:15:32,109 - oe-selftest - INFO - FAIL: test_reproducible_builds 
(reproducible.ReproducibleTests)
2024-01-24 11:15:32,109 - oe-selftest - INFO - 
--
2024-01-24 11:15:32,109 - oe-selftest - INFO - Traceback (most recent call 
last):
  File 
"/home/jocke/yocto-xr/3pp/poky/meta/lib/oeqa/selftest/cases/reproducible.py", 
line 321, in test_reproducible_builds
self.fail('\n'.join(fails))
AssertionError: The following ipk packages are missing or different and not in 
exclusion list: /home/jocke/yocto-xr/build/infn-xr/gmcu-
st/reproducibleB/tmp/deploy/ipk/./cortexa53-32/lib32-argp-standalone-staticdev_1.3-r0_cortexa53-32.ipk

Also, I need to set SANITY_TESTED_DISTROS = "" and remove INHERIT += 
"buildhistory" from my *.conf files
before I can build. Trying to find a way to nullify these without having to 
edit the *.conf files directly, any clues?

 Jocke


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194271): 
https://lists.openembedded.org/g/openembedded-core/message/194271
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-23 Thread Alexander Kanavin
On Tue, 23 Jan 2024 at 20:11, Joakim Tjernlund
 wrote:
>
> On Tue, 2024-01-23 at 20:02 +0100, Alexander Kanavin wrote:
> > Host tools can influence reproducibility of target items too, so I
> > would not want to use the same set in both builds. Checking for
> > reproducibility is simply something that needs a powerful machine.
>
> We would like to start gently, don't have that power yet and
> some pkgs needs fixing before doing serious repro. builds.
> Therefore I would like to reuse host tools if possible for now.
>
> But how to setup OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS?

Documentation doesn't seem to help there (patches welcome), so I
suggest you read the test directly:
meta/lib/oeqa/selftest/cases/reproducible.py

Alex

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194250): 
https://lists.openembedded.org/g/openembedded-core/message/194250
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-23 Thread Joakim Tjernlund via lists.openembedded.org
On Tue, 2024-01-23 at 20:02 +0100, Alexander Kanavin wrote:
> Host tools can influence reproducibility of target items too, so I
> would not want to use the same set in both builds. Checking for
> reproducibility is simply something that needs a powerful machine.

We would like to start gently, don't have that power yet and
some pkgs needs fixing before doing serious repro. builds.
Therefore I would like to reuse host tools if possible for now.

But how to setup OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS?

> 
> Alex
> 
> On Tue, 23 Jan 2024 at 19:52, Joakim Tjernlund
>  wrote:
> > 
> > On Mon, 2024-01-22 at 21:39 +0100, Alexander Kanavin wrote:
> > > On Mon, 22 Jan 2024 at 17:49, Joakim Tjernlund
> > >  wrote:
> > > > 
> > > > On Mon, 2024-01-22 at 17:19 +0100, Alexander Kanavin wrote:
> > > > > On Mon, 22 Jan 2024 at 16:59, Joakim Tjernlund
> > > > >  wrote:
> > > > > > Maybe but what about the missing reproducibleA/tmp and 
> > > > > > reproducibleB/tmp ?
> > > > > > Would these be missing if sstate is used for both?
> > > > > > In the log there is this:
> > > > > >   INFO - Building reproducibleB (sstate NOT allowed)...
> > > > > 
> > > > > It's possible your local/distro config somehow overrides all of the
> > > > > test settings, including the separate TMPDIR directories, and simply
> > > > > builds things twice in the same directory. The log does seem to
> > > > > indicate that:
> > > > 
> > > > That was my though too but I cannot find what is doing that, grepping
> > > > has not found TMPDIR changes. Is there something else that might 
> > > > influence
> > > > TMPDIR ?
> > > 
> > > You can find out with 'bitbake -e' perhaps.
> > > 
> > > Alex
> > 
> > Finally found it, was:
> > -   @echo 'BBPATH = "${BINARY_DIR}"' >> $@
> > +   @echo 'BBPATH = "$${TOPDIR}"' >> $@
> > 
> > Now it at least does the right thing: Tanks!
> > Off to try optimizing the build somehow, don't want to rebuild all host 
> > tools etc.
> > 
> > Seems like I should be able to use OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS but
> > unclear how to populate that list, any pointers?
> > 
> >  Jocke
> > 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194249): 
https://lists.openembedded.org/g/openembedded-core/message/194249
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-23 Thread Alexander Kanavin
Host tools can influence reproducibility of target items too, so I
would not want to use the same set in both builds. Checking for
reproducibility is simply something that needs a powerful machine.

Alex

On Tue, 23 Jan 2024 at 19:52, Joakim Tjernlund
 wrote:
>
> On Mon, 2024-01-22 at 21:39 +0100, Alexander Kanavin wrote:
> > On Mon, 22 Jan 2024 at 17:49, Joakim Tjernlund
> >  wrote:
> > >
> > > On Mon, 2024-01-22 at 17:19 +0100, Alexander Kanavin wrote:
> > > > On Mon, 22 Jan 2024 at 16:59, Joakim Tjernlund
> > > >  wrote:
> > > > > Maybe but what about the missing reproducibleA/tmp and 
> > > > > reproducibleB/tmp ?
> > > > > Would these be missing if sstate is used for both?
> > > > > In the log there is this:
> > > > >   INFO - Building reproducibleB (sstate NOT allowed)...
> > > >
> > > > It's possible your local/distro config somehow overrides all of the
> > > > test settings, including the separate TMPDIR directories, and simply
> > > > builds things twice in the same directory. The log does seem to
> > > > indicate that:
> > >
> > > That was my though too but I cannot find what is doing that, grepping
> > > has not found TMPDIR changes. Is there something else that might influence
> > > TMPDIR ?
> >
> > You can find out with 'bitbake -e' perhaps.
> >
> > Alex
>
> Finally found it, was:
> -   @echo 'BBPATH = "${BINARY_DIR}"' >> $@
> +   @echo 'BBPATH = "$${TOPDIR}"' >> $@
>
> Now it at least does the right thing: Tanks!
> Off to try optimizing the build somehow, don't want to rebuild all host tools 
> etc.
>
> Seems like I should be able to use OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS but
> unclear how to populate that list, any pointers?
>
>  Jocke
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194248): 
https://lists.openembedded.org/g/openembedded-core/message/194248
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-23 Thread Joakim Tjernlund via lists.openembedded.org
On Mon, 2024-01-22 at 21:39 +0100, Alexander Kanavin wrote:
> On Mon, 22 Jan 2024 at 17:49, Joakim Tjernlund
>  wrote:
> > 
> > On Mon, 2024-01-22 at 17:19 +0100, Alexander Kanavin wrote:
> > > On Mon, 22 Jan 2024 at 16:59, Joakim Tjernlund
> > >  wrote:
> > > > Maybe but what about the missing reproducibleA/tmp and 
> > > > reproducibleB/tmp ?
> > > > Would these be missing if sstate is used for both?
> > > > In the log there is this:
> > > >   INFO - Building reproducibleB (sstate NOT allowed)...
> > > 
> > > It's possible your local/distro config somehow overrides all of the
> > > test settings, including the separate TMPDIR directories, and simply
> > > builds things twice in the same directory. The log does seem to
> > > indicate that:
> > 
> > That was my though too but I cannot find what is doing that, grepping
> > has not found TMPDIR changes. Is there something else that might influence
> > TMPDIR ?
> 
> You can find out with 'bitbake -e' perhaps.
> 
> Alex

Finally found it, was:
-   @echo 'BBPATH = "${BINARY_DIR}"' >> $@
+   @echo 'BBPATH = "$${TOPDIR}"' >> $@

Now it at least does the right thing: Tanks!
Off to try optimizing the build somehow, don't want to rebuild all host tools 
etc. 

Seems like I should be able to use OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS but
unclear how to populate that list, any pointers?

 Jocke 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194247): 
https://lists.openembedded.org/g/openembedded-core/message/194247
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-22 Thread Alexander Kanavin
On Mon, 22 Jan 2024 at 17:49, Joakim Tjernlund
 wrote:
>
> On Mon, 2024-01-22 at 17:19 +0100, Alexander Kanavin wrote:
> > On Mon, 22 Jan 2024 at 16:59, Joakim Tjernlund
> >  wrote:
> > > Maybe but what about the missing reproducibleA/tmp and reproducibleB/tmp ?
> > > Would these be missing if sstate is used for both?
> > > In the log there is this:
> > >   INFO - Building reproducibleB (sstate NOT allowed)...
> >
> > It's possible your local/distro config somehow overrides all of the
> > test settings, including the separate TMPDIR directories, and simply
> > builds things twice in the same directory. The log does seem to
> > indicate that:
>
> That was my though too but I cannot find what is doing that, grepping
> has not found TMPDIR changes. Is there something else that might influence
> TMPDIR ?

You can find out with 'bitbake -e' perhaps.

Alex

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194193): 
https://lists.openembedded.org/g/openembedded-core/message/194193
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-22 Thread Joakim Tjernlund via lists.openembedded.org
On Mon, 2024-01-22 at 17:19 +0100, Alexander Kanavin wrote:
> On Mon, 22 Jan 2024 at 16:59, Joakim Tjernlund
>  wrote:
> > Maybe but what about the missing reproducibleA/tmp and reproducibleB/tmp ?
> > Would these be missing if sstate is used for both?
> > In the log there is this:
> >   INFO - Building reproducibleB (sstate NOT allowed)...
> 
> It's possible your local/distro config somehow overrides all of the
> test settings, including the separate TMPDIR directories, and simply
> builds things twice in the same directory. The log does seem to
> indicate that:

That was my though too but I cannot find what is doing that, grepping
has not found TMPDIR changes. Is there something else that might influence
TMPDIR ?


> 
> 2024-01-15 18:07:16,424 - oe-selftest - INFO -
> vars_A:{'DEPLOY_DIR_IPK': '/home/jocke/yocto-xr/build/in
> fn-xr/gmcu-st/tmp/deploy/ipk'}
> 2024-01-15 18:07:16,424 - oe-selftest - INFO -
> vars_B:{'DEPLOY_DIR_IPK':
> '/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk'}
> 2024-01-15 18:07:16,424 - oe-selftest - INFO - c in package_classes:ipk
> 2024-01-15 18:07:16,424 - oe-selftest - INFO -
> deploy_A:/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk
> 2024-01-15 18:07:16,425 - oe-selftest - INFO -
> deplay_B:/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk
> 
> You can do the test with a plain poky checkout first and see the difference.
> 
> Alex


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194186): 
https://lists.openembedded.org/g/openembedded-core/message/194186
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-22 Thread Alexander Kanavin
On Mon, 22 Jan 2024 at 16:59, Joakim Tjernlund
 wrote:
> Maybe but what about the missing reproducibleA/tmp and reproducibleB/tmp ?
> Would these be missing if sstate is used for both?
> In the log there is this:
>   INFO - Building reproducibleB (sstate NOT allowed)...

It's possible your local/distro config somehow overrides all of the
test settings, including the separate TMPDIR directories, and simply
builds things twice in the same directory. The log does seem to
indicate that:

2024-01-15 18:07:16,424 - oe-selftest - INFO -
vars_A:{'DEPLOY_DIR_IPK': '/home/jocke/yocto-xr/build/in
fn-xr/gmcu-st/tmp/deploy/ipk'}
2024-01-15 18:07:16,424 - oe-selftest - INFO -
vars_B:{'DEPLOY_DIR_IPK':
'/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk'}
2024-01-15 18:07:16,424 - oe-selftest - INFO - c in package_classes:ipk
2024-01-15 18:07:16,424 - oe-selftest - INFO -
deploy_A:/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk
2024-01-15 18:07:16,425 - oe-selftest - INFO -
deplay_B:/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk

You can do the test with a plain poky checkout first and see the difference.

Alex

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#194183): 
https://lists.openembedded.org/g/openembedded-core/message/194183
Mute This Topic: https://lists.openembedded.org/mt/103887646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-22 Thread Joakim Tjernlund via lists.openembedded.org
On Mon, 2024-01-22 at 16:10 +0100, Alexander Kanavin wrote:
> You are not showing what kind of error you expect to see. What is
> being tested for non-reproducibility?

Right, I hacked u-boot to set current date:
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -9,7 +9,7 @@ inherit uboot-config uboot-extlinux-config uboot-sign deploy 
python3native kerne

 DEPENDS += "swig-native"

-EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc 
${TOOLCHAIN_OPTIONS}" V=1'
+EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc 
${TOOLCHAIN_OPTIONS}" V=1 SOURCE_DATE_EPOCH="$(date +%s)"'
 EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
 EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} 
STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'

and the I only build u-boot to keep test cycle short.


>
> Also the short completion time is suspicious: it might indicate that
> both runs indeed take the same package from sstate. The test expects
> that the second run uses a private empty sstate to trigger a full
> rebuild.

Maybe but what about the missing reproducibleA/tmp and reproducibleB/tmp ?
Would these be missing if sstate is used for both?
In the log there is this:
  INFO - Building reproducibleB (sstate NOT allowed)...

 Jocke

>
> Alex
>
> On Mon, 22 Jan 2024 at 16:01, Joakim Tjernlund via
> lists.openembedded.org
>  wrote:
> >
> > Whatever I do, ReproducibleTests always succeeds and I think I got a clue.
> > Looking at the logs below and the files after build one can see thate there
> > are no  ...reproducibleA/tmp or ...reproducibleB/tmp dirs in the FS.
> >
> > Furthermore, deploy_A and deploy_B are the same. This all ends up with the 
> > two builds overwrites
> > each other then ReproducibleTests compares the package with itself and that 
> > will always succeed.
> >
> > I can't see/find an error in our yocto(Kirkstone) system, so I wonder if 
> > this is an upstream bug?
> >
> >  Jocke
> >
> > oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds
> > 2024-01-15 18:03:45,563 - oe-selftest - INFO - Adding layer libraries:
> > 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> > /home/jocke/yocto-xr/3pp/poky/meta/lib
> > 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> > /home/jocke/yocto-xr/3pp/poky/meta-yocto-bsp/lib
> > 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> > /home/jocke/yocto-xr/3pp/meta-openembedded/meta-oe/lib
> > 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> > /home/jocke/yocto-xr/meta-xr/lib
> > 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> > /home/jocke/yocto-xr/3pp/poky/meta-selftest/lib
> > 2024-01-15 18:03:45,565 - oe-selftest - INFO - Running bitbake -e to test 
> > the configuration is valid/parsable
> > 2024-01-15 18:03:50,702 - oe-selftest - INFO - Adding: "include 
> > selftest.inc" in /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/local.conf
> > 2024-01-15 18:03:50,702 - oe-selftest - INFO - Adding: "include 
> > bblayers.inc" in bblayers.conf
> > 2024-01-15 18:03:50,702 - oe-selftest - INFO - test_reproducible_builds 
> > (reproducible.ReproducibleTests)
> > 2024-01-15 18:03:53,375 - oe-selftest - DEBUG - Writing to: 
> > /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
> >
> >
> > 2024-01-15 18:06:44,995 - oe-selftest - INFO - Config: PACKAGE_CLASSES = 
> > "package_ipk"
> > INHIBIT_PACKAGE_STRIP = "1"
> > TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/gmcu-st/reproducibleA/tmp"
> > LICENSE_FLAGS_ACCEPTED = "commercial"
> > DISTRO_FEATURES:append = ' systemd pam'
> > USERADDEXTENSION = "useradd-staticids"
> > USERADD_ERROR_DYNAMIC = "skip"
> > USERADD_UID_TABLES += "files/static-passwd"
> > USERADD_GID_TABLES += "files/static-group"
> >
> > 2024-01-15 18:06:44,996 - oe-selftest - INFO - Building reproducibleA 
> > (sstate allowed)...
> > 2024-01-15 18:06:44,996 - oe-selftest - DEBUG - Writing to: 
> > /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
> > PACKAGE_CLASSES = "package_ipk"
> > INHIBIT_PACKAGE_STRIP = "1"
> > TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/gmcu-st/reproducibleA/tmp"
> > LICENSE_FLAGS_ACCEPTED = "commercial"
> > DISTRO_FEATURES:append = ' systemd pam'
> > USERADDEXTENSION = "useradd-staticids"
> > USERADD_ERROR_DYNAMIC = "skip"
> > USERADD_UID_TABLES += "files/static-passwd"
> > USERADD_GID_TABLES += "files/static-group"
> >
> >
> > 2024-01-15 18:07:02,142 - oe-selftest - INFO - Config: PACKAGE_CLASSES = 
> > "package_ipk"
> > INHIBIT_PACKAGE_STRIP = "1"
> > TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/gmcu-st/reproducibleB/tmp"
> > LICENSE_FLAGS_ACCEPTED = "commercial"
> > DISTRO_FEATURES:append = ' systemd pam'
> > USERADDEXTENSION = "useradd-staticids"
> > USERADD_ERROR_DYNAMIC = "skip"
> > USERADD_UID_TABLES += "files/static-passwd"
> > USERADD_GID_TABLES += "files/static-group"
> >
> > 2024-01-15 18:07:02,143 - oe-selftest - INFO - Building reproducibleB 
> > (sstate NOT allowed)...
> > 2024-01-15 18:07:02,143 

Re: [OE-core] oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds always succeeds, even when pkg is non-reproducible

2024-01-22 Thread Alexander Kanavin
You are not showing what kind of error you expect to see. What is
being tested for non-reproducibility?

Also the short completion time is suspicious: it might indicate that
both runs indeed take the same package from sstate. The test expects
that the second run uses a private empty sstate to trigger a full
rebuild.

Alex

On Mon, 22 Jan 2024 at 16:01, Joakim Tjernlund via
lists.openembedded.org
 wrote:
>
> Whatever I do, ReproducibleTests always succeeds and I think I got a clue.
> Looking at the logs below and the files after build one can see thate there
> are no  ...reproducibleA/tmp or ...reproducibleB/tmp dirs in the FS.
>
> Furthermore, deploy_A and deploy_B are the same. This all ends up with the 
> two builds overwrites
> each other then ReproducibleTests compares the package with itself and that 
> will always succeed.
>
> I can't see/find an error in our yocto(Kirkstone) system, so I wonder if this 
> is an upstream bug?
>
>  Jocke
>
> oe-selftest -v -K -r reproducible.ReproducibleTests.test_reproducible_builds
> 2024-01-15 18:03:45,563 - oe-selftest - INFO - Adding layer libraries:
> 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> /home/jocke/yocto-xr/3pp/poky/meta/lib
> 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> /home/jocke/yocto-xr/3pp/poky/meta-yocto-bsp/lib
> 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> /home/jocke/yocto-xr/3pp/meta-openembedded/meta-oe/lib
> 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> /home/jocke/yocto-xr/meta-xr/lib
> 2024-01-15 18:03:45,563 - oe-selftest - INFO -  
> /home/jocke/yocto-xr/3pp/poky/meta-selftest/lib
> 2024-01-15 18:03:45,565 - oe-selftest - INFO - Running bitbake -e to test the 
> configuration is valid/parsable
> 2024-01-15 18:03:50,702 - oe-selftest - INFO - Adding: "include selftest.inc" 
> in /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/local.conf
> 2024-01-15 18:03:50,702 - oe-selftest - INFO - Adding: "include bblayers.inc" 
> in bblayers.conf
> 2024-01-15 18:03:50,702 - oe-selftest - INFO - test_reproducible_builds 
> (reproducible.ReproducibleTests)
> 2024-01-15 18:03:53,375 - oe-selftest - DEBUG - Writing to: 
> /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
>
>
> 2024-01-15 18:06:44,995 - oe-selftest - INFO - Config: PACKAGE_CLASSES = 
> "package_ipk"
> INHIBIT_PACKAGE_STRIP = "1"
> TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/gmcu-st/reproducibleA/tmp"
> LICENSE_FLAGS_ACCEPTED = "commercial"
> DISTRO_FEATURES:append = ' systemd pam'
> USERADDEXTENSION = "useradd-staticids"
> USERADD_ERROR_DYNAMIC = "skip"
> USERADD_UID_TABLES += "files/static-passwd"
> USERADD_GID_TABLES += "files/static-group"
>
> 2024-01-15 18:06:44,996 - oe-selftest - INFO - Building reproducibleA (sstate 
> allowed)...
> 2024-01-15 18:06:44,996 - oe-selftest - DEBUG - Writing to: 
> /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
> PACKAGE_CLASSES = "package_ipk"
> INHIBIT_PACKAGE_STRIP = "1"
> TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/gmcu-st/reproducibleA/tmp"
> LICENSE_FLAGS_ACCEPTED = "commercial"
> DISTRO_FEATURES:append = ' systemd pam'
> USERADDEXTENSION = "useradd-staticids"
> USERADD_ERROR_DYNAMIC = "skip"
> USERADD_UID_TABLES += "files/static-passwd"
> USERADD_GID_TABLES += "files/static-group"
>
>
> 2024-01-15 18:07:02,142 - oe-selftest - INFO - Config: PACKAGE_CLASSES = 
> "package_ipk"
> INHIBIT_PACKAGE_STRIP = "1"
> TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/gmcu-st/reproducibleB/tmp"
> LICENSE_FLAGS_ACCEPTED = "commercial"
> DISTRO_FEATURES:append = ' systemd pam'
> USERADDEXTENSION = "useradd-staticids"
> USERADD_ERROR_DYNAMIC = "skip"
> USERADD_UID_TABLES += "files/static-passwd"
> USERADD_GID_TABLES += "files/static-group"
>
> 2024-01-15 18:07:02,143 - oe-selftest - INFO - Building reproducibleB (sstate 
> NOT allowed)...
> 2024-01-15 18:07:02,143 - oe-selftest - DEBUG - Writing to: 
> /home/jocke/yocto-xr/build/infn-xr/gmcu-st/conf/selftest.inc
> PACKAGE_CLASSES = "package_ipk"
> INHIBIT_PACKAGE_STRIP = "1"
> TMPDIR = "/home/jocke/yocto-xr/build/infn-xr/gmcu-st/reproducibleB/tmp"
> LICENSE_FLAGS_ACCEPTED = "commercial"
> DISTRO_FEATURES:append = ' systemd pam'
> USERADDEXTENSION = "useradd-staticids"
> USERADD_ERROR_DYNAMIC = "skip"
> USERADD_UID_TABLES += "files/static-passwd"
> USERADD_GID_TABLES += "files/static-group"
> SSTATE_DIR = "${TMPDIR}/sstate"
> SSTATE_MIRRORS = "file://.*/.*-native.*  
> http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH 
> file://.*/.*-cross.*
> http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH;
>
>
> 2024-01-15 18:07:16,424 - oe-selftest - INFO - vars_A:{'DEPLOY_DIR_IPK': 
> '/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk'}
> 2024-01-15 18:07:16,424 - oe-selftest - INFO - vars_B:{'DEPLOY_DIR_IPK': 
> '/home/jocke/yocto-xr/build/infn-xr/gmcu-st/tmp/deploy/ipk'}
> 2024-01-15 18:07:16,424 - oe-selftest - INFO - c in package_classes:ipk
> 2024-01-15 18:07:16,424 - oe-selftest - INFO - 
>