mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 18:32:12 +02:00
oelint.bbclass: add patch checking
Check that all patches have Signed-off-by and Upstream-Status. [YOCTO #5427] (From OE-Core rev: a2b6be10daca733ba4e557bd2d831c60589e9ffd) Signed-off-by: Chong Lu <Chong.Lu@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -29,4 +29,39 @@ python do_lint() {
|
||||
bb.warn("%s: SECTION is not set" % pkgname)
|
||||
elif not section.islower():
|
||||
bb.warn("%s: SECTION should only use lower case" % pkgname)
|
||||
|
||||
|
||||
##############################
|
||||
# Check that all patches have Signed-off-by and Upstream-Status
|
||||
#
|
||||
srcuri = d.getVar("SRC_URI").split()
|
||||
fpaths = (d.getVar('FILESPATH', True) or '').split(':')
|
||||
|
||||
def findPatch(patchname):
|
||||
for dir in fpaths:
|
||||
patchpath = dir + patchname
|
||||
if os.path.exists(patchpath):
|
||||
return patchpath
|
||||
|
||||
def findKey(path, key):
|
||||
ret = True
|
||||
f = file('%s' % path, mode = 'r')
|
||||
line = f.readline()
|
||||
while line:
|
||||
if line.find(key) != -1:
|
||||
ret = False
|
||||
line = f.readline()
|
||||
f.close()
|
||||
return ret
|
||||
|
||||
length = len("file://")
|
||||
for item in srcuri:
|
||||
if item.startswith("file://"):
|
||||
item = item[length:]
|
||||
if item.endswith(".patch") or item.endswith(".diff"):
|
||||
path = findPatch(item)
|
||||
if findKey(path, "Signed-off-by"):
|
||||
bb.warn("%s: %s doesn't have Signed-off-by" % (pkgname, item))
|
||||
if findKey(path, "Upstream-Status"):
|
||||
bb.warn("%s: %s doesn't have Upstream-Status" % (pkgname, item))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user