| Summary: | sstate siginfo files should store information about dependant tasks | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Meta-yocto | Reporter: | Martin Jansa <Martin.Jansa> |
| Component: | meta-yocto | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | poky.bs.watcher, poky.watcher, sgw |
| Version: | unspecified | ||
| Target Milestone: | 1.1 M2 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
Today I noticed another rebuild of many packages including toolchain $ bitbake-diffsigs sstate-cache/sstate-git-native-x86_64-linux-1.7.4.3-r2-x86_64-2-*siginfo Hash for dependent task virtual:native:/OE/shr-core/openembedded-core/meta/recipes-devtools/git/git_1.7.4.3.bb.do_install changed from 23661914e12adee837b4423b5d941ca1 to 0292d237519c0cc22aaa5ab539ebe8c9 $ ls -lah sstate-cache/sstate-git-native-x86_64-linux-1.7.4.3-r2-x86_64-2-*siginfo -rw-r--r-- 1 bitbake bitbake 12259 May 16 10:26 sstate-cache/sstate-git-native-x86_64-linux-1.7.4.3-r2-x86_64-2-c5fd462964f4fade93fe246250191ced_populate-sysroot.tgz.siginfo -rw-r--r-- 1 bitbake bitbake 12259 May 17 21:35 sstate-cache/sstate-git-native-x86_64-linux-1.7.4.3-r2-x86_64-2-f206d6a24d2c623740e7a31ebb35ff21_populate-sysroot.tgz.siginfo $ ls -lah tmp/work/x86_64-linux/git-native-1.7.4.3-r2/temp/run.do_install.* -rwxrwxr-x 1 bitbake bitbake 5.0K May 17 21:35 tmp/work/x86_64-linux/git-native-1.7.4.3-r2/temp/run.do_install.27710 -rwxrwxr-x 1 bitbake bitbake 5.0K May 16 10:26 tmp/work/x86_64-linux/git-native-1.7.4.3-r2/temp/run.do_install.9596 based on time when those files were created I assume I have right files and those 2 are the same $ diff -N tmp/work/x86_64-linux/git-native-1.7.4.3-r2/temp/run.do_install.* $ echo $? 0 No idea how to continue from here, I guess it can be caused that some variable was newly included or excluded from do_install checksum, but oe-core commits between May 16 and May 17 don't look like touching sstate vars. This should be fixed by the change committed in http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=fe5f742865c6578b99396ddda282c71c0a4dc557 (and also applied to bitbake master) |
If "bitbake-diffsigs sstate-cache/sstate-foo-all-linux-gnueabi-1.0-r1-all-2-*populate-sysroot*siginfo" shows something like this: Hash for dependent task /OE/foo-1.0.bb.do_install changed from 8a0de44f3f238f645eab9509172c2d8b to 9d6bf027c5f435498017a652088d7327 It's hard to find what was changed in run.do_install. Because do_install itself is not sstate enabled task, you cannot check something like "bitbake-diffsigs sstate-cache/sstate-foo-all-linux-gnueabi-1.0-r1-all-2-*install*siginfo" (there are no *install*siginfo files). You need to find right ${WORKDIR} for that version, and there in temp directory right combination of run.do_install._pid_ scripts, but you don't know which _pid_ belongs to which sstate checksum and I guess pid cannot be stored in .siginfo because it would be always different. It's true that even with rm_work you can keep ${WORKDIR}/temp as long as you want, but you can have many run.do_install script versions there and also it's not best place to have them (someone can have WORKDIR on tmpfs or just delete it completely sometimes ie because rm_work cannot help with packages which are failing to build and then PV/PR is changed so different WORKDIR is used).