mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 00:49:33 +02:00
insane.bbclass: add a check that Upstream-Status patch tag is present and correctly formed
(From OE-Core rev: d679c35e087499075a5b8c2222d8e7007fc3e75d) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fc5c6e373a
commit
b825ea5ced
@@ -1167,6 +1167,30 @@ python do_qa_patch() {
|
|||||||
bb.warn(msg)
|
bb.warn(msg)
|
||||||
msg = "Patch log indicates that patches do not apply cleanly."
|
msg = "Patch log indicates that patches do not apply cleanly."
|
||||||
oe.qa.handle_error("patch-fuzz", msg, d)
|
oe.qa.handle_error("patch-fuzz", msg, d)
|
||||||
|
|
||||||
|
# Check if the patch contains a correctly formatted and spelled Upstream-Status
|
||||||
|
import re
|
||||||
|
from oe import patch
|
||||||
|
|
||||||
|
for url in patch.src_patches(d):
|
||||||
|
(_, _, fullpath, _, _, _) = bb.fetch.decodeurl(url)
|
||||||
|
|
||||||
|
# skip patches not in oe-core
|
||||||
|
if '/meta/' not in fullpath:
|
||||||
|
continue
|
||||||
|
|
||||||
|
content = open(fullpath, encoding='utf-8', errors='ignore').read()
|
||||||
|
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)( .+)?$", re.MULTILINE)
|
||||||
|
match_kinda = kinda_status_re.search(content)
|
||||||
|
match_strict = strict_status_re.search(content)
|
||||||
|
guidelines = "https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status"
|
||||||
|
|
||||||
|
if not match_strict:
|
||||||
|
if match_kinda:
|
||||||
|
bb.error("Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0)))
|
||||||
|
else:
|
||||||
|
bb.error("Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines))
|
||||||
}
|
}
|
||||||
|
|
||||||
python do_qa_configure() {
|
python do_qa_configure() {
|
||||||
|
|||||||
Reference in New Issue
Block a user