| Submitter | Samuel Stirtzel |
|---|---|
| Date | Oct. 18, 2012, 7:32 a.m. |
| Message ID | <1350545567-16374-1-git-send-email-s.stirtzel@googlemail.com> |
| Download | mbox | patch |
| Permalink | /patch/38265/ |
| State | Accepted |
| Commit | c67f64e5846bb2a6774e61a4f3719c5f82fc3bd8 |
| Headers | show |
Comments
On 10/18/2012 12:32 AM, Samuel Stirtzel wrote: > 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 <s.stirtzel@googlemail.com> > --- > meta/classes/gtk-immodules-cache.bbclass | 55 ++++++++++++++++++++++++++++++ > 1 file changed, 55 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..515d28b > --- /dev/null > +++ b/meta/classes/gtk-immodules-cache.bbclass > @@ -0,0 +1,55 @@ > +# 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) > +} > + > +python __anonymous() { > + if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): > + gtkimmodules_check = d.getVar('GTKIMMODULES_PACKAGES') > + if not gtkimmodules_check: > + bb_filename = d.getVar('FILE') > + raise bb.build.FuncFailed, "\n\n\nERROR: %s inherits gtk-immodule-cache but doesn't set GTKIMMODULES_PACKAGE" % bb_filename > +} > + > Merged into OE-Core Thanks Sau!
Patch
diff --git a/meta/classes/gtk-immodules-cache.bbclass b/meta/classes/gtk-immodules-cache.bbclass new file mode 100644 index 0000000..515d28b --- /dev/null +++ b/meta/classes/gtk-immodules-cache.bbclass @@ -0,0 +1,55 @@ +# 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) +} + +python __anonymous() { + if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): + gtkimmodules_check = d.getVar('GTKIMMODULES_PACKAGES') + if not gtkimmodules_check: + bb_filename = d.getVar('FILE') + raise bb.build.FuncFailed, "\n\n\nERROR: %s inherits gtk-immodule-cache but doesn't set GTKIMMODULES_PACKAGE" % bb_filename +} +
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 <s.stirtzel@googlemail.com> --- meta/classes/gtk-immodules-cache.bbclass | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 meta/classes/gtk-immodules-cache.bbclass