Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package im-config Applications started by dbus do not get proper keyboard input for CJK locales as reported in http://bugs.debian.org/694446. The proper functioning input capability with input method is essential for CJK environment and this must be fixed before the release. In order to fix this problem, setting of environment variables must be set before dbus by moving its code execution from im-launch to 70im-config_launch and daemons needs to be started after dbus via im-launch as in 0.18. This new split behavior is realized by changing all pre-set configuration files as the following: * set environment variables if $IM_CONFIG_PHASE=1 * start daemon programs if $IM_CONFIG_PHASE=2 70im-config_launch and im-launch are changed to use this new feature. The debdiff against the package in testing is attached. unblock im-config/0.19 -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (10, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.6-trunk-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -Nru im-config-0.18/70im-config_launch im-config-0.19/70im-config_launch --- im-config-0.18/70im-config_launch 2012-08-11 15:55:23.000000000 +0900 +++ im-config-0.19/70im-config_launch 2012-11-29 00:12:41.000000000 +0900 @@ -11,6 +11,32 @@ IMLAUNCH=/usr/bin/im-launch +# If already tweaked, keep hands off :-) +# If im-config is removed but not purged, keep hands off :-) +if [ -z "$XMODIFIERS" ] && \ + [ -z "$GTK_IM_MODULE" ] && \ + [ -z "$QT_IM_MODULE" ] && \ + [ -z "$QT4_IM_MODULE" ] && \ + [ -z "$CLUTTER_IM_MODULE" ] && \ + [ -r /usr/share/im-config/xinputrc.common ]; then + IM_CONFIG_PHASE=1 + export IM_CONFIG_PHASE + # initialize all im-config common functions and parameters + . /usr/share/im-config/xinputrc.common + # 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 + # always export variables even for manual configuration. + export XMODIFIERS + export GTK_IM_MODULE + export QT_IM_MODULE + export QT4_IM_MODULE + export CLUTTER_IM_MODULE +fi + # Change $STARTUP string to im-launch while keeping the old $STARTUP string # as its arguments if [ -x "$IMLAUNCH" ]; then diff -Nru im-config-0.18/data/20_ibus.rc im-config-0.19/data/20_ibus.rc --- im-config-0.18/data/20_ibus.rc 2011-12-10 22:41:37.000000000 +0900 +++ im-config-0.19/data/20_ibus.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,9 +1,12 @@ # start IBus # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start IBus daemon /usr/bin/ibus-daemon --daemonize --xim +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=ibus @@ -49,4 +52,4 @@ break fi done - +fi diff -Nru im-config-0.18/data/22_fcitx.rc im-config-0.19/data/22_fcitx.rc --- im-config-0.18/data/22_fcitx.rc 2011-12-10 22:41:32.000000000 +0900 +++ im-config-0.19/data/22_fcitx.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,9 +1,12 @@ # start fcitx # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start fcitx daemon /usr/bin/fcitx & +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=fcitx @@ -50,4 +53,4 @@ break fi done - +fi diff -Nru im-config-0.18/data/24_uim.rc im-config-0.19/data/24_uim.rc --- im-config-0.18/data/24_uim.rc 2012-08-25 11:07:35.000000000 +0900 +++ im-config-0.19/data/24_uim.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,9 +1,12 @@ # start uim # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start uim-xim daemon /usr/bin/uim-xim & +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=uim @@ -66,4 +69,4 @@ done CLUTTER_IM_MODULE=xim - +fi diff -Nru im-config-0.18/data/25_hime.rc im-config-0.19/data/25_hime.rc --- im-config-0.18/data/25_hime.rc 2012-02-05 20:17:27.000000000 +0900 +++ im-config-0.19/data/25_hime.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,9 +1,12 @@ # start hime # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start hime daemon /usr/bin/hime & +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=hime @@ -43,3 +46,4 @@ # hime has no clutter support, and qt3 immodule is not compiled. CLUTTER_IM_MODULE=xim +fi diff -Nru im-config-0.18/data/26_gcin.rc im-config-0.19/data/26_gcin.rc --- im-config-0.18/data/26_gcin.rc 2012-02-05 20:17:27.000000000 +0900 +++ im-config-0.19/data/26_gcin.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,9 +1,12 @@ # start gcin # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start gcin daemon /usr/bin/gcin & +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=gcin @@ -43,3 +46,4 @@ # gcin has no clutter support, and qt3 immodule is not compiled. CLUTTER_IM_MODULE=xim +fi diff -Nru im-config-0.18/data/48_scim.rc im-config-0.19/data/48_scim.rc --- im-config-0.18/data/48_scim.rc 2012-06-29 21:18:43.000000000 +0900 +++ im-config-0.19/data/48_scim.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,9 +1,12 @@ # start SCIM # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start SCIM daemon /usr/bin/scim --daemon +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=SCIM @@ -95,3 +98,4 @@ break fi done +fi diff -Nru im-config-0.18/data/50_hangul.rc im-config-0.19/data/50_hangul.rc --- im-config-0.18/data/50_hangul.rc 2011-12-10 22:41:10.000000000 +0900 +++ im-config-0.19/data/50_hangul.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,8 +1,11 @@ # start thai # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then /usr/bin/nabi & +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS="@im=nabi" @@ -40,3 +43,4 @@ done CLUTTER_IM_MODULE=xim +fi diff -Nru im-config-0.18/data/60_thai.rc im-config-0.19/data/60_thai.rc --- im-config-0.18/data/60_thai.rc 2011-12-05 23:44:29.000000000 +0900 +++ im-config-0.19/data/60_thai.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,6 +1,7 @@ # start thai # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=BasicCheck @@ -30,3 +31,4 @@ # No IM modules for Qt and Clutter for now QT_IM_MODULE=xim CLUTTER_IM_MODULE=xim +fi diff -Nru im-config-0.18/data/79_xim.rc im-config-0.19/data/79_xim.rc --- im-config-0.18/data/79_xim.rc 2012-05-09 23:55:40.000000000 +0900 +++ im-config-0.19/data/79_xim.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,6 +1,8 @@ # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 1 ]; then XMODIFIERS=@im=none GTK_IM_MODULE=xim QT4_IM_MODULE=xim CLUTTER_IM_MODULE=xim +fi diff -Nru im-config-0.18/data/80_kinput2.rc im-config-0.19/data/80_kinput2.rc --- im-config-0.18/data/80_kinput2.rc 2011-12-05 23:44:29.000000000 +0900 +++ im-config-0.19/data/80_kinput2.rc 2012-11-28 23:22:48.000000000 +0900 @@ -4,6 +4,7 @@ # Since this is not so used, I only provide canna case only. # No one uses freewnn-jserver. +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start kinput2 daemon if [ -x /usr/bin/kinput2-canna ]; then /usr/bin/kinput2-canna -xim & @@ -12,8 +13,11 @@ # Alternatively, you can cusomize this as: # /usr/bin/kinput2-canna-wnn -wnn -xim & fi +fi + +if [ "$IM_CONFIG_PHASE" = 1 ]; then XMODIFIERS=@im=kinput2 GTK_IM_MODULE=xim QT_IM_MODULE=xim CLUTTER_IM_MODULE=xim - +fi diff -Nru im-config-0.18/data/80_xsunpinyin.rc im-config-0.19/data/80_xsunpinyin.rc --- im-config-0.18/data/80_xsunpinyin.rc 2011-12-05 23:44:29.000000000 +0900 +++ im-config-0.19/data/80_xsunpinyin.rc 2012-11-28 23:22:48.000000000 +0900 @@ -1,11 +1,15 @@ # start xsunpinyin # vim: set sts=4 expandtab: +if [ "$IM_CONFIG_PHASE" = 2 ]; then # start xsunpinyin daemon /usr/bin/xsunpinyin -d +fi +if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=xsunpinyin GTK_IM_MODULE=xim QT_IM_MODULE=xim CLUTTER_IM_MODULE=xim +fi diff -Nru im-config-0.18/debian/changelog im-config-0.19/debian/changelog --- im-config-0.18/debian/changelog 2012-08-25 13:39:20.000000000 +0900 +++ im-config-0.19/debian/changelog 2012-12-02 11:08:19.000000000 +0900 @@ -1,3 +1,16 @@ +im-config (0.19) unstable; urgency=low + + * Uploading to unstable. + + -- Osamu Aoki <os...@debian.org> Sun, 02 Dec 2012 11:07:57 +0900 + +im-config (0.19~pre1) experimental; urgency=low + + * Fix for programs stared by dbus by moving exporting of environment + variables earlier. Closes: #694446 + + -- Osamu Aoki <os...@debian.org> Thu, 29 Nov 2012 00:14:56 +0900 + im-config (0.18) unstable; urgency=low * Updated uim support for gtk3 and add uim-xim requirement for XIM. diff -Nru im-config-0.18/debian/README.Debian im-config-0.19/debian/README.Debian --- im-config-0.18/debian/README.Debian 2011-12-25 13:22:53.000000000 +0900 +++ im-config-0.19/debian/README.Debian 2012-11-28 23:39:27.000000000 +0900 @@ -18,7 +18,9 @@ available input methods on the system. 4. Its configuration files are intuitive and its contents can be manually - overridden easily as a POSIX shell hook script. + overridden easily as a POSIX shell hook script with following rules: + * Environment variables are set if "$IM_CONFIG_PHASE" = 1 + * Daemon programs are started if "$IM_CONFIG_PHASE" = 2 5. Menu configuration system is smart enough to detect manual changes of configuration by editor and honors such changes. diff -Nru im-config-0.18/im-config.8 im-config-0.19/im-config.8 --- im-config-0.18/im-config.8 2012-08-11 10:55:57.000000000 +0900 +++ im-config-0.19/im-config.8 2012-11-28 23:51:57.000000000 +0900 @@ -70,7 +70,7 @@ switching keyboard modes with GUI on the fly. .PP The im\-config package installs a hook script -\fB/etc/X11/Xsession.d/80im-config_launch\fP. When X starts, it sources this +\fB/etc/X11/Xsession.d/70im-config_launch\fP. When X starts, it sources this file as a POSIX shell code. Then this hook script tries to source the user configuration file \fB~/.xinputrc\fP, if it exists. Otherwise, this hook script sources the system configuration file \fB/etc/X11/xinit/xinputrc\fP. @@ -87,15 +87,22 @@ initialization code is defined in the \fI<2 digits number>\fP_\fI<input method name>\fP.\fBrc\fP file in \fB/usr/share/im-config/data\fP. .PP -The im\-config hook script, \fB/etc/X11/Xsession.d/80im-config_launch\fP +The im\-config hook script, \fB/etc/X11/Xsession.d/70im-config_launch\fP, exports following variables to X programs: $XMODIFIERS, $GTK_IM_MODULE, $QT_IM_MODULE, $QT4_IM_MODULE, and $CLUTTER_IM_MODULE. .PP +The im\-config hook script, \fB/etc/X11/Xsession.d/70im-config_launch\fP, +also set $STARTUP to use \fB/usr/bin/im-launch\fP for starting required +daemons. +.PP If you wish to create a custom configuration beyond what \fBim\-config\fP can do for you, please copy one of these initialization code files into \fB~/.xinputrc\fP or \fB/etc/X11/xinit/xinputrc\fP and edit it to suite your need. For example, \fB02_cjkv.rc\fP tells how input method can be customized -for each locale. Please note that this \fI<2 digits number>\fP part of these +for each locale. This script should be written to set environment variables if +"$IM_CONFIG_PHASE" = 1 and to start daemon programs if "$IM_CONFIG_PHASE" = 2 . +.PP +Please note that this \fI<2 digits number>\fP part of these configuration files may change for every new releases of the im\-config package. .PP diff -Nru im-config-0.18/im-launch im-config-0.19/im-launch --- im-config-0.18/im-launch 2012-08-11 16:02:23.000000000 +0900 +++ im-config-0.19/im-launch 2012-11-29 00:14:47.000000000 +0900 @@ -17,12 +17,8 @@ # If already tweaked, keep hands off :-) # If im-config is removed but not purged, keep hands off :-) -if [ -z "$XMODIFIERS" ] && \ - [ -z "$GTK_IM_MODULE" ] && \ - [ -z "$QT_IM_MODULE" ] && \ - [ -z "$QT4_IM_MODULE" ] && \ - [ -z "$CLUTTER_IM_MODULE" ] && \ - [ -r /usr/share/im-config/xinputrc.common ]; then +if [ "$IM_CONFIG_PHASE" = 1 ]; then + IM_CONFIG_PHASE=2 # initialize all im-config common functions and parameters . /usr/share/im-config/xinputrc.common # source the first found configuration file @@ -31,12 +27,6 @@ elif [ -r "$IM_CONFIG_XINPUTRC_SYS" ]; then . $IM_CONFIG_XINPUTRC_SYS fi - # always export variables even for manual configuration. - export XMODIFIERS - export GTK_IM_MODULE - export QT_IM_MODULE - export QT4_IM_MODULE - export CLUTTER_IM_MODULE + unset IM_CONFIG_PHASE fi - exec $IM_START_SESSION
signature.asc
Description: Digital signature