diff --git a/.gitignore b/.gitignore index 28ba048..245e3fd 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /itstool-1.2.0.tar.bz2 /itstool-2.0.2.tar.bz2 /itstool-2.0.4.tar.bz2 +/itstool-2.0.5.tar.bz2 diff --git a/fix-segfaults.patch b/fix-segfaults.patch deleted file mode 100644 index e76dd2e..0000000 --- a/fix-segfaults.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/itstool.in b/itstool.in -index c1d0585..a16eba9 100755 ---- a/itstool.in -+++ b/itstool.in -@@ -477,6 +477,7 @@ class Document (object): - if load_dtd: - ctxt.loadSubset(1) - if keep_entities: -+ ctxt.loadSubset(1) - ctxt.ctxtUseOptions(libxml2.XML_PARSE_DTDLOAD) - ctxt.replaceEntities(0) - else: -@@ -1043,6 +1044,7 @@ class Document (object): - if self._load_dtd: - ctxt.loadSubset(1) - if self._keep_entities: -+ ctxt.loadSubset(1) - ctxt.ctxtUseOptions(libxml2.XML_PARSE_DTDLOAD) - ctxt.replaceEntities(0) - else: -@@ -1069,7 +1071,9 @@ class Document (object): - ph_node = msg.get_placeholder(child.name).node - if self.has_child_elements(ph_node): - self.merge_translations(translations, None, ph_node, strict=strict) -- child.replaceNode(ph_node) -+ newnode = ph_node.copyNode(1) -+ newnode.setTreeDoc(self._doc) -+ child.replaceNode(newnode) - else: - repl = self.get_translated(ph_node, translations, strict=strict, lang=lang) - child.replaceNode(repl) -@@ -1084,10 +1088,15 @@ class Document (object): - (lang + ' ') if lang is not None else '', - msgstr.encode('utf-8'))) - self._xml_err = '' -+ ctxt.doc().freeDoc() - return node - retnode = node.copyNode(2) -+ retnode.setTreeDoc(self._doc) - for child in xml_child_iter(trnode): -- retnode.addChild(child.copyNode(1)) -+ newnode = child.copyNode(1) -+ newnode.setTreeDoc(self._doc) -+ retnode.addChild(newnode) -+ - ctxt.doc().freeDoc() - return retnode - diff --git a/itstool.spec b/itstool.spec index f3db6e6..fdaa3da 100644 --- a/itstool.spec +++ b/itstool.spec @@ -1,15 +1,11 @@ Name: itstool -Version: 2.0.4 -Release: 4%{?dist} +Version: 2.0.5 +Release: 1%{?dist} Summary: ITS-based XML translation tool License: GPLv3+ URL: http://itstool.org/ Source0: http://files.itstool.org/itstool/%{name}-%{version}.tar.bz2 -# An issue with libxml2 is causing segfaults for packages using -# itstool. Backported the workaround from upstream. -# https://github.com/itstool/itstool/commit/9b84c007a73e8275ca45762f1bfa3ab7c3a852e2 -Patch0: fix-segfaults.patch BuildArch: noarch @@ -24,7 +20,6 @@ how to separate it into PO file messages. %prep %setup -q -%patch0 -p1 %build export PYTHON=%{__python3} @@ -42,6 +37,9 @@ make install DESTDIR=$RPM_BUILD_ROOT %doc %{_mandir}/man1/itstool.1.gz %changelog +* Tue Dec 04 2018 Kalev Lember - 2.0.5-1 +- Update to 2.0.5 + * Mon Jul 16 2018 Charalampos Stratakis - 2.0.4-4 - Fix libxml2 related segfaults diff --git a/sources b/sources index 1b84a7b..16977cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (itstool-2.0.4.tar.bz2) = f5cfa9c75710f9cc43a61caeb92ca04ec77023bce6fb14d770dda82efde2e5d9050245618c249d309227a3d43555cb1739f5fe680b4a370786ed4631fa9ee4b7 +SHA512 (itstool-2.0.5.tar.bz2) = 67c55b83e43b5a4626a6633305b2e48a06a5defdf7725e78b00409edea213d166cb3d870a58eb402c48968bddd7c1778d9852acfa0ddebdd363f34ac13f32aa7