summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/data.py
diff options
context:
space:
mode:
authorChristopher Larson <chris_larson@mentor.com>2011-11-04 14:59:46 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-30 16:16:13 +0000
commit1670051a796bd613f08f4e26c2de1dc1da2d2ff4 (patch)
tree3b780dc928f1405fa0238ea93d4c676f32c2ecd7 /bitbake/lib/bb/data.py
parentc61f04c34ef581d50dbb6e011ca7460308ed284d (diff)
downloadpoky-1670051a796bd613f08f4e26c2de1dc1da2d2ff4.tar.gz
codeparser: silence non-literal warnings for vardeps
If the vardeps flag is not None, we now silence the warnings about non-literal usage for that variable. (Bitbake rev: e724b9f417d1baf898f5afc6376c73c1a2ad8db9) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/data.py')
-rw-r--r--bitbake/lib/bb/data.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index 5bb2595893..7c1533cfa9 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -49,6 +49,7 @@ from bb import data_smart
49from bb import codeparser 49from bb import codeparser
50import bb 50import bb
51 51
52logger = data_smart.logger
52_dict_type = data_smart.DataSmart 53_dict_type = data_smart.DataSmart
53 54
54def init(): 55def init():
@@ -258,7 +259,7 @@ def emit_func(func, o=sys.__stdout__, d = init()):
258 emit_var(key, o, d, False) and o.write('\n') 259 emit_var(key, o, d, False) and o.write('\n')
259 260
260 emit_var(func, o, d, False) and o.write('\n') 261 emit_var(func, o, d, False) and o.write('\n')
261 newdeps = bb.codeparser.ShellParser(func).parse_shell(d.getVar(func, True)) 262 newdeps = bb.codeparser.ShellParser(func, logger).parse_shell(d.getVar(func, True))
262 seen = set() 263 seen = set()
263 while newdeps: 264 while newdeps:
264 deps = newdeps 265 deps = newdeps
@@ -267,7 +268,7 @@ def emit_func(func, o=sys.__stdout__, d = init()):
267 for dep in deps: 268 for dep in deps:
268 if bb.data.getVarFlag(dep, "func", d): 269 if bb.data.getVarFlag(dep, "func", d):
269 emit_var(dep, o, d, False) and o.write('\n') 270 emit_var(dep, o, d, False) and o.write('\n')
270 newdeps |= bb.codeparser.ShellParser(dep).parse_shell(d.getVar(dep, True)) 271 newdeps |= bb.codeparser.ShellParser(dep, logger).parse_shell(d.getVar(dep, True))
271 newdeps -= seen 272 newdeps -= seen
272 273
273def update_data(d): 274def update_data(d):
@@ -276,6 +277,7 @@ def update_data(d):
276 277
277def build_dependencies(key, keys, shelldeps, vardepvals, d): 278def build_dependencies(key, keys, shelldeps, vardepvals, d):
278 deps = set() 279 deps = set()
280 vardeps = d.getVarFlag(key, "vardeps", True)
279 try: 281 try:
280 value = d.getVar(key, False) 282 value = d.getVar(key, False)
281 if key in vardepvals: 283 if key in vardepvals:
@@ -291,13 +293,15 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
291 parser = bb.codeparser.ShellParser(key, logger) 293 parser = bb.codeparser.ShellParser(key, logger)
292 parser.parse_shell(parsedvar.value) 294 parser.parse_shell(parsedvar.value)
293 deps = deps | shelldeps 295 deps = deps | shelldeps
296 if vardeps is None:
297 parser.log.flush()
294 deps = deps | parsedvar.references 298 deps = deps | parsedvar.references
295 deps = deps | (keys & parser.execs) | (keys & parsedvar.execs) 299 deps = deps | (keys & parser.execs) | (keys & parsedvar.execs)
296 else: 300 else:
297 parser = d.expandWithRefs(value, key) 301 parser = d.expandWithRefs(value, key)
298 deps |= parser.references 302 deps |= parser.references
299 deps = deps | (keys & parser.execs) 303 deps = deps | (keys & parser.execs)
300 deps |= set((d.getVarFlag(key, "vardeps", True) or "").split()) 304 deps |= set((vardeps or "").split())
301 deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split()) 305 deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
302 except: 306 except:
303 bb.note("Error expanding variable %s" % key) 307 bb.note("Error expanding variable %s" % key)