| Summary: | Improve detection of missing host dependencies | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Paul Eggleton <bluelightning> | ||||
| Component: | core | Assignee: | Bill Randle <bill.randle> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Daniel Istrate <daniel.alexandrux.istrate> | ||||
| Severity: | enhancement | ||||||
| Priority: | Medium+ | CC: | alexandru.c.georgescu, bill.randle, meta.mr.watcher, meta.watcher, richard.purdie, ross.burton | ||||
| Version: | 2.0 | ||||||
| Target Milestone: | 2.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) | |||||
| Attachments: |
|
||||||
|
Description
Paul Eggleton
2015-10-27 11:13:03 UTC
Surely checking $PATH for ten binaries can't take that long, even in the context of just the metadata parse, and memory-resident bitbake will only need to perform the check at startup anyway. Marking medium+ 2.1M2. check_sanity_version_changed() takes my machine 2.8 seconds, 2.7 seconds of which is the "am I online" test as that hits both the main Yocto download site and bugzilla. Removing bugzilla from CONNECTIVITY_URLS so it just pings the main yocto download site reduces the time taken to 1 second. Changing the URL to just google.com reduces the time for the connectivity test to 0.2s. Some real numbers: NOTE: connectivity took 0.156 seconds NOTE: sanity took 0.316 seconds The connectivity ping to google.com took 0.156 seconds, and check_sanity_version_changed() (including the ping) took 0.316 seconds. Adding Richard to the CC as he has strong opinions that bitbake startup shouldn't be slower. Fight! Connectivity check change was merged in meta-yocto b253c6073be44090a19d1743deb58ef566853056. I believe we already have far too much junk/busy work going on with bitbake startup already. Memory resident bitbake might change that but we're not there yet. Even then, I don't think we want to check all these things every time, just in case. We should however get more diligent about bumping SANITY_VERSION, or use the checksums mechanism we now have to test when to rerun the sanity tests. We could save NATIVELSBSTRING to detect distro upgrades? Yes - I think we should definitely use NATIVELSBSTRING to force the checks to re-execute, and we should be bumping SANITY_VERSION pretty much every time we change the checks. Created attachment 3054 [details]
Proposed fix using NATIVELSBSTRING
Here's a proposed fix for your consideration. It uses a change in NATIVELSBSTRING to flag a recheck. The true value of NATIVELSBSTRING is saved in the sanity_info file.
Patch submitted to OE mailing list. Merged to master and verified by Richard Purdie. http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/classes/sanity.bbclass?id=e33124f828d0cd2dd600fff3f6ad3dc98d2723a1 |