diff --git a/.gitignore b/.gitignore index e69de29..b265bd5 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,24 @@ +tests/artifacts +ibus-anthy-1.2.1.tar.gz +ibus-anthy.png +/ibus-anthy-1.2.2.20101015.tar.gz +/ibus-anthy-1.2.3.tar.gz +/ibus-anthy-1.2.4.tar.gz +/ibus-anthy-1.2.5.tar.gz +/ibus-anthy-1.2.6.tar.gz +/ibus-anthy-1.2.7.tar.gz +/ibus-anthy-1.3.99.20120304.tar.gz +/ibus-anthy-1.4.99.20120327.tar.gz +/ibus-anthy-1.4.99.20121006.tar.gz +/ibus-anthy-1.5.0.tar.gz +/ibus-anthy-1.5.1.tar.gz +/ibus-anthy-1.5.2.tar.gz +/ibus-anthy-1.5.3.tar.gz +/ibus-anthy-1.5.4.tar.gz +/ibus-anthy-1.5.5.tar.gz +/ibus-anthy-1.5.6.tar.gz +/ibus-anthy-1.5.7.tar.gz +/ibus-anthy-1.5.8.tar.gz +/ibus-anthy-1.5.9.tar.gz +/ibus-anthy-1.5.10.tar.gz +/ibus-anthy-1.5.11.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e5246ca --- /dev/null +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,735 @@ +From 5a9e4858f1a2b6cad02ef1d272fc5bed959ec0bf Mon Sep 17 00:00:00 2001 +From: fujiwarat +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}" + 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 + +From a2e418003b3733c5792fbab62a2e364a343a6e49 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 4 Dec 2019 16:58:52 +0900 +Subject: [PATCH] configure: Fix to install zipcode dict with anthy-unicode + (#1779129) + +--- + configure.ac | 2 +- + setup/python2/main.py | 6 +++--- + setup/python3/main.py | 6 +++--- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 64afcc6..3fecd12 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -236,7 +236,7 @@ AC_ARG_WITH(anthy-zipcode, + [AC_HELP_STRING([--with-anthy-zipcode=FILE], + [file path of Anty zipcode.t])], + [ANTHY_ZIPCODE_FILE="$withval"], +- [ANTHY_ZIPCODE_FILE="$datadir/anthy/zipcode.t"]) ++ [ANTHY_ZIPCODE_FILE="$datadir/$ANTHY_PC/zipcode.t"]) + test "x$prefix" = xNONE && prefix=$ac_default_prefix + eval ANTHY_ZIPCODE_FILE=$ANTHY_ZIPCODE_FILE + eval ANTHY_ZIPCODE_FILE=$ANTHY_ZIPCODE_FILE +diff --git a/setup/python2/main.py b/setup/python2/main.py +index 1fb5a67..4e6b15b 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -4,8 +4,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2017 Takao Fujiwara +-# Copyright (c) 2007-2017 Red Hat, Inc. ++# Copyright (c) 2010-2019 Takao Fujiwara ++# Copyright (c) 2007-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -1460,7 +1460,7 @@ class AnthySetup(object): + Gtk.MessageType.ERROR) + return + if not path.exists(dict_file[0]): +- self.__run_message_dialog(_("Your file does not exist: ") + dict_file, ++ self.__run_message_dialog(_("Your file does not exist: ") + dict_file[0], + Gtk.MessageType.ERROR) + return + +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 5fd3040..340e8ef 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -4,8 +4,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2017 Takao Fujiwara +-# Copyright (c) 2007-2017 Red Hat, Inc. ++# Copyright (c) 2010-2019 Takao Fujiwara ++# Copyright (c) 2007-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -1454,7 +1454,7 @@ class AnthySetup(object): + Gtk.MessageType.ERROR) + return + if not path.exists(dict_file[0]): +- self.__run_message_dialog(_("Your file does not exist: ") + dict_file, ++ self.__run_message_dialog(_("Your file does not exist: ") + dict_file[0], + Gtk.MessageType.ERROR) + return + +-- +2.21.0 + +From 390d6273096fe0e435a0d145e6a785f38372ba67 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 2 Jul 2020 14:47:39 +0900 +Subject: [PATCH] tests: Enable pycotap + +--- + tests/anthytest.py | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index 11d0e2b..03a7c31 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -20,10 +20,23 @@ import sys + import subprocess + import unittest + ++TAP_MODULE_NONE, \ ++TAP_MODULE_TAPPY, \ ++TAP_MODULE_PYCOTAP = list(range(3)) ++ ++tap_module = TAP_MODULE_NONE ++ + try: + from tap import TAPTestRunner +-except ModuleNotFoundError as err: +- print('Ignore tap module: %s' % str(err)) ++ tap_module = TAP_MODULE_TAPPY ++ print('Load tappy') ++except ModuleNotFoundError: ++ try: ++ from pycotap import TAPTestRunner ++ tap_module = TAP_MODULE_PYCOTAP ++ print('Load pycotap') ++ except ModuleNotFoundError as err: ++ print('Ignore tap module: %s' % str(err)) + + PY3K = sys.version_info >= (3, 0) + DONE_EXIT = True +@@ -344,7 +357,8 @@ def main(): + if args.tap: + loader = unittest.TestLoader() + runner = TAPTestRunner() +- runner.set_stream(True) ++ if tap_module == TAP_MODULE_TAPPY: ++ runner.set_stream(True) + unittest.main(testRunner=runner, testLoader=loader) + else: + unittest.main() +-- +2.24.1 + +From f4f35c32942a649d67fb52730d7a5d4f2ef5058a Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 9 Jul 2020 20:20:57 +0900 +Subject: [PATCH] tests: Use unittest.fail and unittest.skipIf + +--- + tests/anthytest.py | 39 +++++++++++++++++++++++++++------------ + 1 file changed, 27 insertions(+), 12 deletions(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index 03a7c31..bff3078 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -5,10 +5,12 @@ from __future__ import print_function + + from gi import require_version as gi_require_version + gi_require_version('GLib', '2.0') ++gi_require_version('Gdk', '3.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 Gdk + from gi.repository import Gio + from gi.repository import Gtk + from gi.repository import IBus +@@ -66,6 +68,7 @@ def printerr(sentence): + except IOError: + pass + ++@unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') + class AnthyTest(unittest.TestCase): + global DONE_EXIT + ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' +@@ -84,7 +87,7 @@ class AnthyTest(unittest.TestCase): + def register_ibus_engine(self): + self.__bus = IBus.Bus() + if not self.__bus.is_connected(): +- error('ibus-daemon is not running') ++ self.fail('ibus-daemon is not running') + return False; + self.__bus.get_connection().signal_subscribe('org.freedesktop.DBus', + 'org.freedesktop.DBus', +@@ -130,12 +133,24 @@ class AnthyTest(unittest.TestCase): + interface_name, signal_name, parameters, + user_data): + if signal_name == 'NameOwnerChanged': +- import engine ++ try: ++ import engine ++ except ModuleNotFoundError as e: ++ with self.subTest(i = 'name-owner-changed'): ++ self.fail('NG: Not installed ibus-anthy %s' % str(e)) ++ Gtk.main_quit() ++ return + engine.Engine.CONFIG_RELOADED() + + def __create_engine_cb(self, factory, engine_name): + if engine_name == 'testanthy': +- import engine ++ try: ++ import engine ++ except ModuleNotFoundError as e: ++ with self.subTest(i = 'create-engine'): ++ self.fail('NG: Not installed ibus-anthy %s' % str(e)) ++ Gtk.main_quit() ++ return + self.__id += 1 + self.__engine = engine.Engine(self.__bus, '%s/%d' % (self.ENGINE_PATH, self.__id)) + self.__engine.connect('focus-in', self.__engine_focus_in) +@@ -178,7 +193,8 @@ class AnthyTest(unittest.TestCase): + + def __set_engine_cb(self, object, res): + if not self.__bus.set_global_engine_async_finish(res): +- warning('set engine failed: ' + error.message) ++ with self.subTest(i = self.__test_index): ++ self.fail('set engine failed: ' + error.message) + return + self.__enable_hiragana() + self.__main_test() +@@ -238,18 +254,14 @@ class AnthyTest(unittest.TestCase): + type = list(cases.keys())[0] + i = 0 + if type == 'string': +- if start == -1 and end == -1: +- printflush('test step: %s sequences: "%s"' \ +- % (tag, str(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 + continue + if end >= 0 and i >= end: + break; +- if start != -1 or end != -1: +- printflush('test step: %s sequences: "%s"' \ +- % (tag, str(cases['string']))) + self.__typing(ord(a), 0, 0) + i += 1 + if type == 'keys': +@@ -279,8 +291,11 @@ class AnthyTest(unittest.TestCase): + if cases['string'] == chars: + printflush('OK: %d %s' % (self.__test_index, chars)) + else: +- printflush('NG: %d %s %s' \ +- % (self.__test_index, str(cases['string']), chars)) ++ with self.subTest(i = self.__test_index): ++ self.fail('NG: %d %s %s' \ ++ % (self.__test_index, str(cases['string']), chars)) ++ if DONE_EXIT: ++ Gtk.main_quit() + self.__test_index += 1 + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +-- +2.24.1 + +From c744be610dff270f1c0f0367f809b9df95aeea2d Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 10 Feb 2021 20:50:11 +0900 +Subject: [PATCH] setup: Set ANTHY_PC in _config.py + +Forgot to update setup/Makefile besides engine/Makefile +Also delete deprecated gettext.bind_textdomain_codeset() +--- + setup/python3/Makefile.am | 3 ++- + setup/python3/main.py | 3 +-- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/setup/python3/Makefile.am b/setup/python3/Makefile.am +index 90b3aa1..1eb3747 100644 +--- a/setup/python3/Makefile.am ++++ b/setup/python3/Makefile.am +@@ -4,7 +4,7 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2017 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2017 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -86,6 +86,7 @@ _config.py: _config.py.in + sed -e "s|\@pkgdatadir\@|$(pkgdatadir)|g" \ + -e "s|\@libexecdir\@|$(libexecdir)|g" \ + -e "s|\@datadir\@|$(datadir)|g" \ ++ -e "s|\@ANTHY_PC\@|$(ANTHY_PC)|g" \ + -e "s|\@LAYOUT\@|$(LAYOUT)|g" \ + -e "s|\@SYMBOL_CHAR_INT\@|$(SYMBOL_CHAR_INT)|g" \ + -e "s|\@ICON_PREFERENCE\@|$(ICON_PREFERENCE)|g" \ +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 340e8ef..7e16093 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -4,7 +4,7 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2019 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -76,7 +76,6 @@ class AnthySetup(object): + except AttributeError: + pass + gettext.bindtextdomain(DOMAINNAME, config.LOCALEDIR) +- gettext.bind_textdomain_codeset(DOMAINNAME, 'UTF-8') + + self.__prefs = AnthyPrefs() + +-- +2.28.0 + +From 00bab0ac26dfcd635f559b68ef76cc662a51f35b Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 10 Feb 2021 20:52:30 +0900 +Subject: [PATCH] data: Enable to configure kasumi-unicode in gschema + +kasumi-unicode can be generated from kasumi source codes +with anthy-unicode but not anthy. +kasumi-unicode can save the dicts in XDG config dir but not +$HOME/.anthy + +% ./configure --with-kasumi-exec=/usr/bin/kasumi-unicode +--- + data/Makefile.am | 4 +++- + data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 4 ++-- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index da86209..5e45c39 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2018 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2010-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -49,8 +49,10 @@ $(metainfo_DATA): $(metainfo_in_files) Makefile + $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ + + $(schemas_DATA): $(schemas_in_files) ++ KASUMI_EXEC_BASENAME=`basename $(KASUMI_EXEC_FILE)`; \ + $(SED) -e "s|\@ANTHY_ZIPCODE_FILE\@|$(ANTHY_ZIPCODE_FILE)|g" \ + -e "s|\@KASUMI_EXEC_FILE\@|$(KASUMI_EXEC_FILE)|g" \ ++ -e "s|\@KASUMI_EXEC_BASENAME\@|$$KASUMI_EXEC_BASENAME|g" \ + -e "s|\@KASUMI_ICON_FILE\@|$(KASUMI_ICON_FILE)|g" \ + -e "s|\@ON_OFF_KEYS\@|$(ON_OFF_KEYS)|g" \ + -e "s|\@pkgdatadir\@|$(pkgdatadir)|g" \ +diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +index 3b68b4b..773be09 100644 +--- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in ++++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +@@ -108,12 +108,12 @@ + + + +- ['@KASUMI_EXEC_FILE@', 'kasumi'] ++ ['@KASUMI_EXEC_FILE@', '@KASUMI_EXEC_BASENAME@'] + Dictionary Administration Command + + + +- ['@KASUMI_EXEC_FILE@', 'kasumi', '-a'] ++ ['@KASUMI_EXEC_FILE@', '@KASUMI_EXEC_BASENAME@', '-a'] + Add Word Command + + +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec new file mode 100644 index 0000000..0ce8199 --- /dev/null +++ b/ibus-anthy.spec @@ -0,0 +1,514 @@ +# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3 +%global sub_version 1.0 +%global require_ibus_version 1.5.3 +%global have_default_layout 1 +%global have_bridge_hotkey 1 +%global with_python3 1 + +%if (0%{?fedora} > 33 || 0%{?rhel} > 8) +%bcond_without kasumi_unicode +%else +%bcond_with kasumi_unicode +%endif + +%if %with_python3 +# for bytecompile in %%{_datadir}/ibus-anthy +%global __python %{__python3} +%endif + +Name: ibus-anthy +Version: 1.5.11 +Release: 10%{?dist} +Summary: The Anthy engine for IBus input platform +License: GPLv2+ +URL: https://github.com/ibus/ibus/wiki +Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz + +# Upstreamed patches. +# Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch + +BuildRequires: anthy-unicode-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext-devel +BuildRequires: git +BuildRequires: glib2-devel +BuildRequires: gobject-introspection-devel +BuildRequires: ibus +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: python3-devel +BuildRequires: python3-gobject + +Requires: ibus >= %{require_ibus_version} +%if %{with kasumi_unicode} +Requires: kasumi-unicode +%else +Requires: kasumi +%endif +Requires: anthy-unicode +Requires: %{name}-python = %{version}-%{release} + +%description +The Anthy engine for IBus platform. It provides Japanese input method from +a library of the Anthy. + +%package python +Summary: Anthy Python files for IBus +BuildArch: noarch +Requires: %{name} = %{version}-%{release} +Requires: gtk3 +Requires: python3-cairo +Requires: python3-gobject + +%description python +This package contains the Anthy Python files for IBus + +%package devel +Summary: Development tools for IBus +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: glib2-devel +Requires: anthy-unicode-devel + +%description devel +The ibus-anthy-devel package contains .so file and .gir files +for developers. + +%package tests +Summary: Tests for the %{name} package +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-pycotap + +%description tests +The %{name}-tests package contains tests that can be used to verify +the functionality of the installed %{name} package. + + +%prep +%autosetup -S git + +%build +#autoreconf -f -i -v +autoreconf -f -i -v +%configure \ +%if %have_default_layout + --with-layout='default' \ +%endif +%if %have_bridge_hotkey + --with-hotkeys \ +%endif +%if %{with kasumi_unicode} + --with-kasumi-exec=/usr/bin/kasumi-unicode \ +%endif + --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ + --with-python=python3 \ + --enable-installed-tests \ + --disable-static +# make -C po update-gmo +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' +rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la + + +%find_lang %{name} + +%check +desktop-file-validate \ + $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop + +%post +/sbin/ldconfig +[ -x %{_bindir}/ibus ] && \ + %{_bindir}/ibus write-cache --system &>/dev/null || : + +%postun +/sbin/ldconfig +[ -x %{_bindir}/ibus ] && \ + %{_bindir}/ibus write-cache --system &>/dev/null || : + +%files -f %{name}.lang +%doc AUTHORS COPYING README +# dir {python2_sitearch}/ibus +%{_libdir}/libanthygobject-%{sub_version}.so.* +%{_libdir}/girepository-1.0/Anthy*.typelib +%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.engine.anthy.gschema.xml +%dir %{_datadir}/ibus-anthy +%{_datadir}/ibus-anthy/dicts +%{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg + +%files python +%{_libexecdir}/ibus-*-anthy +%{_datadir}/metainfo/*.metainfo.xml +%{_datadir}/applications/ibus-setup-anthy.desktop +%{_datadir}/ibus-anthy/engine +%{_datadir}/ibus-anthy/setup +%{_datadir}/ibus/component/* + +%files devel +%{_datadir}/gir-1.0/Anthy*.gir +%{_includedir}/ibus-anthy-%{sub_version} +%{_libdir}/libanthygobject-%{sub_version}.so + +%files tests +%dir %{_libexecdir}/installed-tests +%{_libexecdir}/installed-tests/%{name} +%dir %{_datadir}/installed-tests +%{_datadir}/installed-tests/%{name} + +%changelog +* Wed Feb 10 2021 Takao Fujiwara - 1.5.11-10 +- Replace kasumi with kausmi-unicode +- Delete to require intltool +- Delete to call gettext.bind_textdomain_codeset() + +* Tue Jan 26 2021 Fedora Release Engineering - 1.5.11-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.5.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 09 2020 Takao Fujiwara - 1.5.11-7 +- Use pycotap instead of tappy in CI +- Revise CI from ibus-typing-booster +- Delete _python_bytecompile_extra + +* Wed Jan 29 2020 Fedora Release Engineering - 1.5.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Dec 04 2019 Takao Fujiwara - 1.5.11-5 +- Bug 1779129- Fix to install zipcode dict with anthy-unicode + +* Thu Oct 17 2019 Takao Fujiwara - 1.5.11-4 +- Add CI + +* Wed Oct 16 2019 Takao Fujiwara - 1.5.11-3 +- Replace anthy with anthy-unicode +- Install ibus-anthy-tests sub package + +* Thu Jul 25 2019 Fedora Release Engineering - 1.5.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 14 2019 Takao Fujiwara - 1.5.11-1 +- Bump to 1.5.11 + +* Fri Feb 01 2019 Fedora Release Engineering - 1.5.10-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.5.10-4 +- Rebuilt for Python 3.7 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-3 +- Reverted scriptlets for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-2 +- Reverted ldconfig for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-1 +- Bumped to 1.5.10 + +* Tue Feb 20 2018 Iryna Shcherbina - 1.5.9-7 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Feb 07 2018 Fedora Release Engineering - 1.5.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.5.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 1.5.9-2 +- Rebuild for Python 3.6 + +* Thu Oct 20 2016 Takao Fujiwara - 1.5.9-1 +- Bumped to 1.5.9 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.5.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Takao Fujiwara - 1.5.8-1 +- Bumped to 1.5.8 + +* Tue Nov 10 2015 Fedora Release Engineering - 1.5.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Sep 03 2015 Takao Fujiwara - 1.5.7-2 +- Fix URL in anthy.appdata.xml + +* Thu Jul 16 2015 Takao Fujiwara - 1.5.7-1 +- Bumped to 1.5.7 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 +- Resolved #1214092 Updated ibus-anthy-HEAD.patch +- Added with_appdata macro and removed with_python_pkg macro + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-5 +- Add the AppData file to the right built RPM, in this case we have to install + ibus-anthy-python rather than the main package in gnome-software. +- It turns out adding the AppData file to spec files is a great way to fix these + kinds of bugs. :) + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-4 +- Use an AppStream file compatible with F22 also. + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-3 +- Register as an AppStream component. + +* Thu Nov 13 2014 Takao Fujiwara - 1.5.6-2 +- Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. +- Use python2 for epel7. + +* Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 +- Bumped to 1.5.6 +- Added ibus-anthy-xx-input-mode.patch from ibus-anthy-HEAD.patch. + +* Sat Aug 16 2014 Fedora Release Engineering - 1.5.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 1.5.5-8 +- Rebuilt for gobject-introspection 1.41.4 + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-7 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-6 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + Set max-width-chars in ibus-anthy-setup wrapped GtkLabel. + Set 'IBUS_SETUP_XID' environment variable in setup. + +* Sat Jun 07 2014 Fedora Release Engineering - 1.5.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 19 2014 Takao Fujiwara - 1.5.5-4 +- Updated ibus-anthy-HEAD.patch to fix clear() in input mode. + +* Mon Apr 21 2014 Takao Fujiwara - 1.5.5-3 +- Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. + +* Thu Feb 27 2014 Takao Fujiwara - 1.5.5-2 +- Updated ibus-anthy-HEAD.patch to enable property icon. + +* Wed Feb 05 2014 Takao Fujiwara - 1.5.5-1 +- Bumped to 1.5.5 +- Enabled python3. + +* Tue Dec 24 2013 Takao Fujiwara - 1.5.4-2 +- Required ibus-anthy by ibus-anthy-python + +* Mon Sep 09 2013 Takao Fujiwara - 1.5.4-1 +- Bumped to 1.5.4 +- Added ibus-anthy-python subpackage for noarch. +- Deleted ibus-anthy-xx-disable-prop-symbol.patch + +* Sat Aug 03 2013 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon May 13 2013 Takao Fujiwara - 1.5.3-1 +- Bumped to 1.5.3 + +* Mon May 13 2013 Takao Fujiwara - 1.5.2-1 +- Bumped to 1.5.2 + +* Sat May 11 2013 Takao Fujiwara - 1.5.1-1 +- Bumped to 1.5.1 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 16 2013 Takao Fujiwara - 1.5.0-1 +- Bumped to 1.5.0 + +* Wed Dec 12 2012 Takao Fujiwara - 1.4.99.20121006-3 +- Resolved #884031. Deleted arch depended files. + +* Thu Nov 22 2012 Takao Fujiwara - 1.4.99.20121006-2 +- Updated to save the spec update. + +* Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 +- Bumped to 1.4.99.20121006 +- Added ibus-anthy-xx-disable-prop-symbol.patch for Fedora 17 + +* Thu Jul 19 2012 Fedora Release Engineering - 1.4.99.20120327-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120327-1 +- Bumped to 1.4.99.20120327 + +* Sun Mar 04 2012 Takao Fujiwara - 1.3.99.20120304-1 +- Bumped to 1.3.99.20120304 + +* Mon Feb 06 2012 Takao Fujiwara - 1.2.6-5 +- Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. + +* Fri Jan 13 2012 Fedora Release Engineering - 1.2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Jul 29 2011 Takao Fujiwara - 1.2.6-3 +- Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. + +* Mon May 16 2011 Takao Fujiwara - 1.2.6-1 +- Bumped to 1.2.6 + Fixed Bug 661943 - the latest page_size for ibus.LookupTable. + +* Wed Feb 09 2011 Fedora Release Engineering - 1.2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 +- Updated to 1.2.5 + Fixed Bug 652881 - SEGV when key tables are customized in new gconf. + Fixed Bug 654322 - new custom keys are not loaded. + +* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 +- Updated to 1.2.4 +- Resolves #644771 ibus-anthy [F7] key cannot work with SEGV + +* Sat Oct 16 2010 Takao Fujiwara - 1.2.3-1 +- Updated to 1.2.3 +- Updated translations. + +* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015-1 +- Updated to 1.2.2.20101015 +- Fixed Bug 643291 - ibus-anthy commit_first_segment + +* Wed Jul 21 2010 David Malcolm - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Apr 23 2010 Takao Fujiwara - 1.2.1-1 +- Update to 1.2.1 + +* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-3 +- Update icon + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 +- Update to 1.2.0.20100313 +- Update fr.po + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312.1-1 +- Update to 1.2.0.20100312.1 +- Minor fix for a translation + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312-1 +- Update to 1.2.0.20100312 +- Fix bug 571728 - ibus-anthy support to switch dicts +- Fix bug 572412 - ibus-anthy: Segment convertion mode + +* Fri Mar 05 2010 Takao Fujiwara - 1.2.0.20100115-2 +- Fix bug 564268 - Crash with enabled global input method +- Fix bug 570680 - Support NICOLA-F and NICOLA-A +- Fix romaji_typing_rule. #777 +- Fix Shift + char with CapsLock ON in romaji mode. +- Fix chattering bug. + +* Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 +- Update to 1.2.0.20100115 +- Fix bug 550001 - kasumi should be accessible from ibus-anthy + +* Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 +- Update to 1.2.0.20091127 +- Fix bug 520989 - ibus-anthy icon enhancement +- Fix bug 531696 - ibus-anthy KeyError is still reported by abrt +- Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy + +* Fri Oct 23 2009 Takao Fujiwara - 1.2.0.20090917-2 +- Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt + +* Thu Sep 17 2009 Takao Fujiwara - 1.2.0.20090917-1 +- Update to 1.2.0.20090917 +- Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-2 +- Fix a build issue + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-1 +- Update to 1.2.0.20090907 +- Fix bug 510978 - "Typing Method" configuration doesn't work +- Fix bug 518373 - ibus setup tools need to set gettext textdomain dir. + +* Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 +- Update to 1.2.0.20090813 +- Fix bug 509483 - reconversion feature doesn't work +- Fix bug 509485 - commit_first_segment feature doesn't work + +* Tue Aug 04 2009 Peng Huang - 1.2.0.20090804-1 +- Update to 1.2.0.20090804 +- Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 +- Update to 1.2.0.20090617 + +* Wed Jun 17 2009 Jens Petersen - 1.1.0.20090603-2 +- require kasumi to pull in dictionary tool + +* Wed Jun 03 2009 Peng Huang - 1.1.0.20090603-1 +- Update to 1.1.0.20090603 +- Implement setup ui. + +* Thu Apr 30 2009 Peng Huang - 1.1.0.20090402-2 +- Update to upstream HEAD version +- Fix bug 498250 - Cannot type zenkaku-space + +* Thu Apr 02 2009 Peng Huang - 1.1.0.20090402-1 +- Update to 1.1.0.20090402. +- Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion +- Fix bug 490750 - Henkan key for candidate conversion doesn't do anything +- Fix bug 490748 - Kana key doesn't do anything + +* Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 +- Update to 1.1.0.20090211. + +* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 +- Update to 1.1.0.20090205. + +* Tue Feb 03 2009 Peng Huang - 0.1.1.20090203-1 +- Update to 0.1.1.20090203. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 +- Rebuild for Python 2.6 + +* Fri Sep 12 2008 Peng Huang - 0.1.1.20080912-1 +- Update to 0.1.1.20080912. + +* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 +- Update to 0.1.1.20080901. + +* Thu Aug 28 2008 Peng Huang - 0.1.1.20080828-1 +- Update to 0.1.1.20080828. + +* Wed Aug 27 2008 Peng Huang - 0.1.1.20080827-1 +- Update to 0.1.1.20080827. + +* Tue Aug 26 2008 Peng Huang - 0.1.1.20080826-1 +- Update to 0.1.1.20080826. + +* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 +- Update to 0.1.1.20080823. + +* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 +- Update to 0.1.1.20080815. + +* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 +- Update to 0.1.1.20080812. + +* Fri Aug 08 2008 Peng Huang - 0.1.0.20080810-1 +- The first version. diff --git a/sources b/sources new file mode 100644 index 0000000..7f3b381 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (ibus-anthy-1.5.11.tar.gz) = 2ac85bf4ddba56e3f84c3732082b3b63a07175ea712aad2865de4f87b8c0967da303ee1edccbed0890095e8ddab10e58307a47b72ee11b51de3927fdb9e72418 diff --git a/tests/roles/ibus-desktop-testing-role/defaults/main.yml b/tests/roles/ibus-desktop-testing-role/defaults/main.yml new file mode 100644 index 0000000..8ff7991 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/defaults/main.yml @@ -0,0 +1,3 @@ +role_pkgs_req: + - rsync + - xorg-x11-server-Xvfb diff --git a/tests/roles/ibus-desktop-testing-role/meta/main.yml b/tests/roles/ibus-desktop-testing-role/meta/main.yml new file mode 100644 index 0000000..6626402 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/meta/main.yml @@ -0,0 +1,4 @@ +--- + +dependencies: + - role: str-common-init diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml new file mode 100644 index 0000000..5844d5a --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -0,0 +1,112 @@ +--- +- name: Check if GNOME installed-tests testing harness is installed + register: gnome_desktop_testing_runner + find: + paths: "{{ ansible_env.PATH.split(':') }}" + pattern: gnome-desktop-testing-runner + +- name: Build and install GNOME installed-tests testing harness + when: gnome_desktop_testing_runner.matched == 0 + block: + - name: Installing build dependencies for IBus and GNOME installed-tests testing harness + package: + name: + - git + - make + - gcc + - diffutils + - autoconf + - automake + - libtool + - glib2-devel + - systemd-devel + - gnome-session + - gnome-shell + - dbus-x11 + - xorg-x11-server-Xvfb + - ibus + - ibus-desktop-testing + - ibus-anthy-tests + # ibus-compose test needs locales + - glibc-langpack-el + - glibc-langpack-fi + - glibc-langpack-pt + + - name: Fetching GNOME installed-tests testing harness source from remote repository + git: + repo: 'https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git' + dest: gnome-desktop-testing + force: yes + + - name: Configure GNOME installed-tests testing harness build + command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var + args: + chdir: gnome-desktop-testing + + - name: Build GNOME installed-tests testing harness + command: make + args: + chdir: gnome-desktop-testing + + - name: Install GNOME installed-tests testing harness + command: make install + args: + chdir: gnome-desktop-testing + +- name: Start IBus installed-tests testing harness + environment: + ANSIBLE: 1 + TMPDIR: '{{ remote_artifacts }}' + G_MESSAGES_DEBUG: 'all' + block: + - name: Execute IBus tests + shell: | + set -e + status="FAIL: frame" + if [ -f $HOME/.config/anthy/last-record2_default.utf8 ] ; then \ + rm $HOME/.config/anthy/last-record2_default.utf8 + fi + if [ -f $HOME/.anthy/last-record2_default.utf8 ] ; then \ + rm $HOME/.anthy/last-record2_default.utf8 + fi + ibus-desktop-testing-runner \ + --no-graphics \ + --runner=gnome \ + --timeout=1200 \ + --tests='{{ installed_test_name }}' \ + --output='{{ remote_artifacts }}/{{ installed_test_name }}.log' \ + --result='{{ remote_artifacts }}/test.log' \ + null + if [ $? -eq 0 ]; then + status="PASS: frame" + fi + echo "${status} $TEST" >> {{ remote_artifacts }}/test.log + + - name: Check the results + #shell: grep "^FAIL" {{ remote_artifacts }}/test.log + shell: | + log="{{ remote_artifacts }}/test.log" + if [ ! -f $log ] ; then + echo ERROR + exit 1 + else + FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'` + if [ x"$FAIL" != x ] ; then + echo ERROR + exit 1 + else + echo PASS + fi + fi + register: test_fails + #failed_when: False + + - name: Set role result + set_fact: + role_result: "{{ test_fails.stdout }}" + role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}" + role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}" + + - include_role: + name: str-common-final + diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..b175564 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,8 @@ +- hosts: localhost + roles: + - role: ibus-desktop-testing-role + installed_test_name: ibus-anthy + tags: + - classic + - gating +