mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

Previously only one global variant of the script was created, which caused numerous issues: 1) multilib was not properly supported due to multilib variants each needing their own version of the qemu binary and library paths to be set 2) nativesdk was not properly supported for the same reason This patch also moves setting LD_LIBRARY_PATH directly into the recipe, as passing it down from other recipes did not work when said recipes were allarch, and adjusts calls to qemuwrapper from postinst-intercepts, so that its correct variant is selected. Also, the various qemu fallbacks in qemuwrapper script are all removed, as they are no longer necessary. (From OE-Core rev: d10fd6ae3fe46290c6e3a5250878966d9f12ca3f) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
65 lines
1.9 KiB
Plaintext
65 lines
1.9 KiB
Plaintext
#
|
|
# This class will generate the proper postinst/postrm scriptlets for pixbuf
|
|
# packages.
|
|
#
|
|
|
|
DEPENDS += "qemu-native"
|
|
inherit qemu
|
|
|
|
PIXBUF_PACKAGES ??= "${PN}"
|
|
|
|
PACKAGE_WRITE_DEPS += "qemu-native gdk-pixbuf-native"
|
|
|
|
pixbufcache_common() {
|
|
if [ "x$D" != "x" ]; then
|
|
$INTERCEPT_DIR/postinst_intercept update_pixbuf_cache ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} libdir=${libdir} \
|
|
bindir=${bindir} base_libdir=${base_libdir}
|
|
else
|
|
|
|
# Update the pixbuf loaders in case they haven't been registered yet
|
|
${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
|
|
|
|
if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then
|
|
for icondir in /usr/share/icons/*; do
|
|
if [ -d ${icondir} ]; then
|
|
gtk-update-icon-cache -t -q ${icondir}
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
}
|
|
|
|
python populate_packages_append() {
|
|
pixbuf_pkgs = d.getVar('PIXBUF_PACKAGES').split()
|
|
|
|
for pkg in pixbuf_pkgs:
|
|
bb.note("adding pixbuf postinst and postrm scripts to %s" % pkg)
|
|
postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
|
|
if not postinst:
|
|
postinst = '#!/bin/sh\n'
|
|
postinst += d.getVar('pixbufcache_common')
|
|
d.setVar('pkg_postinst_%s' % pkg, postinst)
|
|
|
|
postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
|
|
if not postrm:
|
|
postrm = '#!/bin/sh\n'
|
|
postrm += d.getVar('pixbufcache_common')
|
|
d.setVar('pkg_postrm_%s' % pkg, postrm)
|
|
}
|
|
|
|
gdkpixbuf_complete() {
|
|
GDK_PIXBUF_FATAL_LOADER=1 ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache || exit 1
|
|
}
|
|
|
|
DEPENDS_append_class-native = " gdk-pixbuf-native"
|
|
SYSROOT_PREPROCESS_FUNCS_append_class-native = " pixbufcache_sstate_postinst"
|
|
|
|
# See base.bbclass for the other half of this
|
|
pixbufcache_sstate_postinst() {
|
|
mkdir -p ${SYSROOT_DESTDIR}${bindir}
|
|
dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}
|
|
echo '#!/bin/sh' > $dest
|
|
echo "${gdkpixbuf_complete}" >> $dest
|
|
chmod 0755 $dest
|
|
}
|