Files
poky/meta/classes/fontcache.bbclass
Laurentiu Palcu 2435d807d1 postinst-intercepts, qemu.bbclass: fix segfaults in postinstalls
Postinstalls that use qemu are throwing a segmentation fault when
building for qemux86-64 on a 64bit host (it might also happen for
qemux86 if building on a 32bit host but I didn't test). It looks like
qemu looks for ld.so.cache which is not found because it is generated
after rootfs_(rpm|ipk|deb)_do_rootfs is called and then it tries to load
libraries from the default paths (which are the host's). In order to
avoid this, pass the LD_LIBRARY_PATH explicitly to the target's dynamic
loader.

(From OE-Core rev: 48e8b613b3f5c7b1d917bf3147606d44072ce49e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-10 12:56:52 +01:00

43 lines
1.2 KiB
Plaintext

#
# This class will generate the proper postinst/postrm scriptlets for font
# packages.
#
DEPENDS += "qemu-native"
inherit qemu
FONT_PACKAGES ??= "${PN}"
#
# On host, the postinstall MUST return 1 because we do not know if the intercept
# hook will succeed. If it does succeed, than the packages will be marked as
# installed.
#
fontcache_common() {
if [ "x$D" != "x" ] ; then
$INTERCEPT_DIR/postinst_intercept update_font_cache ${PKG} bindir=${bindir} \
libdir=${libdir} base_libdir=${base_libdir}
exit 1
fi
fc-cache
}
python populate_packages_append() {
font_pkgs = d.getVar('FONT_PACKAGES', True).split()
for pkg in font_pkgs:
bb.note("adding fonts postinst and postrm scripts to %s" % pkg)
postinst = d.getVar('pkg_postinst_%s' % pkg, True) or d.getVar('pkg_postinst', True)
if not postinst:
postinst = '#!/bin/sh\n'
postinst += d.getVar('fontcache_common', True)
d.setVar('pkg_postinst_%s' % pkg, postinst)
postrm = d.getVar('pkg_postrm_%s' % pkg, True) or d.getVar('pkg_postrm', True)
if not postrm:
postrm = '#!/bin/sh\n'
postrm += d.getVar('fontcache_common', True)
d.setVar('pkg_postrm_%s' % pkg, postrm)
}