From 16da0826bc33aaca4936961f0c3cc1c3d079e6a3 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 19 Apr 2025 21:58:34 +0900 Subject: [PATCH] Fix some warnings in CI Add screenshot option in CI. Disable el-GR compose test since the latest includes multiple. --- ibus-xx-tests-disable-el-gr.patch | 8 ++ ibus-xx-tests-screenshot.patch | 129 ++++++++++++++++++++++++++++++ ibus.spec | 11 ++- 3 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 ibus-xx-tests-disable-el-gr.patch create mode 100644 ibus-xx-tests-screenshot.patch diff --git a/ibus-xx-tests-disable-el-gr.patch b/ibus-xx-tests-disable-el-gr.patch new file mode 100644 index 0000000..361a538 --- /dev/null +++ b/ibus-xx-tests-disable-el-gr.patch @@ -0,0 +1,8 @@ +--- ibus-1.5.19/src/tests/ibus-compose.env.orig 2025-04-11 20:19:32.894033452 +0900 ++++ ibus-1.5.19/src/tests/ibus-compose.env 2025-04-11 20:20:36.995690581 +0900 +@@ -1,4 +1,4 @@ +-LANG=el_GR.UTF-8 ++#LANG=el_GR.UTF-8 + LANG=fi_FI.UTF-8 + LANG=pt_BR.UTF-8 + LANG=en_US.UTF-8 COMPOSE_FILE=ibus-compose.emoji diff --git a/ibus-xx-tests-screenshot.patch b/ibus-xx-tests-screenshot.patch new file mode 100644 index 0000000..3f5b917 --- /dev/null +++ b/ibus-xx-tests-screenshot.patch @@ -0,0 +1,129 @@ +--- ibus-1.5.19/src/tests/ibus-desktop-testing-runner.in.orig 2025-04-11 13:28:17.764620101 +0900 ++++ ibus-1.5.19/src/tests/ibus-desktop-testing-runner.in 2025-04-15 01:02:05.501785740 +0900 +@@ -43,6 +43,7 @@ SRCDIR="." + TEST_LOG="test-suite.log" + TEST_LOG_STDOUT=0 + RESULT_LOG="" ++SCREEN_LOG="" + HAVE_GRAPHICS=1 + DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session" + PID_XORG=0 +@@ -88,14 +89,16 @@ usage() + "-T, --timeout=TIMEOUT Set timeout (default TIMEOUT is 300 sec).\n" \ + "-o, --output=OUTPUT_FILE OUtput the log to OUTPUT_FILE\n" \ + "-O, --result=RESULT_FILE OUtput the result to RESULT_FILE\n" \ ++"-S, --screendump=DUMP_FILE Output the screen to DUMP_FILE ('STDOUT' can be stdout)\n" \ + "" + } + + parse_args() + { + # This is GNU getopt. "sudo port getopt" in BSD? +- ARGS=`getopt -o hvb:s:cd:t:r:T:o:O: --long \ +- help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,timeout:,output:,result:\ ++ ARGS=`getopt -o hvb:s:cd:t:r:T:o:O:S: --long \ ++ help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,\ ++timeout:,output:,result:,screendump:,\ + -- "$@"`; + eval set -- "$ARGS" + while [ 1 ] ; do +@@ -111,6 +114,7 @@ parse_args() + -T | --timeout ) TIMEOUT="$2"; shift 2;; + -o | --output ) TEST_LOG="$2"; shift 2;; + -O | --result ) RESULT_LOG="$2"; shift 2;; ++ -S | --screendump ) SCREEN_LOG="$2"; shift 2;; + -- ) shift; break;; + * ) usage; exit 1;; + esac +@@ -214,7 +218,7 @@ run_desktop() + sleep 1 + export DISPLAY=$DISPLAY + echo "Running $DESKTOP_COMMAND with $USER in `tty`" +- $DESKTOP_COMMAND & ++ $DESKTOP_COMMAND 2>&1 & + PID_GNOME_SESSION=$! + sleep 30 + HAS_GNOME=`echo $DESKTOP_COMMAND | grep gnome-session` +@@ -374,7 +378,13 @@ finit() + { + echo "# Killing left gnome-session and Xorg" + kill $PID_GNOME_SESSION $PID_XORG +- ibus exit ++ wait $PID_GNOME_SESSION $PID_XORG 2>/dev/null ++ PID_IBUS=`pidof ibus-daemon` ++ if test x"$PID_IBUS" != x ; then ++ ibus exit ++ else ++ echo "# Dead ibus-daemon" ++ fi + SUSER=`echo "$USER" | cut -c 1-7` + LEFT_CALENDAR=`ps -ef | grep gnome-shell-calendar-server | grep $SUSER | grep -v grep` + if [ x"$LEFT_CALENDAR" != x ] ; then +@@ -386,14 +396,67 @@ finit() + echo "# Finished $PROGNAME testing" + } + ++ ++save_screen_real() ++{ ++ SCREEN_PNG="`date '+%Y%m%d%H%M%S'`.png" ++ gnome-screenshot --file=$SCREEN_PNG ++ if test x"$SCREEN_LOG" = xSTDOUT ; then ++ base64 $SCREEN_PNG ++ touch /var/tmp/STDOUT.log ++ else ++ base64 $SCREEN_PNG > $SCREEN_LOG ++ fi ++} ++ ++ ++save_screen() ++{ ++ if test x"$SCREEN_LOG" = x ; then ++ return ++ fi ++ if test x"$SCREEN_LOG" = xSTDOUT ; then ++ if test -f /var/tmp/STDOUT.log ; then ++ rm /var/tmp/STDOUT.log ++ fi ++ else ++ if test -f "$SCREEN_LOG" ; then ++ rm "$SCREEN_LOG" ++ fi ++ fi ++ save_screen_real & ++ while test 1 ; do ++ if test x"$SCREEN_LOG" = xSTDOUT ; then ++ if test -f /var/tmp/STDOUT.log ; then ++ break ++ fi ++ else ++ if test -f "$SCREEN_LOG" ; then ++ break ++ fi ++ fi ++ sleep 1 ++ done ++} ++ ++ + main() + { ++ echo "TEST TIME `date`" + parse_args "$@" ++ echo "TEST2 TIME `date`" + init_desktop ++ echo "TEST3 TIME `date`" + run_dbus_daemon 2>>$TEST_LOG 1>>$TEST_LOG ++ echo "TEST4 TIME `date`" + run_desktop 2>>$TEST_LOG 1>>$TEST_LOG ++ echo "TEST5 TIME `date`" ++ save_screen ++ echo "TEST6 TIME `date`" + run_test_suite ++ echo "TEST7 TIME `date`" + finit ++ echo "TEST8 TIME `date`" + } + + # Need to enclose $@ with double quotes not to split the array. diff --git a/ibus.spec b/ibus.spec index 7e9d088..2663cb3 100644 --- a/ibus.spec +++ b/ibus.spec @@ -31,7 +31,7 @@ Name: ibus Version: 1.5.19 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPLv2+ Group: System Environment/Libraries @@ -59,6 +59,11 @@ Patch6: %{name}-1682157-ci.patch Patch7: %{name}-1713606-hangul-with-mouse.patch # RHEL 8.5 Bug 1897548 - Enable to lookup Unicode names Patch8: %{name}-1897548-emoji-unicode.patch +# RHEL 8.10 screenshot in CI +Patch9: %{name}-xx-tests-screenshot.patch +# RHEL 8.10 Disable el-GR compose test since the latest includes multiple +# outputs and IBus requires to backport lots of patches to support it. +Patch10: %{name}-xx-tests-disable-el-gr.patch # RHEL 8.0 Under testing #1349148 #1385349 #1350291 #1406699 #1432252 #1601577 Patch100: %{name}-1385349-segv-bus-proxy.patch @@ -501,6 +506,10 @@ dconf update || : %{_datadir}/installed-tests/ibus %changelog +* Mon Apr 07 2025 Takao Fujiwara - 1.5.19-15 +- Resolves: RHEL-1616 Replace gitlab.gnome.org with gitlab.com/redhat +- Add screenshot option in CI + * Thu Sep 30 2021 Takao Fujiwara - 1.5.19-14 - Resolves: #2008074 - Fix regression of Emoji typing in Wayland