Updated to 1.3.99.20110419
- Updated ibus-541492-xkb.patch Updated ibus-1.0.pc for ibus-xkb
This commit is contained in:
parent
edef368983
commit
84d8da5428
2
.gitignore
vendored
2
.gitignore
vendored
@ -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
|
||||
|
@ -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
|
||||
|
229
ibus-HEAD.patch
229
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
|
||||
|
||||
|
14
ibus.spec
14
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
|
||||
|
4
sources
4
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
|
||||
|
Loading…
Reference in New Issue
Block a user