From: Martin Jansa Date: Wed, 15 Feb 2023 17:20:40 +0000 (+0100) Subject: insane.bbclass: move Upstream-Status logic to oe.qa X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~1660 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c326efeec8f576200728a44c694becdeab4fe2db;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git insane.bbclass: move Upstream-Status logic to oe.qa * to be used by standalone script scripts/contrib/patchreview.py as well Signed-off-by: Martin Jansa Signed-off-by: Richard Purdie --- diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass index 4053eda0944..ee34d5208d1 100644 --- a/meta/classes-global/insane.bbclass +++ b/meta/classes-global/insane.bbclass @@ -1357,22 +1357,9 @@ python do_qa_patch() { if not allpatches: continue - kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE) - strict_status_re = re.compile(r"^Upstream-Status: (Pending|Submitted|Denied|Accepted|Inappropriate|Backport|Inactive-Upstream)( .+)?$", re.MULTILINE) - guidelines = "https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status" - - with open(fullpath, encoding='utf-8', errors='ignore') as f: - file_content = f.read() - match_kinda = kinda_status_re.search(file_content) - match_strict = strict_status_re.search(file_content) - - if not match_strict: - if match_kinda: - msg = "Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0)) - oe.qa.handle_error(patchtype, msg, d) - else: - msg = "Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines) - oe.qa.handle_error(patchtype, msg, d) + msg = oe.qa.check_upstream_status(fullpath) + if msg: + oe.qa.handle_error(patchtype, msg, d) oe.qa.exit_if_errors(d) } diff --git a/meta/lib/oe/qa.py b/meta/lib/oe/qa.py index b4cbc500455..de980638c44 100644 --- a/meta/lib/oe/qa.py +++ b/meta/lib/oe/qa.py @@ -213,6 +213,23 @@ def exit_with_message_if_errors(message, d): def exit_if_errors(d): exit_with_message_if_errors("Fatal QA errors were found, failing task.", d) +def check_upstream_status(fullpath): + import re + kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE) + strict_status_re = re.compile(r"^Upstream-Status: (Pending|Submitted|Denied|Accepted|Inappropriate|Backport|Inactive-Upstream)( .+)?$", re.MULTILINE) + guidelines = "https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status" + + with open(fullpath, encoding='utf-8', errors='ignore') as f: + file_content = f.read() + match_kinda = kinda_status_re.search(file_content) + match_strict = strict_status_re.search(file_content) + + if not match_strict: + if match_kinda: + return "Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0)) + else: + return "Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines) + if __name__ == "__main__": import sys