diff options
-rw-r--r-- | meta/classes/sstate.bbclass | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index 6f2fa583f2..c0e54a398d 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -980,9 +980,16 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None): | |||
980 | # them in. | 980 | # them in. |
981 | # See also http://lists.openembedded.org/pipermail/openembedded-core/2018-January/146324.html | 981 | # See also http://lists.openembedded.org/pipermail/openembedded-core/2018-January/146324.html |
982 | not_needed = False | 982 | not_needed = False |
983 | for excl in (d.getVar('SSTATE_EXCLUDEDEPS_SYSROOT') or "").split(): | 983 | excludedeps = d.getVar('_SSTATE_EXCLUDEDEPS_SYSROOT') |
984 | if re.match(excl.split('->', 1)[0], taskdependees[dep][0]): | 984 | if excludedeps is None: |
985 | if re.match(excl.split('->', 1)[1], taskdependees[task][0]): | 985 | # Cache the regular expressions for speed |
986 | excludedeps = [] | ||
987 | for excl in (d.getVar('SSTATE_EXCLUDEDEPS_SYSROOT') or "").split(): | ||
988 | excludedeps.append((re.compile(excl.split('->', 1)[0]), re.compile(excl.split('->', 1)[1]))) | ||
989 | d.setVar('_SSTATE_EXCLUDEDEPS_SYSROOT', excludedeps) | ||
990 | for excl in excludedeps: | ||
991 | if excl[0].match(taskdependees[dep][0]): | ||
992 | if excl[1].match(taskdependees[task][0]): | ||
986 | not_needed = True | 993 | not_needed = True |
987 | break | 994 | break |
988 | if not_needed: | 995 | if not_needed: |