Hello community,

here is the log from the commit of package ibus for openSUSE:Factory checked in 
at 2016-03-02 14:18:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ibus (Old)
 and      /work/SRC/openSUSE:Factory/.ibus.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ibus"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ibus/ibus.changes        2015-08-12 
15:09:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ibus.new/ibus.changes   2016-03-02 
14:18:47.000000000 +0100
@@ -1,0 +2,17 @@
+Wed Feb 24 19:01:08 CET 2016 - [email protected]
+
+- Fix the invocation of ibus service for KDE, etc (boo#968486):
+  for DEs known to support autostart (KDE, XFCE and LXCE), ibus is
+  now started via XDG autostart for avoiding the race.  This should
+  fix the missing ibus service.  For other DEs, ibus is still
+  started in xim script, but with a slight (two seconds) delay for
+  avoiding the race, too.
+
+  Along with the change, INPUT_METHOD environment variable is set
+  explicitly in xim script at startup; this is referred in XDG
+  autostart so that it won't be executed when other IM is chosen.
+
+  Last but not least, the explicit dbus-launch invocation is dropped,
+  as it's known to conflict with DE's own startup of dbus
+
+-------------------------------------------------------------------

New:
----
  ibus-autostart
  ibus-autostart.desktop

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ibus.spec ++++++
--- /var/tmp/diff_new_pack.Hg5mcO/_old  2016-03-02 14:18:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Hg5mcO/_new  2016-03-02 14:18:48.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ibus
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -44,6 +44,8 @@
 Source5:        kde.tar.gz
 Source6:        kde-12.2.tar.gz
 Source7:        macros.ibus
+Source10:       ibus-autostart
+Source11:       ibus-autostart.desktop
 Source99:       baselibs.conf
 # PATCH-FIX-OPENSUSE ibus-python-install-dir.patch [email protected]
 Patch0:         ibus-python-install-dir.patch
@@ -280,6 +282,10 @@
 # autostart
 mkdir -p %{buildroot}%{_sysconfdir}/X11/xim.d/
 install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/X11/xim.d/ibus
+mkdir -p %{buildroot}%{_bindir}
+install -c -m 0755 %{SOURCE10} %{buildroot}%{_bindir}/ibus-autostart
+mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart
+install -c -m 0644 %{SOURCE11}  
%{buildroot}%{_sysconfdir}/xdg/autostart/ibus-autostart.desktop
 
 sed -i 1i"SYS_LIB=%{_lib}" %{buildroot}%{_sysconfdir}/X11/xim.d/ibus
 
@@ -365,6 +371,7 @@
 %config %{_sysconfdir}/rpm/macros.ibus
 %config %{_sysconfdir}/X11/xim.d/*
 %{_bindir}/ibus
+%{_bindir}/ibus-autostart
 %{_bindir}/ibus-daemon
 %{_bindir}/ibus-setup
 %{_datadir}/ibus/
@@ -381,6 +388,7 @@
 # This file is not a config file. Users may not modify it.
 %{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings
 %{_sysconfdir}/dconf/profile/ibus
+%{_sysconfdir}/xdg/autostart/ibus-autostart.desktop
 %{_mandir}/man1/ibus.1.gz
 %{_mandir}/man1/ibus-daemon.1.gz
 %{_mandir}/man1/ibus-setup.1.gz

++++++ ibus-autostart ++++++
#!/bin/sh

test x"$INPUT_METHOD" = x"ibus" || exit 0

# GNOME starts ibus by itself
case "$WINDOWMANAGER" in
    *gnome*)
        exit 0;;
esac

# sleep for a little while to avoid duplicate startup
# sleep 2

ibus-daemon --xim -d
exit 0
++++++ ibus-autostart.desktop ++++++
[Desktop Entry]
_Name=IBus
_GenericName=IBus Daemon
_Comment=Start IBus daemon
Exec=ibus-autostart
Icon=ibus-setup
Terminal=false
Type=Application
Categories=System;Utility;
StartupNotify=false
NoDisplay=true
X-GNOME-Autostart-Phase=Applications
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Notify=false
X-KDE-autostart-after=panel
X-KDE-StartupNotify=false
++++++ xim.d-ibus-121 ++++++
--- /var/tmp/diff_new_pack.Hg5mcO/_old  2016-03-02 14:18:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Hg5mcO/_new  2016-03-02 14:18:48.000000000 +0100
@@ -3,11 +3,10 @@
     return 1
 fi
 
+# explicitly set below, as referred in xdg autostart
+export INPUT_METHOD=ibus
+
 case "$WINDOWMANAGER" in
-    #when skim installed, Autostart must be "false".
-    #here we move $HOME/.kde/share/config/skimrc to skimrc.orig.ibus
-    *kde*)
-    ;;
     # GNOME 3 Settings Daemon keyboard plugin manages all ibus settings itself,
     # so don't do manual setup&startup of ibus otherwise it would conflict with
     # G-S-D. see bnc#873016.
@@ -29,9 +28,6 @@
         gsettings set org.gnome.settings-daemon.plugins.keyboard active true
         return 0
     ;;
-    *)
-        # do nothing
-    ;;
 esac
 
 # Force OOo to use gtk-immodule
@@ -56,11 +52,15 @@
     export QT_IM_MODULE=xim
 fi
 
-if [ -z $DBUS_SESSION_BUS_ADDRESS ]; then
-    eval `dbus-launch --sh-syntax --exit-with-session --close-stderr < 
/dev/null`
-fi
-
-ibus-daemon --xim -d
+case "$WINDOWMANAGER" in
+    *kde*|*xfce*|*lxde*)
+       # started via xdg autostart
+       ;;
+    *)
+       # FIXME: a little bit of delay is required to avoid race
+       (sleep 2; ibus-daemon --xim -d) &
+       ;;
+esac
 
 # success:
 return 0


Reply via email to