public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/ibus] f44: Fix CI in GNOME 50
@ 2026-07-16  6:41 Takao Fujiwara
  0 siblings, 0 replies; only message in thread
From: Takao Fujiwara @ 2026-07-16  6:41 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/ibus
Branch : f44
Commit : 438dfde2274f39ce5131acd0336f9c222be35161
Author : Takao Fujiwara <tfujiwar@redhat.com>
Date   : 2026-07-16T14:21:25+09:00
Stats  : +642/-1 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/ibus/c/438dfde2274f39ce5131acd0336f9c222be35161?branch=f44

Log:
Fix CI in GNOME 50

---
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index 05d93de..afbb152 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -1547,3 +1547,640 @@ index 37fe4bad..367b07c5 100644
 -- 
 2.54.0
 
+From 44e22e5e7602bc79040df42cbfa836ba32da01ef Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Thu, 16 Jul 2026 12:37:28 +0900
+Subject: [PATCH] src/tests: Fix CI issues in GNOME 50
+
+- 100-ibus-ci.rules: Disable authentication dialogs in gnome-shell
+- ibus-compose:
+  o Add taking screenshots with IBUS_TEST_SCREENSHOT
+  o Define ibus_break_if_fail() from g_return_if_fail()
+- ibus-desktop-testing-autostart: Call dump_screen_of_test_cases()
+- ibus-desktop-testing-module:
+  o Update the latest gnome-shell service file for GNOME 50.
+  o Replace init with systemctl in ibus-desktop-testing-module
+  o Set locale for gnome-shell while the user systemd runs in C locale
+  o Implement dump_screen_of_test_cases() to dump screenshots of test cases
+  o export IBUS_TEST_SCREENSHOT to each test case to take screenshots
+  o Install polkit rule file
+  o forward --screendump option to autostart script
+- runtest: Set tstdir for Python test cases
+
+- src/tests/Makefile: Install 100-ibus-ci.rules
+
+Closes #2921
+---
+ src/tests/100-ibus-ci.rules                 |   8 ++
+ src/tests/Makefile.am                       |  12 +-
+ src/tests/ibus-compose.c                    |  76 ++++++++++++
+ src/tests/ibus-desktop-testing-autostart.in |   1 +
+ src/tests/ibus-desktop-testing-module       | 122 ++++++++++++++++----
+ src/tests/runtest                           |  81 ++++++-------
+ 6 files changed, 266 insertions(+), 80 deletions(-)
+ create mode 100644 src/tests/100-ibus-ci.rules
+
+diff --git a/src/tests/100-ibus-ci.rules b/src/tests/100-ibus-ci.rules
+new file mode 100644
+index 00000000..d6d2f7c0
+--- /dev/null
++++ b/src/tests/100-ibus-ci.rules
+@@ -0,0 +1,8 @@
++polkit.addRule(function(action, subject) {
++    if ((action.id == "org.freedesktop.Flatpak.metadata-update" ||
++         action.id == "org.freedesktop.Flatpak.modify-repo" ||
++         action.id == "org.freedesktop.fwupd.refresh-remote" ) &&
++        subject.isInGroup("itestuser")) {
++        return polkit.Result.YES;
++    }
++});
+diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
+index 75caab57..47cd3db1 100644
+--- a/src/tests/Makefile.am
++++ b/src/tests/Makefile.am
+@@ -131,11 +131,14 @@ CLEANFILES += ibus-compose-locales
+ endif
+ test_execsdir = $(libexecdir)/installed-tests/ibus
+ libexec_SCRIPTS = \
+-  ibus-desktop-testing-autostart \
+-  ibus-desktop-testing-module \
+-  $(NULL)
++    ibus-desktop-testing-autostart \
++    ibus-desktop-testing-module \
++    $(NULL)
+ 
+-test_frame_DATA = org.freedesktop.IBus.Desktop.Testing.desktop
++test_frame_DATA = \
++    100-ibus-ci.rules \
++    org.freedesktop.IBus.Desktop.Testing.desktop \
++    $(NULL)
+ test_framedir = $(pkgdatadir)/tests
+ org.freedesktop.IBus.Desktop.Testing.desktop: ibus-desktop-testing.desktop.in
+ 	$(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|g" \
+@@ -194,6 +197,7 @@ ibus-desktop-testing-runner: ibus-desktop-testing-runner.in
+ EXTRA_DIST = \
+     $(test_metas_in) \
+     $(TESTS_SCRIPT) \
++    100-ibus-ci.rules \
+     runtest \
+     ibus-compose.basic \
+     ibus-compose.basic2 \
+diff --git a/src/tests/ibus-compose.c b/src/tests/ibus-compose.c
+index 69f844b2..c36b4c81 100644
+--- a/src/tests/ibus-compose.c
++++ b/src/tests/ibus-compose.c
+@@ -7,6 +7,17 @@
+ #define RED   "\033[0;31m"
+ #define NC    "\033[0m"
+ 
++#define ibus_break_if_fail(expr) \
++    G_STMT_START { \
++        if (G_LIKELY (expr)) { \
++        } else { \
++            g_return_if_fail_warning (G_LOG_DOMAIN, \
++                                      G_STRFUNC, \
++                                      #expr); \
++            break; \
++        } \
++    } G_STMT_END
++
+ static gchar *m_test_locale;
+ static gchar *m_test_name;
+ static gchar *m_session_name;
+@@ -113,6 +124,67 @@ get_compose_path ()
+ }
+ 
+ 
++static void
++take_screenshot (void)
++{
++    gint64 t;
++    GDateTime *dt;
++    gchar *prgname = NULL;
++    gchar *casename = NULL;
++    gchar *filename = NULL;
++    gchar *path = NULL;
++    gchar *args[4] = { "gnome-screenshot", "--file", 0, 0 };
++    GSpawnFlags flags = G_SPAWN_SEARCH_PATH;
++    gchar *std_output = NULL;
++    gchar *std_error = NULL;
++    GError *error = NULL;
++
++    t = g_get_real_time ();
++    t = t / G_USEC_PER_SEC;
++    dt = g_date_time_new_from_unix_utc (t);
++    g_return_if_fail (dt);
++
++    while (FALSE) {
++        prgname = g_path_get_basename (g_get_prgname ());
++        casename = g_path_get_basename (g_test_get_path ());
++        ibus_break_if_fail (prgname);
++        ibus_break_if_fail (casename);
++        filename = g_strdup_printf ("%s%s-%02d%02d%02d.png",
++                                    prgname, casename,
++                                    g_date_time_get_hour (dt),
++                                    g_date_time_get_minute (dt),
++                                    g_date_time_get_second (dt));
++        ibus_break_if_fail (filename);
++        /* The ibus-compose-locales runs in a temp dir. */
++        path = g_build_filename (g_get_home_dir (), filename, NULL);
++        ibus_break_if_fail (path);
++        args[2] = path;
++        if (!g_spawn_sync (NULL, args, NULL, flags, NULL, NULL,
++                           &std_output, &std_error,
++                           NULL,
++                           &error)) {
++            g_warning ("Failed to take a screenshot: %s: %s: %s",
++                       error->message,
++                       std_output ? std_output : "",
++                       std_error ? std_error : "");
++            g_error_free (error);
++        } else if (std_error && *std_error) {
++            g_warning ("Failed to take a screenshot: %s: %s",
++                       std_output ? std_output : "",
++                       std_error);
++        }
++    }
++
++    g_free (prgname);
++    g_free (casename);
++    g_date_time_unref (dt);
++    g_free (filename);
++    g_free (path);
++    g_free (std_output);
++    g_free (std_error);
++}
++
++
+ gboolean
+ idle_cb (gpointer user_data)
+ {
+@@ -436,9 +508,13 @@ set_engine_cb (GObject      *object,
+         return;
+     }
+ 
++    if (g_getenv ("IBUS_TEST_SCREENSHOT"))
++        take_screenshot ();
+     send_key_event (m_compose_table);
+     if (m_no_load_compose_table)
+         send_key_event (m_no_load_compose_table);
++    if (g_getenv ("IBUS_TEST_SCREENSHOT"))
++        take_screenshot ();
+ 
+ #if GTK_CHECK_VERSION (4, 0, 0)
+     g_signal_handlers_disconnect_by_func (
+diff --git a/src/tests/ibus-desktop-testing-autostart.in b/src/tests/ibus-desktop-testing-autostart.in
+index 9ecc8c27..a9a57bed 100755
+--- a/src/tests/ibus-desktop-testing-autostart.in
++++ b/src/tests/ibus-desktop-testing-autostart.in
+@@ -76,6 +76,7 @@ main()
+     #run_monitor
+     save_screen
+     run_test_suite
++    dump_screen_of_test_cases
+     finit
+ }
+ 
+diff --git a/src/tests/ibus-desktop-testing-module b/src/tests/ibus-desktop-testing-module
+index 55eb248e..b71d73a9 100755
+--- a/src/tests/ibus-desktop-testing-module
++++ b/src/tests/ibus-desktop-testing-module
+@@ -51,16 +51,19 @@ TEST_USER=itestuser
+ TEST_USER_HOME=/export/home/$TEST_USER
+ GDM_CONF=/run/gdm/custom.conf
+ AUTOSTART_DESKTOP_FILE="org.freedesktop.IBus.Desktop.Testing.desktop"
++POLKIT_CUSTOM_RULE_FILE="100-ibus-ci.rules"
+ TESTS=""
+ TIMEOUT=300
+ GREEN='\033[0;32m'
+ RED='\033[0;31m'
+ NC='\033[0m'
++DQ='"'
+ ENV_CHECK=0
+ ENV_COMMANDS='
+ id
+ pwd
+ pstree -asp $$
++tr "\\0" "\\n" < /proc/$$/environ
+ gsettings list-recursively org.gnome.shell
+ rpm -q gnome-shell-extension-no-overview gnome-shell gnome-session
+ ps -ef | grep ibus | grep -v TMT | grep -v grep
+@@ -132,7 +135,7 @@ delete-tests\
+ check_tty()
+ {
+     TTY=`tty`
+-    if echo $PROGNAME | grep -q runner ; then
++    if echo "$PROGNAME" | grep -q runner ; then
+         if [ $ENABLED_SYSTEMD -eq 1 ] && [  $SESSION_IS_GNOME -eq 1 ] ; then
+             # "not a tty" is correct with TMT tool
+             if echo "$TTY" | grep -E 'tty|console' | grep -v "not a tty" ; then
+@@ -217,6 +220,20 @@ save_screen()
+ }
+ 
+ 
++dump_screen_of_test_cases()
++{
++    if test x"$SCREEN_LOG" != xSTDOUT ; then
++        return
++    fi
++    for png in "$TEST_USER_HOME"/*.png ; do
++        test -f "$png" || continue
++        echo "## Dump start $png" 2>>$TEST_LOG 1>>$TEST_LOG
++        base64 "$png"             2>>$TEST_LOG 1>>$TEST_LOG
++        echo "## Dump end $png"   2>>$TEST_LOG 1>>$TEST_LOG
++    done
++}
++
++
+ create_test_user()
+ {
+     if grep -q $TEST_USER /etc/passwd; then
+@@ -230,10 +247,11 @@ create_test_user()
+ 
+ create_autologin_gdm()
+ {
+-    if test -f $GDM_CONF && grep -q $TEST_USER $GDM_CONF; then
++    mkdir -p  `dirname "$GDM_CONF"`
++    if test -f "$GDM_CONF" && grep -q "$TEST_USER" "$GDM_CONF"; then
+         return;
+     fi
+-    cat > $GDM_CONF << _EOF_GDM_CONF
++    cat > "$GDM_CONF" << _EOF_GDM_CONF
+ [daemon]
+ AutomaticLoginEnable=true
+ AutomaticLogin=$TEST_USER
+@@ -256,7 +274,12 @@ create_xdg_autostart()
+         exit 1
+     fi
+     mkdir -p "$TEST_USER_HOME/.config/autostart"
+-    sed -e "s/\(^Exec=.*\)tests ibus\(.*\)/\1tests $TESTS\2/" "$desktop_file" \
++    ARGS_PLUS=""
++    if test x"$SCREEN_LOG" != x ; then
++        ARGS_PLUS="$ARGS_PLUS --screendump $SCREEN_LOG"
++    fi
++    sed -e "s/\(^Exec=.*\)tests ibus\(.*\)/\1tests $TESTS $ARGS_PLUS\2/" \
++        "$desktop_file" \
+         > "$TEST_USER_HOME/.config/autostart/$AUTOSTART_DESKTOP_FILE"
+     LINE="AutostartCondition=if-exists $TEST_USER_HOME/.config/autostart/$AUTOSTART_DESKTOP_FILE"
+     echo "$LINE" >> "$TEST_USER_HOME/.config/autostart/$AUTOSTART_DESKTOP_FILE"
+@@ -334,6 +357,21 @@ init_session()
+         TESTS='ibus'
+     fi
+     check_tty
++    IS_SYSTEM_ACCOUNT=false
++    if [ "$LOGIN_USER" = "root" ] ; then
++            IS_SYSTEM_ACCOUNT=true
++    fi
++    if test x"$SESSION_LANG" = x ; then
++        SESSION_LANG=$LANG
++    fi
++    if test x"$SCREEN_LOG" != x ; then
++        export IBUS_TEST_SCREENSHOT=1
++    fi
++
++    if ! echo "$PROGNAME" | grep -q runner ; then
++        return
++    fi
++
+     if [ $ENABLED_SYSTEMD -eq 1 ] && [  $SESSION_IS_GNOME -eq 1 ] ; then
+         SESSION_FILE1="/usr/lib/systemd/system/gnome-headless-session@.service"
+         SESSION_FILE2="/usr/lib/systemd/system/graphical.target"
+@@ -365,13 +403,6 @@ init_session()
+         touch $LOGIN_HOME/.config/gnome-initial-setup-done
+         chown -R $LOGIN_USER $LOGIN_HOME/.config
+     fi
+-    IS_SYSTEM_ACCOUNT=false
+-    if [ "$LOGIN_USER" = "root" ] ; then
+-            IS_SYSTEM_ACCOUNT=true
+-    fi
+-    if test x"$SESSION_LANG" = x ; then
+-        SESSION_LANG=$LANG
+-    fi
+     if test -f /var/lib/AccountsService/users/$LOGIN_USER; then
+         sed -i -e "s/\(Language=\).*/\1$SESSION_LANG/" \
+                 /var/lib/AccountsService/users/$LOGIN_USER
+@@ -384,6 +415,35 @@ XSession=gnome
+ SystemAccount=$IS_SYSTEM_ACCOUNT
+ _EOF_AS_CONF
+     fi
++    # for ibus-keypress
++    ls -l /dev/uinput 2>>$TEST_LOG 1>>$TEST_LOG
++    chgrp itestuser /dev/uinput
++    chmod g+rw /dev/uinput
++    ls -l /dev/uinput 2>>$TEST_LOG 1>>$TEST_LOG
++
++    # aciton.id 'org.freedesktop.fwupd.refresh-remote' and
++    # aciton.message "Authentication is required to update the metadata for a "
++    # "configured remote used for firmware updates" is defined in
++    # /usr/share/polkit-1/actions/org.freedesktop.fwupd.policy file
++    # and that message is shown in "Authentication Required" dialog in
++    # gnome-shell headless session in GNOME 50.
++    # action.id 'org.freedesktop.Flatpak.metadata-update' and
++    # action.id 'org.freedesktop.Flatpak.modify-repo' are also shown.
++    rule_file="$AUTOSTART_DESKTOP_DIR/$POLKIT_CUSTOM_RULE_FILE"
++    if test ! -f "$rule_file" ; then
++        print_log -e "${RED}FAIL${NC}: ${RED}ERROR${NC}: No $rule_file"
++        exit 1
++    fi
++    POLKIT_CUSTOM_RULE_DIR="/etc/polkit-1/rules.d"
++    if test ! -d "$POLKIT_CUSTOM_RULE_DIR" ; then
++        mkdir -p  "$POLKIT_CUSTOM_RULE_DIR"
++        chmod 755 "$POLKIT_CUSTOM_RULE_DIR"
++    fi
++    if test ! -f "$POLKIT_CUSTOM_RULE_DIR/$POLKIT_CUSTOM_RULE_FILE" ; then
++        cp "$rule_file" "$POLKIT_CUSTOM_RULE_DIR/$POLKIT_CUSTOM_RULE_FILE"
++        chmod 644 "$POLKIT_CUSTOM_RULE_DIR/$POLKIT_CUSTOM_RULE_FILE"
++        systemctl restart polkit
++    fi
+ 
+     # Prevent from launching a XDG dialog
+     XDG_LOCALE_FILE="$LOGIN_HOME/.config/user-dirs.locale"
+@@ -503,19 +563,39 @@ init_gnome()
+     ## gnome-headless-session does not pull LANG from AccountsService.
+     ##
+     if [ $LOGIN_USER != $USER ] ; then
+-        SHELL_SERVICE_FILE="org.gnome.Shell@wayland.service"
++        SHELL_SERVICE_FILE="org.gnome.Shell@.service"
++        SHELL_SERVICE_DEST_FILE="org.gnome.Shell@user.service"
+         SYSTEMD_USER_DIR="$TEST_USER_HOME/.config/systemd/user"
+         ENV_USER_DIR="$TEST_USER_HOME/.config/environment.d"
+         LOCALE_CONF="$ENV_USER_DIR/ibus.conf"
++        # If GNOME version < 50
++        if test ! -f "$SYSTEMD_SYSTEM_DIR/$SHELL_SERVICE_FILE" ; then
++            SHELL_SERVICE_FILE="org.gnome.Shell@wayland.service"
++            SHELL_SERVICE_DEST_FILE="$SHELL_SERVICE_FILE"
++        else
++            GNOME_SHELL_WAYLAND_COMMAND="$GNOME_SHELL_WAYLAND_COMMAND --mode=%i"
++        fi
++        if test x"$SCREEN_LOG" != x ; then
++            GNOME_SHELL_WAYLAND_COMMAND="$GNOME_SHELL_WAYLAND_COMMAND --unsafe-mode"
++        fi
+         if test $HAVE_GRAPHICS -ne 1 ; then
+             if test ! -f "$SYSTEMD_USER_DIR/$SHELL_SERVICE_FILE" ; then
++                PREV_DIR="$PWD"
+                 mkdir -p "$SYSTEMD_USER_DIR"
+-                pushd "$SYSTEMD_USER_DIR"
++                cd "$SYSTEMD_USER_DIR"
++                # The user systemd and $GNOME_SHELL_WAYLAND_COMMAND no longer
++                # loads $LOCALE_CONF file
++                # So sets Environment in the service file.
+                 sed -e "s|^ExecStart=.*|ExecStart=$GNOME_SHELL_WAYLAND_COMMAND|" \
+-                    $SYSTEMD_SYSTEM_DIR/$SHELL_SERVICE_FILE \
+-                    > $SHELL_SERVICE_FILE
+-                diff $SYSTEMD_SYSTEM_DIR/$SHELL_SERVICE_FILE $SHELL_SERVICE_FILE
+-                popd
++                    $SYSTEMD_SYSTEM_DIR/$SHELL_SERVICE_FILE | \
++                sed -e "/^ExecStart=/i\\
++Environment=LANG=$DQ$SESSION_LANG$DQ" \
++                    > "$SHELL_SERVICE_DEST_FILE"
++                echo "# diff $SYSTEMD_SYSTEM_DIR/$SHELL_SERVICE_FILE" \
++                     "$SHELL_SERVICE_DEST_FILE" 2>>$TEST_LOG 1>>$TEST_LOG
++                diff "$SYSTEMD_SYSTEM_DIR/$SHELL_SERVICE_FILE" \
++                     "$SHELL_SERVICE_DEST_FILE" 2>>$TEST_LOG 1>>$TEST_LOG
++                cd "$PREV_DIR"
+             fi
+             mkdir -p "$ENV_USER_DIR"
+             cat > "$LOCALE_CONF" << _EOF_LOCALE_CONF
+@@ -590,7 +670,7 @@ operate_desktop_with_systemd()
+         "start") systemctl isolate graphical.target
+                  echo ""
+                  ;;
+-        "stop")  init 3;;
++        "stop")  systemctl isolate multi-user.target;;
+         "")      print_log -e "${RED}FAIL${NC}: ${RED}ERROR${NC}: Wrong command $COMMAND"
+                  exit 1;;
+         esac
+@@ -808,6 +888,8 @@ run_gnome_desktop_testing_runner()
+     fail=0
+     if echo $PROGNAME | grep -q autostart ; then
+         export IBUS_DAEMON_WITH_SYSTEMD=1
++        #export GSK_RENDERER=cairo
++        export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.`uname -m`.json
+     fi
+     for tst in $TESTS; do
+         tst_dir="$TEST_CASE_DIR/$tst"
+@@ -840,7 +922,7 @@ EOF
+ run_test_suite()
+ {
+     print_log -e "Start test suite `date '+%F %H:%M:%S:%N'`"
+-    if echo $PROGNAME | grep -q runner ; then
++    if echo "$PROGNAME" | grep -q runner ; then
+         if [ $ENABLED_SYSTEMD -eq 1 ] && [  $SESSION_IS_GNOME -eq 1 ] ; then
+             wait_for_systemd_autostart
+             return
+@@ -903,7 +985,7 @@ finit()
+             echo "$LEFT_CALENDAR" | awk '{print $2}' | xargs kill
+         fi
+     fi
+-    if echo $PROGNAME | grep -q runner ; then
++    if echo "$PROGNAME" | grep -q runner ; then
+         if [ $ENABLED_SYSTEMD -eq 1 ] && [  $SESSION_IS_GNOME -eq 1 ] ; then
+             operate_desktop_with_systemd "stop"
+         fi
+diff --git a/src/tests/runtest b/src/tests/runtest
+index 4e54420f..dee675cb 100755
+--- a/src/tests/runtest
++++ b/src/tests/runtest
+@@ -94,12 +94,12 @@ func_dirname () {
+ 
+ # Kill ibus-daemon process and remove temporary files.
+ func_cleanup () {
+-    tstdir=$1
+-    if test -f $tstdir/ibus-daemon.pid; then
+-        . $tstdir/ibus-daemon.pid
++    tstdir="$1"
++    if test -f "$tstdir/ibus-daemon.pid"; then
++        . "$tstdir/ibus-daemon.pid"
+         kill $IBUS_DAEMON_PID > /dev/null 2>&1
+     fi
+-    rm -fr $tstdir
++    rm -fr "$tstdir"
+ }
+ 
+ # Prepare component files necessary for testing, under components/.
+@@ -115,13 +115,18 @@ func_copy_component () {
+     fi
+ }
+ 
+-trap 'func_cleanup $tstdir' 1 2 3 15
++trap 'func_cleanup "$tstdir"' 1 2 3 15
+ 
+-tst=$1; shift
+-tstdir=tmp-`func_basename $tst`
++tst="$1"; shift
++real_tst="$tst"
++if echo "$tst" | grep -q 'python' ; then
++    real_tst="$1"
++fi
++real_tst_name=`func_basename "$real_tst"`
++tstdir="tmp-$real_tst_name"
+ 
+ for t in $DISABLE_GUI_TESTS; do
+-    if test $t = `func_basename $tst`; then
++    if test "$t" = "$real_tst_name"; then
+         exit 77
+     fi
+ done
+@@ -134,24 +139,22 @@ fi
+ 
+ run_test_case()
+ {
+-    test -d $tstdir || mkdir $tstdir
+-    backup_dir=$PWD
+-    cd $tstdir
+-
+     if echo "$tst" | grep -q 'python' ; then
+         # Convert the relative path to the absolute path.
+         if echo "$tst" | grep -q "\./" ; then
+-            tst=`realpath $tst`
++            tst=`realpath "$tst"`
+         elif ! echo "$tst" | grep -q "/" ; then
+-            tst=`command -v $tst`
++            tst=`command -v "$tst"`
+         fi
+-        name=`func_basename "$1"`
+-    else
+-        name=`func_basename "$tst"`
+     fi
++
++    test -d "$tstdir" || mkdir "$tstdir"
++    backup_dir="$PWD"
++    cd "$tstdir"
++
+     need_bus=no
+     for t in $BUS_REQUIRED_TESTS; do
+-        if test "$t" = "$name"; then
++        if test "$t" = "$real_tst_name"; then
+             need_bus=yes
+         fi
+     done
+@@ -165,10 +168,10 @@ run_test_case()
+         func_copy_component "$test_top_srcdir/engine/simple.xml"
+         func_copy_component "$test_top_srcdir/conf/memconf/memconf.xml"
+ 
+-        IBUS_COMPONENT_PATH=$PWD/components
++        IBUS_COMPONENT_PATH="$PWD/components"
+         export IBUS_COMPONENT_PATH
+ 
+-        IBUS_ADDRESS_FILE=$PWD/ibus-daemon.pid
++        IBUS_ADDRESS_FILE="$PWD/ibus-daemon.pid"
+         export IBUS_ADDRESS_FILE
+ 
+         test $TEST_GTK -eq 1 && case $TEST_GTK_VERSION in
+@@ -194,9 +197,9 @@ run_test_case()
+                 echo "NOT FOUND $top_builddir/client/gtk3/im-ibus.so"
+                 exit 1
+             fi
+-            GTK_IM_MODULE_FILE=$PWD/imcache
++            GTK_IM_MODULE_FILE="$PWD/imcache"
+             export GTK_IM_MODULE_FILE
+-            $GTK_QUERY_MODULE "$IM_IBUS_SO" > $GTK_IM_MODULE_FILE
++            $GTK_QUERY_MODULE "$IM_IBUS_SO" > "$GTK_IM_MODULE_FILE"
+             ;;
+         *)
+             echo "NOT SUPPORT GTK_VERSION $TEST_GTK_VERSION"
+@@ -204,19 +207,19 @@ run_test_case()
+             ;;
+         esac || :
+ 
+-        cp "$test_top_srcdir/data/dconf/$IBUS_SCHEMA_FILE" $PWD
+-        glib-compile-schemas $PWD 2>/dev/null
++        cp "$test_top_srcdir/data/dconf/$IBUS_SCHEMA_FILE" "$PWD"
++        glib-compile-schemas "$PWD" 2>/dev/null
+         if test $? -ne 0 ; then
+             echo "FAILED glib-compile-schemas"
+             retval=1
+             return
+         fi
+-        if test ! -f $PWD/gschemas.compiled ; then
++        if test ! -f "$PWD/gschemas.compiled" ; then
+             echo "NOT FOUND $PWD/gschemas.compiled"
+             retval=1
+             return
+         fi
+-        export GSETTINGS_SCHEMA_DIR=$PWD
++        export GSETTINGS_SCHEMA_DIR="$PWD"
+ 
+         # Start ibus-daemon.
+         DAEMON_ARGS='
+@@ -227,10 +230,10 @@ run_test_case()
+             --verbose
+         '
+         if test x"$DISABLE_DAEMONIZE_IN_TESTS" = x ; then
+-            $test_top_builddir/bus/ibus-daemon \
++            "$test_top_builddir/bus/ibus-daemon" \
+                 $DAEMON_ARGS --daemonize;
+         else
+-            $test_top_builddir/bus/ibus-daemon \
++            "$test_top_builddir/bus/ibus-daemon" \
+                 $DAEMON_ARGS &
+         fi
+ 
+@@ -250,8 +253,8 @@ run_test_case()
+ 
+     if echo "$tst" | grep -q '^/' ; then
+         if echo "$tst" | grep -q 'python' ; then
+-            interpreter=$tst
+-            tst=$1
++            interpreter="$tst"
++            tst="$1"
+             shift
+             if echo "$tst" | grep -q '^/' ; then
+                 # absolute path for Meson
+@@ -262,28 +265,28 @@ run_test_case()
+             fi
+         else
+             # absolute path for Meson
+-            "$tst" $test_top_srcdir/src/tests ${1+"$@"}
++            "$tst" "$test_top_srcdir/src/tests" ${1+"$@"}
+         fi
+     else
+         # relative path for each execution
+-        "../$tst" $test_top_srcdir/src/tests ${1+"$@"}
++        "../$tst" "$test_top_srcdir/src/tests" ${1+"$@"}
+     fi
+ 
+     retval=`expr $retval \| $?`
+ 
+-    cd $backup_dir
++    cd "$backup_dir"
+ 
+-    func_cleanup $tstdir
++    func_cleanup "$tstdir"
+ }
+ 
+-envfile=$srcdir/`func_basename $tst`.env
+-if test -f $envfile ; then
++envfile="$srcdir/$real_tst_name".env
++if test -f "$envfile" ; then
+     ENVS="`cat $envfile`"
+ fi;
+ if test x"$ENVS" = x ; then
+     run_test_case $@
+ else
+-    LANG_backup=$LANG
++    LANG_backup="$LANG"
+     i=1
+     # mesonbuild/mtest.py:TAPParser.parse_line() says:
+     # 'version number must be on the first line'
+@@ -307,7 +310,7 @@ else
+         unset COMPOSE_FILE
+         export $e
+         # TAP info should start with "# ".
+-        echo "# Run `func_basename $tst` on $e"
++        echo "# Run $real_tst_name on $e"
+         echo "# ======================="
+         run_test_case $@
+         name="/"`basename "$1"`":$LANG:$COMPOSE_FILE:$NO_LOAD_COMPOSE_FILE"
+@@ -325,7 +328,7 @@ else
+     `echo "$ENVS"`
+ EOF_ENVS
+     unset G_TEST_ROOT_PROCESS
+-    export LANG=$LANG_backup
++    export LANG="$LANG_backup"
+ fi
+ 
+ exit $retval
+-- 
+2.54.0
+

diff --git a/ibus.spec b/ibus.spec
index 7c44ad6..c026063 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -58,7 +58,7 @@
 Name:           ibus
 Version:        1.5.34
 # https://github.com/fedora-infra/rpmautospec/issues/101
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Intelligent Input Bus for Linux OS
 License:        LGPL-2.1-or-later
 URL:            https://github.com/ibus/%name/wiki
@@ -584,6 +584,9 @@ dconf update || :
 %{_datadir}/installed-tests/ibus
 
 %changelog
+* Thu Jul 16 2026 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.34-2
+- Fix CI in GNOME 50
+
 * Wed Jun 03 2026 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.34-2
 - Backport upstream patches
 - Make an IBusText own an updated IBusAttrList reference

diff --git a/tests/ibus-desktop-testing/install1-common/main.fmf b/tests/ibus-desktop-testing/install1-common/main.fmf
index 75569e1..86db1fc 100644
--- a/tests/ibus-desktop-testing/install1-common/main.fmf
+++ b/tests/ibus-desktop-testing/install1-common/main.fmf
@@ -4,6 +4,7 @@ description:
     RHEL GNOME desktop components.
 require:
     # IBus CI sets
+    - gnome-screenshot
     - ibus
     - ibus-desktop-testing
     - dbus-x11

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

only message in thread, other threads:[~2026-07-16  6:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-16  6:41 [rpms/ibus] f44: Fix CI in GNOME 50 Takao Fujiwara

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