[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#926110: unblock: im-config/0.43-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package im-config

(explain the reason for the unblock here)
This is to fix very nasty latency bug on Gnome wayland:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925160
  https://bugs.kali.org/view.php?id=5357 (Reported in Kali)

Unlike the previous fix for #925160 bug, I changed im-config code at
imconfig_find_files_with_prefixpath_glob which reduced diff significantly
following suggestion by YOSHINO-san.

  * Minimal change from the testing 0.39-1 upload aiming for buster release.

Basically, changelog 0.40-1 to 0.40-2 are only for historical value.  Actual
code change recorded in the 0.41-1 entry is from 0.39-1.

  * The slow execution #925160 bug is addressed by disabling useless
    checks by imconfig_find_files_with_prefixpath_glob.
  * The 0.39-1 upload caused regression on the most common Gnome wayland
    system with ibus since Gnome also tries to set up input method.
    This regression is fixed by making 70-im-config and
    im-launch.desktop conditional to the existence of ibus-daemon.
These 2 fixed
    Closes: #925160

  * The 0.39-1 upload caused another regression of lost $HOME value.
    This regression is fixed by adding HOME to the env command argument
    in im-launch.
This bug caused to miss ~/.xinputrc setting

  * House keeping to erase conffile introduced by some unstable packages
    using dpkg-maintscript-helper.  Closes: #926016

(include/attach the debdiff against the package in testing)

diff -Nru im-config-0.39/70-im-config im-config-0.43/70-im-config
--- im-config-0.39/70-im-config	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.43/70-im-config	2019-03-31 23:02:22.000000000 +0900
@@ -1,8 +1,12 @@
 #! /bin/sh
 
+if ! [ -e "/usr/bin/ibus-daemon" ]; then 
+
 if [ -r /etc/X11/Xsession.d/70im-config_launch ]; then
     . /etc/X11/Xsession.d/70im-config_launch
 
     # always export variables even for manual configuration.
     env | grep -E '^(IM_CONFIG_PHASE|XMODIFIERS|GTK_IM_MODULE|QT_IM_MODULE|QT4_IM_MODULE|CLUTTER_IM_MODULE)='
 fi
+
+fi
diff -Nru im-config-0.39/debian/changelog im-config-0.43/debian/changelog
--- im-config-0.39/debian/changelog	2019-03-09 02:09:41.000000000 +0900
+++ im-config-0.43/debian/changelog	2019-03-30 21:06:10.000000000 +0900
@@ -1,3 +1,57 @@
+im-config (0.43-1) unstable; urgency=medium
+
+  * Minimal change from the testing 0.39-1 upload aiming for buster release.
+  * The slow execution #925160 bug is addressed by disabling useless
+    checks by imconfig_find_files_with_prefixpath_glob.
+  * The 0.39-1 upload caused regression on the most common Gnome wayland
+    system with ibus since Gnome also tries to set up input method.
+    This regression is fixed by making 70-im-config and
+    im-launch.desktop conditional to the existence of ibus-daemon.
+    Closes: #925160
+  * The 0.39-1 upload caused another regression of lost $HOME value.
+    This regression is fixed by adding HOME to the env command argument
+    in im-launch.
+  * House keeping to erase conffile introduced by some unstable packages
+    using dpkg-maintscript-helper.  Closes: #926016
+
+ -- Osamu Aoki <osamu@debian.org>  Sat, 30 Mar 2019 21:06:10 +0900
+
+im-config (0.42-1) unstable; urgency=medium
+
+  * Better fix to reopened #925160 by:
+    - Fix glob to use "*-*-*"
+    - Use "emulate -R sh" trick (not script with "find") for zsh
+    - Save environment variables to avoid running the problematic 
+      slow code twice
+    - Check the existence of ibus-daemon to disable 
+      systemd.environment-generator script.
+    - Separate wayland code from Xsession ones.
+    - Move one line code from desktop to separated wayland code.
+  * The above combination.  Closes: #925160
+
+ -- Osamu Aoki <osamu@debian.org>  Sat, 30 Mar 2019 00:55:07 +0900
+
+im-config (0.41-1) unstable; urgency=medium
+
+  * Refine environment variable handling.
+  * Add autopkgtest.
+
+ -- Osamu Aoki <osamu@debian.org>  Sun, 24 Mar 2019 11:37:32 +0900
+
+im-config (0.40-1) unstable; urgency=medium
+
+  [ YOSHINO Yoshihito ]
+  * Speed up by avoid using "find" but work around sddm+zsh
+    problem originally reported at Bug#905129.
+
+  [ Osamu Aoki ]
+  * Disable im-config for Gnome on wayland by default.
+    Closes: #925160, #877312
+  * Add im-launch-wayland to simplify code.
+  * Avoid running time consuming code section twice.
+
+ -- Osamu Aoki <osamu@debian.org>  Sun, 24 Mar 2019 05:03:35 +0900
+
 im-config (0.39-1) unstable; urgency=medium
 
   [ YOSHINO Yoshihito ]
diff -Nru im-config-0.39/debian/maintscript im-config-0.43/debian/maintscript
--- im-config-0.39/debian/maintscript	1970-01-01 09:00:00.000000000 +0900
+++ im-config-0.43/debian/maintscript	2019-03-30 21:06:10.000000000 +0900
@@ -0,0 +1,3 @@
+rm_conffile /etc/xdg/autostart/im-launch-wayland.desktop 0.43-1~ im-config
+
+
diff -Nru im-config-0.39/debian/README.Debian im-config-0.43/debian/README.Debian
--- im-config-0.39/debian/README.Debian	2018-08-05 01:26:03.000000000 +0900
+++ im-config-0.43/debian/README.Debian	2019-03-30 21:06:10.000000000 +0900
@@ -1,9 +1,25 @@
 im-config for Debian                     Osamu Aoki <osamu@debian.org>
 
-If you are using systemd, relogin with GDM may not restart the X session
-to update the system with the newly set im-config parameters.  You have
-to restart the X session explicitly using the service(8) command (or
-reboot the system).
+See the latest info at: https://wiki.debian.org/InputMethodBuster
+
+For Gnome on wayland environment with ibus package installed, im-config
+is automatically disabled.  Gnome supports ibus internally.  You still
+need to enable each input engine via Gnome "Settings" -> "Region &
+Languages" --> "Input Sources".
+
+For Gnome on wayland environment without ibus package installed,
+im-config is enabled to support non-ibus input method.  If you install
+only uim, it is supported as the system wide choice.  The start up of
+uim takes several seconds.  So be patient.
+
+For Gnome on wayland, fcitx and scim are not tested well with im-config.
+You may need to disable im-config by setting it to `none`.
+
+For other classical X system, im-config should still work.
+
+In order to ensure im-config settings to be updated, you should restart
+the session reboot the system.  (Yes, you should be able to use
+systemctl but it is prone for problems.)
 
 This documents only top down views of the im-config package and how it is
 used with the input method packages.  You should consult the im-config(8)
@@ -84,7 +100,7 @@
       - Clutter IM module:                    ibus-clutter
       - EMACS (optional optimization):        ibus-el
       [Note]
-        These are optional.  (Otherwise, xim is used)
+        These are optional.  (xim is not used since it is problematic)
         Installing them will improve user experience.
         Both ibus-gtk and ibus-gtk3 are required to be installed to activate 
         GTK IM module with im-config.
diff -Nru im-config-0.39/im-launch im-config-0.43/im-launch
--- im-config-0.39/im-launch	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.43/im-launch	2019-03-31 07:32:36.000000000 +0900
@@ -17,6 +17,7 @@
    [ "$IM_CONFIG_PHASE" = 1 ]; then
     # If tweaked, keep hands off :-)
     if ! env -i \
+        HOME="$HOME" \
         IM_CONFIG_SET_XMODIFIERS="$XMODIFIERS" \
         IM_CONFIG_SET_GTK_IM_MODULE="$GTK_IM_MODULE" \
         IM_CONFIG_SET_QT_IM_MODULE="$QT_IM_MODULE" \
diff -Nru im-config-0.39/im-launch.desktop im-config-0.43/im-launch.desktop
--- im-config-0.39/im-launch.desktop	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.43/im-launch.desktop	2019-03-31 01:33:01.000000000 +0900
@@ -1,5 +1,5 @@
 [Desktop Entry]
 Name=im-launch
-Exec=sh -c 'if [ "x$XDG_SESSION_TYPE" = "xwayland" ]; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true; fi'
+Exec=sh -c 'if ! [ -e "/usr/bin/ibus-daemon" ] && [ "x$XDG_SESSION_TYPE" = "xwayland" ] ; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true; fi'
 TryExec=im-launch
 Type=Application
diff -Nru im-config-0.39/share/xinputrc.common.in im-config-0.43/share/xinputrc.common.in
--- im-config-0.39/share/xinputrc.common.in	2018-08-03 22:18:44.000000000 +0900
+++ im-config-0.43/share/xinputrc.common.in	2019-03-31 01:33:01.000000000 +0900
@@ -121,15 +121,10 @@
 #        imconfig_find_files_with_prefixpath_glob /usr/lib \
 #            '/usr/lib/*/gtk-2.0/*/im_fcitx.so' \
 #            '/usr/lib/gtk-2.0/*/im_fcitx.so'
+### DISABLED for #925160 bug
+#    This check was meant for setting IM_* to xim or not.
+#    Setting IM_* to xim comes with many issues such as lost key stroke.
+#    Not worth doing it anymore.  Let's always set IM_* to non-xim.
 imconfig_find_files_with_prefixpath_glob () {
-    _PREFIX_PATH="$1"
-    shift
-    _RESULT=""
-    for _STRING_WITH_GLOB in "$@"; do
-        _TMP_RESULT="$(find "${_PREFIX_PATH}" -path "${_STRING_WITH_GLOB}")"
-        if [ "x${_TMP_RESULT}" != "x" ]; then
-            _RESULT="$(printf '%s\n%s' "${_RESULT}" "${_TMP_RESULT}")"
-        fi
-    done
-    printf '%s' "${_RESULT}"
+    printf '%s' "FOUND"
 }

unblock im-config/0.43-1

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing'), (10, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled


Reply to: