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. (From OE-Core rev: 901fbfac48918db7bf809ded3df533504141c5ca) 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:
parent
0496ba3a9b
commit
07dd59d812
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue