192b42cb3SPatrick Williams# 292b42cb3SPatrick Williams# Copyright OpenEmbedded Contributors 392b42cb3SPatrick Williams# 492b42cb3SPatrick Williams# SPDX-License-Identifier: MIT 592b42cb3SPatrick Williams# 692b42cb3SPatrick Williams 792b42cb3SPatrick Williams# 892b42cb3SPatrick Williams# This class will generate the proper postinst/postrm scriptlets for font 992b42cb3SPatrick Williams# packages. 1092b42cb3SPatrick Williams# 1192b42cb3SPatrick Williams 1292b42cb3SPatrick WilliamsPACKAGE_WRITE_DEPS += "qemu-native" 1392b42cb3SPatrick Williamsinherit qemu 1492b42cb3SPatrick Williams 1592b42cb3SPatrick WilliamsFONT_PACKAGES ??= "${PN}" 16*220dafdbSAndrew GeisslerFONT_PACKAGES:class-native = "" 1792b42cb3SPatrick WilliamsFONT_EXTRA_RDEPENDS ?= "${MLPREFIX}fontconfig-utils" 1892b42cb3SPatrick WilliamsFONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig" 1992b42cb3SPatrick WilliamsFONTCONFIG_CACHE_PARAMS ?= "-v" 2092b42cb3SPatrick Williams# You can change this to e.g. FC_DEBUG=16 to debug fc-cache issues, 2192b42cb3SPatrick Williams# something has to be set, because qemuwrapper is using this variable after -E 2292b42cb3SPatrick Williams# multiple variables aren't allowed because for qemu they are separated 2392b42cb3SPatrick Williams# by comma and in -n "$D" case they should be separated by space 2492b42cb3SPatrick WilliamsFONTCONFIG_CACHE_ENV ?= "FC_DEBUG=1" 2592b42cb3SPatrick Williamsfontcache_common() { 2692b42cb3SPatrick Williamsif [ -n "$D" ] ; then 2792b42cb3SPatrick Williams $INTERCEPT_DIR/postinst_intercept update_font_cache ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} \ 2892b42cb3SPatrick Williams 'bindir="${bindir}"' \ 2992b42cb3SPatrick Williams 'libdir="${libdir}"' \ 3092b42cb3SPatrick Williams 'libexecdir="${libexecdir}"' \ 3192b42cb3SPatrick Williams 'base_libdir="${base_libdir}"' \ 3292b42cb3SPatrick Williams 'fontconfigcachedir="${FONTCONFIG_CACHE_DIR}"' \ 3392b42cb3SPatrick Williams 'fontconfigcacheparams="${FONTCONFIG_CACHE_PARAMS}"' \ 3492b42cb3SPatrick Williams 'fontconfigcacheenv="${FONTCONFIG_CACHE_ENV}"' 3592b42cb3SPatrick Williamselse 3692b42cb3SPatrick Williams ${FONTCONFIG_CACHE_ENV} fc-cache ${FONTCONFIG_CACHE_PARAMS} 3792b42cb3SPatrick Williamsfi 3892b42cb3SPatrick Williams} 3992b42cb3SPatrick Williams 4092b42cb3SPatrick Williamspython () { 4192b42cb3SPatrick Williams font_pkgs = d.getVar('FONT_PACKAGES').split() 4292b42cb3SPatrick Williams deps = d.getVar("FONT_EXTRA_RDEPENDS") 4392b42cb3SPatrick Williams 4492b42cb3SPatrick Williams for pkg in font_pkgs: 4592b42cb3SPatrick Williams if deps: d.appendVar('RDEPENDS:' + pkg, ' '+deps) 4692b42cb3SPatrick Williams} 4792b42cb3SPatrick Williams 4892b42cb3SPatrick Williamspython add_fontcache_postinsts() { 4992b42cb3SPatrick Williams for pkg in d.getVar('FONT_PACKAGES').split(): 5092b42cb3SPatrick Williams bb.note("adding fonts postinst and postrm scripts to %s" % pkg) 5192b42cb3SPatrick Williams postinst = d.getVar('pkg_postinst:%s' % pkg) or d.getVar('pkg_postinst') 5292b42cb3SPatrick Williams if not postinst: 5392b42cb3SPatrick Williams postinst = '#!/bin/sh\n' 5492b42cb3SPatrick Williams postinst += d.getVar('fontcache_common') 5592b42cb3SPatrick Williams d.setVar('pkg_postinst:%s' % pkg, postinst) 5692b42cb3SPatrick Williams 5792b42cb3SPatrick Williams postrm = d.getVar('pkg_postrm:%s' % pkg) or d.getVar('pkg_postrm') 5892b42cb3SPatrick Williams if not postrm: 5992b42cb3SPatrick Williams postrm = '#!/bin/sh\n' 6092b42cb3SPatrick Williams postrm += d.getVar('fontcache_common') 6192b42cb3SPatrick Williams d.setVar('pkg_postrm:%s' % pkg, postrm) 6292b42cb3SPatrick Williams} 6392b42cb3SPatrick Williams 6492b42cb3SPatrick WilliamsPACKAGEFUNCS =+ "add_fontcache_postinsts" 65