[ibus] Bumped to 1.5.2

Takao Fujiwara fujiwara at fedoraproject.org
Fri Apr 19 07:01:10 UTC 2013


commit ba8f25c0f0aa8930a9fa4cd3ab0121bf38055ab8
Author: Takao Fujiwara <tfujiwar at redhat.com>
Date:   Fri Apr 19 13:23:36 2013 +0900

    Bumped to 1.5.2

 .gitignore                                |    4 +
 ibus-530711-preload-sys.patch             |   16 +-
 ibus-541492-xkb.patch                     |  165 +++++++-----
 ibus-810211-no-switch-by-no-trigger.patch |    8 +-
 ibus-947318-reconnect-gtk-client.patch    |   43 +++
 ibus-HEAD.patch                           |  396 -----------------------------
 ibus-xx-setup-frequent-lang.patch         |    4 +-
 ibus-xx-vapi-build-failure.patch          |   80 ------
 ibus.spec                                 |  148 ++++++-----
 sources                                   |    5 +-
 10 files changed, 240 insertions(+), 629 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 297b080..1831e41 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,3 +51,7 @@ ibus-1.3.6.tar.gz
 /ibus-gjs-3.4.1.20120518.tar.gz
 /ibus-gjs-3.4.1.20120815.tar.gz
 /ibus-gjs-3.4.1.20130115.tar.gz
+/ibus-1.5.2.tar.gz
+/ibus.1
+/ibus-setup.1
+/ibus-daemon.1
diff --git a/ibus-530711-preload-sys.patch b/ibus-530711-preload-sys.patch
index 42245b4..8c441c5 100644
--- a/ibus-530711-preload-sys.patch
+++ b/ibus-530711-preload-sys.patch
@@ -1,6 +1,6 @@
-From 84354457b25d77fed1184224ce71a31ff6facfec Mon Sep 17 00:00:00 2001
+From c907ff38e6f6de6637d79945efb9d1365b15a327 Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Thu, 31 Jan 2013 17:30:09 +0900
+Date: Fri, 19 Apr 2013 09:47:18 +0900
 Subject: [PATCH] Reload preload engines until users customize the list.
 
 The idea is, if users don't customize the preload_engines with ibus-setup,
@@ -25,7 +25,7 @@ IBUS_PRELOAD_ENGINE_MODE_USER and users can customize the value
  5 files changed, 254 insertions(+), 11 deletions(-)
 
 diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
-index 70bf9ca..7833959 100644
+index 704ba60..136c192 100644
 --- a/data/ibus.schemas.in
 +++ b/data/ibus.schemas.in
 @@ -2,6 +2,30 @@
@@ -253,10 +253,10 @@ index 737b3e2..8ce5a16 100644
   * @x: x coordinate.
   * @y: y coordinate.
 diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
-index 55b63ce..4717431 100644
+index 10eaa0c..0a12c0f 100644
 --- a/ui/gtk3/panel.vala
 +++ b/ui/gtk3/panel.vala
-@@ -291,6 +291,8 @@ class Panel : IBus.PanelService {
+@@ -308,6 +308,8 @@ class Panel : IBus.PanelService {
          if (m_config != null) {
              m_config.value_changed.connect(config_value_changed_cb);
              m_config.watch("general", "preload_engines");
@@ -264,8 +264,8 @@ index 55b63ce..4717431 100644
 +            m_config.watch("general", "preload_engine_mode");
              m_config.watch("general", "engines_order");
              m_config.watch("general", "switcher_delay_time");
-             m_config.watch("general/hotkey", "triggers");
-@@ -358,7 +360,136 @@ class Panel : IBus.PanelService {
+             m_config.watch("general", "use_system_keyboard_layout");
+@@ -379,7 +381,136 @@ class Panel : IBus.PanelService {
              init_gkbd();
          }
  
@@ -402,7 +402,7 @@ index 55b63ce..4717431 100644
      }
  
      private void update_xkb_engines() {
-@@ -573,6 +704,11 @@ class Panel : IBus.PanelService {
+@@ -596,6 +727,11 @@ class Panel : IBus.PanelService {
                                           string section,
                                           string name,
                                           Variant variant) {
diff --git a/ibus-541492-xkb.patch b/ibus-541492-xkb.patch
index 52e90d0..0ae91f0 100644
--- a/ibus-541492-xkb.patch
+++ b/ibus-541492-xkb.patch
@@ -1,12 +1,13 @@
-From 6772bc0fc82074cd00d56c0e9795d163b489281e Mon Sep 17 00:00:00 2001
+From 3130e980aafbb1ec025a7ca68559fb83e801cba3 Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Fri, 11 Jan 2013 22:55:17 +0900
-Subject: [PATCH] Add ibus-xkb and libgnomekbd.
+Date: Fri, 19 Apr 2013 09:46:33 +0900
+Subject: [PATCH] Add libgnomekbd and load preload engines.
 
 ---
  bindings/vala/Gkbd-3.0.metadata |   1 +
- bindings/vala/Makefile.am       |  15 ++
+ bindings/vala/Makefile.am       |  19 +-
  bindings/vala/Xkl-1.0.metadata  |   3 +
+ bindings/vala/gkbd.deps         |   3 +
  configure.ac                    |  40 ++++
  data/ibus.schemas.in            |  59 +++++
  ibus-1.0.pc.in                  |   1 +
@@ -20,9 +21,10 @@ Subject: [PATCH] Add ibus-xkb and libgnomekbd.
  ui/gtk3/gkbdlayout.vala.true    | 108 ++++++++++
  ui/gtk3/panel.vala              | 216 ++++++++++++++++++-
  ui/gtk3/xkblayout.vala          | 431 +++++++++++++++++++++++++++++++++++++
- 16 files changed, 1641 insertions(+), 1 deletion(-)
+ 17 files changed, 1645 insertions(+), 4 deletions(-)
  create mode 100644 bindings/vala/Gkbd-3.0.metadata
  create mode 100644 bindings/vala/Xkl-1.0.metadata
+ create mode 100644 bindings/vala/gkbd.deps
  create mode 100644 src/ibusxkbxml.c
  create mode 100644 src/ibusxkbxml.h
  create mode 100644 ui/gtk3/gkbdlayout.vala.false
@@ -37,32 +39,41 @@ index 0000000..661e6fd
 @@ -0,0 +1 @@
 +Configuration cheader_filename="libgnomekbd/gkbd-configuration.h"
 diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am
-index aba3454..bf3074a 100644
+index aba3454..3f93fba 100644
 --- a/bindings/vala/Makefile.am
 +++ b/bindings/vala/Makefile.am
-@@ -28,6 +28,17 @@ vapi_deps = \
+@@ -28,8 +28,6 @@ vapi_deps = \
  	$(top_builddir)/src/IBus-1.0.gir \
  	$(NULL)
  
+-ibus-1.0.vapi: $(vapi_deps)
+-
+ VAPIGEN_VAPIS = ibus-1.0.vapi
+ 
+ ibus_1_0_vapi_DEPS = gio-2.0
+@@ -39,15 +37,30 @@ ibus_1_0_vapi_FILES = \
+ 	$(srcdir)/IBus-1.0-custom.vala \
+ 	$(NULL)
+ 
 +if ENABLE_LIBGNOMEKBD
-+vapi_deps += $(builddir)/gkbd.vapi
++ibus-1.0.vapi: $(vapi_deps) gkbd.vapi
 +
-+$(builddir)/gkbd.vapi:
-+	$(AM_V_GEN) $(VAPIGEN) --library gkbd \
-+	    --metadatadir $(srcdir) \
-+	    --pkg gtk+-3.0 --pkg glib-2.0 --pkg gmodule-2.0 \
-+	    /usr/share/gir-1.0/Gkbd-3.0.gir
-+	$(NULL)
++VAPIGEN_VAPIS += gkbd.vapi
++
++gkbd_vapi_DEPS = gtk+-3.0 glib-2.0 gmodule-2.0
++gkbd_vapi_METADATADIRS = $(srcdir)
++gkbd_vapi_FILES = /usr/share/gir-1.0/Gkbd-3.0.gir
++else
++ibus-1.0.vapi: $(vapi_deps)
 +endif
 +
- ibus-1.0.vapi: $(vapi_deps)
- 
- VAPIGEN_VAPIS = ibus-1.0.vapi
-@@ -43,11 +54,15 @@ vapidir = $(datadir)/vala/vapi
- vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
+ vapidir = $(datadir)/vala/vapi
+-vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
++vapi_DATA = ibus-1.0.vapi ibus-1.0.deps
  
  EXTRA_DIST = \
 +	Gkbd-3.0.metadata \
++	gkbd.deps \
  	IBus-1.0.metadata \
  	IBus-1.0-custom.vala \
  	ibus-1.0.deps \
@@ -71,8 +82,6 @@ index aba3454..bf3074a 100644
 +	Xkl-1.0.metadata \
  	$(NULL)
  
-+CLEANFILES = gkbd.vapi
-+
  -include $(top_srcdir)/git.mk
 diff --git a/bindings/vala/Xkl-1.0.metadata b/bindings/vala/Xkl-1.0.metadata
 new file mode 100644
@@ -83,8 +92,17 @@ index 0000000..4961d0c
 +Xkl cheader_filename="libxklavier/xklavier.h"
 +Engine
 +    .filter_events.evt ref type="X.Event"
+diff --git a/bindings/vala/gkbd.deps b/bindings/vala/gkbd.deps
+new file mode 100644
+index 0000000..172632c
+--- /dev/null
++++ b/bindings/vala/gkbd.deps
+@@ -0,0 +1,3 @@
++gtk+-3.0
++glib-2.0
++gmodule-2.0
 diff --git a/configure.ac b/configure.ac
-index b328073..61d1464 100644
+index 3036792..06b6e0c 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -237,6 +237,45 @@ else
@@ -133,7 +151,7 @@ index b328073..61d1464 100644
  # GObject introspection
  GOBJECT_INTROSPECTION_CHECK([0.6.8])
  
-@@ -579,6 +618,7 @@ Build options:
+@@ -574,6 +613,7 @@ Build options:
    No snooper regexes        "$NO_SNOOPER_APPS"
    Panel icon                "$IBUS_ICON_KEYBOARD"
    Enable surrounding-text   $enable_surrounding_text
@@ -142,7 +160,7 @@ index b328073..61d1464 100644
  ])
  
 diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
-index dbb6da8..70bf9ca 100644
+index 54ccb4c..704ba60 100644
 --- a/data/ibus.schemas.in
 +++ b/data/ibus.schemas.in
 @@ -42,6 +42,52 @@
@@ -231,44 +249,44 @@ index 9f593ab..c93a0ed 100644
  Name: IBus
  Description: IBus Library
 diff --git a/ibus.spec.in b/ibus.spec.in
-index 58cac38..4b6f869 100644
+index 7989949..5391538 100644
 --- a/ibus.spec.in
 +++ b/ibus.spec.in
-@@ -4,6 +4,7 @@
+@@ -5,6 +5,7 @@
  
  # Build flags
  %define build_python_library 0
-+%define build_xkb 0
++%define build_libgnomekbd 0
  
  %define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
  %define gconf2_version 2.12.0
-@@ -38,6 +39,10 @@ BuildRequires:  GConf2-devel
+@@ -40,6 +41,10 @@ BuildRequires:  dconf-devel
  BuildRequires:  pygobject2-devel
  BuildRequires:  intltool
  BuildRequires:  iso-codes-devel
-+%if %{build_xkb}
++%if %{build_libgnomekbd}
 +BuildRequires:  libxkbfile-devel
 +BuildRequires:  libgnomekbd-devel
 +%endif
  
  Requires:   %{name}-libs = %{version}-%{release}
  Requires:   %{name}-gtk2 = %{version}-%{release}
-@@ -51,6 +56,9 @@ Requires:   im-chooser >= %{im_chooser_version}
- Requires:   GConf2 >= %{gconf2_version}
+@@ -53,6 +58,9 @@ Requires:   dbus-python >= %{dbus_python_version}
+ Requires:   im-chooser >= %{im_chooser_version}
  Requires:   notify-python
  Requires:   librsvg2
-+%if %{build_xkb}
++%if %{build_libgnomekbd}
 +Requires:   libgnomekbd
 +%endif
  
  Requires(post):  desktop-file-utils
  Requires(postun):  desktop-file-utils
-@@ -132,6 +140,10 @@ OPTIONS="$OPTIONS --enable-python-library"
+@@ -153,6 +161,10 @@ OPTIONS="$OPTIONS --enable-python-library"
  OPTIONS="$OPTIONS --disable-python-library"
  %endif
  
-+%if %{build_xkb}
-+OPTIONS="$OPTIONS --enable-xkb --enable-libgnomekbd"
++%if %{build_libgnomekbd}
++OPTIONS="$OPTIONS --enable-libgnomekbd"
 +%endif
 +
  %configure $OPTIONS
@@ -966,10 +984,10 @@ index 0000000..6f5b7bd
 +G_END_DECLS
 +#endif
 diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
-index 5473027..b7e663c 100644
+index 43454bc..6b7e70a 100644
 --- a/ui/gtk3/Makefile.am
 +++ b/ui/gtk3/Makefile.am
-@@ -47,6 +47,8 @@ USE_SYMBOL_ICON = FALSE
+@@ -45,6 +45,8 @@ USE_SYMBOL_ICON = FALSE
  # force include config.h before gi18n.h.
  AM_CPPFLAGS = -include $(CONFIG_HEADER)
  
@@ -978,7 +996,7 @@ index 5473027..b7e663c 100644
  AM_CFLAGS = \
  	@GLIB2_CFLAGS@ \
  	@GIO2_CFLAGS@ \
-@@ -58,6 +60,8 @@ AM_CFLAGS = \
+@@ -56,6 +58,8 @@ AM_CFLAGS = \
  	-DBINDIR=\"$(bindir)\" \
  	-DIBUS_DISABLE_DEPRECATED \
  	-DSWITCHER_USE_SYMBOL_ICON=$(USE_SYMBOL_ICON) \
@@ -987,23 +1005,8 @@ index 5473027..b7e663c 100644
  	-Wno-unused-variable \
  	-Wno-unused-but-set-variable \
  	-Wno-unused-function \
-@@ -91,6 +95,7 @@ ibus_ui_gtk3_SOURCES = \
- 	application.vala \
- 	candidatearea.vala \
- 	candidatepanel.vala \
-+	gkbdlayout.vala \
- 	handle.vala \
- 	iconwidget.vala \
- 	keybindingmanager.vala \
-@@ -99,17 +104,48 @@ ibus_ui_gtk3_SOURCES = \
- 	property.vala \
- 	separator.vala \
- 	switcher.vala \
-+	xkblayout.vala \
- 	$(NULL)
- 
- ibus_ui_gtk3_LDADD = \
- 	$(AM_LDADD) \
+@@ -83,12 +87,40 @@ AM_VALAFLAGS = \
+ 	--pkg=xi \
  	$(NULL)
  
 +if ENABLE_LIBGNOMEKBD
@@ -1033,15 +1036,35 @@ index 5473027..b7e663c 100644
 +	@cp $(srcdir)/gkbdlayout.vala.false $(srcdir)/gkbdlayout.vala
 +endif
 +
- CLEANFILES = \
+ libexec_PROGRAMS = ibus-ui-gtk3
+ 
+ ibus_ui_gtk3_SOURCES = \
+ 	application.vala \
+ 	candidatearea.vala \
+ 	candidatepanel.vala \
 +	gkbdlayout.vala \
+ 	handle.vala \
+ 	iconwidget.vala \
+ 	keybindingmanager.vala \
+@@ -97,6 +129,7 @@ ibus_ui_gtk3_SOURCES = \
+ 	property.vala \
+ 	separator.vala \
+ 	switcher.vala \
++	xkblayout.vala \
+ 	$(NULL)
+ 
+ ibus_ui_gtk3_LDADD = \
+@@ -105,9 +138,12 @@ ibus_ui_gtk3_LDADD = \
+ 
+ CLEANFILES = \
  	gtkpanel.xml \
++	gkbdlayout.vala \
  	$(NULL)
  
  EXTRA_DIST = \
 +	gkbdlayout.vala.false \
 +	gkbdlayout.vala.true \
- 	gtkpanel.xml.in.in \
+ 	gtkpanel.xml.in \
  	$(NULL)
  
 diff --git a/ui/gtk3/gkbdlayout.vala.false b/ui/gtk3/gkbdlayout.vala.false
@@ -1228,13 +1251,13 @@ index 0000000..2b78c69
 +    */
 +}
 diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
-index 24e6b2e..55b63ce 100644
+index 0d7a5b2..10eaa0c 100644
 --- a/ui/gtk3/panel.vala
 +++ b/ui/gtk3/panel.vala
-@@ -48,6 +48,13 @@ class Panel : IBus.PanelService {
-     private Gtk.AboutDialog m_about_dialog;
+@@ -49,6 +49,13 @@ class Panel : IBus.PanelService {
      private Gtk.CssProvider m_css_provider;
      private int m_switcher_delay_time = 400;
+     private bool m_use_system_keyboard_layout = false;
 +    private GkbdLayout m_gkbdlayout = null;
 +    private XKBLayout m_xkblayout = null;
 +    private string[] m_layouts = {};
@@ -1245,7 +1268,7 @@ index 24e6b2e..55b63ce 100644
      private const string ACCELERATOR_SWITCH_IME_FOREWARD = "<Control>space";
  
      private GLib.List<Keybinding> m_keybindings = new GLib.List<Keybinding>();
-@@ -90,6 +97,14 @@ class Panel : IBus.PanelService {
+@@ -91,6 +98,14 @@ class Panel : IBus.PanelService {
  
      ~Panel() {
          unbind_switch_shortcut();
@@ -1260,15 +1283,15 @@ index 24e6b2e..55b63ce 100644
      }
  
      private void keybinding_manager_bind(KeybindingManager keybinding_manager,
-@@ -281,6 +296,7 @@ class Panel : IBus.PanelService {
+@@ -299,6 +314,7 @@ class Panel : IBus.PanelService {
              m_config.watch("general/hotkey", "triggers");
              m_config.watch("panel", "custom_font");
              m_config.watch("panel", "use_custom_font");
 +            init_engines_order();
-             update_engines(m_config.get_value("general", "preload_engines"),
-                            m_config.get_value("general", "engines_order"));
-             unbind_switch_shortcut();
-@@ -293,6 +309,204 @@ class Panel : IBus.PanelService {
+             // Update m_use_system_keyboard_layout before update_engines()
+             // is called.
+             set_use_system_keyboard_layout(null);
+@@ -314,6 +330,204 @@ class Panel : IBus.PanelService {
          set_custom_font();
      }
  
@@ -1473,15 +1496,15 @@ index 24e6b2e..55b63ce 100644
      private void exec_setxkbmap(IBus.EngineDesc engine) {
          string layout = engine.get_layout();
          string variant = engine.get_layout_variant();
-@@ -352,7 +566,7 @@ class Panel : IBus.PanelService {
-             return;
+@@ -374,7 +588,7 @@ class Panel : IBus.PanelService {
          }
          // set xkb layout
--        exec_setxkbmap(engine);
-+        set_layout(engine);
+         if (!m_use_system_keyboard_layout) {
+-            exec_setxkbmap(engine);
++           set_layout(engine);
+         }
      }
  
-     private void config_value_changed_cb(IBus.Config config,
 diff --git a/ui/gtk3/xkblayout.vala b/ui/gtk3/xkblayout.vala
 new file mode 100644
 index 0000000..165a905
diff --git a/ibus-810211-no-switch-by-no-trigger.patch b/ibus-810211-no-switch-by-no-trigger.patch
index 50ef12d..c1bea4d 100644
--- a/ibus-810211-no-switch-by-no-trigger.patch
+++ b/ibus-810211-no-switch-by-no-trigger.patch
@@ -1,4 +1,4 @@
-From 092d20121fc5401810b60c1d01f331a80b4ed42c Mon Sep 17 00:00:00 2001
+From d3bc903b487bb301395947f692ce0d8c130874e3 Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1 at gmail.com>
 Date: Sat, 6 Oct 2012 17:54:27 +0900
 Subject: [PATCH] Fix not to switch engines by non-trigger keys.
@@ -8,10 +8,10 @@ Subject: [PATCH] Fix not to switch engines by non-trigger keys.
  1 file changed, 6 insertions(+)
 
 diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
-index 494fab9..c5286b1 100644
+index 4a02743..c606682 100644
 --- a/ui/gtk3/switcher.vala
 +++ b/ui/gtk3/switcher.vala
-@@ -127,6 +127,7 @@ class Switcher : Gtk.Window {
+@@ -140,6 +140,7 @@ class Switcher : Gtk.Window {
          /* Let gtk recalculate the window size. */
          resize(1, 1);
  
@@ -19,7 +19,7 @@ index 494fab9..c5286b1 100644
          m_selected_engine = index;
          m_label.set_text(m_buttons[index].longname);
          m_buttons[index].grab_focus();
-@@ -365,6 +366,11 @@ class Switcher : Gtk.Window {
+@@ -378,6 +379,11 @@ class Switcher : Gtk.Window {
                      break;
                  default:
                      debug("0x%04x", pe->keyval);
diff --git a/ibus-947318-reconnect-gtk-client.patch b/ibus-947318-reconnect-gtk-client.patch
new file mode 100644
index 0000000..a0c8a05
--- /dev/null
+++ b/ibus-947318-reconnect-gtk-client.patch
@@ -0,0 +1,43 @@
+From ef3aaa7bee7dd4c9ab3ccbe5a62d20be3b06a309 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1 at gmail.com>
+Date: Thu, 18 Apr 2013 09:48:25 +0900
+Subject: [PATCH] IBusIMContext needs to reconnect IBusBus when IBusBus is
+ disconnected.
+
+---
+ client/gtk2/ibusimcontext.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index 49598b4..8c7dbcc 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -1474,6 +1474,25 @@ _ibus_context_destroy_cb (IBusInputContext *ibuscontext,
+ 
+     g_signal_emit (ibusimcontext, _signal_preedit_changed_id, 0);
+     g_signal_emit (ibusimcontext, _signal_preedit_end_id, 0);
++
++    /* This destroy callback can be called when the client app connects to
++     * IBusBus and the app is disconnected. E.g. gnome-shell connects to
++     * IBusBus and it has StEntry input text and ibus can be restarted.
++     * And each ibusimcontext also needs to reconnect IBusBus here. */
++    if (!ibus_bus_is_connected (_bus)) {
++        g_signal_handlers_disconnect_by_func (_bus,
++                                              G_CALLBACK (_bus_connected_cb),
++                                              ibusimcontext);
++        g_object_unref (_bus);
++        _bus = ibus_bus_new_async ();
++
++        if (ibus_bus_is_connected (_bus)) {
++            _create_input_context (ibusimcontext);
++        }
++
++        g_signal_connect (_bus, "connected", G_CALLBACK (_bus_connected_cb),
++                          ibusimcontext);
++    }
+ }
+ 
+ static void
+-- 
+1.8.0
+
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index 00c3b85..8b13789 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -1,397 +1 @@
-From 8ac534fc002356b93e2015a8866f1ea89e3895f9 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Sat, 15 Dec 2012 17:40:18 +0900
-Subject: [PATCH] Use Variant.unpack() instead of Variant.dup_strv().
-
-Variant.dup_strv() returns a tuple in pygobject 3.2, e.g. (['<Control>space'], 1L), and a list in pygobject 3.4, e.g. ['<Control>space'] .
-
-BUG=RH#887153
-
-Review URL: https://codereview.appspot.com/6941051
----
- setup/main.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup/main.py b/setup/main.py
-index a8acc7a..707faa4 100644
---- a/setup/main.py
-+++ b/setup/main.py
-@@ -87,7 +87,7 @@ class Setup(object):
-         label = 'switch_engine'
-         variant = self.__config.get_value('general/hotkey', name)
-         if variant != None:
--            shortcuts = variant.dup_strv()
-+            shortcuts = variant.unpack()
-         else:
-             shortcuts =  ['<Control>space']
- 
--- 
-1.7.12.1
-
-From 62cd0492e3459416e1775aedc327bced53f66828 Mon Sep 17 00:00:00 2001
-From: Rui Matos <tiagomatos at gmail.com>
-Date: Wed, 9 Jan 2013 10:14:55 -0500
-Subject: [PATCH] client: Queue events while the IBus context isn't ready
-
-There are actually 3 patches here.
-
----
-client: Queue events while the IBus context isn't ready
-
-We may lose events that ought to be processed while the IBus context
-isn't ready or if the connection to IBus isn't fully established yet.
-
-To avoid that, enqueue events to be processed later when the IBus
-context creation finishes.
-
----
-client: Don't cancel an ongoing create input context on another request
-
-This would only add more delays.
-
----
-client: Cancel any ongoing create input context request on finalize
-
-BUG=
-
-Review URL: https://codereview.appspot.com/6988047
-Patch from Rui Matos <tiagomatos at gmail.com>.
----
- client/gtk2/ibusimcontext.c | 220 ++++++++++++++++++++++++++------------------
- 1 file changed, 133 insertions(+), 87 deletions(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index 011676f..94005b7 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -40,6 +40,8 @@
- #  define IDEBUG(a...)
- #endif
- 
-+#define MAX_QUEUED_EVENTS 20
-+
- struct _IBusIMContext {
-     GtkIMContext parent;
- 
-@@ -63,6 +65,7 @@ struct _IBusIMContext {
- 
-     /* cancellable */
-     GCancellable    *cancellable;
-+    GQueue          *events_queue;
- };
- 
- struct _IBusIMContextClass {
-@@ -154,6 +157,8 @@ static GType                _ibus_type_im_context = 0;
- static GtkIMContextClass    *parent_class = NULL;
- 
- static IBusBus              *_bus = NULL;
-+static guint                _daemon_name_watch_id = 0;
-+static gboolean             _daemon_is_running = FALSE;
- 
- void
- ibus_im_context_register_type (GTypeModule *type_module)
-@@ -261,6 +266,46 @@ _process_key_event_done (GObject      *object,
-     gdk_event_free ((GdkEvent *)event);
- }
- 
-+static gboolean
-+_process_key_event (IBusInputContext *context,
-+                    GdkEventKey      *event)
-+{
-+    guint state = event->state;
-+    gboolean retval = FALSE;
-+
-+    if (event->type == GDK_KEY_RELEASE) {
-+        state |= IBUS_RELEASE_MASK;
-+    }
-+
-+    if (_use_sync_mode) {
-+        retval = ibus_input_context_process_key_event (context,
-+            event->keyval,
-+            event->hardware_keycode - 8,
-+            state);
-+    }
-+    else {
-+        ibus_input_context_process_key_event_async (context,
-+            event->keyval,
-+            event->hardware_keycode - 8,
-+            state,
-+            -1,
-+            NULL,
-+            _process_key_event_done,
-+            gdk_event_copy ((GdkEvent *) event));
-+
-+        retval = TRUE;
-+    }
-+
-+    if (retval) {
-+        event->state |= IBUS_HANDLED_MASK;
-+    }
-+    else {
-+        event->state |= IBUS_IGNORED_MASK;
-+    }
-+
-+    return retval;
-+}
-+
- 
- /* emit "retrieve-surrounding" glib signal of GtkIMContext, if
-  * context->caps has IBUS_CAP_SURROUNDING_TEXT and the current IBus
-@@ -387,38 +432,7 @@ _key_snooper_cb (GtkWidget   *widget,
-         ibusimcontext->time = event->time;
-     }
- 
--    guint state = event->state;
--    if (event->type == GDK_KEY_RELEASE) {
--        state |= IBUS_RELEASE_MASK;
--    }
--
--    if (_use_sync_mode) {
--        retval = ibus_input_context_process_key_event (
--                                        ibuscontext,
--                                        event->keyval,
--                                        event->hardware_keycode - 8,
--                                        state);
--    }
--    else {
--        ibus_input_context_process_key_event_async (
--                                        ibuscontext,
--                                        event->keyval,
--                                        event->hardware_keycode - 8,
--                                        state,
--                                        -1,
--                                        NULL,
--                                        _process_key_event_done,
--                                        gdk_event_copy ((GdkEvent *) event));
--        retval = TRUE;
--
--    }
--
--    if (retval) {
--        event->state |= IBUS_HANDLED_MASK;
--    }
--    else {
--        event->state |= IBUS_IGNORED_MASK;
--    }
-+    retval = _process_key_event (ibuscontext, event);
- 
-     if (ibusimcontext != NULL) {
-         /* unref ibusimcontext could call ibus_im_context_finalize here
-@@ -450,6 +464,23 @@ _get_boolean_env(const gchar *name,
- }
- 
- static void
-+daemon_name_appeared (GDBusConnection *connection,
-+                      const gchar     *name,
-+                      const gchar     *owner,
-+                      gpointer         data)
-+{
-+    _daemon_is_running = TRUE;
-+}
-+
-+static void
-+daemon_name_vanished (GDBusConnection *connection,
-+                      const gchar     *name,
-+                      gpointer         data)
-+{
-+    _daemon_is_running = FALSE;
-+}
-+
-+static void
- ibus_im_context_class_init (IBusIMContextClass *class)
- {
-     IDEBUG ("%s", __FUNCTION__);
-@@ -533,6 +564,14 @@ ibus_im_context_class_init (IBusIMContextClass *class)
-     /* always install snooper */
-     if (_key_snooper_id == 0)
-         _key_snooper_id = gtk_key_snooper_install (_key_snooper_cb, NULL);
-+
-+    _daemon_name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
-+                                              IBUS_SERVICE_IBUS,
-+                                              G_BUS_NAME_WATCHER_FLAGS_NONE,
-+                                              daemon_name_appeared,
-+                                              daemon_name_vanished,
-+                                              NULL,
-+                                              NULL);
- }
- 
- static void
-@@ -543,6 +582,8 @@ ibus_im_context_class_fini (IBusIMContextClass *class)
-         gtk_key_snooper_remove (_key_snooper_id);
-         _key_snooper_id = 0;
-     }
-+
-+    g_bus_unwatch_name (_daemon_name_watch_id);
- }
- 
- /* Copied from gtk+2.0-2.20.1/modules/input/imcedilla.c to fix crosbug.com/11421.
-@@ -602,6 +643,7 @@ ibus_im_context_init (GObject *obj)
-     ibusimcontext->caps = IBUS_CAP_PREEDIT_TEXT | IBUS_CAP_FOCUS;
- #endif
- 
-+    ibusimcontext->events_queue = g_queue_new ();
- 
-     // Create slave im context
-     ibusimcontext->slave = gtk_im_context_simple_new ();
-@@ -651,6 +693,13 @@ ibus_im_context_finalize (GObject *obj)
- 
-     g_signal_handlers_disconnect_by_func (_bus, G_CALLBACK (_bus_connected_cb), obj);
- 
-+    if (ibusimcontext->cancellable != NULL) {
-+        /* Cancel any ongoing create input context request */
-+        g_cancellable_cancel (ibusimcontext->cancellable);
-+        g_object_unref (ibusimcontext->cancellable);
-+        ibusimcontext->cancellable = NULL;
-+    }
-+
-     if (ibusimcontext->ibuscontext) {
-         ibus_proxy_destroy ((IBusProxy *)ibusimcontext->ibuscontext);
-     }
-@@ -670,6 +719,9 @@ ibus_im_context_finalize (GObject *obj)
-         pango_attr_list_unref (ibusimcontext->preedit_attrs);
-     }
- 
-+    g_queue_free_full (ibusimcontext->events_queue,
-+                       (GDestroyNotify)gdk_event_free);
-+
-     G_OBJECT_CLASS(parent_class)->finalize (obj);
- }
- 
-@@ -681,65 +733,56 @@ ibus_im_context_filter_keypress (GtkIMContext *context,
- 
-     IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context);
- 
--    if (G_LIKELY (ibusimcontext->ibuscontext && ibusimcontext->has_focus)) {
--        /* If context does not have focus, ibus will process key event in sync mode.
--         * It is a workaround for increase search in treeview.
--         */
--        gboolean retval = FALSE;
--
--        if (event->state & IBUS_HANDLED_MASK)
--            return TRUE;
-+    if (!_daemon_is_running)
-+        return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
- 
--        if (event->state & IBUS_IGNORED_MASK)
--            return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
-+    /* If context does not have focus, ibus will process key event in
-+     * sync mode.  It is a workaround for increase search in treeview.
-+     */
-+    if (!ibusimcontext->has_focus)
-+        return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
- 
--        /* XXX it is a workaround for some applications do not set client window. */
--        if (ibusimcontext->client_window == NULL && event->window != NULL)
--            gtk_im_context_set_client_window ((GtkIMContext *)ibusimcontext, event->window);
-+    if (event->state & IBUS_HANDLED_MASK)
-+        return TRUE;
- 
--        _request_surrounding_text (ibusimcontext);
-+    if (event->state & IBUS_IGNORED_MASK)
-+        return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
- 
--        if (ibusimcontext != NULL) {
--            ibusimcontext->time = event->time;
--        }
-+    /* XXX it is a workaround for some applications do not set client
-+     * window. */
-+    if (ibusimcontext->client_window == NULL && event->window != NULL)
-+        gtk_im_context_set_client_window ((GtkIMContext *)ibusimcontext,
-+                                          event->window);
- 
--        guint state = event->state;
--        if (event->type == GDK_KEY_RELEASE) {
--            state |= IBUS_RELEASE_MASK;
--        }
-+    _request_surrounding_text (ibusimcontext);
- 
--        if (_use_sync_mode) {
--            retval = ibus_input_context_process_key_event (
--                                        ibusimcontext->ibuscontext,
--                                        event->keyval,
--                                        event->hardware_keycode - 8,
--                                        state);
--        }
--        else {
--            ibus_input_context_process_key_event_async (
--                                        ibusimcontext->ibuscontext,
--                                        event->keyval,
--                                        event->hardware_keycode - 8,
--                                        state,
--                                        -1,
--                                        NULL,
--                                        _process_key_event_done,
--                                        gdk_event_copy ((GdkEvent *) event));
--            retval = TRUE;
--        }
-+    ibusimcontext->time = event->time;
- 
--        if (retval) {
--            event->state |= IBUS_HANDLED_MASK;
-+    if (ibusimcontext->ibuscontext) {
-+        if (_process_key_event (ibusimcontext->ibuscontext, event))
-             return TRUE;
--        }
--        else {
--            event->state |= IBUS_IGNORED_MASK;
--            return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
--        }
-+        else
-+            return gtk_im_context_filter_keypress (ibusimcontext->slave,
-+                                                   event);
-     }
--    else {
--        return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
-+
-+    /* At this point we _should_ be waiting for the IBus context to be
-+     * created or the connection to IBus to be established. If that's
-+     * the case we queue events to be processed when the IBus context
-+     * is ready. */
-+    g_return_val_if_fail (ibusimcontext->cancellable != NULL ||
-+                          ibus_bus_is_connected (_bus) == FALSE,
-+                          FALSE);
-+    g_queue_push_tail (ibusimcontext->events_queue,
-+                       gdk_event_copy ((GdkEvent *)event));
-+
-+    if (g_queue_get_length (ibusimcontext->events_queue) > MAX_QUEUED_EVENTS) {
-+        g_warning ("Events queue growing too big, will start to drop.");
-+        gdk_event_free ((GdkEvent *)
-+                        g_queue_pop_head (ibusimcontext->events_queue));
-     }
-+
-+    return TRUE;
- }
- 
- static void
-@@ -1482,6 +1525,14 @@ _create_input_context_done (IBusBus       *bus,
-             ibus_input_context_focus_in (ibusimcontext->ibuscontext);
-             _set_cursor_location_internal (ibusimcontext);
-         }
-+
-+        if (!g_queue_is_empty (ibusimcontext->events_queue)) {
-+            GdkEventKey *event;
-+            while (event = g_queue_pop_head (ibusimcontext->events_queue)) {
-+                _process_key_event (context, event);
-+                gdk_event_free ((GdkEvent *)event);
-+            }
-+        }
-     }
- 
-     g_object_unref (ibusimcontext);
-@@ -1494,12 +1545,7 @@ _create_input_context (IBusIMContext *ibusimcontext)
- 
-     g_assert (ibusimcontext->ibuscontext == NULL);
- 
--    if (ibusimcontext->cancellable != NULL) {
--        /* Cancel previous create input context request */
--        g_cancellable_cancel (ibusimcontext->cancellable);
--        g_object_unref (ibusimcontext->cancellable);
--        ibusimcontext->cancellable = NULL;
--    }
-+    g_return_if_fail (ibusimcontext->cancellable == NULL);
- 
-     ibusimcontext->cancellable = g_cancellable_new ();
- 
--- 
-1.8.0
 
diff --git a/ibus-xx-setup-frequent-lang.patch b/ibus-xx-setup-frequent-lang.patch
index e703cb4..4e7467f 100644
--- a/ibus-xx-setup-frequent-lang.patch
+++ b/ibus-xx-setup-frequent-lang.patch
@@ -1,4 +1,4 @@
-From 1f21bce0403cdf7f99faa33842bc23b49aaee8cc Mon Sep 17 00:00:00 2001
+From 918f22efe0898a6dc87da4d94dadf413e7840e43 Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1 at gmail.com>
 Date: Thu, 31 Jan 2013 17:31:55 +0900
 Subject: [PATCH] Enable ibus-setup to show the frequently used languages
@@ -11,7 +11,7 @@ Subject: [PATCH] Enable ibus-setup to show the frequently used languages
  3 files changed, 300 insertions(+), 24 deletions(-)
 
 diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
-index 7833959..72bcc72 100644
+index 136c192..bd566ca 100644
 --- a/data/ibus.schemas.in
 +++ b/data/ibus.schemas.in
 @@ -325,6 +325,174 @@ se,si,sk,sy,sy(ku),th,tj,tr,ua,uz,vn
diff --git a/ibus.spec b/ibus.spec
index 5b964fd..36bcdc7 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -1,4 +1,4 @@
-%global with_xkbfile 1
+%global with_preload_xkb_engine 1
 %global with_pygobject2 1
 %global with_pygobject3 1
 
@@ -34,8 +34,8 @@
 %global dbus_python_version 0.83.0
 
 Name:       ibus
-Version:    1.5.1
-Release:    3%{?dist}
+Version:    1.5.2
+Release:    1%{?dist}
 Summary:    Intelligent Input Bus for Linux OS
 License:    LGPLv2+
 Group:      System Environment/Libraries
@@ -45,6 +45,9 @@ Source1:    %{name}-xinput
 %if %with_gjs
 # ibus-gjs
 Source2:    http://fujiwara.fedorapeople.org/ibus/gnome-shell/%{name}-gjs-%{ibus_gjs_version}.tar.gz
+Source3:    https://raw.github.com/ibus/ibus/master/debian/ibus.1
+Source4:    https://raw.github.com/ibus/ibus/master/debian/ibus-daemon.1
+Source5:    https://raw.github.com/ibus/ibus/master/debian/ibus-setup.1
 %endif
 # Upstreamed patches.
 Patch0:     %{name}-HEAD.patch
@@ -56,6 +59,8 @@ Patch2:     %{name}-541492-xkb.patch
 Patch3:     %{name}-530711-preload-sys.patch
 # Hide minor input method engines on ibus-setup by locale
 Patch4:     %{name}-xx-setup-frequent-lang.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=947318
+Patch5:     %{name}-947318-reconnect-gtk-client.patch
 
 %if (0%{?fedora} <= 17 && 0%{?rhel} < 7)
 # Workaround to disable preedit on gnome-shell until bug 658420 is fixed.
@@ -66,15 +71,12 @@ Patch92:    %{name}-xx-g-s-disable-preedit.patch
 # The patch enables to build on fedora 17.
 Patch93:    %{name}-xx-f17.patch
 %endif
-# Fix the build failure in f17 and f19 vala.
-Patch94:    %{name}-xx-vapi-build-failure.patch
 
 BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 
 BuildRequires:  gettext-devel
 BuildRequires:  libtool
-BuildRequires:  python2-devel
 BuildRequires:  gtk2-devel
 BuildRequires:  gtk3-devel
 BuildRequires:  dbus-glib-devel
@@ -84,18 +86,12 @@ BuildRequires:  gtk-doc
 BuildRequires:  dconf-devel
 BuildRequires:  dbus-x11
 BuildRequires:  vala
+BuildRequires:  vala-devel
 BuildRequires:  vala-tools
 # for AM_GCONF_SOURCE_2 in configure.ac
 BuildRequires:  GConf2-devel
-%if %with_pygobject3
-BuildRequires:  gobject-introspection-devel
-BuildRequires:  pygobject3-devel
-%endif
 BuildRequires:  intltool
 BuildRequires:  iso-codes-devel
-%if %with_xkbfile
-BuildRequires:  libxkbfile-devel
-%endif
 %if %with_gkbd
 BuildRequires:  libgnomekbd-devel
 %endif
@@ -104,21 +100,13 @@ BuildRequires:  libgnomekbd-devel
 BuildRequires:  gjs
 BuildRequires:  gnome-shell
 %endif
-BuildRequires:  diffstat
 
-Requires:   %{name}-libs = %{version}-%{release}
-Requires:   %{name}-gtk2 = %{version}-%{release}
-%if (0%{?fedora} > 14 || 0%{?rhel} > 6)
-Requires:   %{name}-gtk3 = %{version}-%{release}
-%endif
+Requires:   %{name}-libs   = %{version}-%{release}
+Requires:   %{name}-gtk2   = %{version}-%{release}
+Requires:   %{name}-gtk3   = %{version}-%{release}
+Requires:   %{name}-setup  = %{version}-%{release}
+Requires:   %{name}-pygtk2 = %{version}-%{release}
 
-%if %with_pygobject2
-Requires:   pygtk2
-%endif
-%if %with_pygobject3
-Requires:   pygobject3
-%endif
-Requires:   pyxdg
 Requires:   iso-codes
 Requires:   dbus-python >= %{dbus_python_version}
 Requires:   dbus-x11
@@ -187,6 +175,35 @@ Requires(post): glib2 >= %{glib_ver}
 %description gtk3
 This package contains ibus im module for gtk3
 
+%if %with_pygobject3
+%package setup
+Summary:        IBus setup utility
+Group:          System Environment/Libraries
+Requires:       %{name} = %{version}-%{release}
+Requires:       pygobject3
+BuildRequires:  gobject-introspection-devel
+BuildRequires:  pygobject3-devel
+BuildArch:      noarch
+
+%description setup
+This is a setup utility for IBus.
+%endif
+
+%if %with_pygobject2
+%package pygtk2
+Summary:        IBus pygtk2 library
+Group:          System Environment/Libraries
+Requires:       %{name} = %{version}-%{release}
+Requires:       pygtk2
+Requires:       pyxdg
+BuildRequires:  python2-devel
+BuildArch:      noarch
+
+%description pygtk2
+This is a pygtk2 library for IBus. Now major IBUs engines use pygobject3
+and this package will be deprecated.
+%endif
+
 %if %with_gjs
 %package gnome3
 Summary:    IBus gnome-shell-extension for GNOME3
@@ -231,51 +248,27 @@ The ibus-devel-docs package contains developer documentation for ibus
 gzip -dc %SOURCE2 | tar xf -
 %endif
 
-# home [dot] corp [dot] redhat [dot] com/wiki/rpmdiff-multilib
-# Update timestamps on the files touched by a patch, to avoid non-equal
-# .pyc/.pyo files across the multilib peers within a build, where "Level"
-# is the patch prefix option (e.g. -p1)
-UpdateTimestamps() {
-  Level=$1
-  PatchFile=$2
-  # Locate the affected files:
-  for f in $(diffstat $Level -l $PatchFile); do
-    # Set the files to have the same timestamp as that of the patch:
-    touch -r $PatchFile $f
-  done
-}
-
 # %%patch0 -p1
-# UpdateTimestamps -p1 %%{PATCH0}
-%patch0 -p1
-UpdateTimestamps -p1 %{PATCH0}
 %if (0%{?fedora} <= 17 && 0%{?rhel} < 7)
 %patch92 -p1 -b .g-s-preedit
-UpdateTimestamps -p1 %{PATCH92}
 %endif
+%patch5 -p1 -b .reconnect
 cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
 %patch1 -p1 -b .noswitch
-UpdateTimestamps -p1 %{PATCH1}
-%if %with_xkbfile
-%patch2 -p1 -b .xkb
-UpdateTimestamps -p1 %{PATCH2}
+%if %with_preload_xkb_engine
+%patch2 -p1 -b .preload-xkb
 rm -f bindings/vala/ibus-1.0.vapi
 rm -f data/dconf/00-upstream-settings
 %endif
 %patch3 -p1 -b .preload-sys
-UpdateTimestamps -p1 %{PATCH3}
 %patch4 -p1 -b .setup-frequent-lang
-UpdateTimestamps -p1 %{PATCH4}
 
 %if (0%{?fedora} < 18 && 0%{?rhel} < 7)
 %patch93 -p1 -b .f17
-UpdateTimestamps -p1 %{PATCH93}
 %endif
-%patch94 -p1 -b .vapi
-UpdateTimestamps -p1 %{PATCH94}
 
 %build
-%if %with_xkbfile
+%if %with_preload_xkb_engine
 autoreconf -f -i
 %endif
 %configure \
@@ -297,7 +290,7 @@ autoreconf -f -i
 %endif
     --enable-introspection
 
-%if %with_xkbfile
+%if %with_preload_xkb_engine
 make -C ui/gtk3 maintainer-clean-generic
 %endif
 # make -C po update-gmo
@@ -354,6 +347,14 @@ if test -f ibus/_config.py.in -a \
   fi
 fi
 
+for S in %{SOURCE3} %{SOURCE4} %{SOURCE5}
+do
+  cp $S .
+  MP=`basename $S` 
+  gzip $MP
+  install -pm 644 -D ${MP}.gz $RPM_BUILD_ROOT%{_datadir}/man/man1/${MP}.gz
+done
+
 %if %with_gjs
 # https://bugzilla.redhat.com/show_bug.cgi?id=657165
 d=`basename %SOURCE2 .tar.gz`
@@ -421,27 +422,24 @@ fi
 # FIXME: no version number
 %files -f %{name}10.lang
 %doc AUTHORS COPYING README
-%if %with_pygobject2
-%dir %{python2_sitelib}/ibus
-%{python2_sitelib}/ibus/*
-%endif
 %dir %{_datadir}/ibus/
 %{_bindir}/ibus
 %{_bindir}/ibus-daemon
-%{_bindir}/ibus-setup
-%if %with_pygobject3
-%{_datadir}/ibus/*
-%endif
 %{_datadir}/applications/*
-%{_datadir}/icons/hicolor/*/apps/*
+%{_datadir}/bash-completion/completions/ibus.bash
 %{_datadir}/GConf/gsettings/*
 %{_datadir}/glib-2.0/schemas/*.xml
+%{_datadir}/ibus/component
+%{_datadir}/ibus/engine
+%{_datadir}/ibus/keymaps
+%{_datadir}/icons/hicolor/*/apps/*
+%{_datadir}/man/man1/ibus.1.gz
+%{_datadir}/man/man1/ibus-daemon.1.gz
 %{_libexecdir}/ibus-engine-simple
 %{_libexecdir}/ibus-dconf
 %{_libexecdir}/ibus-ui-gtk3
 %{_libexecdir}/ibus-x11
 # {_sysconfdir}/xdg/autostart/ibus.desktop
-%{_sysconfdir}/bash_completion.d/ibus.bash
 %{_sysconfdir}/dconf/db/ibus.d
 %{_sysconfdir}/dconf/profile/ibus
 %python2_sitearch/gi/overrides/IBus.py*
@@ -449,9 +447,7 @@ fi
 
 %files libs
 %{_libdir}/libibus-%{ibus_api_version}.so.*
-%if %with_pygobject3
 %{_libdir}/girepository-1.0/IBus-1.0.typelib
-%endif
 
 %files gtk2
 %{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so
@@ -459,6 +455,19 @@ fi
 %files gtk3
 %{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so
 
+%if %with_pygobject3
+%files setup
+%{_bindir}/ibus-setup
+%{_datadir}/ibus/setup
+%{_datadir}/man/man1/ibus-setup.1.gz
+%endif
+
+%if %with_pygobject2
+%files pygtk2
+%dir %{python2_sitelib}/ibus
+%{python2_sitelib}/ibus/*
+%endif
+
 %if %with_gjs
 %files gnome3
 %{_datadir}/gnome-shell/js/ui/status/ibus
@@ -477,6 +486,11 @@ fi
 %{_datadir}/gtk-doc/html/*
 
 %changelog
+* Thu Apr 18 2013 Takao Fujiwara <tfujiwar at redhat.com> - 1.5.2-1
+- Bumped to 1.5.2
+- Created noarch packages for python files due to .pyc and .pyo.
+- Added man pages.
+
 * Mon Feb 18 2013 Takao Fujiwara <tfujiwar at redhat.com> - 1.5.1-3
 - Copied gtk2 module to gtk3 one.
 
diff --git a/sources b/sources
index ce31a01..33b607c 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,6 @@
-f0103201249c657712f5f4d9a36923ed  ibus-1.5.1.tar.gz
+1b6b9c91089767762e00f8b5858d1b59  ibus-1.5.2.tar.gz
 2d2ad58e3e41429dbd883ba7e501c9b2  ibus-gjs-3.2.1.20111230.tar.gz
 da9a22c82ab33423d7afeb3da4146fa8  ibus-gjs-3.4.1.20130115.tar.gz
+63a1b72673b34aaa20dcbdcdced51b1a  ibus.1
+1def117ead16ebcbfe223908db979721  ibus-setup.1
+af808609c134cb7b2ffd17eeb189309e  ibus-daemon.1


More information about the scm-commits mailing list