[kirkstone,2.0,2/3] data: Do not depend on vardepvalueexclude flag

Message ID b1957b3d814b72e42902fd858718d138504842ed.1653314792.git.steve@sakoman.com
State Accepted, archived
Commit 943701ee8cb55307996545f0237721413edfb168
Headers show
Series [kirkstone,2.0,1/3] fetch2/osc: Small fixes for osc fetcher | expand

Commit Message

Steve Sakoman May 23, 2022, 2:40 p.m. UTC
From: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>

If SRC_URI contains python function that extends vardepvalueexclude its
value is being tracked by sstate-cache, which can lead to rebuilds if
value is set dynamically (for example gerrit replicas).

Return empty string if vardepvalueexclude is checked to fix this
behaviour.

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f5f9a7b89a7d8321f03184e61ad6d5ed8d0f840e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
 lib/bb/data.py | 2 ++
 1 file changed, 2 insertions(+)

Patch

diff --git a/lib/bb/data.py b/lib/bb/data.py
index 62ec2147..c09d9b04 100644
--- a/lib/bb/data.py
+++ b/lib/bb/data.py
@@ -277,6 +277,8 @@  def build_dependencies(key, keys, shelldeps, varflagsexcl, ignored_vars, d):
     try:
         if key[-1] == ']':
             vf = key[:-1].split('[')
+            if vf[1] == "vardepvalueexclude":
+                return deps, ""
             value, parser = d.getVarFlag(vf[0], vf[1], False, retparser=True)
             deps |= parser.references
             deps = deps | (keys & parser.execs)