diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 692b3d2..828f451 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,3 @@ /OpenCC-ver.1.0.3.tar.gz /OpenCC-ver.1.0.5.tar.gz /OpenCC-ver.1.1.1.tar.gz -/OpenCC-ver.1.1.2.tar.gz -/OpenCC-ver.1.1.4.tar.gz -/OpenCC-ver.1.1.7.tar.gz -/OpenCC-ver.1.1.9.tar.gz diff --git a/opencc-fixes-cmake-vars.patch b/opencc-fixes-cmake-vars.patch deleted file mode 100644 index 296a784..0000000 --- a/opencc-fixes-cmake-vars.patch +++ /dev/null @@ -1,30 +0,0 @@ -commit 01d0b4c88711daf697223be1aee78940f82b983e -Author: Peng Wu -Date: Mon Aug 11 16:22:12 2025 +0800 - - Update for https://fedoraproject.org/wiki/Changes/CMake_drop_install_vars - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b79e5b5..d5974f1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -21,6 +21,7 @@ cmake_minimum_required(VERSION 3.5) - set (PACKAGE_NAME opencc) - project (${PACKAGE_NAME} CXX) - include (CTest) -+include(GNUInstallDirs) - - ######## Options - option(BUILD_DOCUMENTATION "Use Doxygen to create the HTML based API documentation" OFF) -@@ -78,6 +79,11 @@ endif() - - ######## Directory - -+set(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "") -+if(CMAKE_INSTALL_LIBDIR MATCHES "lib64$") -+ set(LIB_SUFFIX 64) -+endif() -+ - set (DIR_PREFIX ${CMAKE_INSTALL_PREFIX}) - set (DIR_INCLUDE ${DIR_PREFIX}/include) - set (DIR_SHARE ${DIR_PREFIX}/share) diff --git a/opencc-fixes-cmake.patch b/opencc-fixes-cmake.patch index 237ac13..c70ce95 100644 --- a/opencc-fixes-cmake.patch +++ b/opencc-fixes-cmake.patch @@ -1,22 +1,26 @@ -Index: OpenCC-ver.1.1.9/CMakeLists.txt +Index: OpenCC-ver.1.0.5/CMakeLists.txt =================================================================== ---- OpenCC-ver.1.1.9.orig/CMakeLists.txt -+++ OpenCC-ver.1.1.9/CMakeLists.txt -@@ -154,7 +154,7 @@ add_definitions( +--- OpenCC-ver.1.0.5.orig/CMakeLists.txt ++++ OpenCC-ver.1.0.5/CMakeLists.txt +@@ -68,7 +68,7 @@ set (DIR_PREFIX ${CMAKE_INSTALL_PREFIX}) + set (DIR_INCLUDE ${DIR_PREFIX}/include/) + set (DIR_SHARE ${DIR_PREFIX}/share/) + set (DIR_ETC ${DIR_PREFIX}/etc/) +-set (DIR_LIBRARY ${DIR_PREFIX}/lib${LIB_SUFFIX}/) ++set (DIR_LIBRARY ${LIB_INSTALL_DIR}) + + if (DEFINED SHARE_INSTALL_PREFIX) + set (DIR_SHARE ${SHARE_INSTALL_PREFIX}) +Index: OpenCC-ver.1.0.5/data/CMakeLists.txt +=================================================================== +--- OpenCC-ver.1.0.5.orig/data/CMakeLists.txt ++++ OpenCC-ver.1.0.5/data/CMakeLists.txt +@@ -1,6 +1,6 @@ + set(OPENCC_DICT_BIN opencc_dict) +-set(DICT_MERGE_BIN python ${CMAKE_CURRENT_SOURCE_DIR}/scripts/merge.py) +-set(DICT_REVERSE_BIN python ${CMAKE_CURRENT_SOURCE_DIR}/scripts/reverse.py) ++set(DICT_MERGE_BIN python3 ${CMAKE_CURRENT_SOURCE_DIR}/scripts/merge.py) ++set(DICT_REVERSE_BIN python3 ${CMAKE_CURRENT_SOURCE_DIR}/scripts/reverse.py) + set(DICT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dictionary) + set(DICT_GENERATED_DIR ${CMAKE_CURRENT_BINARY_DIR}) - if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - add_definitions( -- -std=c++14 -+ -std=c++17 - -Wall - ) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread") -@@ -163,7 +163,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES " - endif () - elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - add_definitions( -- -std=c++14 -+ -std=c++17 - -Wall - ) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread") diff --git a/opencc-fixes-compile.patch b/opencc-fixes-compile.patch deleted file mode 100644 index fe7e4a8..0000000 --- a/opencc-fixes-compile.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: OpenCC-ver.1.1.9/src/SerializedValues.hpp -=================================================================== ---- OpenCC-ver.1.1.9.orig/src/SerializedValues.hpp -+++ OpenCC-ver.1.1.9/src/SerializedValues.hpp -@@ -18,6 +18,8 @@ - - #pragma once - -+#include -+ - #include "Common.hpp" - #include "SerializableDict.hpp" - diff --git a/opencc-fixes-crash.patch b/opencc-fixes-crash.patch deleted file mode 100644 index ab0cd9f..0000000 --- a/opencc-fixes-crash.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit cfe3ced00bbf764f68f10222b9d2a6367c2c3f82 -Author: Peng Wu -Date: Tue Mar 25 13:43:05 2025 +0800 - - Fix crash when read the config file - -diff --git a/src/Config.cpp b/src/Config.cpp -index a8392b1..5c768c0 100644 ---- a/src/Config.cpp -+++ b/src/Config.cpp -@@ -16,6 +16,7 @@ - * limitations under the License. - */ - -+#include - #include - #include - #include -@@ -216,6 +217,16 @@ std::string GetParentDirectory(const std::string& path) { - return path.substr(0, pos + 1); - } - -+bool isRegularFile(const std::string& path) { -+ struct stat info; -+ -+ if (stat(path.c_str(), &info) != 0) -+ return false; -+ -+ // Check if it's a regular file -+ return (info.st_mode & S_IFMT) == S_IFREG; -+} -+ - } // namespace - - Config::Config() : internal(new ConfigInternal()) {} -@@ -241,6 +252,8 @@ ConverterPtr Config::NewFromFile(const std::string& fileName, - impl->paths.push_back(PACKAGE_DATA_DIRECTORY); - } - std::string prefixedFileName = impl->FindConfigFile(fileName); -+ if (!isRegularFile(prefixedFileName)) -+ throw FileNotFound(prefixedFileName); - std::ifstream ifs(UTF8Util::GetPlatformString(prefixedFileName)); - std::string content(std::istreambuf_iterator(ifs), - (std::istreambuf_iterator())); diff --git a/opencc.spec b/opencc.spec index 5b031c6..96064d1 100644 --- a/opencc.spec +++ b/opencc.spec @@ -1,22 +1,16 @@ Name: opencc -Version: 1.1.9 -Release: 5%{?dist} +Version: 1.1.1 +Release: 2%{?dist} Summary: Libraries for Simplified-Traditional Chinese Conversion -License: Apache-2.0 +License: ASL 2.0 URL: https://github.com/BYVoid/OpenCC Source0: https://github.com/BYVoid/OpenCC/archive/ver.%{version}.tar.gz#/OpenCC-ver.%{version}.tar.gz -Patch0: opencc-fixes-compile.patch -Patch1: opencc-fixes-crash.patch -Patch2: opencc-fixes-cmake.patch -Patch3: opencc-fixes-cmake-vars.patch BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: cmake BuildRequires: doxygen BuildRequires: python3 -BuildRequires: marisa-devel -BuildRequires: rapidjson-devel %description OpenCC is a library for converting characters and phrases between @@ -49,10 +43,10 @@ developing applications that use %{name}. %prep -%autosetup -n OpenCC-ver.%{version} -p1 +%setup -q -n OpenCC-ver.%{version} %build -%cmake -DENABLE_GETTEXT:BOOL=ON -DBUILD_DOCUMENTATION:BOOL=ON -DUSE_SYSTEM_MARISA:BOOL=ON -DUSE_SYSTEM_RAPIDJSON:BOOL=ON +%cmake -DENABLE_GETTEXT:BOOL=ON -DBUILD_DOCUMENTATION:BOOL=ON %cmake_build %install @@ -63,6 +57,8 @@ developing applications that use %{name}. #%find_lang %{name} +%ldconfig_scriptlets + %files %doc AUTHORS LICENSE README.md %{_libdir}/lib*.so.* @@ -79,67 +75,8 @@ developing applications that use %{name}. %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc -%{_libdir}/cmake/opencc/OpenCC*.cmake %changelog -* Thu Aug 21 2025 Peng Wu - 1.1.9-5 -- Update CI tests -- Resolves: RHBZ#2382996 - -* Tue Aug 12 2025 Peng Wu - 1.1.9-4 -- Update for https://fedoraproject.org/wiki/Changes/CMake_drop_install_vars -- Resolves: RHBZ#2381327 - -* Thu Jul 24 2025 Fedora Release Engineering - 1.1.9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jul 17 2025 Peng Wu - 1.1.9-2 -- Update for marisa 0.3.0 - -* Thu Feb 6 2025 Peng Wu - 1.1.9-1 -- Update to 1.1.9 -- Resolves: RHBZ#2340967 - -* Fri Jan 17 2025 Fedora Release Engineering - 1.1.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jul 18 2024 Fedora Release Engineering - 1.1.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Feb 2 2024 Peng Wu - 1.1.7-1 -- Update to 1.1.7 -- Resolves: RHBZ#2261417 - -* Thu Jan 25 2024 Fedora Release Engineering - 1.1.4-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 1.1.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jul 20 2023 Fedora Release Engineering - 1.1.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu May 18 2023 Peng Wu - 1.1.4-3 -- Migrate to SPDX license - -* Thu Jan 19 2023 Fedora Release Engineering - 1.1.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Oct 21 2022 Peng Wu - 1.1.4-1 -- Update to 1.1.4 - -* Fri Jul 22 2022 Fedora Release Engineering - 1.1.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Fedora Release Engineering - 1.1.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Aug 2 2021 Peng Wu - 1.1.2-1 -- Update to 1.1.2 - -* Thu Jul 22 2021 Fedora Release Engineering - 1.1.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - * Tue Jan 26 2021 Fedora Release Engineering - 1.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/plans/basic.fmf b/plans/basic.fmf deleted file mode 100644 index c1627f9..0000000 --- a/plans/basic.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index cf36ac9..ff9d8f1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OpenCC-ver.1.1.9.tar.gz) = 713cf00931d7616994eb455eef3bc893096b5cd6d42b346aa1130591752d9612891ea3ed035bd7bd4ec7df1c90425e86375f5b3337fac11663c656c79a8f33e9 +SHA512 (OpenCC-ver.1.1.1.tar.gz) = 48ccf61f63cf0a1c0fc484a52ae1d406a28949a52be7d7d1595e6aaf87f40ac47ea4697308441a9381f0cd6f404ee5a28b85a2fa2f288c4b3933be36f4a41363 diff --git a/tests/main.fmf b/tests/main.fmf deleted file mode 100644 index e1bf8b4..0000000 --- a/tests/main.fmf +++ /dev/null @@ -1,5 +0,0 @@ -test: ./runtest.sh -duration: 50m -framework: beakerlib -require: - - opencc-tools diff --git a/tests/roles/opencc-testing-role/defaults/main.yml b/tests/roles/opencc-testing-role/defaults/main.yml new file mode 100644 index 0000000..af4befe --- /dev/null +++ b/tests/roles/opencc-testing-role/defaults/main.yml @@ -0,0 +1,2 @@ +role_pkgs_req: + - rsync diff --git a/tests/roles/opencc-testing-role/meta/main.yml b/tests/roles/opencc-testing-role/meta/main.yml new file mode 100644 index 0000000..6626402 --- /dev/null +++ b/tests/roles/opencc-testing-role/meta/main.yml @@ -0,0 +1,4 @@ +--- + +dependencies: + - role: str-common-init diff --git a/tests/roles/opencc-testing-role/tasks/main.yml b/tests/roles/opencc-testing-role/tasks/main.yml new file mode 100644 index 0000000..05195e7 --- /dev/null +++ b/tests/roles/opencc-testing-role/tasks/main.yml @@ -0,0 +1,47 @@ +--- +- name: Check if opencc is installed + register: opencc_testing_runner + find: + paths: "{{ ansible_env.PATH.split(':') }}" + pattern: opencc + +- name: Install opencc-tools + when: opencc_testing_runner.matched == 0 + block: + - name: Installing opencc-tools + package: + name: + - opencc-tools + +- name: Start opencc tests + block: + - name: Execute tests + shell: | + set -e + log_file="{{ remote_artifacts }}/{{ installed_test_name }}.log" + exec 2>>$log_file 1>>$log_file + echo "Starting opencc tests" + TEST=opencc + status="FAIL" + opencc >> "{{ remote_artifacts }}/test.log" <> {{ remote_artifacts }}/test.log + + - name: Check the results + shell: grep "^FAIL" {{ remote_artifacts }}/test.log + register: test_fails + failed_when: False + + - name: Set role result + set_fact: + 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/runtest.sh b/tests/runtest.sh deleted file mode 100755 index 87b6793..0000000 --- a/tests/runtest.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -rlJournalStart - rlPhaseStartSetup - rlShowPackageVersion opencc - rlRun -t -l "VERSION=$(rpm -q opencc --queryformat='%{version}')" 0 "Get VERSION" - FEDORA_VERSION=$(rlGetDistroRelease) - rlLog "FEDORA_VERSION=${DISTRO_RELEASE}" - rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" - rlRun "pushd $tmp" - rlPhaseEnd - - rlPhaseStartTest - rlRun "set -o pipefail" - rlRun "echo '测试'>input.txt" 0 "Generate input.txt" - rlRun "opencc -i input.txt -o output.txt" 0 "Run opencc tool" - rlRun "grep '測試' output.txt" 0 "Check output.txt" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $tmp" 0 "Remove tmp directory" - rlPhaseEnd -rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..aa45e49 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,10 @@ +- hosts: localhost + roles: + - role: opencc-testing-role + installed_test_name: opencc + tags: + - classic + - gating + required_packages: + - opencc-tools +