diff options
Diffstat (limited to 'bitbake/lib/bb')
| -rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index d6d7850dfb..525f47e417 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py | |||
| @@ -819,6 +819,15 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None): | |||
| 819 | if not cleanup: | 819 | if not cleanup: |
| 820 | cleanup = [] | 820 | cleanup = [] |
| 821 | 821 | ||
| 822 | # If PATH contains WORKDIR which contains PV which contains SRCPV we | ||
| 823 | # can end up in circular recursion here so give the option of breaking it | ||
| 824 | # in a data store copy. | ||
| 825 | try: | ||
| 826 | d.getVar("PV") | ||
| 827 | except bb.data_smart.ExpansionError: | ||
| 828 | d = bb.data.createCopy(d) | ||
| 829 | d.setVar("PV", "fetcheravoidrecurse") | ||
| 830 | |||
| 822 | origenv = d.getVar("BB_ORIGENV", False) | 831 | origenv = d.getVar("BB_ORIGENV", False) |
| 823 | for var in exportvars: | 832 | for var in exportvars: |
| 824 | val = d.getVar(var) or (origenv and origenv.getVar(var)) | 833 | val = d.getVar(var) or (origenv and origenv.getVar(var)) |
