| Summary: |
Processing of LAYERDIR during layer parsing causes loss of data |
| Product: |
[Build System, Metadata & Runtime] BitBake
|
Reporter: |
Adam Blank <adam.blank.g> |
| Component: |
bitbake | Assignee: |
Unassigned <unassigned> |
| Status: |
NEW
---
|
QA Contact: |
|
| Severity: |
normal
|
|
|
| Priority: |
Medium+
|
CC: |
adam.blank.g, poky.bs.watcher, poky.watcher, randy.macleod, richard.purdie, yoann.congal
|
| Version: |
2.0.3 | |
|
| Target Milestone: |
6.99 | |
|
| Hardware: |
All | |
|
| OS: |
x86_64 | |
|
| Whiteboard: |
|
|
OS type for building Yocto:
|
---
|
Type of Regression:
|
---
|
|
Verified:
|
|
Documentation change:
|
No (bug/feature does not impact docs)
|
Current implementation of expandVarref has the following undesired characteristics: - ref = '${%s}' % variable This line discriminates this type of variable reference ${@d.getVar('LAYERDIR')}" which causes them to always resolve to None - referrervalue = self.getVar(key, False) if referrervalue and isinstance(referrervalue, str) and ref in referrervalue: self.setVar(key, referrervalue.replace(ref, value)) This block (the serVar() call in particular) has the effect, that variables which reference LAYERDIR lose their append/prepend/remove data. During the call to expandVarref('LAYERDIR'), whichever append/prepend/remove apply at the moment are used by getVar(), and then they are all dropped by serVar(), including the ones whose OVERRIDES would come from layers parsed later