From 3480f4dbe9f9f285c75c1e874ddf994400c08c16 Mon Sep 17 00:00:00 2001 From: Pedro Ferreira Date: Fri, 7 Mar 2025 10:33:51 +0000 Subject: bitbake: codeparser: Skipping typing when inspecting Python modules If a custom python module is added thru BBIMPORTS and it uses typing(Any,Tuple,Union...), codeparser will fail because inspect.py raises TypeError exception if the object is a built-in module, class, or function. (Bitbake rev: 0ecfd0b8540220633e71d24cd73cc5306863ae3c) Signed-off-by: Pedro Silva Ferreira Signed-off-by: Richard Purdie --- bitbake/lib/bb/codeparser.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py index d249af326e..4bc6adbe45 100644 --- a/bitbake/lib/bb/codeparser.py +++ b/bitbake/lib/bb/codeparser.py @@ -72,12 +72,20 @@ def add_module_functions(fn, functions, namespace): parser.parse_python(None, filename=fn, lineno=1, fixedhash=fixedhash+f) #bb.warn("Cached %s" % f) except KeyError: - targetfn = inspect.getsourcefile(functions[f]) + try: + targetfn = inspect.getsourcefile(functions[f]) + except TypeError: + # Builtin + continue if fn != targetfn: # Skip references to other modules outside this file #bb.warn("Skipping %s" % name) continue - lines, lineno = inspect.getsourcelines(functions[f]) + try: + lines, lineno = inspect.getsourcelines(functions[f]) + except TypeError: + # Builtin + continue src = "".join(lines) parser.parse_python(src, filename=fn, lineno=lineno, fixedhash=fixedhash+f) #bb.warn("Not cached %s" % f) -- cgit v1.2.3-54-g00ecf