| Summary: | do_populate_lic assumes that license basenames are unique | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Christopher Larson <kergoth> |
| Component: | core | Assignee: | Markus Lehtonen <markus.lehtonen> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | meta.mr.watcher, meta.watcher |
| Version: | unspecified | ||
| Target Milestone: | 2.2 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Christopher Larson
2016-05-23 17:58:18 UTC
Hmm, this is a bit trickier than I thought at first. The issue is not just about NO_GENERIC_LICENSE but any package that has multiple overlapping "basenames" in LIC_FILES_CHKSUM. All files listed in LIC_FILES_CHKSUM get copied and if there are multiple files with the same basename only the last prevails. That is a problem if the files differ in content, but, it is the right thing to do if all of them are identical (i.e. have the same checksum). Thus, I see two cases that need to be solved: 1. If there are multiple identical (same checksum) license files with the same basename we should only copy one file 2. If there are multiple different license files with the same basename we should rename and copy all of them I'm not that concerned about a possible race, though. My reasoning being that do_populate_lic copies data to a recipe-specific directory and only gets run once with no parallelism. A patch sent for review: https://patchwork.openembedded.org/patch/128541/ |