]> code.ossystems Code Review - openembedded-core.git/commitdiff
sstate.bbclass: add SSTATEPOSTINSTFUNCS
authorScott Garman <scott.a.garman@intel.com>
Wed, 23 Feb 2011 02:32:45 +0000 (18:32 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 23 Feb 2011 15:52:51 +0000 (15:52 +0000)
When doing builds using sstate cache, there was no way to run
the equivalent of a pkg_postinst function. This is needed by
the SGML-related documentation recipes to properly update the
catalog files when new DTDs and stylesheets are installed.

SSTATEPOSTINSTFUNCS is a new variable you can set to function(s)
in your recipe to run after install is completed from sstate.

Thanks to Richard Purdie for suggesting this solution.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
meta/classes/sstate.bbclass

index 4f1bc39e7a9fe208de1a453ad66cdee5f4cd4cf5..6f836a60b6aae67b9c89773781c43f0a5403b669 100644 (file)
@@ -16,6 +16,8 @@ BB_HASHFILENAME = "${SSTATE_PKGNAME}"
 
 SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
 
+SSTATEPOSTINSTFUNCS ?= ""
+
 python () {
     if bb.data.inherits_class('native', d):
         bb.data.setVar('SSTATE_PKGARCH', bb.data.getVar('BUILD_ARCH', d), d)
@@ -129,6 +131,9 @@ def sstate_install(ss, d):
         f.write(di + "\n")
     f.close()
 
+    for postinst in (bb.data.getVar('SSTATEPOSTINSTFUNCS', d, True) or '').split():
+        bb.build.exec_func(postinst, d)
+
     for lock in locks:
         bb.utils.unlockfile(lock)