Re: Dependent task hashes in depsig.*


Richard Purdie
 

On Wed, 2022-04-27 at 11:06 +0200, Jacob Kroon wrote:
Hi Richard and Joshua,

When using hash equivalency, since commits

https://git.openembedded.org/openembedded-core/commit/?id=d6c7b9f4f0e
https://git.openembedded.org/openembedded-core/commit/?id=1cf62882bba

scrambling a header in one of the gcc patches causes all target packages
to rebuild.
That is probably unfortunately inevitable. If the output has changed (i.e. the
headers are different), it shouldn't be matching a previous build as we can't
know what has changed.

This is because the depsig.do_populate_sysroot in "libgcc"
changes:

[jkroon@fedora work]$ diff -u i686-oe-linux/libgcc/11.3.0-r0/temp/depsig.do_populate_sysroot.1*
--- i686-oe-linux/libgcc/11.3.0-r0/temp/depsig.do_populate_sysroot.1589812 2022-04-27 10:14:22.403251775 +0200
+++ i686-oe-linux/libgcc/11.3.0-r0/temp/depsig.do_populate_sysroot.1674014 2022-04-27 10:26:45.329365448 +0200
@@ -1,7 +1,7 @@
OEOuthashBasic
12
glibc: 8feab297dd38b103daa4f26eeabb5690a74b8b5700d16e4eca7b56e6fd667a5e
-libgcc: dfd38409a4cc5320b781edc14de2af8321180c3f194a58b798870ad7ff6a9226
+libgcc: 195f6a155dac8e450e72a7432ab91959a8e095e057d5b79e3adba41721dc7ea5
linux-libc-headers: 12a5aaf8aec9554ac3c778cdc6c65df4db52fc573e84b7110572d459a15c9d6a
SSTATE_PKGSPEC=sstate:libgcc:i686-oe-linux:11.3.0:r0:i686:8:
task=populate_sysroot
Is it the case that it is the dependent task hashes that are added
above, and that the checksum of patches are included in the those task
hashes ?
The dependent resolved hashes are used, as resolved by hashequiv which is a key
difference.

In order to solve the original problem that those patches were fixing,
would it not be possible to instead include the *outhashes* of the
dependent recipes ?
Since the resolved hashes should map to a single outhash, I don't think it would
change anything?

Cheers,

Richard

Join openembedded-architecture@lists.openembedded.org to automatically receive all group messages.