| Summary: | sstate reuse not as ideal as it should be | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Richard Purdie <richard.purdie> |
| Component: | core | Assignee: | Unassigned <unassigned> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Undecided | CC: | meta.mr.watcher, meta.watcher, ross.burton, tgamblin |
| Version: | 0.0.0 | ||
| Target Milestone: | 0.0.0 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Richard Purdie
2024-05-24 13:59:50 UTC
I suspect I've seen this before but not reliably. My hunch was the DISTRO_VERSION gets into the dependency tree somewhow. https://valkyrie.yoctoproject.org/#/builders/17/builds/19/steps/12/logs/stdio was a following build without changing anything. sstate reuse is better but some things were still rebuilding (why?) I then changed the master-next revision and started: https://valkyrie.yoctoproject.org/#/builders/17/builds/20 Changing the master-next revision dropped things back to: Sstate summary: Wanted 19990 Local 17552 Mirrors 0 Missed 2438 Current 0 (87% match, 0% complete) when the repeat build was 98% This is probably systemd depending on os-release. I'm testing a tweak for that but there may be further issues. I did a build of systemd. Touched and committed a file in poky, and built systemd: NOTE: recipe base-files-3.0.14-r0: task do_install: Started NOTE: recipe os-release-1.0-r0: task do_compile: Started NOTE: recipe os-release-1.0-r0: task do_install: Started NOTE: recipe base-files-3.0.14-r0: task do_populate_sysroot: Started NOTE: recipe base-files-3.0.14-r0: task do_package: Started NOTE: recipe os-release-1.0-r0: task do_package: Started NOTE: recipe os-release-1.0-r0: task do_packagedata: Started NOTE: recipe base-files-3.0.14-r0: task do_packagedata: Started NOTE: recipe os-release-1.0-r0: task do_create_spdx: Started NOTE: recipe os-release-1.0-r0: task do_package_write_ipk: Started NOTE: recipe systemd-1_255.4-r0: task do_package_write_ipk_setscene: Started NOTE: recipe systemd-1_255.4-r0: task do_package_qa_setscene: Started NOTE: recipe systemd-1_255.4-r0: task do_create_runtime_spdx: Started So nobody _really_ notices because systemd only repackages, but this is definitely a path where SHAs changing causes rebuilds. (In reply to Ross Burton from comment #5) > I did a build of systemd. Touched and committed a file in poky, and built > systemd: > > NOTE: recipe base-files-3.0.14-r0: task do_install: Started > NOTE: recipe os-release-1.0-r0: task do_compile: Started > NOTE: recipe os-release-1.0-r0: task do_install: Started > NOTE: recipe base-files-3.0.14-r0: task do_populate_sysroot: Started > NOTE: recipe base-files-3.0.14-r0: task do_package: Started > NOTE: recipe os-release-1.0-r0: task do_package: Started > NOTE: recipe os-release-1.0-r0: task do_packagedata: Started > NOTE: recipe base-files-3.0.14-r0: task do_packagedata: Started > NOTE: recipe os-release-1.0-r0: task do_create_spdx: Started > NOTE: recipe os-release-1.0-r0: task do_package_write_ipk: Started > NOTE: recipe systemd-1_255.4-r0: task do_package_write_ipk_setscene: Started > NOTE: recipe systemd-1_255.4-r0: task do_package_qa_setscene: Started > NOTE: recipe systemd-1_255.4-r0: task do_create_runtime_spdx: Started > > So nobody _really_ notices because systemd only repackages, but this is > definitely a path where SHAs changing causes rebuilds. Debian renaming dependencies will mean anything with a runtime dependency on systemd would also repackage so this does cause a lot of rebuilding of packages so it is best fixed! |