summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-10-13 20:36:35 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-10-15 10:01:42 +0100
commit7c32a77cac3b83c6d80258c18fa2cbe56ba4825e (patch)
treec5f3608d90854d15ffcd4ed4b901f3afae860b65
parent76b0c18a65c8f6f5e6aa61f9ee865847c2380820 (diff)
downloadpoky-7c32a77cac3b83c6d80258c18fa2cbe56ba4825e.tar.gz
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 ] (From OE-Core rev: 03cdb3366ded46cd760656e4cda0be37c1f82109) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/pixbufcache.bbclass6
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
index dbe11e12da..3f48a0f344 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes/pixbufcache.bbclass
@@ -54,6 +54,7 @@ gdkpixbuf_complete() {
54# An error exit during populate_sysroot_setscene allows bitbake to 54# An error exit during populate_sysroot_setscene allows bitbake to
55# try to recover by re-building the package. 55# try to recover by re-building the package.
56# 56#
57DEPENDS_append_class-native = " gdk-pixbuf-native"
57SSTATEPOSTINSTFUNCS_append_class-native = " pixbufcache_sstate_postinst" 58SSTATEPOSTINSTFUNCS_append_class-native = " pixbufcache_sstate_postinst"
58 59
59# See base.bbclass for the other half of this 60# See base.bbclass for the other half of this
@@ -61,7 +62,8 @@ pixbufcache_sstate_postinst() {
61 if [ "${BB_CURRENTTASK}" = "populate_sysroot" ]; then 62 if [ "${BB_CURRENTTASK}" = "populate_sysroot" ]; then
62 ${gdkpixbuf_complete} 63 ${gdkpixbuf_complete}
63 elif [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then 64 elif [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then
64 echo "${gdkpixbuf_complete}" >> ${STAGING_DIR}/sstatecompletions 65 if [ -x ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders ]; then
66 echo "${gdkpixbuf_complete}" >> ${STAGING_DIR}/sstatecompletions
67 fi
65 fi 68 fi
66} 69}
67