On 4/27/22 12:12, Richard Purdie wrote: > 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. >
I don't think I was being clear enough. With "scrambling a header in a gcc patch" I mean that I change something in the section before the "---" line in a .patch file, like modifying the "Upstream-Status" line. To me, hash equivalence should be able to optimize that scenario, since the output from building gcc-cross is not 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. > So it is the outhashes that are listed above ? Then I don't understand the diff above. libgcc depends on itself ? But apparently no files in the sysroot changed, since the above is the only diff I get. >> 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? > Jacob
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#1529): https://lists.openembedded.org/g/openembedded-architecture/message/1529 Mute This Topic: https://lists.openembedded.org/mt/90726763/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-architecture/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
