[oe-commits] Laurentiu Palcu : gdk-pixbuf: handle postinstall errors differently

git at git.openembedded.org git at git.openembedded.org
Thu Dec 13 15:18:10 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 901fbfac48918db7bf809ded3df533504141c5ca
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=901fbfac48918db7bf809ded3df533504141c5ca

Author: Laurentiu Palcu <laurentiu.palcu at intel.com>
Date:   Mon Dec 10 16:31:21 2012 +0200

gdk-pixbuf: handle postinstall errors differently

Apparently gdk-pixbuf-query-loaders always returns 0 but writes any
errors to stderr. So, the conditional exit at the end of the command was
useless. Write the errors to a file and exit only if the file size is
greater than 0.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb
index 2377d0e..33a43be 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb
@@ -63,12 +63,26 @@ if [ "x$D" != "x" ]; then
 # 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
+gdk-pixbuf-query-loaders $(ls -d -1 $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.so |\
+        sed -e "s:$D:$NATIVE_ROOT:g") > \
+        $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
+        2>$D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err
+
+# gdk-pixbuf-query-loaders always returns 0, so we need to check if loaders.err
+# has anything in it
+if [ -s $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err ]; then
+	echo "${PN} postinstall scriptlet failed:"
+	cat $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err
+	rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err
+	# we've got errors, postpone postinstall for first boot
+	exit 1
+fi
 
 sed -i -e "s:$NATIVE_ROOT:/:g" $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
 
+# remove the empty loaders.err
+rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err
+
 exit 0
 fi
 





More information about the Openembedded-commits mailing list