diff options
Diffstat (limited to 'poky/meta/classes/fontcache.bbclass')
-rw-r--r-- | poky/meta/classes/fontcache.bbclass | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/poky/meta/classes/fontcache.bbclass b/poky/meta/classes/fontcache.bbclass new file mode 100644 index 000000000..e76331131 --- /dev/null +++ b/poky/meta/classes/fontcache.bbclass @@ -0,0 +1,56 @@ +# +# This class will generate the proper postinst/postrm scriptlets for font +# packages. +# + +PACKAGE_WRITE_DEPS += "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').split() + deps = d.getVar("FONT_EXTRA_RDEPENDS") + + for pkg in font_pkgs: + if deps: d.appendVar('RDEPENDS_' + pkg, ' '+deps) +} + +python add_fontcache_postinsts() { + for pkg in d.getVar('FONT_PACKAGES').split(): + bb.note("adding fonts 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('fontcache_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('fontcache_common') + d.setVar('pkg_postrm_%s' % pkg, postrm) +} + +PACKAGEFUNCS =+ "add_fontcache_postinsts" |