Add systemd unit file
- Do not mkdir abstract unix socket - Fix IBus.key_event_from_string
This commit is contained in:
parent
7fd881404a
commit
ee71d023a9
630
ibus-HEAD.patch
630
ibus-HEAD.patch
@ -1644,16 +1644,634 @@ index e8d0ce2b..6abf8427 100644
|
|||||||
--
|
--
|
||||||
2.33.1
|
2.33.1
|
||||||
|
|
||||||
From 3abcb19619750e242e1641c1c443fb460f055289 Mon Sep 17 00:00:00 2001
|
From dfd3fbf26fa4b5ff20512b166a8dd321afc10344 Mon Sep 17 00:00:00 2001
|
||||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
Date: Tue, 18 Jan 2022 17:03:53 +0900
|
Date: Thu, 3 Feb 2022 17:31:08 +0900
|
||||||
Subject: [PATCH] src/tests: Update ibus-desktop-testing-autostart
|
Subject: [PATCH] bus: Do not mkdir abstract unix socket
|
||||||
|
|
||||||
|
IBus ran mkdir for unix abstract sockets for --address=unix:abstract
|
||||||
|
but should not need to mkdir.
|
||||||
|
|
||||||
|
BUG=https://github.com/ibus/ibus/issues/2363
|
||||||
---
|
---
|
||||||
src/tests/ibus-desktop-testing-autostart | 2+
|
bus/server.c | 8 ++++++--
|
||||||
src/tests/ibus-desktop-testing.desktop.in | 2 +-
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
2 file changed, 3 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
|
diff --git a/bus/server.c b/bus/server.c
|
||||||
|
index 6abf8427..968d5346 100644
|
||||||
|
--- a/bus/server.c
|
||||||
|
+++ b/bus/server.c
|
||||||
|
@@ -265,13 +265,15 @@ bus_server_init (void)
|
||||||
|
const char *unix_path = socket_address + strlen (prefix); \
|
||||||
|
unix_dir = g_path_get_dirname (unix_path); \
|
||||||
|
}
|
||||||
|
+#define IF_GET_UNIX_DIR_FROM_ABSTRACT(prefix) \
|
||||||
|
+ if (g_str_has_prefix (socket_address, (prefix))) {}
|
||||||
|
|
||||||
|
|
||||||
|
IF_GET_UNIX_DIR_FROM_DIR (IBUS_UNIX_TMPDIR)
|
||||||
|
else
|
||||||
|
IF_GET_UNIX_DIR_FROM_PATH (IBUS_UNIX_PATH)
|
||||||
|
else
|
||||||
|
- IF_GET_UNIX_DIR_FROM_PATH (IBUS_UNIX_ABSTRACT)
|
||||||
|
+ IF_GET_UNIX_DIR_FROM_ABSTRACT (IBUS_UNIX_ABSTRACT)
|
||||||
|
else
|
||||||
|
IF_GET_UNIX_DIR_FROM_DIR (IBUS_UNIX_DIR)
|
||||||
|
else {
|
||||||
|
@@ -281,7 +283,8 @@ bus_server_init (void)
|
||||||
|
IBUS_UNIX_ABSTRACT "FILE, " IBUS_UNIX_DIR "DIR.",
|
||||||
|
socket_address);
|
||||||
|
}
|
||||||
|
- if (!g_file_test (unix_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
|
||||||
|
+ if (unix_dir &&
|
||||||
|
+ !g_file_test (unix_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
|
||||||
|
/* Require mkdir for BSD system.
|
||||||
|
* The mode 0700 can eliminate malicious users change the mode.
|
||||||
|
* `chmod` runs for the last directory only not to change the modes
|
||||||
|
@@ -337,6 +340,7 @@ bus_server_init (void)
|
||||||
|
|
||||||
|
#undef IF_GET_UNIX_DIR_FROM_DIR
|
||||||
|
#undef IF_GET_UNIX_DIR_FROM_PATH
|
||||||
|
+#undef IF_GET_UNIX_DIR_FROM_ABSTRACT
|
||||||
|
#undef IBUS_UNIX_TMPDIR
|
||||||
|
#undef IBUS_UNIX_PATH
|
||||||
|
#undef IBUS_UNIX_ABSTRACT
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
From c69b61aa66239e1b13c9764b2d3bf6f02d086785 Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Fri, 4 Feb 2022 15:08:36 +0900
|
||||||
|
Subject: [PATCH] src: Fix ibus_key_event_from_string for
|
||||||
|
gobject-introspection
|
||||||
|
|
||||||
|
BUG=https://github.com/ibus/ibus/issues/2330
|
||||||
|
---
|
||||||
|
src/ibusshare.h | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/ibusshare.h b/src/ibusshare.h
|
||||||
|
index d70af29f..d739e2ff 100644
|
||||||
|
--- a/src/ibusshare.h
|
||||||
|
+++ b/src/ibusshare.h
|
||||||
|
@@ -2,8 +2,8 @@
|
||||||
|
/* vim:set et sts=4: */
|
||||||
|
/* ibus - The Input Bus
|
||||||
|
* Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
|
||||||
|
- * Copyright (C) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
- * Copyright (C) 2008-2018 Red Hat, Inc.
|
||||||
|
+ * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
+ * Copyright (C) 2008-2022 Red Hat, Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@@ -333,8 +333,8 @@ gchar *ibus_key_event_to_string
|
||||||
|
/**
|
||||||
|
* ibus_key_event_from_string:
|
||||||
|
* @string: Key event string.
|
||||||
|
- * @keyval: Variable that hold key symbol result.
|
||||||
|
- * @modifiers: Variable that hold modifiers result.
|
||||||
|
+ * @keyval: (out): Variable that hold key symbol result.
|
||||||
|
+ * @modifiers: (out): Variable that hold modifiers result.
|
||||||
|
*
|
||||||
|
* Parse key event string and return key symbol and modifiers.
|
||||||
|
*
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
From a076b388d856aeb4c8f8317dd6cd9dd6d61fe9ac Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carlos Garnacho <carlosg@gnome.org>
|
||||||
|
Date: Wed, 4 Nov 2020 10:48:45 +0100
|
||||||
|
Subject: [PATCH] src, client/x11: Add systemd unit file
|
||||||
|
|
||||||
|
This so far depends on GNOME targets, and is thus just usable there.
|
||||||
|
Other DEs wishing to use systemd and ibus will need to add the
|
||||||
|
necessary dependencies where applicable.
|
||||||
|
|
||||||
|
There are 2 scenarios here:
|
||||||
|
- On X11 sessions, ibus-daemon will be launched with --xim parameter,
|
||||||
|
so ibus-x11 is started with it.
|
||||||
|
- On Wayland sessions, ibus-daemon will be started without XIM support,
|
||||||
|
ibus-x11 will be launched and tear down together with all other
|
||||||
|
session X11 services while Xwayland is running.
|
||||||
|
|
||||||
|
For the second part of the second situation, additionally install
|
||||||
|
a script at /etc/xdg/Xwayland-session.d, which takes care of X11
|
||||||
|
service initialization together with the Xwayland instance.
|
||||||
|
|
||||||
|
BUG=https://github.com/ibus/ibus/pull/2377
|
||||||
|
---
|
||||||
|
client/x11/10-ibus-x11.in | 2 ++
|
||||||
|
client/x11/Makefile.am | 18 ++++++++++++
|
||||||
|
configure.ac | 17 +++++++++++
|
||||||
|
src/Makefile.am | 16 +++++++++++
|
||||||
|
....freedesktop.IBus.session.GNOME.service.in | 28 +++++++++++++++++++
|
||||||
|
5 files changed, 81 insertions(+)
|
||||||
|
create mode 100755 client/x11/10-ibus-x11.in
|
||||||
|
create mode 100644 bus/services/org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
|
||||||
|
diff --git a/client/x11/10-ibus-x11.in b/client/x11/10-ibus-x11.in
|
||||||
|
new file mode 100755
|
||||||
|
index 00000000..973cbb6f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/client/x11/10-ibus-x11.in
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+@libexecdir@/ibus-x11 &
|
||||||
|
diff --git a/client/x11/Makefile.am b/client/x11/Makefile.am
|
||||||
|
index 12de6ea8..90454bcf 100644
|
||||||
|
--- a/client/x11/Makefile.am
|
||||||
|
+++ b/client/x11/Makefile.am
|
||||||
|
@@ -67,6 +67,16 @@ noinst_HEADERS = \
|
||||||
|
locales.h \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
+xwaylandsessiond_in_files = 10-ibus-x11.in
|
||||||
|
+xwaylandsessiond_DATA = $(xwaylandsessiond_in_files:.in=)
|
||||||
|
+xwaylandsessionddir=$(sysconfdir)/xdg/Xwayland-session.d
|
||||||
|
+
|
||||||
|
+10-ibus-x11: 10-ibus-x11.in
|
||||||
|
+ $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@.tmp && mv $@.tmp $@
|
||||||
|
+
|
||||||
|
+install-data-hook:
|
||||||
|
+ chmod 755 $(DESTDIR)$(xwaylandsessionddir)/10-ibus-x11
|
||||||
|
+
|
||||||
|
$(libIMdkit):
|
||||||
|
(cd $(top_builddir)/util/IMdkit; make)
|
||||||
|
|
||||||
|
@@ -81,4 +91,12 @@ locales.h:
|
||||||
|
xargs python -c 'import sys;print "#define LOCALES_STRING \"%s\"" % ",".join(sys.argv[1:])' \
|
||||||
|
) > $@
|
||||||
|
|
||||||
|
+CLEANFILES = \
|
||||||
|
+ $(xwaylandsessiond_DATA) \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
|
+EXTRA_DIST = \
|
||||||
|
+ 10-ibus-x11.in \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
|
-include $(top_srcdir)/git.mk
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index ce096ad3..73c5e429 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -393,6 +393,22 @@ if test x"$enable_dconf" = x"yes"; then
|
||||||
|
enable_dconf="yes (enabled, use --disable-dconf to disable)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
+AC_ARG_ENABLE(systemd-services,
|
||||||
|
+ AS_HELP_STRING([--disable-systemd-services],
|
||||||
|
+ [Disable systemd services installation]),
|
||||||
|
+ [enable_systemd=$enableval],
|
||||||
|
+ [enable_systemd=yes]
|
||||||
|
+)
|
||||||
|
+AM_CONDITIONAL([ENABLE_SYSTEMD], [test x"$enable_systemd" = x"yes"])
|
||||||
|
+
|
||||||
|
+if test x"$enable_systemd" = x"yes"; then
|
||||||
|
+ PKG_CHECK_MODULES(SYSTEMD, [
|
||||||
|
+ systemd >= 0.7.5
|
||||||
|
+ ])
|
||||||
|
+ AC_SUBST([SYSTEMD_USER_UNIT_DIR], [`$PKG_CONFIG --variable systemduserunitdir systemd`])
|
||||||
|
+ enable_systemd="yes (enabled, use --disable-systemd-services to disable)"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
# Check env.
|
||||||
|
AC_PATH_PROG(ENV_IBUS_TEST, env)
|
||||||
|
AC_SUBST(ENV_IBUS_TEST)
|
||||||
|
@@ -860,6 +876,7 @@ Build options:
|
||||||
|
UCD directory $UCD_DIR
|
||||||
|
Socket directory "$IBUS_SOCKET_DIR"
|
||||||
|
XFixes client disconnect $have_xfixes
|
||||||
|
+ Install systemd service $enable_systemd
|
||||||
|
Run test cases $enable_tests
|
||||||
|
Install tests $enable_install_tests
|
||||||
|
])
|
||||||
|
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||||
|
index 578694b5..bbaa6c90 100644
|
||||||
|
--- a/src/Makefile.am
|
||||||
|
+++ b/src/Makefile.am
|
||||||
|
@@ -317,6 +317,11 @@ install-data-hook:
|
||||||
|
rm "$(DESTDIR)$(dictdir)/$$file" || exit $$?; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
+ $(MKDIR_P) "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants/"
|
||||||
|
+ ( \
|
||||||
|
+ cd "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants" ; \
|
||||||
|
+ $(LN_S) -f "../org.freedesktop.IBus.session.GNOME.service" .; \
|
||||||
|
+ )
|
||||||
|
|
||||||
|
emoji_parser_SOURCES = \
|
||||||
|
emoji-parser.c \
|
||||||
|
@@ -383,7 +388,17 @@ clean-local:
|
||||||
|
$(NULL)
|
||||||
|
endif
|
||||||
|
|
||||||
|
+if ENABLE_SYSTEMD
|
||||||
|
+systemdservice_in_files = org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
+systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
|
||||||
|
+systemdservicedir=$(SYSTEMD_USER_UNIT_DIR)
|
||||||
|
+
|
||||||
|
+org.freedesktop.IBus.session.GNOME.service: org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
+ $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" $< > $@.tmp && mv $@.tmp $@
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
EXTRA_DIST = \
|
||||||
|
+ org.freedesktop.IBus.session.GNOME.service.in \
|
||||||
|
emoji-parser.c \
|
||||||
|
ibusversion.h.in \
|
||||||
|
ibusmarshalers.list \
|
||||||
|
@@ -393,6 +408,7 @@ EXTRA_DIST = \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
CLEANFILES += \
|
||||||
|
+ $(systemdservice_DATA) \
|
||||||
|
$(BUILT_SOURCES) \
|
||||||
|
stamp-ibusmarshalers.h \
|
||||||
|
stamp-ibusenumtypes.h \
|
||||||
|
diff --git a/bus/services/org.freedesktop.IBus.session.GNOME.service.in b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..76444dbd
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
@@ -0,0 +1,28 @@
|
||||||
|
+[Unit]
|
||||||
|
+Description=IBus Daemon
|
||||||
|
+CollectMode=inactive-or-failed
|
||||||
|
+
|
||||||
|
+# Require GNOME session and specify startup ordering
|
||||||
|
+Requisite=gnome-session-initialized.target
|
||||||
|
+After=gnome-session-initialized.target
|
||||||
|
+PartOf=gnome-session-initialized.target
|
||||||
|
+Before=gnome-session.target
|
||||||
|
+
|
||||||
|
+# Needs to run when DISPLAY/WAYLAND_DISPLAY is set
|
||||||
|
+After=gnome-session-initialized.target
|
||||||
|
+PartOf=gnome-session-initialized.target
|
||||||
|
+
|
||||||
|
+# Never run in GDM
|
||||||
|
+Conflicts=gnome-session@gnome-login.target
|
||||||
|
+
|
||||||
|
+[Service]
|
||||||
|
+Type=dbus
|
||||||
|
+# Only pull --xim in X11 session, it is done via Xwayland-session.d on Wayland
|
||||||
|
+ExecStart=sh -c '@bindir@/ibus-daemon --panel disable $([[ $XDG_SESSION_TYPE == "x11" ]] && echo "--xim")'
|
||||||
|
+Restart=on-abnormal
|
||||||
|
+BusName=org.freedesktop.IBus
|
||||||
|
+TimeoutStopSec=5
|
||||||
|
+Slice=session.slice
|
||||||
|
+
|
||||||
|
+[Install]
|
||||||
|
+WantedBy=gnome-session.target
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
From 9a87a78549cb938c4810bcd311dd36823afd0fcd Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Sat, 12 Feb 2022 10:50:54 +0900
|
||||||
|
Subject: [PATCH] src/services: Add org.freedesktop.IBus.session.generic.service
|
||||||
|
|
||||||
|
Move bus/*.service.in & src/*.service.in into bus/services
|
||||||
|
|
||||||
|
BUG=https://github.com/ibus/ibus/pull/2381
|
||||||
|
---
|
||||||
|
bus/Makefile.am | 16 +----
|
||||||
|
bus/services/Makefile.am | 68 +++++++++++++++++++
|
||||||
|
.../org.freedesktop.IBus.service.in | 0
|
||||||
|
....freedesktop.IBus.session.GNOME.service.in | 2 +-
|
||||||
|
...reedesktop.IBus.session.generic.service.in | 15 ++++
|
||||||
|
configure.ac | 48 ++++++-------
|
||||||
|
src/Makefile.am | 16 -----
|
||||||
|
7 files changed, 112 insertions(+), 53 deletions(-)
|
||||||
|
create mode 100644 bus/services/Makefile.am
|
||||||
|
create mode 100644 bus/services/org.freedesktop.IBus.service.in
|
||||||
|
create mode 100644 bus/services/org.freedesktop.IBus.session.generic.service.in
|
||||||
|
|
||||||
|
diff --git a/bus/Makefile.am b/bus/Makefile.am
|
||||||
|
index 4383a874..e173ee25 100644
|
||||||
|
--- a/bus/Makefile.am
|
||||||
|
+++ b/bus/Makefile.am
|
||||||
|
@@ -3,8 +3,8 @@
|
||||||
|
# ibus - The Input Bus
|
||||||
|
#
|
||||||
|
# Copyright (c) 2007-2013 Peng Huang <shawn.p.huang@gmail.com>
|
||||||
|
-# Copyright (c) 2013-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
-# Copyright (c) 2007-2018 Red Hat, Inc.
|
||||||
|
+# Copyright (c) 2013-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
+# Copyright (c) 2007-2022 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This library is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
|
@@ -22,6 +22,7 @@
|
||||||
|
# USA
|
||||||
|
|
||||||
|
NULL =
|
||||||
|
+SUBDIRS = . services
|
||||||
|
|
||||||
|
libibus = $(top_builddir)/src/libibus-@IBUS_API_VERSION@.la
|
||||||
|
|
||||||
|
@@ -190,15 +191,4 @@ man_onedir = $(mandir)/man1
|
||||||
|
%.1.gz: %.1
|
||||||
|
$(AM_V_GEN) gzip -c $< > $@.tmp && mv $@.tmp $@
|
||||||
|
|
||||||
|
-
|
||||||
|
-dbusservice_in_files = org.freedesktop.IBus.service.in
|
||||||
|
-dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
|
||||||
|
-dbusservicedir=${datadir}/dbus-1/services
|
||||||
|
-
|
||||||
|
-org.freedesktop.IBus.service: org.freedesktop.IBus.service.in
|
||||||
|
- $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" -e "s|\@xim_cli_arg\@|$(XIM_CLI_ARG)|" $< > $@.tmp && mv $@.tmp $@
|
||||||
|
-
|
||||||
|
-EXTRA_DIST += $(dbusservice_in_files)
|
||||||
|
-CLEANFILES += $(dbusservice_DATA)
|
||||||
|
-
|
||||||
|
-include $(top_srcdir)/git.mk
|
||||||
|
diff --git a/bus/services/Makefile.am b/bus/services/Makefile.am
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..53c21f58
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bus/services/Makefile.am
|
||||||
|
@@ -0,0 +1,68 @@
|
||||||
|
+# vim:set noet ts=4:
|
||||||
|
+#
|
||||||
|
+# ibus - The Input Bus
|
||||||
|
+#
|
||||||
|
+# Copyright (c) 2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
+# Copyright (c) 2022 Red Hat, Inc.
|
||||||
|
+#
|
||||||
|
+# This library is free software; you can redistribute it and/or
|
||||||
|
+# modify it under the terms of the GNU Lesser General Public
|
||||||
|
+# License as published by the Free Software Foundation; either
|
||||||
|
+# version 2.1 of the License, or (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This library is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
+# Lesser General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU Lesser General Public
|
||||||
|
+# License along with this library; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||||
|
+# USA
|
||||||
|
+
|
||||||
|
+NULL =
|
||||||
|
+
|
||||||
|
+# Originally this file was added for GNOME but seems not to be used
|
||||||
|
+# at present.
|
||||||
|
+#
|
||||||
|
+# TODO: Check if flatpack uses this file and we could rename
|
||||||
|
+# org.freedesktop.IBus.service to org.freedesktop.IBus.DBus.GNOME.service
|
||||||
|
+dbusservice_in_files = org.freedesktop.IBus.service.in
|
||||||
|
+dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
|
||||||
|
+dbusservicedir=${datadir}/dbus-1/services
|
||||||
|
+
|
||||||
|
+systemdservice_in_files = \
|
||||||
|
+ org.freedesktop.IBus.session.generic.service.in \
|
||||||
|
+ org.freedesktop.IBus.session.GNOME.service.in \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
|
+%.service: %.service.in
|
||||||
|
+ $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" \
|
||||||
|
+ -e "s|\@xim_cli_arg\@|$(XIM_CLI_ARG)|" $< > $@.tmp && \
|
||||||
|
+ mv $@.tmp $@
|
||||||
|
+
|
||||||
|
+if ENABLE_SYSTEMD
|
||||||
|
+systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
|
||||||
|
+systemdservicedir = $(SYSTEMD_USER_UNIT_DIR)
|
||||||
|
+
|
||||||
|
+# in install-data-hook.
|
||||||
|
+install-data-hook:
|
||||||
|
+ $(MKDIR_P) "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants/"
|
||||||
|
+ ( \
|
||||||
|
+ cd "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants" ; \
|
||||||
|
+ $(LN_S) -f "../org.freedesktop.IBus.session.GNOME.service" .; \
|
||||||
|
+ )
|
||||||
|
+ $(NULL)
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+EXTRA_DIST = \
|
||||||
|
+ $(dbusservice_in_files) \
|
||||||
|
+ $(systemdservice_in_files) \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
|
+CLEANFILES = \
|
||||||
|
+ $(dbusservice_DATA) \
|
||||||
|
+ $(systemdservice_DATA) \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
|
+-include $(top_srcdir)/git.mk
|
||||||
|
diff --git a/bus/org.freedesktop.IBus.service.in b/bus/services/org.freedesktop.IBus.service.in
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..9d493159
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bus/services/org.freedesktop.IBus.service.in
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+[D-BUS Service]
|
||||||
|
+Name=org.freedesktop.IBus
|
||||||
|
+Exec=@bindir@/ibus-daemon --replace --panel disable @xim_cli_arg@
|
||||||
|
diff --git a/bus/services/org.freedesktop.IBus.session.GNOME.service.in b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
index 76444dbd..a99370fa 100644
|
||||||
|
--- a/bus/services/org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
+++ b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
[Unit]
|
||||||
|
-Description=IBus Daemon
|
||||||
|
+Description=IBus Daemon for GNOME
|
||||||
|
CollectMode=inactive-or-failed
|
||||||
|
|
||||||
|
# Require GNOME session and specify startup ordering
|
||||||
|
diff --git a/bus/services/org.freedesktop.IBus.session.generic.service.in b/bus/services/org.freedesktop.IBus.session.generic.service.in
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..9d493159
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bus/services/org.freedesktop.IBus.session.generic.service.in
|
||||||
|
@@ -0,0 +1,15 @@
|
||||||
|
+[Unit]
|
||||||
|
+Description=IBus Daemon for generic sessions
|
||||||
|
+CollectMode=inactive-or-failed
|
||||||
|
+
|
||||||
|
+# Never run in GNOME
|
||||||
|
+Conflicts=gnome-session-initialized.target
|
||||||
|
+
|
||||||
|
+[Service]
|
||||||
|
+Type=dbus
|
||||||
|
+# Only pull --xim in X11 session, it is done via Xwayland-session.d on Wayland
|
||||||
|
+ExecStart=sh -c '@bindir@/ibus-daemon $IBUS_DAEMON_ARGS'
|
||||||
|
+Restart=on-abnormal
|
||||||
|
+BusName=org.freedesktop.IBus
|
||||||
|
+TimeoutStopSec=5
|
||||||
|
+Slice=session.slice
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 73c5e429..4137e6cc 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -3,8 +3,8 @@
|
||||||
|
# ibus - The Input Bus
|
||||||
|
#
|
||||||
|
# Copyright (c) 2007-2016 Peng Huang <shawn.p.huang@gmail.com>
|
||||||
|
-# Copyright (c) 2015-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
-# Copyright (c) 2007-2021 Red Hat, Inc.
|
||||||
|
+# Copyright (c) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
+# Copyright (c) 2007-2022 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This library is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
|
@@ -791,24 +791,22 @@ AC_SUBST(XKBCONFIG_BASE)
|
||||||
|
AC_SUBST([GDBUS_CODEGEN], [`$PKG_CONFIG --variable gdbus_codegen gio-2.0`])
|
||||||
|
|
||||||
|
# OUTPUT files
|
||||||
|
-AC_CONFIG_FILES([ po/Makefile.in
|
||||||
|
-Makefile
|
||||||
|
-ibus-1.0.pc
|
||||||
|
-ibus.spec
|
||||||
|
+AC_CONFIG_FILES([
|
||||||
|
+po/Makefile.in
|
||||||
|
+bindings/Makefile
|
||||||
|
+bindings/pygobject/Makefile
|
||||||
|
+bindings/vala/Makefile
|
||||||
|
+bus/Makefile
|
||||||
|
+bus/services/Makefile
|
||||||
|
client/Makefile
|
||||||
|
client/gtk2/Makefile
|
||||||
|
client/gtk3/Makefile
|
||||||
|
client/gtk4/Makefile
|
||||||
|
client/x11/Makefile
|
||||||
|
client/wayland/Makefile
|
||||||
|
-src/Makefile
|
||||||
|
-src/ibusversion.h
|
||||||
|
-src/tests/Makefile
|
||||||
|
-bus/Makefile
|
||||||
|
-portal/Makefile
|
||||||
|
-engine/Makefile
|
||||||
|
-util/Makefile
|
||||||
|
-util/IMdkit/Makefile
|
||||||
|
+conf/Makefile
|
||||||
|
+conf/dconf/Makefile
|
||||||
|
+conf/memconf/Makefile
|
||||||
|
data/Makefile
|
||||||
|
data/annotations/Makefile
|
||||||
|
data/icons/Makefile
|
||||||
|
@@ -819,20 +817,24 @@ docs/Makefile
|
||||||
|
docs/reference/Makefile
|
||||||
|
docs/reference/ibus/ibus-docs.sgml
|
||||||
|
docs/reference/ibus/Makefile
|
||||||
|
-m4/Makefile
|
||||||
|
+engine/Makefile
|
||||||
|
ibus/_config.py
|
||||||
|
ibus/Makefile
|
||||||
|
ibus/interface/Makefile
|
||||||
|
-ui/Makefile
|
||||||
|
-ui/gtk3/Makefile
|
||||||
|
+m4/Makefile
|
||||||
|
+portal/Makefile
|
||||||
|
setup/Makefile
|
||||||
|
-bindings/Makefile
|
||||||
|
-bindings/pygobject/Makefile
|
||||||
|
-bindings/vala/Makefile
|
||||||
|
-conf/Makefile
|
||||||
|
-conf/dconf/Makefile
|
||||||
|
-conf/memconf/Makefile
|
||||||
|
+src/Makefile
|
||||||
|
+src/ibusversion.h
|
||||||
|
+src/tests/Makefile
|
||||||
|
tools/Makefile
|
||||||
|
+ui/Makefile
|
||||||
|
+ui/gtk3/Makefile
|
||||||
|
+util/Makefile
|
||||||
|
+util/IMdkit/Makefile
|
||||||
|
+Makefile
|
||||||
|
+ibus-1.0.pc
|
||||||
|
+ibus.spec
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
|
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||||
|
index bbaa6c90..578694b5 100644
|
||||||
|
--- a/src/Makefile.am
|
||||||
|
+++ b/src/Makefile.am
|
||||||
|
@@ -317,11 +317,6 @@ install-data-hook:
|
||||||
|
rm "$(DESTDIR)$(dictdir)/$$file" || exit $$?; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
- $(MKDIR_P) "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants/"
|
||||||
|
- ( \
|
||||||
|
- cd "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants" ; \
|
||||||
|
- $(LN_S) -f "../org.freedesktop.IBus.session.GNOME.service" .; \
|
||||||
|
- )
|
||||||
|
|
||||||
|
emoji_parser_SOURCES = \
|
||||||
|
emoji-parser.c \
|
||||||
|
@@ -388,17 +383,7 @@ clean-local:
|
||||||
|
$(NULL)
|
||||||
|
endif
|
||||||
|
|
||||||
|
-if ENABLE_SYSTEMD
|
||||||
|
-systemdservice_in_files = org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
-systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
|
||||||
|
-systemdservicedir=$(SYSTEMD_USER_UNIT_DIR)
|
||||||
|
-
|
||||||
|
-org.freedesktop.IBus.session.GNOME.service: org.freedesktop.IBus.session.GNOME.service.in
|
||||||
|
- $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" $< > $@.tmp && mv $@.tmp $@
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
EXTRA_DIST = \
|
||||||
|
- org.freedesktop.IBus.session.GNOME.service.in \
|
||||||
|
emoji-parser.c \
|
||||||
|
ibusversion.h.in \
|
||||||
|
ibusmarshalers.list \
|
||||||
|
@@ -408,7 +393,6 @@ EXTRA_DIST = \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
CLEANFILES += \
|
||||||
|
- $(systemdservice_DATA) \
|
||||||
|
$(BUILT_SOURCES) \
|
||||||
|
stamp-ibusmarshalers.h \
|
||||||
|
stamp-ibusenumtypes.h \
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
From e325fc21b492eee83cb93712472495059395dc7b Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Sat, 12 Feb 2022 11:02:29 +0900
|
||||||
|
Subject: [PATCH] src/tests: Fix typos
|
||||||
|
|
||||||
|
- test_metas_in location
|
||||||
|
- Check ibus processes in CI
|
||||||
|
- Fix libexec path
|
||||||
|
---
|
||||||
|
src/tests/Makefile.am | 8 ++++----
|
||||||
|
src/tests/ibus-desktop-testing-autostart | 2 ++
|
||||||
|
src/tests/ibus-desktop-testing.desktop.in | 2 +-
|
||||||
|
3 files changed, 7 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
|
||||||
|
index 7d00f236..f932f18f 100644
|
||||||
|
--- a/src/tests/Makefile.am
|
||||||
|
+++ b/src/tests/Makefile.am
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
# ibus - The Input Bus
|
||||||
|
#
|
||||||
|
# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
|
||||||
|
-# Copyright (c) 2015-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
+# Copyright (c) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||||
|
# Copyright (c) 2007-2018 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This library is free software; you can redistribute it and/or
|
||||||
|
@@ -117,11 +117,11 @@ org.freedesktop.IBus.Desktop.Testing.desktop: ibus-desktop-testing.desktop.in
|
||||||
|
mv $@.tmp $@
|
||||||
|
endif
|
||||||
|
|
||||||
|
-$(test_metas): $(test_metas_in) $(test_programs)
|
||||||
|
+$(test_metas): $(test_metas_in)
|
||||||
|
f=`echo $@ | sed -e 's/\.test//'`; \
|
||||||
|
TEST_EXEC=$(test_execsdir)/$$f; \
|
||||||
|
- sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(test_metas_in) > $@.tmp; \
|
||||||
|
- mv $@.tmp $@; \
|
||||||
|
+ sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(srcdir)/$(test_metas_in) \
|
||||||
|
+ > $@.tmp && mv $@.tmp $@; \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
ibus-compose-locales: ibus-compose-locales.in
|
||||||
diff --git a/src/tests/ibus-desktop-testing-autostart b/src/tests/ibus-desktop-testing-autostart
|
diff --git a/src/tests/ibus-desktop-testing-autostart b/src/tests/ibus-desktop-testing-autostart
|
||||||
index da22b64e..1e1eb180 100755
|
index da22b64e..1e1eb180 100755
|
||||||
--- a/src/tests/ibus-desktop-testing-autostart
|
--- a/src/tests/ibus-desktop-testing-autostart
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
From d63da885f8f4e3764b8b572347b70a0cefadc335 Mon Sep 17 00:00:00 2001
|
From d63da885f8f4e3764b8b572347b70a0cefadc335 Mon Sep 17 00:00:00 2001
|
||||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
Date: Wed, 16 Jun 2021 20:55:20 +0900
|
Date: Fri, 11 Feb 2022 11:43:57 +0900
|
||||||
Subject: [PATCH] src/tests: Change window manager to mutter for RHEL
|
Subject: [PATCH] src/tests: Change window manager to mutter for RHEL
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -11,16 +11,16 @@ diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-t
|
|||||||
index 54b7e0d7..211e0da5 100755
|
index 54b7e0d7..211e0da5 100755
|
||||||
--- a/src/tests/ibus-desktop-testing-runner.in
|
--- a/src/tests/ibus-desktop-testing-runner.in
|
||||||
+++ b/src/tests/ibus-desktop-testing-runner.in
|
+++ b/src/tests/ibus-desktop-testing-runner.in
|
||||||
@@ -44,7 +44,7 @@ TEST_LOG="test-suite.log"
|
@@ -45,7 +45,7 @@ TEST_LOG_STDOUT=0
|
||||||
TEST_LOG_STDOUT=0
|
|
||||||
RESULT_LOG=""
|
RESULT_LOG=""
|
||||||
|
SCREEN_LOG=""
|
||||||
HAVE_GRAPHICS=1
|
HAVE_GRAPHICS=1
|
||||||
-DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session"
|
-DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session"
|
||||||
+DESKTOP_COMMAND="dbus-launch --exit-with-session mutter"
|
+DESKTOP_COMMAND="dbus-launch --exit-with-session mutter"
|
||||||
PID_XORG=0
|
PID_XORG=0
|
||||||
PID_GNOME_SESSION=0
|
PID_GNOME_SESSION=0
|
||||||
TESTING_RUNNER="default"
|
TESTING_RUNNER="default"
|
||||||
@@ -80,9 +80,9 @@ usage()
|
@@ -81,9 +81,9 @@ usage()
|
||||||
"-b, --builddir=BUILDDIR Set the BUILDDIR\n" \
|
"-b, --builddir=BUILDDIR Set the BUILDDIR\n" \
|
||||||
"-s, --srcdir=SOURCEDIR Set the SOURCEDIR\n" \
|
"-s, --srcdir=SOURCEDIR Set the SOURCEDIR\n" \
|
||||||
"-c, --no-graphics Use Xvfb instead of Xorg\n" \
|
"-c, --no-graphics Use Xvfb instead of Xorg\n" \
|
||||||
|
12
ibus.spec
12
ibus.spec
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
Name: ibus
|
Name: ibus
|
||||||
Version: 1.5.25
|
Version: 1.5.25
|
||||||
Release: 9%{?dist}
|
Release: 10%{?dist}
|
||||||
Summary: Intelligent Input Bus for Linux OS
|
Summary: Intelligent Input Bus for Linux OS
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://github.com/ibus/%name/wiki
|
URL: https://github.com/ibus/%name/wiki
|
||||||
@ -88,6 +88,7 @@ BuildRequires: wayland-devel
|
|||||||
BuildRequires: cldr-emoji-annotation
|
BuildRequires: cldr-emoji-annotation
|
||||||
BuildRequires: unicode-emoji
|
BuildRequires: unicode-emoji
|
||||||
BuildRequires: unicode-ucd
|
BuildRequires: unicode-ucd
|
||||||
|
BuildRequires: systemd
|
||||||
# for ibus-keypress
|
# for ibus-keypress
|
||||||
BuildRequires: libXtst-devel
|
BuildRequires: libXtst-devel
|
||||||
|
|
||||||
@ -433,6 +434,10 @@ dconf update || :
|
|||||||
%{_libexecdir}/ibus-x11
|
%{_libexecdir}/ibus-x11
|
||||||
%{_sysconfdir}/dconf/db/ibus.d
|
%{_sysconfdir}/dconf/db/ibus.d
|
||||||
%{_sysconfdir}/dconf/profile/ibus
|
%{_sysconfdir}/dconf/profile/ibus
|
||||||
|
%dir %{_sysconfdir}/xdg/Xwayland-session.d
|
||||||
|
%{_sysconfdir}/xdg/Xwayland-session.d/10-ibus-x11
|
||||||
|
%{_prefix}/lib/systemd/user/gnome-session.target.wants/*.service
|
||||||
|
%{_prefix}/lib/systemd/user/org.freedesktop.IBus.session.*.service
|
||||||
%python3_sitearch/gi/overrides/__pycache__/*.py*
|
%python3_sitearch/gi/overrides/__pycache__/*.py*
|
||||||
%python3_sitearch/gi/overrides/IBus.py
|
%python3_sitearch/gi/overrides/IBus.py
|
||||||
# ibus owns xinput.d because gnome does not like to depend on imsettings.
|
# ibus owns xinput.d because gnome does not like to depend on imsettings.
|
||||||
@ -517,6 +522,11 @@ dconf update || :
|
|||||||
%{_datadir}/installed-tests/ibus
|
%{_datadir}/installed-tests/ibus
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 11 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-10
|
||||||
|
- Do not mkdir abstract unix socket
|
||||||
|
- Fix IBus.key_event_from_string
|
||||||
|
- Add systemd unit file
|
||||||
|
|
||||||
* Thu Feb 03 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-9
|
* Thu Feb 03 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-9
|
||||||
- Change XKB layout string color in panel
|
- Change XKB layout string color in panel
|
||||||
- Add Ctrl-semicolon to Emoji shortcut key
|
- Add Ctrl-semicolon to Emoji shortcut key
|
||||||
|
Loading…
Reference in New Issue
Block a user