Bug 13829

Summary: class devupstream interacts badly with devtool
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Chris Lord <chrislord.net>
Component: Scripts and ToolsAssignee: Paul Eggleton <bluelightning>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: randy.macleod, ross.burton
Version: unspecified   
Target Milestone: 3.2 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Chris Lord 2020-03-12 11:43:56 UTC
If you try to modify a recipe that has a devupstream variant selected as the preferred version, you get this error:

  File "Var <SRCPV>", line 1, in <module>
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/fetch2/__init__.py", line 745, in get_srcrev
    fetcher = Fetch(d.getVar('SRC_URI').split(), d)
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 604, in getVar
    return self.getVarFlag(var, "_content", expand, noweakdefault, parsing)
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 802, in getVarFlag
    parser = self.expandWithRefs(value, cachename)
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 409, in expandWithRefs
    s = __expand_var_regexp__.sub(varparse.var_sub, s)
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 97, in var_sub
    var = self.d.getVarFlag(key, "_content")
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 802, in getVarFlag
    parser = self.expandWithRefs(value, cachename)
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 424, in expandWithRefs
    raise ExpansionError(varname, s, exc).with_traceback(tb) from exc
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 409, in expandWithRefs
    s = __expand_var_regexp__.sub(varparse.var_sub, s)
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 97, in var_sub
    var = self.d.getVarFlag(key, "_content")
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 802, in getVarFlag
    parser = self.expandWithRefs(value, cachename)
  File "/home/cwiiis/Projects/perf-browser-bsp/sources/poky/bitbake/lib/bb/data_smart.py", line 404, in expandWithRefs
    varparse = VariableParse(varname, self)
bb.data_smart.ExpansionError: Failure expanding variable PV, expression was trunk+git${SRCPV} which triggered exception RecursionError: maximum recursion depth exceeded