From fd1517e2b51a170f2427122c6b95396db251d827 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 10 Aug 2022 14:35:29 +0100 Subject: classes: Update classes to match new bitbake class scope functionality Move classes to classes-global or classes-recipe as appropriate to take advantage of new bitbake functionality to check class scope/usage. (From OE-Core rev: f5c128008365e141082c129417eb72d2751e8045) Signed-off-by: Richard Purdie --- meta/classes-recipe/fontcache.bbclass | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 meta/classes-recipe/fontcache.bbclass (limited to 'meta/classes-recipe/fontcache.bbclass') diff --git a/meta/classes-recipe/fontcache.bbclass b/meta/classes-recipe/fontcache.bbclass new file mode 100644 index 0000000000..0d496b72dd --- /dev/null +++ b/meta/classes-recipe/fontcache.bbclass @@ -0,0 +1,63 @@ +# +# Copyright OpenEmbedded Contributors +# +# SPDX-License-Identifier: MIT +# + +# +# 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 ?= "${MLPREFIX}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} binprefix=${MLPREFIX} \ + 'bindir="${bindir}"' \ + 'libdir="${libdir}"' \ + 'libexecdir="${libexecdir}"' \ + '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" -- cgit v1.2.3-54-g00ecf