[oe-commits] [openembedded-core] 03/32: pixbufcache: handle gdk-pixbuf not being present

git at git.openembedded.org git at git.openembedded.org
Sat Oct 15 09:05:48 UTC 2016


rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 03cdb3366ded46cd760656e4cda0be37c1f82109
Author: Ross Burton <ross.burton at intel.com>
AuthorDate: Thu Oct 13 20:36:35 2016 +0100

    pixbufcache: handle gdk-pixbuf not being present
    
    It's possible - albeit unlikely - that gdk-pixbuf isn't present in the sysroot
    when a recipe inheriting this class is and the sysroot is finalised.
    
    One example would be if the sstate archive has librsvg but not gdk-pixbuf:
    librsvg will be extracted from the sstate but gdk-pixbuf will be built to "fill
    in the gap".  In this situation the setscene completion hook installed by
    pixbufcache.bbclass will attempt to execute gdk-pixbuf-query-loaders, but that
    binary hasn't been installed by gdk-pixbuf yet.
    
    Also add gdk-pixbuf-native to DEPENDS in native builds to ensure that the
    binaries we expect will be present, as it's possible to build loaders without
    linking to GdkPixbuf.
    
    [ YOCTO #10420 ]
    
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/classes/pixbufcache.bbclass | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
index dbe11e1..3f48a0f 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes/pixbufcache.bbclass
@@ -54,6 +54,7 @@ gdkpixbuf_complete() {
 # 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
@@ -61,7 +62,8 @@ pixbufcache_sstate_postinst() {
 	if [ "${BB_CURRENTTASK}" = "populate_sysroot" ]; then
 		${gdkpixbuf_complete}
 	elif [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then
-		echo "${gdkpixbuf_complete}" >> ${STAGING_DIR}/sstatecompletions
+		if [ -x ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders ]; then
+			echo "${gdkpixbuf_complete}" >> ${STAGING_DIR}/sstatecompletions
+		fi
 	fi
 }
-

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list