data: Do not depend on vardepvalueexclude flag

Message ID 20220513121116.12271-1-tomasz.dziendzielski@gmail.com
State Accepted, archived
Commit f5f9a7b89a7d8321f03184e61ad6d5ed8d0f840e
Headers show
Series data: Do not depend on vardepvalueexclude flag | expand

Commit Message

Tomasz Dziendzielski May 13, 2022, 12:11 p.m. UTC
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>
---
 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)