From 7cbde5d8f2b88ec4e79cb0d564ee0f3c9baa7c2d Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 17 May 2013 09:52:04 +0100 Subject: 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 Signed-off-by: Saul Wold --- meta/classes/pixbufcache.bbclass | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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}" -- cgit 1.2.3-korg