aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/toaster.bbclass25
1 files changed, 23 insertions, 2 deletions
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
index 51a4c74e5b0..900557f26b8 100644
--- a/meta/classes/toaster.bbclass
+++ b/meta/classes/toaster.bbclass
@@ -112,6 +112,26 @@ def _toaster_load_pkgdatafile(dirpath, filepath):
pass # ignore lines without valid key: value pairs
return pkgdata
+python toaster_packagedata_setscene_dumpdata() {
+ """
+ Dumps the data created by packagedata_setscene
+ """
+ # replicate variables from the package.bbclass
+ packages = d.getVar('PACKAGES', True)
+ pkgdatadir = d.getVar('PKGDATA_DIR', True)
+ # scan and send data for each package
+ lpkgdata = {}
+ for pkg in packages.split():
+ try:
+ lpkgdata = _toaster_load_pkgdatafile(pkgdatadir + "/runtime/", pkg)
+ except:
+ # these are typically foo-locale which actually point into foo-locale-<language> in runtime-rprovides
+ bb.note("toaster_package_dumpdata_setscene: failed to load pkg information for: %s:%s"%(pkg,sys.exc_info()[0]))
+ # Fire an event containing the pkg data
+ bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
+
+}
+
python toaster_package_dumpdata() {
"""
@@ -120,8 +140,6 @@ python toaster_package_dumpdata() {
# replicate variables from the package.bbclass
packages = d.getVar('PACKAGES', True)
- pkgdest = d.getVar('PKGDEST', True)
-
pkgdatadir = d.getVar('PKGDESTWORK', True)
# scan and send data for each package
@@ -362,6 +380,9 @@ toaster_collect_task_stats[eventmask] = "bb.event.BuildCompleted bb.build.TaskSu
addhandler toaster_buildhistory_dump
toaster_buildhistory_dump[eventmask] = "bb.event.BuildCompleted"
+do_packagedata_setscene[postfuncs] += "toaster_packagedata_setscene_dumpdata "
+do_packagedata_setscene[vardepsexclude] += "toaster_packagedata_setscene_dumpdata "
+
do_package[postfuncs] += "toaster_package_dumpdata "
do_package[vardepsexclude] += "toaster_package_dumpdata "