diff options
Diffstat (limited to 'meta/classes/pixbufcache.bbclass')
| -rw-r--r-- | meta/classes/pixbufcache.bbclass | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass index 0fe5163912..3f48a0f344 100644 --- a/meta/classes/pixbufcache.bbclass +++ b/meta/classes/pixbufcache.bbclass @@ -15,7 +15,7 @@ if [ "x$D" != "x" ]; then else # Update the pixbuf loaders in case they haven't been registered yet - GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders gdk-pixbuf-query-loaders --update-cache + ${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then for icondir in /usr/share/icons/*; do @@ -45,25 +45,25 @@ python populate_packages_append() { d.setVar('pkg_postrm_%s' % pkg, postrm) } +gdkpixbuf_complete() { + GDK_PIXBUF_FATAL_LOADER=1 ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache || exit 1 +} + # -# Add a sstate postinst hook to update the cache for native packages +# Add an sstate postinst hook to update the cache for native packages. +# An error exit during populate_sysroot_setscene allows bitbake to +# try to recover by re-building the package. # +DEPENDS_append_class-native = " gdk-pixbuf-native" SSTATEPOSTINSTFUNCS_append_class-native = " pixbufcache_sstate_postinst" +# See base.bbclass for the other half of this pixbufcache_sstate_postinst() { - if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ] - then - gdk-pixbuf-query-loaders --update-cache + if [ "${BB_CURRENTTASK}" = "populate_sysroot" ]; then + ${gdkpixbuf_complete} + elif [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then + if [ -x ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders ]; then + echo "${gdkpixbuf_complete}" >> ${STAGING_DIR}/sstatecompletions + fi 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. -# -# Packages that use this class should extend this variable with their runtime -# dependencies. -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 zlib-native:do_populate_sysroot_setscene" -do_populate_sysroot_setscene[depends] += "${PIXBUFCACHE_SYSROOT_DEPS}" |
