From b2f192faabe412adce79534e22efe9fb69ee40e2 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 21 Jul 2006 10:10:31 +0000 Subject: Rename /openembedded/ -> /meta/ git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/oelint.bbclass | 174 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 meta/classes/oelint.bbclass (limited to 'meta/classes/oelint.bbclass') diff --git a/meta/classes/oelint.bbclass b/meta/classes/oelint.bbclass new file mode 100644 index 0000000000..baa1c630b4 --- /dev/null +++ b/meta/classes/oelint.bbclass @@ -0,0 +1,174 @@ +addtask lint before do_fetch +do_lint[nostamp] = 1 +python do_lint() { + def testVar(var, explain=None): + try: + s = d[var] + return s["content"] + except KeyError: + bb.error("%s is not set" % var) + if explain: bb.note(explain) + return None + + + ############################## + # Test that DESCRIPTION exists + # + testVar("DESCRIPTION") + + + ############################## + # Test that HOMEPAGE exists + # + s = testVar("HOMEPAGE") + if s=="unknown": + bb.error("HOMEPAGE is not set") + elif not s.startswith("http://"): + bb.error("HOMEPAGE doesn't start with http://") + + + + ############################## + # 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 ": + 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") + +} -- cgit v1.2.3-54-g00ecf