dff30d2906
* this can be useful for passing extra parameters, pass -v by default to see what's going on in do_rootfs * we need to use this for extra parameter we implemented in fontconfig: --ignore-mtime always use cache file regardless of font directory mtime because the checksum of fontcache generated in do_rootfs doesn't match with /usr/share/fonts directory as seen on target device causing fontconfig to re-create the cache when fontconfig is used for first time or worse create new cache in every user's home directory when /usr/ filesystem is read only and cache cannot be updated. Running FC_DEBUG=16 fc-cache -v on such device shows: FcCacheTimeValid dir "/usr/share/fonts" cache checksum 1441207803 dir checksum 1441206149 * my guess is that the checksum is different, because pseudo (which is unloaded when running qemuwrapper) or because some influence of running the rootfs under qemu. (From OE-Core rev: e07fdc5f047f309a0e99331f430c14d708ed2161) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
57 lines
1.9 KiB
Text
57 lines
1.9 KiB
Text
#
|
|
# This class will generate the proper postinst/postrm scriptlets for font
|
|
# packages.
|
|
#
|
|
|
|
DEPENDS += "qemu-native"
|
|
inherit qemu
|
|
|
|
FONT_PACKAGES ??= "${PN}"
|
|
FONT_EXTRA_RDEPENDS ?= "fontconfig-utils"
|
|
FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig"
|
|
FONTCONFIG_CACHE_PARAMS ?= "-v"
|
|
# You can change this to e.g. FC_DEBUG=16 to debug fc-cache issues,
|
|
# something has to be set, because qemuwrapper is using this variable after -E
|
|
# multiple variables aren't allowed because for qemu they are separated
|
|
# by comma and in -n "$D" case they should be separated by space
|
|
FONTCONFIG_CACHE_ENV ?= "FC_DEBUG=1"
|
|
fontcache_common() {
|
|
if [ -n "$D" ] ; then
|
|
$INTERCEPT_DIR/postinst_intercept update_font_cache ${PKG} mlprefix=${MLPREFIX} \
|
|
'bindir="${bindir}"' \
|
|
'libdir="${libdir}"' \
|
|
'base_libdir="${base_libdir}"' \
|
|
'fontconfigcachedir="${FONTCONFIG_CACHE_DIR}"' \
|
|
'fontconfigcacheparams="${FONTCONFIG_CACHE_PARAMS}"' \
|
|
'fontconfigcacheenv="${FONTCONFIG_CACHE_ENV}"'
|
|
else
|
|
${FONTCONFIG_CACHE_ENV} fc-cache ${FONTCONFIG_CACHE_PARAMS}
|
|
fi
|
|
}
|
|
|
|
python () {
|
|
font_pkgs = d.getVar('FONT_PACKAGES', True).split()
|
|
deps = d.getVar("FONT_EXTRA_RDEPENDS", True)
|
|
|
|
for pkg in font_pkgs:
|
|
if deps: d.appendVar('RDEPENDS_' + pkg, ' '+deps)
|
|
}
|
|
|
|
python add_fontcache_postinsts() {
|
|
for pkg in d.getVar('FONT_PACKAGES', True).split():
|
|
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)
|
|
}
|
|
|
|
PACKAGEFUNCS =+ "add_fontcache_postinsts"
|