]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
insane.bbclass: move Upstream-Status logic to oe.qa
authorMartin Jansa <Martin.Jansa@gmail.com>
Wed, 15 Feb 2023 17:20:40 +0000 (18:20 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 19 Feb 2023 07:47:40 +0000 (07:47 +0000)
* to be used by standalone script scripts/contrib/patchreview.py
  as well

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-global/insane.bbclass
meta/lib/oe/qa.py

index 4053eda094478f9e3d3852b3c8309fac8ab090ee..ee34d5208d14ae118c6b46dbf11af1efcbeb7d21 100644 (file)
@@ -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)
 }
index b4cbc500455e1c5062387081d998c0a9757d9c15..de980638c444a9816c8a7a528ad2b12dbbb56546 100644 (file)
@@ -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