gdk-pixbuf: generate the pixbuf loader's cache ar rootfs time

This will generate the loaders.cache file for pixbuf, at rootfs time.

(From OE-Core rev: 5ba420bc0e282a1cbf000ce32034ad7ab15c01d5)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Laurentiu Palcu 2012-09-18 18:59:54 +03:00 committed by Richard Purdie
parent dec1e7fdce
commit 9764897616
1 changed files with 15 additions and 2 deletions

View File

@ -58,9 +58,21 @@ FILES_${PN}-dbg += " \
postinst_pixbufloader () {
if [ "x$D" != "x" ]; then
exit 1
# Update the target's pixbuf loader's cache. Since the native binary will
# throw an error if the shared objects do not belong to the same ELF class,
# we trick the gdk-pixbuf-query-loaders into scanning the native shared
# objects and then we remove the NATIVE_ROOT prefix from the paths in
# loaders.cache.
gdk-pixbuf-query-loaders $(find $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders \
-name *.so | sed -e "s:$D:$NATIVE_ROOT:g") > \
$D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache || exit 1
sed -i -e "s:$NATIVE_ROOT:/:g" $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
exit 0
fi
# Update the pixbuf loaders in case they haven't been registered yet
GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache
if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then
@ -93,6 +105,7 @@ do_install_append_class-native() {
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
}
BBCLASSEXTEND = "native"