This is used by: openembedded-core/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb meta-openembedded/meta-oe/recipes-support/maliit/maliit-framework_git.bb
Signed-off-by: Samuel Stirtzel <[email protected]> --- meta/classes/gtk-immodules-cache.bbclass | 70 ++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 meta/classes/gtk-immodules-cache.bbclass diff --git a/meta/classes/gtk-immodules-cache.bbclass b/meta/classes/gtk-immodules-cache.bbclass new file mode 100644 index 0000000..833eefe --- /dev/null +++ b/meta/classes/gtk-immodules-cache.bbclass @@ -0,0 +1,70 @@ +# This class will update the inputmethod module cache for virtual keyboards +# +# Usage: Set GTKIMMODULES_PACKAGES to the packages that needs to update the inputmethod modules + +gtk_immodule_cache_postinst() { +if [ "x$D" != "x" ]; then + exit 1 +fi +if [ ! -z `which gtk-query-immodules-2.0` ]; then + gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules +fi +if [ ! -z `which gtk-query-immodules-3.0` ]; then + gtk-query-immodules-3.0 > /etc/gtk-3.0/gtk.immodules +fi +} + +gtk_immodule_cache_postrm() { +if [ "x$D" != "x" ]; then + exit 1 +fi +if [ ! -z `which gtk-query-immodules-2.0` ]; then + gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules +fi +if [ ! -z `which gtk-query-immodules-3.0` ]; then + gtk-query-immodules-3.0 > /etc/gtk-3.0/gtk.immodules +fi +} + +python populate_packages_append () { + gtkimmodules_pkgs = d.getVar('GTKIMMODULES_PACKAGES', True).split() + + for pkg in gtkimmodules_pkgs: + bb.note("adding gtk-immodule-cache 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('gtk_immodule_cache_postinst', 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('gtk_immodule_cache_postrm', True) + d.setVar('pkg_postrm_%s' % pkg, postrm) +} + +def gtkimmodules_after_parse(d): + def gtkimmodules_check_vars(): + if d.getVar('BB_WORKERCONTEXT', True) is not None: + return + + bb_filename = d.getVar('FILE') + packages = d.getVar('PACKAGES', True) + + # check gtk-immodules package + gtkimmodules_check = d.getVar('GTKIMMODULES_PACKAGES', True) or "" + if gtkimmodules_check == "": + raise bb.build.FuncFailed, "\n\n\nERROR: %s inherits gtk-immodule-cache but doesn't set GTKIMMODULES_PACKAGE" % bb_filename + + bpn = d.getVar('BPN', 1) + if bpn + "-native" != d.getVar('PN', 1) and \ + bpn + "-cross" != d.getVar('PN', 1) and \ + bpn + "-nativesdk" != d.getVar('PN', 1): + gtkimmodules_check_vars() + +python __anonymous() { + gtkimmodules_after_parse(d) +} + -- 1.7.9.5 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
