public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/ibus] autotool: Updated to 1.3.99.20110419
@ 2026-05-31  2:05 Takao Fujiwara
  0 siblings, 0 replies; only message in thread
From: Takao Fujiwara @ 2026-05-31  2:05 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/ibus
            Branch : autotool
            Commit : 84d8da54281c5e9ac1c9f8165a6bf854d471b580
            Author : Takao Fujiwara <tfujiwar@redhat.com>
            Date   : 2011-06-02T03:07:41+09:00
            Stats  : +257/-29 in 5 file(s)
            URL    : https://src.fedoraproject.org/rpms/ibus/c/84d8da54281c5e9ac1c9f8165a6bf854d471b580?branch=autotool

            Log:
            Updated to 1.3.99.20110419

- Updated ibus-541492-xkb.patch
  Updated ibus-1.0.pc for ibus-xkb

---
diff --git a/.gitignore b/.gitignore
index fa5a886..58ef980 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,5 @@ ibus-1.3.6.tar.gz
 /ibus-1.3.99.20110408.tar.gz
 /gnome-shell-ibus-plugins-20110317.tar.bz2
 /ibus_master_da.po
+/ibus-1.3.99.20110419.tar.gz
+/gnome-shell-ibus-plugins-20110601.tar.bz2

diff --git a/ibus-541492-xkb.patch b/ibus-541492-xkb.patch
index 6c61c81..9100d48 100644
--- a/ibus-541492-xkb.patch
+++ b/ibus-541492-xkb.patch
@@ -1,12 +1,13 @@
-From 63051a74572fcd4caf496c87a3eebb058ba93bc0 Mon Sep 17 00:00:00 2001
+From b6b83e9484abad910271b15222d3f76f206a1ff6 Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 26 May 2011 14:55:31 +0900
+Date: Wed, 1 Jun 2011 18:24:10 +0900
 Subject: [PATCH] Add XKB layouts
 
 ---
  Makefile.am                |    7 +
- configure.ac               |   53 ++++
+ configure.ac               |   56 ++++
  data/ibus.schemas.in       |   36 +++
+ ibus-1.0.pc.in             |    2 +
  ibus/Makefile.am           |   26 ++
  ibus/__init__.py           |    2 +
  ibus/bus.py                |    3 +
@@ -31,7 +32,7 @@ Subject: [PATCH] Add XKB layouts
  xkb/xkblib.h               |   40 +++
  xkb/xkbxml.c               |  696 ++++++++++++++++++++++++++++++++++++++++++++
  xkb/xkbxml.h               |  189 ++++++++++++
- 27 files changed, 3803 insertions(+), 6 deletions(-)
+ 28 files changed, 3808 insertions(+), 6 deletions(-)
  create mode 100644 ibus/xkblayout.py.in
  create mode 100644 ibus/xkbxml.py.in
  create mode 100644 setup/xkbsetup.py
@@ -72,10 +73,10 @@ index 29c57e1..dbe0b6b 100644
  	$(NULL)
  
 diff --git a/configure.ac b/configure.ac
-index 8da8c6e..b3cdb0b 100644
+index 8da8c6e..ce1526c 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -185,6 +185,57 @@ else
+@@ -185,6 +185,60 @@ else
      enable_xim="no (disabled, use --enable-xim to enable)"
  fi
  
@@ -96,9 +97,12 @@ index 8da8c6e..b3cdb0b 100644
 +        [XKB_LIBS="-lxkbfile"]
 +    )
 +    AC_DEFINE(HAVE_XKB, 1, [define to 1 if you have xkbfile])
++    HAVE_IBUS_XKB=true
 +else
 +    enable_xkb="no (disabled, use --enable-xkb to enable)"
++    HAVE_IBUS_XKB=false
 +fi
++AC_SUBST(HAVE_IBUS_XKB)
 +
 +# define XKB rules file
 +AC_ARG_WITH(xkb-rules-xml,
@@ -133,7 +137,7 @@ index 8da8c6e..b3cdb0b 100644
  # GObject introspection
  GOBJECT_INTROSPECTION_CHECK([0.6.8])
  
-@@ -430,6 +481,7 @@ gconf/Makefile
+@@ -430,6 +484,7 @@ gconf/Makefile
  gconf/gconf.xml.in
  bindings/Makefile
  bindings/vala/Makefile
@@ -141,7 +145,7 @@ index 8da8c6e..b3cdb0b 100644
  ])
  
  AC_OUTPUT
-@@ -445,6 +497,7 @@ Build options:
+@@ -445,6 +500,7 @@ Build options:
    Build gtk2 immodule       $enable_gtk2
    Build gtk3 immodule       $enable_gtk3
    Build XIM agent server    $enable_xim
@@ -196,6 +200,19 @@ index b75295e..7ca4899 100644
        <key>/schemas/desktop/ibus/panel/use_custom_font</key>
        <applyto>/desktop/ibus/panel/use_custom_font</applyto>
        <owner>ibus</owner>
+diff --git a/ibus-1.0.pc.in b/ibus-1.0.pc.in
+index 9f593ab..51eb67a 100644
+--- a/ibus-1.0.pc.in
++++ b/ibus-1.0.pc.in
+@@ -4,6 +4,8 @@ libdir=@libdir@
+ includedir=@includedir@
+ datadir=@datadir@
+ pkgdatadir=@datadir@/ibus
++have_ibus_xkb=@HAVE_IBUS_XKB@
++ibus_xkb=@libexecdir@/ibus-xkb
+ 
+ Name: IBus
+ Description: IBus Library
 diff --git a/ibus/Makefile.am b/ibus/Makefile.am
 index c71df1b..508c98f 100644
 --- a/ibus/Makefile.am
@@ -280,7 +297,7 @@ index 678d517..7de56fc 100644
  
 diff --git a/ibus/xkblayout.py.in b/ibus/xkblayout.py.in
 new file mode 100644
-index 0000000..7685776
+index 0000000..6097ed1
 --- /dev/null
 +++ b/ibus/xkblayout.py.in
 @@ -0,0 +1,225 @@
@@ -416,7 +433,7 @@ index 0000000..7685776
 +            self.__default_option = self.get_option()
 +        if (self.__time_lag_session_xkb_layout == True or \
 +            self.__time_lag_session_xkb_option == True ) and \
-+           (self.__time_lag_session_xkb_timer - time.time() \
++           (time.time() - self.__time_lag_session_xkb_timer \
 +            > XKB_SESSION_TIME_OUT):
 +            self.__time_lag_session_xkb_layout = False
 +            self.__time_lag_session_xkb_option = False

diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index d5e797d..c6a8da5 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -1,25 +1,228 @@
-From 92246e8ffd4d1f4534ac7b487d599e3b2fa30fc0 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 19 Apr 2011 14:22:04 +0900
-Subject: [PATCH] Call waitpid when ibus-daemon restarts.
+From 80e5bd0785ca91a70f0b5fe511a3bd8e143d8d05 Mon Sep 17 00:00:00 2001
+From: Takao Fujiwara <takao.fujiwara1@gmail.com>
+Date: Wed, 27 Apr 2011 07:48:50 -0400
+Subject: [PATCH] Fix the zombie process of ibus-gconf when ibus-daemon
+ restarts.
 
+- Fix the typo in bus_dbus_impl_destroy() (dbusimpl.c)
+- Modify bus_server_run() and _ibus_exit() (ibusimpl.c, server.c)
+  bus_ibus_impl_destroy() needs to be called so that waitpid()
+  prevents processes from becoming zombie.
+- Change the declaration of bus_server_quit(). (server.h)
+
+BUG=redhat#697471
+TEST=Linux desktop
+
+Review URL: http://codereview.appspot.com/4440059
+Patch from Takao Fujiwara <takao.fujiwara1@gmail.com>.
 ---
- bus/ibusimpl.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
+ bus/dbusimpl.c |    5 ++---
+ bus/ibusimpl.c |   40 +---------------------------------------
+ bus/server.c   |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ bus/server.h   |    3 ++-
+ src/ibusbus.c  |    8 +++++++-
+ 5 files changed, 61 insertions(+), 45 deletions(-)
 
+diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
+index d67a3ce..5616222 100644
+--- a/bus/dbusimpl.c
++++ b/bus/dbusimpl.c
+@@ -577,11 +577,10 @@ bus_dbus_impl_destroy (BusDBusImpl *dbus)
+     dbus->rules = NULL;
+ 
+     for (p = dbus->connections; p != NULL; p = p->next) {
+-        GDBusConnection *connection = G_DBUS_CONNECTION (p->data);
++        BusConnection *connection = BUS_CONNECTION (p->data);
+         g_signal_handlers_disconnect_by_func (connection,
+                 bus_dbus_impl_connection_destroy_cb, dbus);
+-        /* FIXME should handle result? */
+-        g_dbus_connection_close (connection, NULL, NULL, NULL);
++        ibus_object_destroy (IBUS_OBJECT (connection));
+         g_object_unref (connection);
+     }
+     g_list_free (dbus->connections);
 diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
-index a7ae52b..0b3e90e 100644
+index a7ae52b..b356b2c 100644
 --- a/bus/ibusimpl.c
 +++ b/bus/ibusimpl.c
-@@ -1678,6 +1678,8 @@ _ibus_exit (BusIBusImpl           *ibus,
+@@ -24,9 +24,7 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <signal.h>
+-#include <stdlib.h>
+ #include <locale.h>
+-#include <string.h>
+ #include <strings.h>
+ #include "types.h"
+ #include "ibusimpl.h"
+@@ -937,7 +935,6 @@ bus_ibus_impl_destroy (BusIBusImpl *ibus)
+         ibus->fake_context = NULL;
+     }
  
-     g_dbus_method_invocation_return_value (invocation, NULL);
+-    bus_server_quit ();
+     IBUS_OBJECT_CLASS (bus_ibus_impl_parent_class)->destroy (IBUS_OBJECT (ibus));
+ }
  
-+    bus_ibus_impl_destroy (ibus);
-+
-     /* Make sure the reply has been sent out before exit */
+@@ -1682,43 +1679,8 @@ _ibus_exit (BusIBusImpl           *ibus,
      g_dbus_connection_flush_sync (g_dbus_method_invocation_get_connection (invocation),
                                    NULL,
+                                   NULL);
+-    bus_server_quit ();
+ 
+-    if (!restart) {
+-        exit (0);
+-    }
+-    else {
+-        extern gchar **g_argv;
+-        gchar *exe;
+-        gint fd;
+-
+-        exe = g_strdup_printf ("/proc/%d/exe", getpid ());
+-        exe = g_file_read_link (exe, NULL);
+-
+-        if (exe == NULL)
+-            exe = BINDIR "/ibus-daemon";
+-
+-        /* close all fds except stdin, stdout, stderr */
+-        for (fd = 3; fd <= sysconf (_SC_OPEN_MAX); fd ++) {
+-            close (fd);
+-        }
+-
+-        execv (exe, g_argv);
+-
+-        /* If the server binary is replaced while the server is running,
+-         * "readlink /proc/[pid]/exe" might return a path with " (deleted)"
+-         * suffix. */
+-        const gchar suffix[] = " (deleted)";
+-        if (g_str_has_suffix (exe, suffix)) {
+-            exe [strlen (exe) - sizeof (suffix) + 1] = '\0';
+-            execv (exe, g_argv);
+-        }
+-        g_warning ("execv %s failed!", g_argv[0]);
+-        exit (-1);
+-    }
+-
+-    /* should not reach here */
+-    g_assert_not_reached ();
++    bus_server_quit (restart);
+ }
+ 
+ /**
+diff --git a/bus/server.c b/bus/server.c
+index d180513..c2ab9a4 100644
+--- a/bus/server.c
++++ b/bus/server.c
+@@ -21,6 +21,8 @@
+  */
+ #include "server.h"
+ #include <gio/gio.h>
++#include <stdlib.h>
++#include <string.h>
+ #include "dbusimpl.h"
+ #include "ibusimpl.h"
+ #include "option.h"
+@@ -30,6 +32,40 @@ static GMainLoop *mainloop = NULL;
+ static BusDBusImpl *dbus = NULL;
+ static BusIBusImpl *ibus = NULL;
+ static gchar *address = NULL;
++static gboolean _restart = FALSE;
++
++static void
++_restart_server (void)
++{
++    extern gchar **g_argv;
++    gchar *exe;
++    gint fd;
++
++    exe = g_strdup_printf ("/proc/%d/exe", getpid ());
++    exe = g_file_read_link (exe, NULL);
++
++    if (exe == NULL)
++        exe = BINDIR "/ibus-daemon";
++
++    /* close all fds except stdin, stdout, stderr */
++    for (fd = 3; fd <= sysconf (_SC_OPEN_MAX); fd ++) {
++        close (fd);
++    }
++
++    _restart = FALSE;
++    execv (exe, g_argv);
++
++    /* If the server binary is replaced while the server is running,
++     * "readlink /proc/[pid]/exe" might return a path with " (deleted)"
++     * suffix. */
++    const gchar suffix[] = " (deleted)";
++    if (g_str_has_suffix (exe, suffix)) {
++        exe [strlen (exe) - sizeof (suffix) + 1] = '\0';
++        execv (exe, g_argv);
++    }
++    g_warning ("execv %s failed!", g_argv[0]);
++    exit (-1);
++}
+ 
+ /**
+  * bus_new_connection_cb:
+@@ -112,11 +148,23 @@ bus_server_run (void)
+     mainloop = NULL;
+     g_free (address);
+     address = NULL;
++
++    /* When _ibus_exit() is called, bus_ibus_impl_destroy() needs
++     * to be called so that waitpid() prevents the processes from
++     * becoming the daemons. So we run execv() after
++     * ibus_object_destroy(ibus) is called here. */
++    if (_restart) {
++        _restart_server ();
++
++        /* should not reach here */
++        g_assert_not_reached ();
++    }
+ }
+ 
+ void
+-bus_server_quit (void)
++bus_server_quit (gboolean restart)
+ {
++    _restart = restart;
+     if (mainloop)
+         g_main_loop_quit (mainloop);
+ }
+diff --git a/bus/server.h b/bus/server.h
+index 6dfd79a..e1cb3ec 100644
+--- a/bus/server.h
++++ b/bus/server.h
+@@ -43,10 +43,11 @@ void         bus_server_run         (void);
+ 
+ /**
+  * bus_server_quit:
++ * @restart: TRUE if ibus-daemon restarts.
+  *
+  * Quit the glib main loop.
+  */
+-void         bus_server_quit        (void);
++void         bus_server_quit        (gboolean restart);
+ 
+ /**
+  * bus_server_get_address:
+diff --git a/src/ibusbus.c b/src/ibusbus.c
+index 0e9418e..39ad784 100644
+--- a/src/ibusbus.c
++++ b/src/ibusbus.c
+@@ -236,7 +236,13 @@ _connection_closed_cb (GDBusConnection  *connection,
+                        IBusBus          *bus)
+ {
+     if (error) {
+-        g_warning ("_connection_closed_cb: %s", error->message);
++        /* We replaced g_warning with g_debug here because
++         * currently when ibus-daemon restarts, GTK client calls this and
++         * _g_dbus_worker_do_read_cb() sets the error message:
++         * "Underlying GIOStream returned 0 bytes on an async read"
++         * http://git.gnome.org/browse/glib/tree/gio/gdbusprivate.c#n693
++         * However we think the error message is almost harmless. */
++        g_debug ("_connection_closed_cb: %s", error->message);
+     }
+ 
+     g_assert (bus->priv->connection == connection);
 -- 
-1.7.4.2
+1.7.4.4
 

diff --git a/ibus.spec b/ibus.spec
index 9c35bf2..6e3049e 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -12,8 +12,8 @@
 %define gnome_icon_theme_legacy_version 2.91.6
 
 Name:       ibus
-Version:    1.3.99.20110408
-Release:    5%{?dist}
+Version:    1.3.99.20110419
+Release:    1%{?dist}
 Summary:    Intelligent Input Bus for Linux OS
 License:    LGPLv2+
 Group:      System Environment/Libraries
@@ -21,7 +21,7 @@ URL:        http://code.google.com/p/ibus/
 Source0:    http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
 Source1:    xinput-ibus
 %if %have_gjsfile
-Source2:    http://fujiwara.fedorapeople.org/ibus/gnome-shell/gnome-shell-ibus-plugins-20110317.tar.bz2
+Source2:    http://fujiwara.fedorapeople.org/ibus/gnome-shell/gnome-shell-ibus-plugins-20110601.tar.bz2
 %endif
 Source3:    https://www.transifex.net/projects/p/ibus/resource/master/l/da/download/ibus_master_da.po
 Patch0:     ibus-HEAD.patch
@@ -143,6 +143,10 @@ The ibus-devel-docs package contains developer documentation for ibus
 %setup -q
 %if %have_gjsfile
 bzcat %SOURCE2 | tar xf -
+sed -i \
+  -e "s|Config.IBUS_XKB|'/usr/libexec/ibus-xkb'|" \
+  -e "s|Config.HAVE_IBUS_XKB|true|" \
+  js/ui/status/ibus/xkbLayout.js
 %endif
 cp %SOURCE3 po/da.po
 %patch0 -p1
@@ -328,11 +332,13 @@ fi
 %{_datadir}/gtk-doc/html/*
 
 %changelog
-* Thu May 26 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.3.99.20110408-5
+* Thu May 26 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.3.99.20110419-1
+- Updated to 1.3.99.20110419
 - Added ibus-HEAD.patch
   Fixed Bug 697471 - ibus-gconf zombie when restart ibus from ibus panel.
 - Updated ibus-541492-xkb.patch
   Fixed Bug 701202 - us(dvorak) does not show up in list
+  Updated ibus-1.0.pc for ibus-xkb
   Showed XKB variant descriptions only without layout descriptions.
 - Updated ibus-xx-setup-frequent-lang.patch
   Updated UI strings

diff --git a/sources b/sources
index afe4d57..a92cbb8 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-6ce34da8e9283d6df076bf6af9bbf815  ibus-1.3.99.20110408.tar.gz
-2d6991ca7d3147aa486b6297872bed5f  gnome-shell-ibus-plugins-20110317.tar.bz2
+d4f2729fecb92ae6b41f26c770b1a772  ibus-1.3.99.20110419.tar.gz
+64e556364ee619d51e80397086b1d244  gnome-shell-ibus-plugins-20110601.tar.bz2
 698c90edf0f037488e1aa969804e891f  ibus_master_da.po

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-05-31  2:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-31  2:05 [rpms/ibus] autotool: Updated to 1.3.99.20110419 Takao Fujiwara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox