from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
-BBIMPORTS = ["data", "path", "utils", "types", "package", "packagedata", \
+# Modules with vistorcode need to go first else anything depending on them won't be
+# processed correctly (e.g. qa)
+BBIMPORTS = ["qa", "data", "path", "utils", "types", "package", "packagedata", \
"packagegroup", "sstatesig", "lsb", "cachedpath", "license", \
- "qa", "reproducible", "rust", "buildcfg", "go"]
+ "reproducible", "rust", "buildcfg", "go"]
# SPDX-License-Identifier: GPL-2.0-only
#
+import ast
import os, struct, mmap
class NotELFFileError(Exception):
with open(logfile, "a+") as f:
f.write("%s: %s [%s]\n" % (p, error, type))
+def handle_error_visitorcode(name, args):
+ execs = set()
+ contains = {}
+ warn = None
+ if isinstance(args[0], ast.Constant) and isinstance(args[0].value, str):
+ for i in ["ERROR_QA", "WARN_QA"]:
+ if i not in contains:
+ contains[i] = set()
+ contains[i].add(args[0].value)
+ else:
+ warn = args[0]
+ execs.add(name)
+ return contains, execs, warn
+
def handle_error(error_class, error_msg, d):
if error_class in (d.getVar("ERROR_QA") or "").split():
write_error(error_class, error_msg, d)
else:
bb.note("QA Issue: %s [%s]" % (error_msg, error_class))
return True
+handle_error.visitorcode = handle_error_visitorcode
def add_message(messages, section, new_msg):
if section not in messages: