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

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



Hi,

It seems this is not getting attention of RM.  Maybe I was too terse.
Let me explain patches by inserting comment in the below quoted text.

Your time to review this unblock request is greatly appreciated.

This bug is very nasty for people running SSHd etc.

On Mon, Apr 01, 2019 at 12:50:28AM +0900, Osamu Aoki wrote:
> 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
> 

The following will make sure the feature added in the version 0.39-1 in
testing doesn't break GNOME Desktop with ibus installed.
 
> +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

This is the end of ibus check.

> +
> +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 @@

The following is changelog updates

> +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 ]

The following chunk addresses conffile change problem during several
unstable uploads 0.40-1 ~ 0.42-1.

> 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
> +
> +

The following diff is documentation update.

> 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 \

This is the patch to address regression 0.39-1 introduced which killed
user mode use of im-config. 

> +        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

The following is another skip code case for GNOME+ibus problem 0.39-1
introduced.

> -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

The following is THE CORE of 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)

No more slowing.

> --- 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"

Instead of doing a lot of disk IO, it always return non-null string.

>  }
> 

Please seriously consider

unblock im-config/0.43-1

Thanks you


Reply to: