sstate.bbclass: add SSTATEPOSTINSTFUNCS

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>
This commit is contained in:
Scott Garman 2011-02-22 18:32:45 -08:00 committed by Richard Purdie
parent 91c0b3a2e6
commit fa6e786082
1 changed files with 5 additions and 0 deletions

View 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)