[Pkg-ime-devel] Bug#685867: unblock: im-config/0.18

Osamu Aoki osamu at debian.org
Sat Aug 25 15:38:46 UTC 2012


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

Please unblock package im-config

This will fix 
 * http://bugs.debian.org/683950
 * http://bugs.debian.org/300486
 * Fundamental X initialization sequence/timing problem for the input
   method at its root cause.

Diff is attached but git repo may be easier:
 Vcs-Git: git://git.debian.org/git/collab-maint/im-config.git
 Vcs-browser: http://git.debian.org/?p=collab-maint/im-config.git

=======================

This looks large patch but it is essentially simple minded code to
reorder X start up process in /etc/X11/Xsession.d/. (Diff attached)

Let me explain why this is needed and what is all about.

Non-european languages use input method to input their key strokes into
applications.  Its initialization is done during X start up by a hook
script provided by im-config.

There was a long standing bug in im-switch (previous version of hook
script) /im-config, where the input method hook script was executed
after the dbus hook script.  This looked good until we found out that
actual execution of dbus initialization is delayed until the last
99x11-common_start of the initialization with a tricky substitution use
of $STARTUP string.

Not knowing this was the root cause, when people had had problem getting
input method daemons started, we put some delay/waiting somewhere in the
code (sometimes daemon itself, sometimes within hook script.).  See
http://bugs.debian.org/300486 .  10 second wait implemented in im-config
was OK workaround for many system using uim but it is guaranteed to fail
on very slow system.

The bug report http://bugs.debian.org/683950 got me rethink this
initialization in /etc/X11/Xsession.d/.

Old way in 0.17:
* 50x11-common_determine-startup   STARTUP=/usr/bin/x-session-manager
* 75dbus_dbus-launch               STARTUP="$DBUSLAUNCH --exit-with-session $STARTUP"
* 80im-config_launch               starting input method daemon etc.
* 99x11-common_start               exec "$STARTUP"

New way in 0.18:
* 50x11-common_determine-startup   STARTUP="/usr/bin/x-session-manager"
* 70im-config_launch               STARTUP="/usr/bin/im-launch $STARTUP"
* 75dbus_dbus-launch               STARTUP="$DBUSLAUNCH --exit-with-session $STARTUP"
* 99x11-common_start               exec "$STARTUP"

Practically, the entire content of old 80im-config_launch is moved into
/usr/bin/im-launch where daemon is started etc.

Since there is no more need to delay uim start, delay is dropped.

Since /etc/X11/Xsession.d/*im-config_launch is conffile, I extended
the existing postinst script handling of moving such file safely.  (I
know there is another way but I tried not to make too new changes.)

==============================

unblock im-config/0.18

-- 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.5-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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: im-config_0.18.src.diff
Type: text/x-diff
Size: 10467 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-ime-devel/attachments/20120826/2904102b/attachment.diff>


More information about the Pkg-ime-devel mailing list