| Summary: |
Failed to expand SRCPV on updateding SRC_URI using pn overrides and BBCLASSEXTEND |
| Product: |
[Build System, Metadata & Runtime] BitBake
|
Reporter: |
Frederik Noe-Sdun <frederik.sdun> |
| Component: |
bitbake | Assignee: |
Richard Purdie <richard.purdie> |
| Status: |
RESOLVED
WORKSFORME
|
QA Contact: |
|
| Severity: |
normal
|
|
|
| Priority: |
Medium+
|
CC: |
kergoth, poky.bs.watcher, poky.watcher
|
| Version: |
unspecified | |
|
| Target Milestone: |
3.4 M3 | |
|
| Hardware: |
All | |
|
| OS: |
Multiple | |
|
| Whiteboard: |
|
|
OS type for building Yocto:
|
---
|
Type of Regression:
|
---
|
|
Verified:
|
|
Documentation change:
|
No (bug/feature does not impact docs)
|
If I try to modify SRC_URI using pn overrides for recipes using BBCLASSEXTEND modified entries are duplicated. If the recipe uses SRCPV bitbake expects SRCREV_FORMAT to be set: ERROR: ExpansionError during parsing /home/frederik/src/git/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb Traceback (most recent call last): File "/home/frederik/src/git/poky/bitbake/lib/bb/data_smart.py", line 808, in DataSmart.getVarFlag(var='PV', flag='_content', expand=True, noweakdefault=False, parsing=False, retparser=False): if expand or retparser: > parser = self.expandWithRefs(value, cachename) if expand: File "/home/frederik/src/git/poky/bitbake/lib/bb/data_smart.py", line 416, in DataSmart.expandWithRefs(s='0.1${SRCPV}', varname='PV'): try: > s = __expand_var_regexp__.sub(varparse.var_sub, s) try: File "/home/frederik/src/git/poky/bitbake/lib/bb/data_smart.py", line 108, in VariableParse.var_sub(match=<_sre.SRE_Match object; span=(3, 11), match='${SRCPV}'>): raise Exception("variable %s references itself!" % self.varname) > var = self.d.getVarFlag(key, "_content") self.references.add(key) File "/home/frederik/src/git/poky/bitbake/lib/bb/data_smart.py", line 808, in DataSmart.getVarFlag(var='SRCPV', flag='_content', expand=True, noweakdefault=False, parsing=False, retparser=False): if expand or retparser: > parser = self.expandWithRefs(value, cachename) if expand: File "/home/frederik/src/git/poky/bitbake/lib/bb/data_smart.py", line 430, in DataSmart.expandWithRefs(s='${@bb.fetch2.get_srcrev(d)}', varname='SRCPV'): except Exception as exc: > raise ExpansionError(varname, s, exc) from exc bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: The SRCREV_FORMAT variable must be set when multiple SCMs are used. Steps to reproduce: echo 'BBCLASSEXTEND += "native" PV_append = "${SRCPV}"' >> meta/recipes-devtools/mmc/mmc-utils_git.bb . ./oe-init-build-env echo 'SRCBRANCH_pn-mmc-utils = "foobar"' >> conf/local.conf bitbake -c fetch mmc-utils