https://bugzilla.redhat.com/show_bug.cgi?id=1413840
Bug ID: 1413840 Summary: The various ibus-* modules tail to refresh gtk's immodule cache in every instance Product: Fedora Version: 25 Component: ibus Assignee: tfujiwar@redhat.com Reporter: phil@fifi.org QA Contact: extras-qa@fedoraproject.org CC: i18n-bugs@lists.fedoraproject.org, shawn.p.huang@gmail.com, smaitra@redhat.com, tfujiwar@redhat.com
Description of problem: If both ibus-gtk3.x86_64 and ibus-gtk3.i686 are installed, only one of either the 32 or 64 bit immodule database is updated. The same applies to the gtk2 modules.
Version-Release number of selected component (if applicable): ibus-gtk3-1.5.14-5.fc25.x86_64
How reproducible: Always.
Steps to Reproduce: 1. dnf remove ibus-gtk* 2. dnf install ibus-gtk2.i686 ibus-gtk2.x86_64 ibus-gtk3.i686 ibus-gtk3.x86_64
Actual results: $ ls /usr/lib*/gtk-*/*/immodules.cache /usr/lib/gtk-2.0/2.10.0/immodules.cache /usr/lib/gtk-3.0/3.0.0/immodules.cache (no 64-bit immodules)
Expected results: I'd expect all four /usr/lib*/gtk-*/*/immodules.cache files to be updated: $ ls /usr/lib*/gtk-*/*/immodules.cache /usr/lib64/gtk-2.0/2.10.0/immodules.cache /usr/lib64/gtk-3.0/3.0.0/immodules.cache /usr/lib/gtk-2.0/2.10.0/immodules.cache /usr/lib/gtk-3.0/3.0.0/immodules.cache
Additional info: The postinstall scriplet is different for 32 and 64 bit packages, but when both 32 and 64 bit packages are installed: The first time the script runs (on the 32 bit package), $1 is equal to 1 anre runs gtk-query-immodules-3.0-32. When the 64-bit package is installed, $1 is equal to 2, and gtk-query-immodules-3.0-64 is not ran.
if [ $1 -eq 1 ] ; then # For upgrades, the cache will be regenerated by the new package's %postun gtk-query-immodules-3.0-32 --update-cache &> /dev/null || : fi
Note that because of the logic this only applies on the initial install, but the problem will cure itself on upgrades.