summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2007-11-14 18:13:27 +0000
committerKoen Kooi <koen@openembedded.org>2007-11-14 18:13:27 +0000
commit303495b5ba8aa81aa3e3569fbf8231b690244dc4 (patch)
tree91ba5a929edf51292eaa7b3c8ac866a8a2e8259b
parent7230a7a83395be04751e8ff33b0d826ae65b3181 (diff)
insane.bbclass: merge dot desktop check from poky
-rw-r--r--classes/insane.bbclass22
1 files changed, 20 insertions, 2 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index 3fb2d04a81..bc72ea5b3b 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -21,7 +21,7 @@
# We play a special package function
inherit package
-PACKAGE_DEPENDS += "pax-utils-native"
+PACKAGE_DEPENDS += "pax-utils-native desktop-file-utils-native"
#PACKAGE_DEPENDS += chrpath-native"
PACKAGEFUNCS += " do_package_qa "
@@ -308,8 +308,22 @@ def package_qa_check_pcla(path,name,d):
.pc and .la files should not point to the WORKDIR
"""
sane = True
+ # TODO
return sane
+def package_qa_check_desktop(path, name, d):
+ """
+ Run all desktop files through desktop-file-validate.
+ """
+ import bb, os
+ if path.endswith(".desktop"):
+ validate = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True), 'desktop-file-validate')
+ output = os.popen("%s %s" % (validate, path))
+ # This only produces output on errors
+ for l in output:
+ bb.error(l.strip())
+ return True
+
def package_qa_check_staged(path,d):
"""
Check staged la and pc files for sanity
@@ -416,9 +430,13 @@ python do_package_qa () {
walk_sane = True
rdepends_sane = True
for package in packages.split():
+ if bb.data.getVar('INSANE_SKIP_' + package, d, True):
+ bb.note("Package: %s (skipped)" % package)
+ continue
+
bb.note("Checking Package: %s" % package)
path = "%s/install/%s" % (workdir, package)
- if not package_qa_walk(path, [package_qa_check_rpath, package_qa_check_devdbg, package_qa_check_perm, package_qa_check_arch], package, d):
+ if not package_qa_walk(path, [package_qa_check_rpath, package_qa_check_devdbg, package_qa_check_perm, package_qa_check_arch, package_qa_check_desktop], package, d):
walk_sane = False
if not package_qa_check_rdepends(package, workdir, d):
rdepends_sane = False