1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 13:29:49 +00:00

bitbake: bitbake/codeparser.py: address ast module deprecations in py 3.12

Specifically:
/srv/work/alex/poky/bitbake/lib/bb/codeparser.py:279: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
  if isinstance(node.args[0], ast.Str):
/srv/work/alex/poky/bitbake/lib/bb/codeparser.py:280: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead
  value = node.args[0].s

(Bitbake rev: de8ba2770d9a1a94af3d084f9540da7e2fae6022)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2023-12-31 11:04:24 +01:00
committed by Richard Purdie
parent 280917c2e7
commit 3958182710
+10 -10
View File
@@ -258,17 +258,17 @@ class PythonParser():
if name and (name.endswith(self.getvars) or name.endswith(self.getvarflags) or name in self.containsfuncs or name in self.containsanyfuncs): if name and (name.endswith(self.getvars) or name.endswith(self.getvarflags) or name in self.containsfuncs or name in self.containsanyfuncs):
if isinstance(node.args[0], ast.Constant) and isinstance(node.args[0].value, str): if isinstance(node.args[0], ast.Constant) and isinstance(node.args[0].value, str):
varname = node.args[0].value varname = node.args[0].value
if name in self.containsfuncs and isinstance(node.args[1], ast.Str): if name in self.containsfuncs and isinstance(node.args[1], ast.Constant):
if varname not in self.contains: if varname not in self.contains:
self.contains[varname] = set() self.contains[varname] = set()
self.contains[varname].add(node.args[1].s) self.contains[varname].add(node.args[1].value)
elif name in self.containsanyfuncs and isinstance(node.args[1], ast.Str): elif name in self.containsanyfuncs and isinstance(node.args[1], ast.Constant):
if varname not in self.contains: if varname not in self.contains:
self.contains[varname] = set() self.contains[varname] = set()
self.contains[varname].update(node.args[1].s.split()) self.contains[varname].update(node.args[1].value.split())
elif name.endswith(self.getvarflags): elif name.endswith(self.getvarflags):
if isinstance(node.args[1], ast.Str): if isinstance(node.args[1], ast.Constant):
self.references.add('%s[%s]' % (varname, node.args[1].s)) self.references.add('%s[%s]' % (varname, node.args[1].value))
else: else:
self.warn(node.func, node.args[1]) self.warn(node.func, node.args[1])
else: else:
@@ -276,8 +276,8 @@ class PythonParser():
else: else:
self.warn(node.func, node.args[0]) self.warn(node.func, node.args[0])
elif name and name.endswith(".expand"): elif name and name.endswith(".expand"):
if isinstance(node.args[0], ast.Str): if isinstance(node.args[0], ast.Constant):
value = node.args[0].s value = node.args[0].value
d = bb.data.init() d = bb.data.init()
parser = d.expandWithRefs(value, self.name) parser = d.expandWithRefs(value, self.name)
self.references |= parser.references self.references |= parser.references
@@ -287,8 +287,8 @@ class PythonParser():
self.contains[varname] = set() self.contains[varname] = set()
self.contains[varname] |= parser.contains[varname] self.contains[varname] |= parser.contains[varname]
elif name in self.execfuncs: elif name in self.execfuncs:
if isinstance(node.args[0], ast.Str): if isinstance(node.args[0], ast.Constant):
self.var_execs.add(node.args[0].s) self.var_execs.add(node.args[0].value)
else: else:
self.warn(node.func, node.args[0]) self.warn(node.func, node.args[0])
elif name and isinstance(node.func, (ast.Name, ast.Attribute)): elif name and isinstance(node.func, (ast.Name, ast.Attribute)):