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

Bug#925974: marked as done (unblock: im-config/0.42-1)



Your message dated Sat, 30 Mar 2019 12:44:41 +0100
with message-id <20190330114439.6p4q75yfknvnflnm@debian.org>
and subject line Re: unblock: im-config/0.42-1
has caused the Debian Bug report #925974,
regarding unblock: im-config/0.42-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
925974: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925974
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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 version should fix nasty performance bug as reported and summarized
in:
 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925160#144

We don't want ssh into a typical system to be delayed 11 seconds.

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

I have to admit this is relatively large since it revert many previous
changes.  I have to admit this needs to be proofed by Yoshino-san who
was involved for the version in testing.  If I didn't screw-up while
cherry picking code snippets and changing glob, this should be better.

I made this in rush, so I am a bit worried.

If you go to git repo, that may be easier to see changes:
 https://salsa.debian.org/input-method-team/im-config
Please make sure to see its devel branch which is quasi-native style.
The master and upstream branches are used as gbp-style.

diff -Nru im-config-0.39/70-im-config im-config-0.42/70-im-config
--- im-config-0.39/70-im-config	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.42/70-im-config	2019-03-30 00:31:43.000000000 +0900
@@ -1,8 +1,12 @@
 #! /bin/sh
+# vim: set sts=4 expandtab:
+# systemd user-environment-generators
+#
+if ! [ -e "/usr/bin/ibus-daemon" ]; then 
+    if [ -r /etc/X11/Xsession.d/70im-config_launch ]; then
+        . /etc/X11/Xsession.d/70im-config_launch
 
-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)='
+        # 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|IM_CONFIG_SET_.*)='
+    fi
 fi
diff -Nru im-config-0.39/70im-config_launch im-config-0.42/70im-config_launch
--- im-config-0.39/70im-config_launch	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.42/70im-config_launch	2019-03-24 13:04:57.000000000 +0900
@@ -11,11 +11,6 @@
 
 IMLAUNCH=/usr/bin/im-launch
 
-if [ "$IM_CONFIG_PHASE" = 1 ]; then
-    IM_CONFIG_CHECK_ENV=1
-    export IM_CONFIG_CHECK_ENV
-fi
-
 # If already tweaked, keep hands off :-)
 # If im-config is removed but not purged, keep hands off :-)
 if [ -z "$XMODIFIERS" ] && \
@@ -26,6 +21,7 @@
    [ -r /usr/share/im-config/xinputrc.common ]; then
     IM_CONFIG_PHASE=1
     export IM_CONFIG_PHASE
+    if [ x != x"$ZSH_NAME" ]; then emulate -R sh ; fi
     # initialize all im-config common functions and parameters
     . /usr/share/im-config/xinputrc.common
     unset TEXTDOMAIN
@@ -42,6 +38,17 @@
     export QT_IM_MODULE
     export QT4_IM_MODULE
     export CLUTTER_IM_MODULE
+    # backup data for change check
+    IM_CONFIG_SET_XMODIFIERS="$XMODIFIERS"
+    IM_CONFIG_SET_GTK_IM_MODULE="$GTK_IM_MODULE"
+    IM_CONFIG_SET_QT_IM_MODULE="$QT_IM_MODULE"
+    IM_CONFIG_SET_QT4_IM_MODULE="$QT4_IM_MODULE"
+    IM_CONFIG_SET_CLUTTER_IM_MODULE="$CLUTTER_IM_MODULE"
+    export IM_CONFIG_SET_XMODIFIERS
+    export IM_CONFIG_SET_GTK_IM_MODULE
+    export IM_CONFIG_SET_QT_IM_MODULE
+    export IM_CONFIG_SET_QT4_IM_MODULE
+    export IM_CONFIG_SET_CLUTTER_IM_MODULE
 fi
 
 # Change $STARTUP string to im-launch while keeping the old $STARTUP string
diff -Nru im-config-0.39/data/21_ibus.rc im-config-0.42/data/21_ibus.rc
--- im-config-0.39/data/21_ibus.rc	2018-08-04 23:20:43.000000000 +0900
+++ im-config-0.42/data/21_ibus.rc	2019-03-30 01:04:29.000000000 +0900
@@ -13,50 +13,51 @@
 GTK_IM_MODULE=xim
 # use immodule only when available for both GTK 2.0 and 3.0
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-ibus.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-ibus.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-ibus.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-ibus.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-ibus.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-ibus.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-ibus.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-ibus.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=ibus
 fi
 
 QT4_IM_MODULE=xim
-# use immodule when available for Qt4
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt4/plugins/inputmethods/libqtim-ibus.so' \
-        '/usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT4_IM_MODULE=ibus
-fi
-
+# use immodule when available for Qt4 (Qt3 has been long dead)
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt4/plugins/inputmethods/libqtim-ibus.so\
+                        /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT4_IM_MODULE=ibus
+        break
+    fi
+done
 QT_IM_MODULE=xim
 # use immodule when available for Qt5
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so' \
-        '/usr/lib/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT_IM_MODULE=ibus
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT_IM_MODULE=ibus
+        break
+    fi
+done
 
 CLUTTER_IM_MODULE=xim
 # use immodule when available for clutter
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/clutter-imconttext/immodules/im-ibus.so' \
-        '/usr/lib/clutter-imcontext/immodules/im-ibus.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    CLUTTER_IM_MODULE=ibus
-fi
-
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/clutter-imcontext/immodules/im-ibus.so \
+                        /usr/lib/clutter-imcontext/immodules/im-ibus.so; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        CLUTTER_IM_MODULE=ibus
+        break
+    fi
+done
 fi
diff -Nru im-config-0.39/data/22_fcitx.rc im-config-0.42/data/22_fcitx.rc
--- im-config-0.39/data/22_fcitx.rc	2018-08-04 16:53:10.000000000 +0900
+++ im-config-0.42/data/22_fcitx.rc	2019-03-30 01:05:15.000000000 +0900
@@ -6,64 +6,61 @@
     /usr/bin/fcitx -d 2> /dev/null &
 fi
 
-
 if [ "$IM_CONFIG_PHASE" = 1 ]; then
 # set variables for the plain XIM
 XMODIFIERS=@im=fcitx
 
-
 GTK_IM_MODULE=xim
 # use immodule only when available for both GTK 2.0 and 3.0
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-fcitx.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-fcitx.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-fcitx.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-fcitx.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-fcitx.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-fcitx.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-fcitx.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-fcitx.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=fcitx
 fi
 
-
 QT4_IM_MODULE=xim
 # use immodule when available for Qt4
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt4/plugins/inputmethods/qtim-fcitx.so' \
-        '/usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT4_IM_MODULE=fcitx
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt4/plugins/inputmethods/qtim-fcitx.so \
+                        /usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT4_IM_MODULE=fcitx
+        break
+    fi
+done
 
 QT_IM_MODULE=xim
 # use immodule when available for Qt5
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so' \
-        '/usr/lib/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT_IM_MODULE=fcitx
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT_IM_MODULE=fcitx
+        break
+    fi
+done
 
 
 # This is placeholder at this moment.
 CLUTTER_IM_MODULE=xim
 # use immodule when available for clutter
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/clutter-imcontext/immodules/im-fcitx.so' \
-        '/usr/lib/clutter-imconttext/immodules/im-fcitx.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    CLUTTER_IM_MODULE=fcitx
-fi
-
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/clutter-imcontext/immodules/im-fcitx.so \
+                        /usr/lib/clutter-imcontext/immodules/im-fcitx.so; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        CLUTTER_IM_MODULE=fcitx
+        break
+    fi
+done
 fi
diff -Nru im-config-0.39/data/24_uim.rc im-config-0.42/data/24_uim.rc
--- im-config-0.39/data/24_uim.rc	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.42/data/24_uim.rc	2019-03-30 01:05:24.000000000 +0900
@@ -28,45 +28,44 @@
 GTK_IM_MODULE=xim
 # use immodule only when available for both GTK 2.0 and 3.0
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-uim.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-uim.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-uim.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-uim.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-uim.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-uim.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-uim.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-uim.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=uim
 fi
 
-
 QT4_IM_MODULE=xim
 # use immodule when available for Qt4
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt4/plugins/inputmethods/libuiminputcontextplugin.so' \
-        '/usr/lib/qt4/plugins/inputmethods/libuiminputcontextplugin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT4_IM_MODULE=uim
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt4/plugins/inputmethods/libuiminputcontextplugin.so \
+                        /usr/lib/qt4/plugins/inputmethods/libuiminputcontextplugin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT4_IM_MODULE=uim
+        break
+    fi
+done
 QT_IM_MODULE=xim
 # use immodule when available for Qt5
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so' \
-        '/usr/lib/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT_IM_MODULE=uim
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT_IM_MODULE=uim
+        break
+    fi
+done
 
 
 CLUTTER_IM_MODULE=xim
-
 fi
diff -Nru im-config-0.39/data/25_hime.rc im-config-0.42/data/25_hime.rc
--- im-config-0.39/data/25_hime.rc	2018-08-04 16:53:10.000000000 +0900
+++ im-config-0.42/data/25_hime.rc	2019-03-30 01:05:32.000000000 +0900
@@ -14,45 +14,45 @@
 # use hime immodule only when available for both GTK 2.0 and 3.0
 
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-hime.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-hime.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-hime.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-hime.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-hime.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-hime.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-hime.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-hime.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=hime
 fi
 
-
 QT4_IM_MODULE=xim
 # use immodule when available for Qt4
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt4/plugins/inputmethods/im-hime.so' \
-        '/usr/lib/qt4/plugins/inputmethods/im-hime.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT4_IM_MODULE=hime
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt4/plugins/inputmethods/im-hime.so \
+                        /usr/lib/qt4/plugins/inputmethods/im-hime.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT4_IM_MODULE=hime
+        break
+    fi
+done
 
 QT_IM_MODULE=xim
 # use immodule when available for Qt5
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt5/plugins/platforminputcontexts/im-hime.so' \
-        '/usr/lib/qt5/plugins/platforminputcontexts/im-hime.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT_IM_MODULE=hime
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt5/plugins/platforminputcontexts/im-hime.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT_IM_MODULE=hime
+        break
+    fi
+done
 
 # hime has no clutter support, and qt3 immodule is not compiled.
 CLUTTER_IM_MODULE=xim
-
 fi
diff -Nru im-config-0.39/data/26_gcin.rc im-config-0.42/data/26_gcin.rc
--- im-config-0.39/data/26_gcin.rc	2018-08-04 16:53:10.000000000 +0900
+++ im-config-0.42/data/26_gcin.rc	2019-03-30 01:05:39.000000000 +0900
@@ -14,47 +14,45 @@
 # use gcin immodule only when available for both GTK 2.0 and 3.0
 
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-gcin.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-gcin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-gcin.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-gcin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-gcin.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-gcin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-gcin.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-gcin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=gcin
 fi
 
-
 QT4_IM_MODULE=xim
 # use immodule when available for Qt4
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt4/plugins/inputmethods/im-gcin.so' \
-        '/usr/lib/qt4/plugins/inputmethods/im-gcin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT4_IM_MODULE=gcin
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt4/plugins/inputmethods/im-gcin.so \
+                        /usr/lib/qt4/plugins/inputmethods/im-gcin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT4_IM_MODULE=gcin
+        break
+    fi
+done
 
 QT_IM_MODULE=xim
 # use immodule when available for Qt5
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt5/plugins/platforminputcontexts/libgcinplatforminputcontextplugin.so' \
-        '/usr/lib/qt5/plugins/platforminputcontexts/libgcinplatforminputcontextplugin.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT_IM_MODULE=gcin
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt5/plugins/platforminputcontexts/libgcinplatforminputcontextplugin.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT_IM_MODULE=gcin
+        break
+    fi
+done
 
 # gcin has no clutter support, and qt3 immodule is not compiled.
 CLUTTER_IM_MODULE=xim
-
-
 fi
diff -Nru im-config-0.39/data/48_scim.rc im-config-0.42/data/48_scim.rc
--- im-config-0.39/data/48_scim.rc	2018-08-04 16:53:10.000000000 +0900
+++ im-config-0.42/data/48_scim.rc	2019-03-30 01:05:55.000000000 +0900
@@ -14,70 +14,88 @@
 
 # use scim immodule only when available for both GTK 2.0 and 3.0
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-scim.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-scim.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-scim.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-scim.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-scim.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-scim.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-scim.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-scim.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=scim
 fi
 
-
 # Backport support
 # use scim-bridge immodule only when available for both GTK 2.0 and 3.0
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-scim-bridge.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-scim-bridge.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-scim-bridge.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-scim-bridge.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-scim-bridge.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-scim-bridge.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-scim-bridge.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-scim-bridge.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=scim-bridge
 fi
 
-
-# Qt5 support not exist yet; Qt3 support is dropped already
 QT_IM_MODULE=xim
 
+# Backport support
+# use immodule when available for Qt3
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt3/plugins/inputmethods/libqscim.so \
+                        /usr/lib/qt3/plugins/inputmethods/libqscim.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT_IM_MODULE=scim
+        break
+    fi
+done
+
+# use im-scim-bridge when available for Qt3
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt3/plugins/inputmethods/im-scim-bridge.so \
+                        /usr/lib/qt3/plugins/inputmethods/im-scim-bridge.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT_IM_MODULE=scim-bridge
+        break
+    fi
+done
 
 QT4_IM_MODULE=xim
 # use immodule when available for Qt4
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt4/plugins/inputmethods/im-scim.so' \
-        '/usr/lib/qt4/plugins/inputmethods/im-scim.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT4_IM_MODULE=scim
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt4/plugins/inputmethods/im-scim.so \
+                        /usr/lib/qt4/plugins/inputmethods/im-scim.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT4_IM_MODULE=scim
+        break
+    fi
+done
 
 CLUTTER_IM_MODULE=xim
 # use immodule when available for clutter
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/clutter-imconttext/immodules/im-scim.so' \
-        '/usr/lib/clutter-imcontext/immodules/im-scim.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    CLUTTER_IM_MODULE=scim
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/clutter-imcontext/immodules/im-scim.so \
+                        /usr/lib/clutter-imcontext/immodules/im-scim.so; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        CLUTTER_IM_MODULE=scim
+        break
+    fi
+done
 fi
diff -Nru im-config-0.39/data/50_hangul.rc im-config-0.42/data/50_hangul.rc
--- im-config-0.39/data/50_hangul.rc	2018-08-04 16:53:10.000000000 +0900
+++ im-config-0.42/data/50_hangul.rc	2019-03-30 01:06:03.000000000 +0900
@@ -12,34 +12,35 @@
 GTK_IM_MODULE=xim
 # use gtk-im-libthai only when available for both GTK 2.0 and 3.0
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-hangul.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-hangul.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-hangul.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-hangul.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-hangul.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-hangul.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-hangul.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-hangul.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=hangul2
 fi
 
 # No IM modules for Qt and Clutter for now
 QT4_IM_MODULE=xim
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/qt4/plugins/inputmethods/libqimhangul.so' \
-        '/usr/lib/qt4/plugins/inputmethods/libqimhangul.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    QT4_IM_MODULE=hangul2
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/qt4/plugins/inputmethods/libqimhangul.so \
+                        /usr/lib/qt4/plugins/inputmethods/libqimhangul.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        QT4_IM_MODULE=hangul2
+        break
+    fi
+done
 
 CLUTTER_IM_MODULE=xim
-
 fi
diff -Nru im-config-0.39/data/60_thai.rc im-config-0.42/data/60_thai.rc
--- im-config-0.39/data/60_thai.rc	2018-08-04 16:53:10.000000000 +0900
+++ im-config-0.42/data/60_thai.rc	2019-03-30 01:06:10.000000000 +0900
@@ -8,29 +8,27 @@
 GTK_IM_MODULE=xim
 # use gtk-im-libthai only when available for both GTK 2.0 and 3.0
 IM_CONFIG_MARKER2=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-2.0/*/immodules/im-thai-libthai.so' \
-        '/usr/lib/gtk-2.0/*/immodules/im-thai-libthai.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER2=1
-fi
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-2.0/*/immodules/im-thai-libthai.so \
+                        /usr/lib/gtk-2.0/*/immodules/im-thai-libthai.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER2=1
+        break
+    fi
+done
 
 IM_CONFIG_MARKER3=0
-IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
-        '/usr/lib/*/gtk-3.0/*/immodules/im-thai-libthai.so' \
-        '/usr/lib/gtk-3.0/*/immodules/im-thai-libthai.so')"
-if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
-    IM_CONFIG_MARKER3=1
-fi
-
+for IM_CONFIG_MARKER in /usr/lib/*-*-*/gtk-3.0/*/immodules/im-thai-libthai.so \
+                        /usr/lib/gtk-3.0/*/immodules/im-thai-libthai.so ; do
+    if [ -e $IM_CONFIG_MARKER ]; then
+        IM_CONFIG_MARKER3=1
+        break
+    fi
+done
 if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
     GTK_IM_MODULE=thai-libthai
 fi
 
-
 # No IM modules for Qt and Clutter for now
 QT_IM_MODULE=xim
 CLUTTER_IM_MODULE=xim
-
-
 fi
diff -Nru im-config-0.39/debian/changelog im-config-0.42/debian/changelog
--- im-config-0.39/debian/changelog	2019-03-09 02:09:41.000000000 +0900
+++ im-config-0.42/debian/changelog	2019-03-30 00:55:07.000000000 +0900
@@ -1,3 +1,39 @@
+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/control im-config-0.42/debian/control
--- im-config-0.39/debian/control	2018-08-03 22:18:44.000000000 +0900
+++ im-config-0.42/debian/control	2019-03-24 13:04:57.000000000 +0900
@@ -4,7 +4,7 @@
 Maintainer: Debian Input Method Team <debian-input-method@lists.debian.org>
 Uploaders: Osamu Aoki <osamu@debian.org>
 Build-Depends: debhelper (>= 11~)
-Standards-Version: 4.2.0
+Standards-Version: 4.3.0
 Vcs-Git: https://salsa.debian.org/input-method-team/im-config.git
 Vcs-browser: https://salsa.debian.org/input-method-team/im-config
 
diff -Nru im-config-0.39/debian/install im-config-0.42/debian/install
--- im-config-0.39/debian/install	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.42/debian/install	2019-03-24 13:04:57.000000000 +0900
@@ -5,7 +5,8 @@
 im-config              usr/bin
 im-config.desktop      usr/share/applications
 im-launch              usr/bin
-im-launch.desktop      etc/xdg/autostart
+im-launch-wayland      usr/bin
+im-launch-wayland.desktop etc/xdg/autostart
 po/locale/*            usr/share/locale
 share/im-config.common usr/share/im-config
 share/xinputrc.common  usr/share/im-config
diff -Nru im-config-0.39/debian/manpages im-config-0.42/debian/manpages
--- im-config-0.39/debian/manpages	2018-08-03 22:18:44.000000000 +0900
+++ im-config-0.42/debian/manpages	2019-03-24 13:04:57.000000000 +0900
@@ -1,2 +1,3 @@
 im-config.8
+im-launch-wayland.1
 im-launch.1
diff -Nru im-config-0.39/debian/README.Debian im-config-0.42/debian/README.Debian
--- im-config-0.39/debian/README.Debian	2018-08-05 01:26:03.000000000 +0900
+++ im-config-0.42/debian/README.Debian	2019-03-30 00:22:39.000000000 +0900
@@ -1,9 +1,17 @@
 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).
+For Gnome on wayland environment with ibus package installed, im-config
+is disabled.  Gnome supports ibus internally.  You 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.  If you install uim, fcitx, or scim, you can use
+them via im-config.
+
+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)
@@ -152,7 +160,8 @@
 parts:
   IM_CONFIG_PHASE = 1  : export required environment variables,
                          launched from 70im-config_launch
-  IM_CONFIG_PHASE = 2  : daemon start up code, launched via im-launch
+  IM_CONFIG_PHASE = 2  : daemon start up code, launched via
+                         im-launch or im-launch-wayland
 
 *.conf files contain the definition of following variables and functions:
 Variables:
diff -Nru im-config-0.39/debian/tests/control im-config-0.42/debian/tests/control
--- im-config-0.39/debian/tests/control	1970-01-01 09:00:00.000000000 +0900
+++ im-config-0.42/debian/tests/control	2019-03-24 13:04:57.000000000 +0900
@@ -0,0 +1,2 @@
+Test-Command: im-config -a 2>&1
+Depends: @
diff -Nru im-config-0.39/im-config im-config-0.42/im-config
--- im-config-0.39/im-config	2018-08-04 08:57:46.000000000 +0900
+++ im-config-0.42/im-config	2019-03-24 13:04:57.000000000 +0900
@@ -55,6 +55,7 @@
         set $IM_CONFIG_SETMODE
         ;;
     -a)
+        IM_CONFIG_LIST=true
         IM_CONFIG_ALL=true
         ;;
     -c)
diff -Nru im-config-0.39/im-config.8 im-config-0.42/im-config.8
--- im-config-0.39/im-config.8	2018-08-03 22:18:44.000000000 +0900
+++ im-config-0.42/im-config.8	2019-03-24 13:04:57.000000000 +0900
@@ -107,7 +107,7 @@
 Print the localized description of the input method \fI<input method name>\fP to
 STDOUT.
 .PP
-The \fB-l\fP, \fB-m\fP, \fB-n\fP, and \fB-o\fP options are meant to be API for other
+The \fB-a\fP, \fB-l\fP, \fB-m\fP, \fB-n\fP, and \fB-o\fP options are meant to be API for other
 programs to control the im-config.
 
 .SH "DESCRIPTION"
diff -Nru im-config-0.39/im-launch im-config-0.42/im-launch
--- im-config-0.39/im-launch	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.42/im-launch	2019-03-24 13:04:57.000000000 +0900
@@ -13,29 +13,23 @@
     exit 1
 fi
 
-if [ "$IM_CONFIG_CHECK_ENV" = 1 ] && \
-   [ "$IM_CONFIG_PHASE" = 1 ]; then
-    # If tweaked, keep hands off :-)
-    if ! env -i \
-        IM_CONFIG_SET_XMODIFIERS="$XMODIFIERS" \
-        IM_CONFIG_SET_GTK_IM_MODULE="$GTK_IM_MODULE" \
-        IM_CONFIG_SET_QT_IM_MODULE="$QT_IM_MODULE" \
-        IM_CONFIG_SET_QT4_IM_MODULE="$QT4_IM_MODULE" \
-        IM_CONFIG_SET_CLUTTER_IM_MODULE="$CLUTTER_IM_MODULE" \
-        sh -c '. /etc/X11/Xsession.d/70im-config_launch
-        [ "$IM_CONFIG_SET_XMODIFIERS" = "$XMODIFIERS" ] &&
-        [ "$IM_CONFIG_SET_GTK_IM_MODULE" = "$GTK_IM_MODULE" ] && \
-        [ "$IM_CONFIG_SET_QT_IM_MODULE" = "$QT_IM_MODULE" ] && \
-        [ "$IM_CONFIG_SET_QT4_IM_MODULE" = "$QT4_IM_MODULE" ] && \
-        [ "$IM_CONFIG_SET_CLUTTER_IM_MODULE" = "$CLUTTER_IM_MODULE" ]'; then
-        unset IM_CONFIG_PHASE
-    fi
-    unset IM_CONFIG_CHECK_ENV
-fi
-
 IM_START_SESSION="$@"
 
 # If already tweaked, keep hands off :-)
+# If tweaked, keep hands off :-)
+if  [ "$IM_CONFIG_SET_XMODIFIERS" != "$XMODIFIERS" ] || \
+    [ "$IM_CONFIG_SET_GTK_IM_MODULE" != "$GTK_IM_MODULE" ] || \
+    [ "$IM_CONFIG_SET_QT_IM_MODULE" != "$QT_IM_MODULE" ] || \
+    [ "$IM_CONFIG_SET_QT4_IM_MODULE" != "$QT4_IM_MODULE" ] || \
+    [ "$IM_CONFIG_SET_CLUTTER_IM_MODULE" != "$CLUTTER_IM_MODULE" ]; then
+    # don't launch daemon if tweaked
+    unset IM_CONFIG_PHASE
+fi
+unset IM_CONFIG_SET_XMODIFIERS
+unset IM_CONFIG_SET_GTK_IM_MODULE
+unset IM_CONFIG_SET_QT_IM_MODULE
+unset IM_CONFIG_SET_QT4_IM_MODULE
+unset IM_CONFIG_SET_CLUTTER_IM_MODULE
 # If im-config is removed but not purged, keep hands off :-)
 if [ "$IM_CONFIG_PHASE" = 1 ]; then
     IM_CONFIG_PHASE=2
diff -Nru im-config-0.39/im-launch.desktop im-config-0.42/im-launch.desktop
--- im-config-0.39/im-launch.desktop	2019-03-09 02:09:03.000000000 +0900
+++ im-config-0.42/im-launch.desktop	1970-01-01 09:00:00.000000000 +0900
@@ -1,5 +0,0 @@
-[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'
-TryExec=im-launch
-Type=Application
diff -Nru im-config-0.39/im-launch-wayland im-config-0.42/im-launch-wayland
--- im-config-0.39/im-launch-wayland	1970-01-01 09:00:00.000000000 +0900
+++ im-config-0.42/im-launch-wayland	2019-03-30 00:33:33.000000000 +0900
@@ -0,0 +1,48 @@
+#!/bin/sh
+# vim: set sts=4 expandtab:
+# Copyright (C) 2012 Osamu Aoki <osamu@debian.org>
+# Copyright (C) 2012 Aron Xu <aron@debian.org>
+# GNU General Public License version 2 or later.
+#
+# Launch input method configuration script for wayland
+# to start daemons from desktop file
+
+if ! [ -e /usr/bin/ibus-daemon ] && \ 
+   [ "x$XDG_SESSION_TYPE" = "xwayland" ] && \
+   [ $IM_CONFIG_PHASE = 1 ]; then
+    # If tweaked, keep hands off :-)
+    if  [ "$IM_CONFIG_SET_XMODIFIERS" != "$XMODIFIERS" ] || \
+        [ "$IM_CONFIG_SET_GTK_IM_MODULE" != "$GTK_IM_MODULE" ] || \
+        [ "$IM_CONFIG_SET_QT_IM_MODULE" != "$QT_IM_MODULE" ] || \
+        [ "$IM_CONFIG_SET_QT4_IM_MODULE" != "$QT4_IM_MODULE" ] || \
+        [ "$IM_CONFIG_SET_CLUTTER_IM_MODULE" != "$CLUTTER_IM_MODULE" ]; then
+        # don't launch daemon if tweaked
+        unset IM_CONFIG_PHASE
+    fi
+    unset IM_CONFIG_SET_XMODIFIERS
+    unset IM_CONFIG_SET_GTK_IM_MODULE
+    unset IM_CONFIG_SET_QT_IM_MODULE
+    unset IM_CONFIG_SET_QT4_IM_MODULE
+    unset IM_CONFIG_SET_CLUTTER_IM_MODULE
+fi
+
+# Unless requested, keep hands off :-) by IM_CONFIG_PHASE
+# If im-config is removed but not purged, keep hands off :-)
+if ! [ -e /usr/bin/ibus-daemon ] && \ 
+   [ "x$XDG_SESSION_TYPE" = "xwayland" ] && \
+   [ $IM_CONFIG_PHASE = 1 ] && \
+   [ -r /usr/share/im-config/xinputrc.common ]; then
+    IM_CONFIG_PHASE=2
+    # initialize all im-config common functions and parameters
+    . /usr/share/im-config/xinputrc.common
+    unset TEXTDOMAIN
+    unset TEXTDOMAINDIR
+    # source the first found configuration file
+    if [ -r "$IM_CONFIG_XINPUTRC_USR" ]; then
+        . $IM_CONFIG_XINPUTRC_USR
+    elif [ -r "$IM_CONFIG_XINPUTRC_SYS" ]; then
+        . $IM_CONFIG_XINPUTRC_SYS
+    fi
+    unset IM_CONFIG_PHASE
+fi
+
diff -Nru im-config-0.39/im-launch-wayland.1 im-config-0.42/im-launch-wayland.1
--- im-config-0.39/im-launch-wayland.1	1970-01-01 09:00:00.000000000 +0900
+++ im-config-0.42/im-launch-wayland.1	2019-03-24 13:04:57.000000000 +0900
@@ -0,0 +1,29 @@
+.TH IM\-LAUNCH 1
+.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
+.\" other parms are allowed: see man(7), man(1)
+.SH NAME
+im\-launch\-wayland \- launch input method for wayland
+.SH SYNOPSIS
+.TP
+.B im\-launch\-wayland
+
+.SH DESCRIPTION
+
+The \fBim\-launch\-wayland\fP command is used to start a input method daemon
+for non-ibus input method. (If exists, ibus is started automatically 
+by gnome-session )
+
+This command is usually not invoked from the console of a normal user but
+is normally invoked by the desktop file.
+
+.SH "TROUBLESHOOT"
+If you have any problem, please file a bug report to the im\-config package
+using reportbug(1) describing your resolution experience.
+
+.SH "SEE ALSO"
+.BR im-config(8),
+.BR /usr/share/doc/im\-config/README.Debian.gz
+.SH AUTHOR
+This manual page was written by Aron Xu <aron@debian.org>, and Osamu
+Aoki <osamu@debian.org> for the Debian GNU/Linux system (but may be used
+by others).
diff -Nru im-config-0.39/im-launch-wayland.desktop im-config-0.42/im-launch-wayland.desktop
--- im-config-0.39/im-launch-wayland.desktop	1970-01-01 09:00:00.000000000 +0900
+++ im-config-0.42/im-launch-wayland.desktop	2019-03-24 13:04:57.000000000 +0900
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Name=im-launch-wayland
+Exec=im-launch-wayland
+TryExec=im-launch
+Type=Application
diff -Nru im-config-0.39/share/xinputrc.common.in im-config-0.42/share/xinputrc.common.in
--- im-config-0.39/share/xinputrc.common.in	2018-08-03 22:18:44.000000000 +0900
+++ im-config-0.42/share/xinputrc.common.in	2019-03-24 13:04:57.000000000 +0900
@@ -109,27 +109,3 @@
         autobase_im
     fi
 }
-
-# imconfig_find_files_with_prefixpath_glob
-#    check if files exist with given array of strings (shell glob acceptable)
-#    accept a prefix where "find" is executed on, with a list of strings of
-#    glob-enabled absolute file path.
-#    return a string of matched files, using absolute path, separated with
-#    newline. The string is not ended with newline.
-#
-#    Example:
-#        imconfig_find_files_with_prefixpath_glob /usr/lib \
-#            '/usr/lib/*/gtk-2.0/*/im_fcitx.so' \
-#            '/usr/lib/gtk-2.0/*/im_fcitx.so'
-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}"
-}


unblock im-config/0.42-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-2-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

--- End Message ---
--- Begin Message ---
Hi,

On Sat, Mar 30, 2019 at 01:32:23AM +0900, Osamu Aoki wrote:
> Please unblock package im-config
> 
> (explain the reason for the unblock here)
> This version should fix nasty performance bug as reported and summarized
> in:
>  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925160#144
> 
> We don't want ssh into a typical system to be delayed 11 seconds.
> 
> (include/attach the debdiff against the package in testing)
> 
> I have to admit this is relatively large since it revert many previous
> changes.  I have to admit this needs to be proofed by Yoshino-san who
> was involved for the version in testing.  If I didn't screw-up while
> cherry picking code snippets and changing glob, this should be better.
> 
> I made this in rush, so I am a bit worried.

It doesn't look like this change is suitable for testing at this point, so I'm
going to close this request.

If you upload a version with a small target fix compared to testing, you could
consider filing a new request.

Thanks,

Ivo

--- End Message ---

Reply to: