summaryrefslogtreecommitdiffstats
path: root/meta/classes/pixbufcache.bbclass
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2013-05-17 09:52:04 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-05-24 14:06:58 +0100
commit7cbde5d8f2b88ec4e79cb0d564ee0f3c9baa7c2d (patch)
treee3f1340ee48ece72bc54aa4788b67757b1a55956 /meta/classes/pixbufcache.bbclass
parent54629315502247c5751c351b5792838f86dd1ea8 (diff)
downloadopenembedded-core-contrib-7cbde5d8f2b88ec4e79cb0d564ee0f3c9baa7c2d.tar.gz
pixbufcache: update the loader cache when installing natively
Register a sstate postinst function so that when installing a native package, the gdk-pixbuf loader cache is updated. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/pixbufcache.bbclass')
-rw-r--r--meta/classes/pixbufcache.bbclass20
1 files changed, 20 insertions, 0 deletions
diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
index 37bf812b07..274d67d593 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes/pixbufcache.bbclass
@@ -44,3 +44,23 @@ python populate_packages_append() {
postrm += d.getVar('pixbufcache_common', True)
d.setVar('pkg_postrm_%s' % pkg, postrm)
}
+
+#
+# Add a sstate postinst hook to update the cache for native packages
+#
+SSTATEPOSTINSTFUNCS_append_class-native = " pixbufcache_sstate_postinst"
+
+pixbufcache_sstate_postinst() {
+ if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
+ then
+ gdk-pixbuf-query-loaders --update-cache
+ fi
+}
+
+# Add all of the dependencies of gdk-pixbuf as dependencies of
+# do_populate_sysroot_setscene so that pixbufcache_sstate_postinst can work
+# (otherwise gdk-pixbuf-query-loaders may not exist or link). Only add
+# gdk-pixbuf-native if we're not building gdk-pixbuf itself.
+PIXBUFCACHE_SYSROOT_DEPS = ""
+PIXBUFCACHE_SYSROOT_DEPS_class-native = "${@['gdk-pixbuf-native:do_populate_sysroot_setscene', '']['${BPN}' == 'gdk-pixbuf']} glib-2.0-native:do_populate_sysroot_setscene libffi-native:do_populate_sysroot_setscene libpng-native:do_populate_sysroot_setscene"
+do_populate_sysroot_setscene[depends] += "${PIXBUFCACHE_SYSROOT_DEPS}"