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

            A new commit has been pushed.

            Repo   : rpms/ibus
            Branch : autotool
            Commit : 8884c3400a7e6dfb3993c45a9444320792dc6d62
            Author : Takao Fujiwara <tfujiwar@redhat.com>
            Date   : 2020-02-13T19:38:11+09:00
            Stats  : +327/-6 in 3 file(s)
            URL    : https://src.fedoraproject.org/rpms/ibus/c/8884c3400a7e6dfb3993c45a9444320792dc6d62?branch=autotool

            Log:
            Fix abrt with cache dir

- Bug 1785276 - Fix abrt without XDG_CACHE_HOME/ibus
- Bug 1788754 - Fix abrt with NULL output of compose keys
- Bug 1787732 - Fix abrt in exit handlers in ibus-x11
- Bug 1795499 - Fix abrt in bus monitor handlers when ibus-daemon restarts
- Fix greek cases
- Increase sleep 3 to wait for running ibus-config in CI.

---
diff --git a/ibus-1385349-segv-bus-proxy.patch b/ibus-1385349-segv-bus-proxy.patch
index bb904e0..f58eacb 100644
--- a/ibus-1385349-segv-bus-proxy.patch
+++ b/ibus-1385349-segv-bus-proxy.patch
@@ -1,6 +1,6 @@
-From 018a0f889d18c41e314f0b1297d1dc559603142b Mon Sep 17 00:00:00 2001
+From fd19aaaa097e71e7589bdb3627971dc10bf3873e Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 5 Feb 2019 18:36:04 +0900
+Date: Thu, 13 Feb 2020 19:33:32 +0900
 Subject: [PATCH] Fix SEGV in bus_panel_proxy_focus_in()
 
 rhbz#1349148, rhbz#1385349
@@ -28,6 +28,12 @@ WIP: Added a GError to get the error message to check why the SEGV happened.
 rhbz#1663528 SEGV in g_mutex_clear() in bus_dbus_impl_destroy()
 If the mutex is not unlocked, g_mutex_clear() causes assert.
 
+rhbz#1767691 SEGV in client/x11/main.c:_sighandler().
+Do not call atexit functions in _sighandler().
+
+rhbz#1795499 SEGV in ibus_bus_get_bus_address() because of no _bus->priv.
+_changed_cb() should not be called after ibus_bus_destroy() is called.
+
 BUG=rhbz#1349148
 BUG=rhbz#1385349
 BUG=rhbz#1350291
@@ -35,11 +41,15 @@ BUG=rhbz#1406699
 BUG=rhbz#1432252
 BUG=rhbz#1601577
 BUG=rhbz#1663528
+BUG=rhbz#1767691
+BUG=rhbz#1795499
 ---
  bus/dbusimpl.c    | 70 +++++++++++++++++++++++++++++++++++++++++------
  bus/engineproxy.c |  9 +++++-
  bus/ibusimpl.c    | 21 ++++++++++++--
- 3 files changed, 88 insertions(+), 12 deletions(-)
+ client/x11/main.c |  8 +++++-
+ src/ibusbus.c     |  5 ++++
+ 5 files changed, 100 insertions(+), 13 deletions(-)
 
 diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
 index b54ef817..fb38faf0 100644
@@ -236,7 +246,7 @@ index 2d98995c..2176e0c9 100644
      if (layout != NULL && layout[0] != '\0') {
          engine->keymap = ibus_keymap_get (layout);
 diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
-index bbbb5770..77fcf42f 100644
+index 85761d30..f0dbccd1 100644
 --- a/bus/ibusimpl.c
 +++ b/bus/ibusimpl.c
 @@ -464,13 +464,16 @@ _dbus_name_owner_changed_cb (BusDBusImpl   *dbus,
@@ -289,6 +299,48 @@ index bbbb5770..77fcf42f 100644
  
      bus_ibus_impl_component_name_owner_changed (ibus, name, old_name, new_name);
  }
+diff --git a/client/x11/main.c b/client/x11/main.c
+index c9ee174d..768b91f0 100644
+--- a/client/x11/main.c
++++ b/client/x11/main.c
+@@ -40,6 +40,7 @@
+ #include <iconv.h>
+ #include <signal.h>
+ #include <stdlib.h>
++#include <unistd.h>
+ 
+ #include <getopt.h>
+ 
+@@ -1104,7 +1105,12 @@ _atexit_cb ()
+ static void
+ _sighandler (int sig)
+ {
+-    exit(EXIT_FAILURE);
++    /* rhbz#1767691 _sighandler() is called with SIGTERM
++     * and exit() causes SEGV during calling atexit functions.
++     * _atexit_cb() might be broken. _exit() does not call
++     * atexit functions.
++     */
++    _exit(EXIT_FAILURE);
+ }
+ 
+ static void
+diff --git a/src/ibusbus.c b/src/ibusbus.c
+index b7ffbb47..668c8a26 100644
+--- a/src/ibusbus.c
++++ b/src/ibusbus.c
+@@ -689,6 +689,11 @@ ibus_bus_destroy (IBusObject *object)
+     _bus = NULL;
+ 
+     if (bus->priv->monitor) {
++        /* rhbz#1795499 _changed_cb() causes SEGV because of no bus->priv
++         * after ibus_bus_destroy() is called.
++         */
++        g_signal_handlers_disconnect_by_func (bus->priv->monitor,
++                                              (GCallback) _changed_cb, bus);
+         g_object_unref (bus->priv->monitor);
+         bus->priv->monitor = NULL;
+     }
 -- 
-2.20.1
+2.24.1
 

diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index 01fbaa1..9e83a36 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -3121,3 +3121,264 @@ index ac5de809..30585403 100644
 -- 
 2.21.0
 
+From ecc3465a585448486b2ce68bcefc11d6aebae755 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Thu, 23 Jan 2020 16:13:05 +0900
+Subject: [PATCH 1/5] client/gtk2: Fix some format sentences
+
+---
+ client/gtk2/ibusimcontext.c | 23 +++++++++++------------
+ 1 file changed, 11 insertions(+), 12 deletions(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index 30585403..50290c55 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -73,7 +73,9 @@ struct _IBusIMContext {
+     GCancellable    *cancellable;
+     GQueue          *events_queue;
+ 
++#if !GTK_CHECK_VERSION (3, 93, 0)
+     gboolean         use_button_press_event;
++#endif
+ };
+ 
+ struct _IBusIMContextClass {
+@@ -137,12 +139,12 @@ static void     ibus_im_context_set_surrounding
+ 
+ /* static methods*/
+ static void     _ibus_context_update_preedit_text_cb
+-                                           (IBusInputContext   *ibuscontext,
+-                                            IBusText           *text,
+-                                            gint                cursor_pos,
+-                                            gboolean            visible,
+-                                            guint               mode,
+-                                            IBusIMContext      *ibusimcontext);
++                                            (IBusInputContext   *ibuscontext,
++                                             IBusText           *text,
++                                             gint                cursor_pos,
++                                             gboolean            visible,
++                                             guint               mode,
++                                             IBusIMContext      *ibusimcontext);
+ static void     _create_input_context       (IBusIMContext      *context);
+ static gboolean _set_cursor_location_internal
+                                             (IBusIMContext      *context);
+@@ -172,7 +174,6 @@ static void     _create_fake_input_context  (void);
+ static gboolean _set_content_type           (IBusIMContext      *context);
+ 
+ 
+-
+ static GType                _ibus_type_im_context = 0;
+ static GtkIMContextClass    *parent_class = NULL;
+ 
+@@ -313,7 +314,6 @@ _process_key_event_done (GObject      *object,
+ {
+     IBusInputContext *context = (IBusInputContext *)object;
+     GdkEventKey *event = (GdkEventKey *) user_data;
+-
+     GError *error = NULL;
+     gboolean retval = ibus_input_context_process_key_event_async_finish (
+             context,
+@@ -362,12 +362,10 @@ _process_key_event (IBusInputContext *context,
+         retval = TRUE;
+     }
+ 
+-    if (retval) {
++    if (retval)
+         event->state |= IBUS_HANDLED_MASK;
+-    }
+-    else {
++    else
+         event->state |= IBUS_IGNORED_MASK;
+-    }
+ 
+     return retval;
+ }
+@@ -1508,6 +1506,7 @@ _key_is_modifier (guint keyval)
+         return FALSE;
+     }
+ }
++
+ /* Copy from gdk */
+ static GdkEventKey *
+ _create_gdk_event (IBusIMContext *ibusimcontext,
+-- 
+2.24.1
+
+From afc0a89c74950351c32df3d60abb343a0dbc06cc Mon Sep 17 00:00:00 2001
+From: Alex Henrie <alexhenrie24@gmail.com>
+Date: Fri, 24 Jan 2020 15:37:01 +0900
+Subject: [PATCH 2/5] Handle small final sigma in ibus_keyval_convert_case
+
+lowercase: GREEK SMALL LETTER FINAL SIGMA (U+03C2)
+uppercase: GREEK CAPITAL LETTER SIGMA (U+03A3)
+
+This mapping was correct in UCSConvertCase, but the "legacy" mapping
+must also be correct for Caps Lock to work with the final sigma key.
+
+https://gitlab.freedesktop.org/xorg/lib/libx11/commit/7f46a38139
+
+BUG=https://github.com/ibus/ibus/pull/2176
+---
+ src/ibuskeynames.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/ibuskeynames.c b/src/ibuskeynames.c
+index 08505598..544c6ade 100644
+--- a/src/ibuskeynames.c
++++ b/src/ibuskeynames.c
+@@ -331,8 +331,9 @@ ibus_keyval_convert_case (guint symbol,
+         xupper -= (IBUS_KEY_Greek_alphaaccent - IBUS_KEY_Greek_ALPHAaccent);
+       else if (symbol >= IBUS_KEY_Greek_ALPHA && symbol <= IBUS_KEY_Greek_OMEGA)
+         xlower += (IBUS_KEY_Greek_alpha - IBUS_KEY_Greek_ALPHA);
+-      else if (symbol >= IBUS_KEY_Greek_alpha && symbol <= IBUS_KEY_Greek_omega &&
+-               symbol != IBUS_KEY_Greek_finalsmallsigma)
++      else if (symbol == IBUS_KEY_Greek_finalsmallsigma)
++        xupper = IBUS_KEY_Greek_SIGMA;
++      else if (symbol >= IBUS_KEY_Greek_alpha && symbol <= IBUS_KEY_Greek_omega)
+         xupper -= (IBUS_KEY_Greek_alpha - IBUS_KEY_Greek_ALPHA);
+       break;
+     }
+-- 
+2.24.1
+
+From 74863851e83972e86a5bdb3da3d99784fc8d4955 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Tue, 28 Jan 2020 18:46:13 +0900
+Subject: [PATCH 3/5] src/tests: Increase sleep to 3 waiting for IBusConfig
+
+Sleep 1 would be too short for ibus-daemon which could run all components.
+ibus-config test requires the running IBusConfig and the test could fail
+in some slow systems.
+Sleep time will be increased to 3 to run all components.
+
+BUG=https://github.com/ibus/ibus/issues/2170
+---
+ src/tests/ibus-config.c                  | 4 ++++
+ src/tests/ibus-desktop-testing-runner.in | 2 +-
+ src/tests/runtest                        | 2 +-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/tests/ibus-config.c b/src/tests/ibus-config.c
+index 5e845f10..0d9812a3 100644
+--- a/src/tests/ibus-config.c
++++ b/src/tests/ibus-config.c
+@@ -16,6 +16,10 @@ finish_create_config_async_success (GObject      *source_object,
+     IBusConfig *config =
+           ibus_config_new_async_finish (res, &error);
+ 
++    if (error) {
++        g_message ("Failed to generate IBusConfig: %s", error->message);
++        g_error_free (error);
++    }
+     g_assert (IBUS_IS_CONFIG (config));
+ 
+     /* Since we reuse single D-Bus connection, we need to remove the
+diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
+index 981941d5..0d9a847c 100755
+--- a/src/tests/ibus-desktop-testing-runner.in
++++ b/src/tests/ibus-desktop-testing-runner.in
+@@ -190,7 +190,7 @@ run_desktop()
+     HAS_GNOME=`echo $DESKTOP_COMMAND | grep gnome-session`
+     if [ x"$HAS_GNOME" = x ] ; then
+         ibus-daemon --daemonize --verbose
+-        sleep 1
++        sleep 3
+     fi
+ }
+ 
+diff --git a/src/tests/runtest b/src/tests/runtest
+index ed38992f..a6e4194b 100755
+--- a/src/tests/runtest
++++ b/src/tests/runtest
+@@ -180,7 +180,7 @@ run_test_case()
+         fi
+ 
+         # Wait until all necessary components are up.
+-        sleep 1
++        sleep 3
+ 
+         export GTK_IM_MODULE=ibus
+     fi
+-- 
+2.24.1
+
+From cd4fef5a3290869fc1c36392f5d404fa09932926 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Fri, 31 Jan 2020 15:35:02 +0900
+Subject: [PATCH 4/5] src: Fix SEGV to access NULL GError when compose length
+ is zero
+
+BUG=rhbz#1788754
+---
+ src/ibuscomposetable.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/ibuscomposetable.c b/src/ibuscomposetable.c
+index e4e3a7cd..3f439134 100644
+--- a/src/ibuscomposetable.c
++++ b/src/ibuscomposetable.c
+@@ -127,12 +127,14 @@ parse_compose_value (IBusComposeData  *compose_data,
+         compose_data->values[0] = g_ascii_strtoll(p, NULL, 8);
+         compose_data->values[1] = 0;
+     } else {
+-        if (!(uchars = g_utf8_to_ucs4 (ustr, -1, NULL, NULL, &error)) ||
+-            !uchars[0]) {
++        if (!(uchars = g_utf8_to_ucs4 (ustr, -1, NULL, NULL, &error))) {
+             g_warning ("Invalid Unicode: %s: %s in %s:",
+                        error->message, ustr, line);
+             g_error_free (error);
+             goto fail;
++        } else if (!uchars[0]) {
++            g_warning ("Invalid Unicode: \"\" in %s:", line);
++            goto fail;
+         }
+ 
+         for (up = uchars; *up; up++) {
+-- 
+2.24.1
+
+From a1705ad7e5f90cf8d87caf32d7b7acc7125e6778 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Thu, 13 Feb 2020 16:49:12 +0900
+Subject: [PATCH 5/5] bus: Fix recursive mkdir is failed in
+ /var/lib/gdm/.cache/ibus
+
+If the parent directory (/var/lib/gdm/.cache) is not created,
+mkdir childdir (/var/lib/gdm/.cache/ibus) is failed by the parentdir
+with mode_t = 0.
+
+BUG=https://github.com/ibus/ibus/issues/2177
+---
+ bus/server.c | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/bus/server.c b/bus/server.c
+index a7554a88..6c9e2c02 100644
+--- a/bus/server.c
++++ b/bus/server.c
+@@ -277,17 +277,13 @@ bus_server_init (void)
+                  socket_address);
+     }
+     if (!g_file_test (unix_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
+-        /* Require mkdir for BSD system. */
+-        if (g_mkdir_with_parents (unix_dir, 0) != 0) {
+-            g_error ("mkdir is failed in: %s: %s",
+-                     unix_dir, g_strerror (errno));
+-        }
+-        /* The mode 0700 can eliminate malicious users change the mode.
++        /* 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
+          * of the parent directories. E.g. "/tmp/ibus".
+          */
+-        if (g_chmod (unix_dir, 0700) != 0) {
+-            g_error ("chmod(700) is failed in: %s: %s",
++        if (g_mkdir_with_parents (unix_dir, 0700) != 0) {
++            g_error ("mkdir is failed in: %s: %s",
+                      unix_dir, g_strerror (errno));
+         }
+     }
+-- 
+2.24.1
+

diff --git a/ibus.spec b/ibus.spec
index c98986b..5ddd2af 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -35,7 +35,7 @@
 
 Name:           ibus
 Version:        1.5.21
-Release:        8%{?dist}
+Release:        9%{?dist}
 Summary:        Intelligent Input Bus for Linux OS
 License:        LGPLv2+
 URL:            https://github.com/ibus/%name/wiki
@@ -464,6 +464,14 @@ dconf update || :
 %{_datadir}/installed-tests/ibus
 
 %changelog
+* Thu Feb 13 2020 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.21-9
+- Bug 1785276 - Fix abrt without XDG_CACHE_HOME/ibus
+- Bug 1788754 - Fix abrt with NULL output of compose keys
+- Bug 1787732 - Fix abrt in exit handlers in ibus-x11
+- Bug 1795499 - Fix abrt in bus monitor handlers when ibus-daemon restarts
+- Fix greek cases
+- Increase sleep 3 to wait for running ibus-config in CI.
+
 * Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.21-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
 

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

only message in thread, other threads:[~2026-05-31  2:07 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:07 [rpms/ibus] autotool: Fix abrt with cache dir Takao Fujiwara

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