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: