| Summary: | do_fetch dependency on do_recipe_qa causes hash problems for sstate | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Alban Bedel <alban.bedel> |
| Component: | oe-core other | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | randy.macleod, richard.purdie |
| Version: | unspecified | ||
| Target Milestone: | 5.1 M4 | ||
| Hardware: | All | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
The reason it was injected before fetch was so that it runs early in the build and quickly shows the user recipe QA issues. I'm not a huge fan of that position but there are definite pros and cons to it. I recently did some work to improve the ERROR_QA dependency and I'm hoping that improved that task. Whether it is still arch specific, I'm not sure but it should at least be better with master. Causing a "hash problem" isn't strictly true since do_fetch isn't an sstate task. I agree they are too arch specific at the moment though. I merged some fixes: https://git.yoctoproject.org/poky/commit/?id=6cc2a3649a03da8b2ebc4fff4b7bd9ba4eb76497 when then allows: https://git.yoctoproject.org/poky/commit/?id=27eeb5e70bcc872b9d06caf27977a82732f64c77 |
The sstate machinery has some special handling to make the do_fetch state not depends on the package arch. But since the recipe QA was added in commit e0c71367ab59 ("insane.bbclass: add do_recipe_qa task") the do_fetch task depend on the do_recipe_qa task which is arch specific. This then indirectly make the task hash of do_fetch be arch specific and lead to some needless sstate mismatch. The do_recipe_qa task is also set to run before do_package_qa and do_build so it would just run a bit later without this dependency.