mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
oelint.bbclass: make oelint bbclass work
Remove LICENSE, MAINTAINER, PRIORITY and valid SECTION checking. Convert tab indentation into four-space. [YOCTO #5427] (From OE-Core rev: 184baa681b3381b7f1f289c3e0c3a0f1096368f6) 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:
+24
-166
@@ -1,174 +1,32 @@
|
|||||||
addtask lint before do_fetch
|
addtask lint before do_fetch
|
||||||
do_lint[nostamp] = "1"
|
do_lint[nostamp] = "1"
|
||||||
python do_lint() {
|
python do_lint() {
|
||||||
def testVar(var, explain=None):
|
pkgname = d.getVar("PN", True)
|
||||||
try:
|
|
||||||
s = d[var]
|
##############################
|
||||||
return s["content"]
|
# Test that DESCRIPTION exists
|
||||||
except KeyError:
|
#
|
||||||
bb.error("%s is not set" % var)
|
description = d.getVar("DESCRIPTION")
|
||||||
if explain: bb.note(explain)
|
if description[1:10] == '{SUMMARY}':
|
||||||
return None
|
bb.warn("%s: DESCRIPTION is not set" % pkgname)
|
||||||
|
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
# Test that DESCRIPTION exists
|
# Test that HOMEPAGE exists
|
||||||
#
|
#
|
||||||
testVar("DESCRIPTION")
|
homepage = d.getVar("HOMEPAGE")
|
||||||
|
if homepage == '':
|
||||||
|
bb.warn("%s: HOMEPAGE is not set" % pkgname)
|
||||||
|
elif not homepage.startswith("http://") and not homepage.startswith("https://"):
|
||||||
|
bb.warn("%s: HOMEPAGE doesn't start with http:// or https://" % pkgname)
|
||||||
|
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
# Test that HOMEPAGE exists
|
# Test for valid SECTION
|
||||||
#
|
#
|
||||||
s = testVar("HOMEPAGE")
|
section = d.getVar("SECTION")
|
||||||
if s=="unknown":
|
if section == '':
|
||||||
bb.error("HOMEPAGE is not set")
|
bb.warn("%s: SECTION is not set" % pkgname)
|
||||||
elif not s.startswith("http://"):
|
elif not section.islower():
|
||||||
bb.error("HOMEPAGE doesn't start with http://")
|
bb.warn("%s: SECTION should only use lower case" % pkgname)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##############################
|
|
||||||
# Test for valid LICENSE
|
|
||||||
#
|
|
||||||
valid_licenses = {
|
|
||||||
"GPL-2" : "GPLv2",
|
|
||||||
"GPL LGPL FDL" : True,
|
|
||||||
"GPL PSF" : True,
|
|
||||||
"GPL/QPL" : True,
|
|
||||||
"GPL" : True,
|
|
||||||
"GPLv2" : True,
|
|
||||||
"IBM" : True,
|
|
||||||
"LGPL GPL" : True,
|
|
||||||
"LGPL" : True,
|
|
||||||
"MIT" : True,
|
|
||||||
"OSL" : True,
|
|
||||||
"Perl" : True,
|
|
||||||
"Public Domain" : True,
|
|
||||||
"QPL" : "GPL/QPL",
|
|
||||||
}
|
|
||||||
s = testVar("LICENSE")
|
|
||||||
if s=="unknown":
|
|
||||||
bb.error("LICENSE is not set")
|
|
||||||
elif s.startswith("Vendor"):
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
newlic = valid_licenses[s]
|
|
||||||
if newlic == False:
|
|
||||||
bb.note("LICENSE '%s' is not recommended" % s)
|
|
||||||
elif newlic != True:
|
|
||||||
bb.note("LICENSE '%s' is not recommended, better use '%s'" % (s, newsect))
|
|
||||||
except:
|
|
||||||
bb.note("LICENSE '%s' is not recommended" % s)
|
|
||||||
|
|
||||||
|
|
||||||
##############################
|
|
||||||
# Test for valid MAINTAINER
|
|
||||||
#
|
|
||||||
s = testVar("MAINTAINER")
|
|
||||||
if s=="OpenEmbedded Team <openembedded-devel@openembedded.org>":
|
|
||||||
bb.error("explicit MAINTAINER is missing, using default")
|
|
||||||
elif s and s.find("@") == -1:
|
|
||||||
bb.error("You forgot to put an e-mail address into MAINTAINER")
|
|
||||||
|
|
||||||
|
|
||||||
##############################
|
|
||||||
# Test for valid SECTION
|
|
||||||
#
|
|
||||||
# if Correct section: True section name is valid
|
|
||||||
# False section name is invalid, no suggestion
|
|
||||||
# string section name is invalid, better name suggested
|
|
||||||
#
|
|
||||||
valid_sections = {
|
|
||||||
# Current Section Correct section
|
|
||||||
"apps" : True,
|
|
||||||
"audio" : True,
|
|
||||||
"base" : True,
|
|
||||||
"console/games" : True,
|
|
||||||
"console/net" : "console/network",
|
|
||||||
"console/network" : True,
|
|
||||||
"console/utils" : True,
|
|
||||||
"devel" : True,
|
|
||||||
"developing" : "devel",
|
|
||||||
"devel/python" : True,
|
|
||||||
"fonts" : True,
|
|
||||||
"games" : True,
|
|
||||||
"games/libs" : True,
|
|
||||||
"gnome/base" : True,
|
|
||||||
"gnome/libs" : True,
|
|
||||||
"gpe" : True,
|
|
||||||
"gpe/libs" : True,
|
|
||||||
"gui" : False,
|
|
||||||
"libc" : "libs",
|
|
||||||
"libs" : True,
|
|
||||||
"libs/net" : True,
|
|
||||||
"multimedia" : True,
|
|
||||||
"net" : "network",
|
|
||||||
"NET" : "network",
|
|
||||||
"network" : True,
|
|
||||||
"opie/applets" : True,
|
|
||||||
"opie/applications" : True,
|
|
||||||
"opie/base" : True,
|
|
||||||
"opie/codecs" : True,
|
|
||||||
"opie/decorations" : True,
|
|
||||||
"opie/fontfactories" : True,
|
|
||||||
"opie/fonts" : True,
|
|
||||||
"opie/games" : True,
|
|
||||||
"opie/help" : True,
|
|
||||||
"opie/inputmethods" : True,
|
|
||||||
"opie/libs" : True,
|
|
||||||
"opie/multimedia" : True,
|
|
||||||
"opie/pim" : True,
|
|
||||||
"opie/setting" : "opie/settings",
|
|
||||||
"opie/settings" : True,
|
|
||||||
"opie/Shell" : False,
|
|
||||||
"opie/styles" : True,
|
|
||||||
"opie/today" : True,
|
|
||||||
"scientific" : True,
|
|
||||||
"utils" : True,
|
|
||||||
"x11" : True,
|
|
||||||
"x11/libs" : True,
|
|
||||||
"x11/wm" : True,
|
|
||||||
}
|
|
||||||
s = testVar("SECTION")
|
|
||||||
if s:
|
|
||||||
try:
|
|
||||||
newsect = valid_sections[s]
|
|
||||||
if newsect == False:
|
|
||||||
bb.note("SECTION '%s' is not recommended" % s)
|
|
||||||
elif newsect != True:
|
|
||||||
bb.note("SECTION '%s' is not recommended, better use '%s'" % (s, newsect))
|
|
||||||
except:
|
|
||||||
bb.note("SECTION '%s' is not recommended" % s)
|
|
||||||
|
|
||||||
if not s.islower():
|
|
||||||
bb.error("SECTION should only use lower case")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##############################
|
|
||||||
# Test for valid PRIORITY
|
|
||||||
#
|
|
||||||
valid_priorities = {
|
|
||||||
"standard" : True,
|
|
||||||
"required" : True,
|
|
||||||
"optional" : True,
|
|
||||||
"extra" : True,
|
|
||||||
}
|
|
||||||
s = testVar("PRIORITY")
|
|
||||||
if s:
|
|
||||||
try:
|
|
||||||
newprio = valid_priorities[s]
|
|
||||||
if newprio == False:
|
|
||||||
bb.note("PRIORITY '%s' is not recommended" % s)
|
|
||||||
elif newprio != True:
|
|
||||||
bb.note("PRIORITY '%s' is not recommended, better use '%s'" % (s, newprio))
|
|
||||||
except:
|
|
||||||
bb.note("PRIORITY '%s' is not recommended" % s)
|
|
||||||
|
|
||||||
if not s.islower():
|
|
||||||
bb.error("PRIORITY should only use lower case")
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user