summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py9
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))