Replace anthy with anthy-unicode
- Install ibus-anthy-tests sub package
This commit is contained in:
parent
58ef87e317
commit
3234a6238e
@ -1 +1,370 @@
|
|||||||
|
From 5a9e4858f1a2b6cad02ef1d272fc5bed959ec0bf Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Wed, 16 Oct 2019 17:58:55 +0900
|
||||||
|
Subject: [PATCH] Integrate anthy automation tests to
|
||||||
|
ibus-desktop-testing-runner
|
||||||
|
|
||||||
|
The test cases can be run with ibus-desktop-testing-runner:
|
||||||
|
% ibus-desktop-testing-runner \
|
||||||
|
--no-graphics \
|
||||||
|
--runner=gnome \
|
||||||
|
--tests='ibus-anthy' \
|
||||||
|
--output='./ibus-anthy.log' \
|
||||||
|
--result='./test.log'
|
||||||
|
ibus-desktop-testing-runner requires gnome-desktop-testing-runner
|
||||||
|
in case --runner option is given.
|
||||||
|
---
|
||||||
|
configure.ac | 14 +++++
|
||||||
|
tests/Makefile.am | 46 +++++++++++++--
|
||||||
|
tests/anthycases.py | 0
|
||||||
|
tests/anthytest.py | 135 +++++++++++++++++++++++++++-----------------
|
||||||
|
tests/meta.test.in | 4 ++
|
||||||
|
5 files changed, 142 insertions(+), 57 deletions(-)
|
||||||
|
mode change 100644 => 100755 tests/anthycases.py
|
||||||
|
mode change 100644 => 100755 tests/anthytest.py
|
||||||
|
create mode 100644 tests/meta.test.in
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 06c4521..64afcc6 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -398,6 +398,20 @@ LAYOUT_XML="<layout>${LAYOUT}</layout>"
|
||||||
|
AC_SUBST(LAYOUT)
|
||||||
|
AC_SUBST(LAYOUT_XML)
|
||||||
|
|
||||||
|
+dnl --enable-installed-tests
|
||||||
|
+AC_ARG_ENABLE(installed-tests,
|
||||||
|
+ AS_HELP_STRING([--enable-installed-tests],
|
||||||
|
+ [Enable to installed tests]),
|
||||||
|
+ [enable_installed_tests=$enableval],
|
||||||
|
+ [enable_installed_tests=no]
|
||||||
|
+)
|
||||||
|
+AM_CONDITIONAL([ENABLE_INSTALLED_TESTS],
|
||||||
|
+ [test x"$enable_installed_tests" = x"yes"])
|
||||||
|
+if test x"$enable_installed_tests" = x"no"; then
|
||||||
|
+ enable_installed_tests="no (disabled, use --enable-installed-tests to enable)"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+
|
||||||
|
dnl libtool versioning
|
||||||
|
dnl
|
||||||
|
dnl If LT_VERSION_INFO="lt_current:lt_revision:lt_age", libibus is
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
|
index b2d35d6..d891ff2 100644
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -19,12 +19,48 @@
|
||||||
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
+
|
||||||
|
+CLEANFILES =
|
||||||
|
+
|
||||||
|
check:
|
||||||
|
+ @TAP_DIR=`python -m site --user-site`/tap; \
|
||||||
|
+ if test x"$$TAP_DIR" != x -a ! -d "$$TAP_DIR" ; then \
|
||||||
|
+ echo "pip install tap.py --user"; \
|
||||||
|
+ pip install tap.py --user; \
|
||||||
|
+ fi; \
|
||||||
|
bash -x $(srcdir)/test-build.sh --builddir=$(builddir) --srcdir=$(srcdir)
|
||||||
|
|
||||||
|
+if ENABLE_INSTALLED_TESTS
|
||||||
|
+test_execsdir = $(libexecdir)/installed-tests/ibus-anthy
|
||||||
|
+test_execs = anthytest
|
||||||
|
+test_execs_SCRIPTS = \
|
||||||
|
+ anthycases.py \
|
||||||
|
+ anthytest.py \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
|
+test_metas_in = meta.test.in
|
||||||
|
+test_metas = $(addsuffix .test, $(test_execs))
|
||||||
|
+test_sources_DATA = \
|
||||||
|
+ $(test_metas) \
|
||||||
|
+ $(NULL)
|
||||||
|
+test_sourcesdir = $(datadir)/installed-tests/ibus-anthy
|
||||||
|
+
|
||||||
|
+CLEANFILES += \
|
||||||
|
+ $(test_metas) \
|
||||||
|
+ $(NULL)
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+$(test_metas): $(test_metas_in)
|
||||||
|
+ f=`echo $@ | sed -e 's/\.test//'`; \
|
||||||
|
+ TEST_EXEC=$(test_execsdir)/$${f}.py; \
|
||||||
|
+ sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(test_metas_in) > $@.tmp; \
|
||||||
|
+ mv $@.tmp $@; \
|
||||||
|
+ $(NULL)
|
||||||
|
+
|
||||||
|
EXTRA_DIST = \
|
||||||
|
- anthycases.py \
|
||||||
|
- anthytest.py \
|
||||||
|
- test-build.sh \
|
||||||
|
- test-console.sh \
|
||||||
|
- $(NULL)
|
||||||
|
+ anthycases.py \
|
||||||
|
+ anthytest.py \
|
||||||
|
+ meta.test.in \
|
||||||
|
+ test-build.sh \
|
||||||
|
+ test-console.sh \
|
||||||
|
+ $(NULL)
|
||||||
|
diff --git a/tests/anthycases.py b/tests/anthycases.py
|
||||||
|
old mode 100644
|
||||||
|
new mode 100755
|
||||||
|
diff --git a/tests/anthytest.py b/tests/anthytest.py
|
||||||
|
old mode 100644
|
||||||
|
new mode 100755
|
||||||
|
index 377576c..11d0e2b
|
||||||
|
--- a/tests/anthytest.py
|
||||||
|
+++ b/tests/anthytest.py
|
||||||
|
@@ -5,19 +5,28 @@ from __future__ import print_function
|
||||||
|
|
||||||
|
from gi import require_version as gi_require_version
|
||||||
|
gi_require_version('GLib', '2.0')
|
||||||
|
+gi_require_version('Gio', '2.0')
|
||||||
|
gi_require_version('Gtk', '3.0')
|
||||||
|
gi_require_version('IBus', '1.0')
|
||||||
|
from gi.repository import GLib
|
||||||
|
+from gi.repository import Gio
|
||||||
|
from gi.repository import Gtk
|
||||||
|
from gi.repository import IBus
|
||||||
|
|
||||||
|
+import argparse
|
||||||
|
import getopt
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
+import unittest
|
||||||
|
+
|
||||||
|
+try:
|
||||||
|
+ from tap import TAPTestRunner
|
||||||
|
+except ModuleNotFoundError as err:
|
||||||
|
+ print('Ignore tap module: %s' % str(err))
|
||||||
|
|
||||||
|
PY3K = sys.version_info >= (3, 0)
|
||||||
|
-DONE_EXIT = False
|
||||||
|
+DONE_EXIT = True
|
||||||
|
|
||||||
|
if 'IBUS_ANTHY_ENGINE_PATH' in os.environ:
|
||||||
|
engine_path = os.environ['IBUS_ANTHY_ENGINE_PATH']
|
||||||
|
@@ -31,11 +40,28 @@ sys.path.append('/usr/share/ibus-anthy/engine')
|
||||||
|
|
||||||
|
from anthycases import TestCases
|
||||||
|
|
||||||
|
-class AnthyTest:
|
||||||
|
+# Need to flush the output against Gtk.main()
|
||||||
|
+def printflush(sentence):
|
||||||
|
+ try:
|
||||||
|
+ print(sentence, flush=True)
|
||||||
|
+ except IOError:
|
||||||
|
+ pass
|
||||||
|
+
|
||||||
|
+def printerr(sentence):
|
||||||
|
+ try:
|
||||||
|
+ print(sentence, flush=True, file=sys.stderr)
|
||||||
|
+ except IOError:
|
||||||
|
+ pass
|
||||||
|
+
|
||||||
|
+class AnthyTest(unittest.TestCase):
|
||||||
|
global DONE_EXIT
|
||||||
|
ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine'
|
||||||
|
- def __init__(self):
|
||||||
|
+
|
||||||
|
+ @classmethod
|
||||||
|
+ def setUpClass(cls):
|
||||||
|
IBus.init()
|
||||||
|
+
|
||||||
|
+ def setUp(self):
|
||||||
|
self.__id = 0
|
||||||
|
self.__rerun = False
|
||||||
|
self.__test_index = 0
|
||||||
|
@@ -141,7 +167,6 @@ class AnthyTest:
|
||||||
|
if not self.__bus.set_global_engine_async_finish(res):
|
||||||
|
warning('set engine failed: ' + error.message)
|
||||||
|
return
|
||||||
|
- print('enabled engine')
|
||||||
|
self.__enable_hiragana()
|
||||||
|
self.__main_test()
|
||||||
|
|
||||||
|
@@ -173,28 +198,15 @@ class AnthyTest:
|
||||||
|
self.__run_cases('commit')
|
||||||
|
|
||||||
|
def __enable_hiragana(self):
|
||||||
|
- commands = ['gsettings', 'get',
|
||||||
|
- 'org.freedesktop.ibus.engine.anthy.common',
|
||||||
|
- 'input-mode'
|
||||||
|
- ]
|
||||||
|
- if PY3K:
|
||||||
|
- py3result = subprocess.run(commands, stdout=subprocess.PIPE)
|
||||||
|
- try:
|
||||||
|
- result = int(py3result.stdout)
|
||||||
|
- except ValueError:
|
||||||
|
- # No user data
|
||||||
|
- result = 0
|
||||||
|
- else:
|
||||||
|
- py2result = subprocess.check_output(commands)
|
||||||
|
- result = py2result
|
||||||
|
- if result == '':
|
||||||
|
- result = 0
|
||||||
|
+ settings = Gio.Settings(
|
||||||
|
+ schema = "org.freedesktop.ibus.engine.anthy.common");
|
||||||
|
+ result = settings.get_int('input-mode')
|
||||||
|
if result != 0:
|
||||||
|
- print('Enable hiragana', result)
|
||||||
|
+ printflush('Enable hiragana %d' % result)
|
||||||
|
key = TestCases['init']
|
||||||
|
self.__typing(key[0], key[1], key[2])
|
||||||
|
else:
|
||||||
|
- print('Already hiragana')
|
||||||
|
+ printflush('Already hiragana')
|
||||||
|
|
||||||
|
def __main_test(self):
|
||||||
|
self.__conversion_index = 0
|
||||||
|
@@ -214,7 +226,8 @@ class AnthyTest:
|
||||||
|
i = 0
|
||||||
|
if type == 'string':
|
||||||
|
if start == -1 and end == -1:
|
||||||
|
- print('test step:', tag, 'sequences: "' + cases['string'] + '"')
|
||||||
|
+ printflush('test step: %s sequences: "%s"' \
|
||||||
|
+ % (tag, str(cases['string'])))
|
||||||
|
for a in cases['string']:
|
||||||
|
if start >= 0 and i < start:
|
||||||
|
i += 1
|
||||||
|
@@ -222,12 +235,14 @@ class AnthyTest:
|
||||||
|
if end >= 0 and i >= end:
|
||||||
|
break;
|
||||||
|
if start != -1 or end != -1:
|
||||||
|
- print('test step:', tag, 'sequences: "' + cases['string'][i] + '"')
|
||||||
|
+ printflush('test step: %s sequences: "%s"' \
|
||||||
|
+ % (tag, str(cases['string'])))
|
||||||
|
self.__typing(ord(a), 0, 0)
|
||||||
|
i += 1
|
||||||
|
if type == 'keys':
|
||||||
|
if start == -1 and end == -1:
|
||||||
|
- print('test step:', tag, 'sequences:', cases['keys'])
|
||||||
|
+ printflush('test step: %s sequences: %s' \
|
||||||
|
+ % (tag, str(cases['keys'])))
|
||||||
|
for key in cases['keys']:
|
||||||
|
if start >= 0 and i < start:
|
||||||
|
i += 1
|
||||||
|
@@ -235,7 +250,8 @@ class AnthyTest:
|
||||||
|
if end >= 0 and i >= end:
|
||||||
|
break;
|
||||||
|
if start != -1 or end != -1:
|
||||||
|
- print('test step: %s sequences: [0x%X, 0x%X, 0x%X]' % (tag, key[0], key[1], key[2]))
|
||||||
|
+ printflush('test step: %s sequences: [0x%X, 0x%X, 0x%X]' \
|
||||||
|
+ % (tag, key[0], key[1], key[2]))
|
||||||
|
self.__typing(key[0], key[1], key[2])
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
@@ -248,9 +264,10 @@ class AnthyTest:
|
||||||
|
tests = TestCases['tests'][self.__test_index]
|
||||||
|
cases = tests['result']
|
||||||
|
if cases['string'] == chars:
|
||||||
|
- print("OK: ", chars)
|
||||||
|
+ printflush('OK: %d %s' % (self.__test_index, chars))
|
||||||
|
else:
|
||||||
|
- print("NG: ", cases['string'], chars)
|
||||||
|
+ printflush('NG: %d %s %s' \
|
||||||
|
+ % (self.__test_index, str(cases['string']), chars))
|
||||||
|
self.__test_index += 1
|
||||||
|
if self.__test_index == len(TestCases['tests']):
|
||||||
|
if DONE_EXIT:
|
||||||
|
@@ -259,9 +276,15 @@ class AnthyTest:
|
||||||
|
self.__entry.set_text('')
|
||||||
|
self.__main_test()
|
||||||
|
|
||||||
|
- def run(self):
|
||||||
|
+ def main(self):
|
||||||
|
Gtk.main()
|
||||||
|
|
||||||
|
+ def test_typing(self):
|
||||||
|
+ if not self.register_ibus_engine():
|
||||||
|
+ sys.exit(-1)
|
||||||
|
+ self.create_window()
|
||||||
|
+ self.main()
|
||||||
|
+
|
||||||
|
def print_help(out, v = 0):
|
||||||
|
print('-e, --exit Exit this program after test is done.',
|
||||||
|
file=out)
|
||||||
|
@@ -285,25 +308,30 @@ def get_userhome():
|
||||||
|
return userhome
|
||||||
|
|
||||||
|
def main():
|
||||||
|
- shortopt = 'efh'
|
||||||
|
- longopt = ['exit', 'force', 'help']
|
||||||
|
force_run = False
|
||||||
|
- try:
|
||||||
|
- opts, args = getopt.getopt(sys.argv[1:], shortopt, longopt)
|
||||||
|
- except getopt.GetoptError as err:
|
||||||
|
- print_help(sys.stderr, 1)
|
||||||
|
-
|
||||||
|
- for o, a in opts:
|
||||||
|
- if o in ('-e', '--exit'):
|
||||||
|
- global DONE_EXIT
|
||||||
|
- DONE_EXIT = True
|
||||||
|
- elif o in ('-f', '--force'):
|
||||||
|
- force_run = True
|
||||||
|
- elif o in ('-h', '--help'):
|
||||||
|
- print_help(sys.stderr)
|
||||||
|
- else:
|
||||||
|
- print('Unknown argument: %s' % o, file=sys.stderr)
|
||||||
|
- print_help(sys.stderr, 1)
|
||||||
|
+ parser = argparse.ArgumentParser()
|
||||||
|
+ parser.add_argument('-k', '--keep', action='store_true',
|
||||||
|
+ help='keep this GtkWindow after test is done')
|
||||||
|
+ parser.add_argument('-f', '--force', action='store_true',
|
||||||
|
+ help='run this program forcibly with .anthy')
|
||||||
|
+ parser.add_argument('-t', '--tap', action='store_true',
|
||||||
|
+ help='enable TAP')
|
||||||
|
+ parser.add_argument('-F', '--unittest-failfast', action='store_true',
|
||||||
|
+ help='stop on first fail or error in unittest')
|
||||||
|
+ parser.add_argument('-H', '--unittest-help', action='store_true',
|
||||||
|
+ help='show unittest help message and exit')
|
||||||
|
+ args, unittest_args = parser.parse_known_args()
|
||||||
|
+ sys.argv[1:] = unittest_args
|
||||||
|
+ if args.keep:
|
||||||
|
+ global DONE_EXIT
|
||||||
|
+ DONE_EXIT = False
|
||||||
|
+ if args.force:
|
||||||
|
+ force_run = True
|
||||||
|
+ if args.unittest_failfast:
|
||||||
|
+ sys.argv.append('-f')
|
||||||
|
+ if args.unittest_help:
|
||||||
|
+ sys.argv.append('-h')
|
||||||
|
+ unittest.main()
|
||||||
|
|
||||||
|
for anthy_config in ['/.config/anthy', '/.anthy']:
|
||||||
|
anthy_user_dir = get_userhome() + anthy_config
|
||||||
|
@@ -312,11 +340,14 @@ def main():
|
||||||
|
print('Please remove %s before the test' % anthy_last_file,
|
||||||
|
file=sys.stderr)
|
||||||
|
sys.exit(-1)
|
||||||
|
- EngineTest = AnthyTest()
|
||||||
|
- if not EngineTest.register_ibus_engine():
|
||||||
|
- sys.exit(-1)
|
||||||
|
- EngineTest.create_window()
|
||||||
|
- EngineTest.run()
|
||||||
|
+
|
||||||
|
+ if args.tap:
|
||||||
|
+ loader = unittest.TestLoader()
|
||||||
|
+ runner = TAPTestRunner()
|
||||||
|
+ runner.set_stream(True)
|
||||||
|
+ unittest.main(testRunner=runner, testLoader=loader)
|
||||||
|
+ else:
|
||||||
|
+ unittest.main()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
diff --git a/tests/meta.test.in b/tests/meta.test.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ae2b299
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/meta.test.in
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+[Test]
|
||||||
|
+Type=session
|
||||||
|
+Exec=@TEST_EXEC@ --tap
|
||||||
|
+Output=TAP
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
Name: ibus-anthy
|
Name: ibus-anthy
|
||||||
Version: 1.5.11
|
Version: 1.5.11
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: The Anthy engine for IBus input platform
|
Summary: The Anthy engine for IBus input platform
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://github.com/ibus/ibus/wiki
|
URL: https://github.com/ibus/ibus/wiki
|
||||||
@ -40,10 +40,12 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/
|
|||||||
|
|
||||||
# Upstreamed patches.
|
# Upstreamed patches.
|
||||||
# Patch0: %%{name}-HEAD.patch
|
# Patch0: %%{name}-HEAD.patch
|
||||||
|
Patch0: %{name}-HEAD.patch
|
||||||
|
|
||||||
BuildRequires: anthy-devel
|
BuildRequires: anthy-unicode-devel
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
|
BuildRequires: git
|
||||||
BuildRequires: glib2-devel
|
BuildRequires: glib2-devel
|
||||||
BuildRequires: gobject-introspection-devel
|
BuildRequires: gobject-introspection-devel
|
||||||
BuildRequires: ibus
|
BuildRequires: ibus
|
||||||
@ -64,7 +66,7 @@ BuildRequires: python2-gobject-base
|
|||||||
|
|
||||||
Requires: ibus >= %{require_ibus_version}
|
Requires: ibus >= %{require_ibus_version}
|
||||||
Requires: kasumi
|
Requires: kasumi
|
||||||
Requires: anthy
|
Requires: anthy-unicode
|
||||||
Requires: %{name}-python = %{version}-%{release}
|
Requires: %{name}-python = %{version}-%{release}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -94,20 +96,29 @@ This package contains the Anthy Python files for IBus
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development tools for IBus
|
Summary: Development tools for IBus
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: glib2-devel
|
Requires: glib2-devel
|
||||||
Requires: anthy-devel
|
Requires: anthy-unicode-devel
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
The ibus-anthy-devel package contains .so file and .gir files
|
The ibus-anthy-devel package contains .so file and .gir files
|
||||||
for developers.
|
for developers.
|
||||||
|
|
||||||
|
%package tests
|
||||||
|
Summary: Tests for the %{name} package
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description tests
|
||||||
|
The %{name}-tests package contains tests that can be used to verify
|
||||||
|
the functionality of the installed %{name} package.
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -S git
|
||||||
# %%patch0 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf
|
#autoreconf -f -i -v
|
||||||
|
autoreconf -f -i -v
|
||||||
%configure \
|
%configure \
|
||||||
%if %have_default_layout
|
%if %have_default_layout
|
||||||
--with-layout='default' \
|
--with-layout='default' \
|
||||||
@ -119,6 +130,7 @@ autoreconf
|
|||||||
%if %with_python3
|
%if %with_python3
|
||||||
--with-python=python3 \
|
--with-python=python3 \
|
||||||
%endif
|
%endif
|
||||||
|
--enable-installed-tests \
|
||||||
--disable-static
|
--disable-static
|
||||||
# make -C po update-gmo
|
# make -C po update-gmo
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -186,7 +198,17 @@ touch --no-create %{_datadir}/icons/hicolor || :
|
|||||||
%{_includedir}/ibus-anthy-%{sub_version}
|
%{_includedir}/ibus-anthy-%{sub_version}
|
||||||
%{_libdir}/libanthygobject-%{sub_version}.so
|
%{_libdir}/libanthygobject-%{sub_version}.so
|
||||||
|
|
||||||
|
%files tests
|
||||||
|
%dir %{_libexecdir}/installed-tests
|
||||||
|
%{_libexecdir}/installed-tests/%{name}
|
||||||
|
%dir %{_datadir}/installed-tests
|
||||||
|
%{_datadir}/installed-tests/%{name}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 16 2019 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.11-3
|
||||||
|
- Replace anthy with anthy-unicode
|
||||||
|
- Install ibus-anthy-tests sub package
|
||||||
|
|
||||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.11-2
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.11-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user