From 5bd81e891cabec05b14d44348a1650da7c827656 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 17 May 2022 05:33:10 -0400 Subject: [PATCH] import itstool-2.0.6-7.el9 --- .gitignore | 1 + .itstool.metadata | 1 + ...stool-2.0.5-fix-crash-wrong-encoding.patch | 68 ++++++++ SPECS/itstool.spec | 148 ++++++++++++++++++ 4 files changed, 218 insertions(+) create mode 100644 .gitignore create mode 100644 .itstool.metadata create mode 100644 SOURCES/itstool-2.0.5-fix-crash-wrong-encoding.patch create mode 100644 SPECS/itstool.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8dd41c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/itstool-2.0.6.tar.bz2 diff --git a/.itstool.metadata b/.itstool.metadata new file mode 100644 index 0000000..36a301c --- /dev/null +++ b/.itstool.metadata @@ -0,0 +1 @@ +9a7a3cd6e33763f6f369a907e79da98cc47b86e7 SOURCES/itstool-2.0.6.tar.bz2 diff --git a/SOURCES/itstool-2.0.5-fix-crash-wrong-encoding.patch b/SOURCES/itstool-2.0.5-fix-crash-wrong-encoding.patch new file mode 100644 index 0000000..46577d0 --- /dev/null +++ b/SOURCES/itstool-2.0.5-fix-crash-wrong-encoding.patch @@ -0,0 +1,68 @@ +Description: Fix the crash from #912099 + ITS Tool 2.0.4 crashes when building some documentation, as reported in + #912099. This comes from translations with invalid XML markup, which ITS Tool + fails to merge (which is not abnormal), and to report these issues, needlessly + encodes the original msgstr from unicode to bytes, causing it to be recoded + using the default ascii codec, which fails when the msgstr contains anything + out of ascii. + . + This patch removes the useless decoding, avoiding the failing subsequent + recoding. It also explicitly encodes the output strings to be able to print + them in all cases, even when the output encoding cannot be detected. +Bug: https://github.com/itstool/itstool/issues/25 +Bug-Debian: https://bugs.debian.org/912099 +Forwarded: https://github.com/itstool/itstool/issues/25 +Author: Tanguy Ortolo +Last-Update: 2018-12-071 + +Index: itstool/itstool.in +=================================================================== +--- itstool.orig/itstool.in 2018-12-10 18:31:23.762143539 +0100 ++++ itstool/itstool.in 2018-12-10 18:38:03.496777117 +0100 +@@ -44,9 +44,22 @@ + else: + return str(s) + ustr_type = str ++ def pr_str(s): ++ """Return a string that can be safely print()ed""" ++ # Since print works on both bytes and unicode, just return the argument ++ return s + else: + string_types = basestring, + ustr = ustr_type = unicode ++ def pr_str(s): ++ """Return a string that can be safely print()ed""" ++ if isinstance(s, str): ++ # Since print works on str, just return the argument ++ return s ++ else: ++ # print may not work on unicode if the output encoding cannot be ++ # detected, so just encode with UTF-8 ++ return unicode.encode(s, 'utf-8') + + NS_ITS = 'http://www.w3.org/2005/11/its' + NS_ITST = 'http://itstool.org/extensions/' +@@ -1060,9 +1073,9 @@ + if strict: + raise + else: +- sys.stderr.write('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( ++ sys.stderr.write(pr_str('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( + (lang + ' ') if lang is not None else '', +- msgstr.encode('utf-8'))) ++ msgstr))) + self._xml_err = '' + return node + def scan_node(node): +@@ -1087,9 +1100,9 @@ + if strict: + raise + else: +- sys.stderr.write('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( ++ sys.stderr.write(pr_str('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( + (lang + ' ') if lang is not None else '', +- msgstr.encode('utf-8'))) ++ msgstr))) + self._xml_err = '' + ctxt.doc().freeDoc() + return node diff --git a/SPECS/itstool.spec b/SPECS/itstool.spec new file mode 100644 index 0000000..d38119f --- /dev/null +++ b/SPECS/itstool.spec @@ -0,0 +1,148 @@ +Name: itstool +Version: 2.0.6 +Release: 7%{?dist} +Summary: ITS-based XML translation tool + +License: GPLv3+ +URL: http://itstool.org/ +Source0: http://files.itstool.org/itstool/%{name}-%{version}.tar.bz2 +# See: https://github.com/itstool/itstool/issues/25 +Patch0: https://sources.debian.org/data/main/i/itstool/2.0.5-2/debian/patches/fix_crash_912099.patch#/%{name}-2.0.5-fix-crash-wrong-encoding.patch + +BuildArch: noarch + +BuildRequires: python3-libxml2 +BuildRequires: python3-devel +BuildRequires: make +Requires: python3-libxml2 + +%description +ITS Tool allows you to translate XML documents with PO files, using rules from +the W3C Internationalization Tag Set (ITS) to determine what to translate and +how to separate it into PO file messages. + +%prep +%setup -q +%patch0 -p 1 -b .encoding + +%build +export PYTHON=%{__python3} +%configure +%make_build + +%install +%make_install + +%files +%license COPYING COPYING.GPL3 +%doc NEWS +%{_bindir}/itstool +%{_datadir}/itstool +%{_mandir}/man1/itstool.1* + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 2.0.6-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 2.0.6-6 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.0.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 2.0.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 2.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 2.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Apr 07 2019 Kalev Lember - 2.0.6-1 +- Update to 2.0.6 + +* Fri Feb 01 2019 Fedora Release Engineering - 2.0.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Jan 06 2019 Björn Esser - 2.0.5-2 +- Add a patch from Debian to fix wrong encoding of output message + +* Tue Dec 04 2018 Kalev Lember - 2.0.5-1 +- Update to 2.0.5 +- Use make_build and make_install macros + +* Mon Jul 16 2018 Charalampos Stratakis - 2.0.4-4 +- Fix libxml2 related segfaults + +* Mon Jul 16 2018 Miro Hrončok - 2.0.4-3 +- Switch to Python 3 + +* Fri Jul 13 2018 Fedora Release Engineering - 2.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 10 2018 Kalev Lember - 2.0.4-1 +- Update to 2.0.4 +- Use license macro for COPYING + +* Wed Feb 07 2018 Iryna Shcherbina - 2.0.2-9 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Mon Feb 05 2018 Petr Viktorin - 2.0.2-8 +- Be more explicit about Python build dependencies + (Require python2-devel, tell autotools that PYTHON is python2) + +* Wed Jul 26 2017 Fedora Release Engineering - 2.0.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 2.0.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Jan 18 2017 Merlin Mathesius - 2.0.2-5 +- Add BuildRequires: python to fix FTBFS (BZ#1414545). + +* Thu Feb 04 2016 Fedora Release Engineering - 2.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 2.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat May 17 2014 Kalev Lember - 2.0.2-1 +- Update to 2.0.2 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 1.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jul 02 2012 Kalev Lember 1.2.0-1 +- Update to 1.2.0 + +* Wed Mar 21 2012 Kalev Lember 1.1.2-1 +- Update to itstool 1.1.2 + +* Fri Jan 13 2012 Fedora Release Engineering - 1.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Sep 19 2011 Shaun McCance 1.1.1-1 +- Update to itstool 1.1.1 + +* Sun Aug 07 2011 Rahul Sundaram 1.1.0-2 +- Add requires on libxml2-python since itstool uses it +- Drop redundant defattr +- Add NEWS to doc + +* Mon Jun 27 2011 Shaun McCance 1.1.0-1 +- Update to itstool 1.1.0 + +* Sun May 8 2011 Shaun McCance 1.0.1-1 +- Initial packaging