summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSobhan Mohammadpour <sobhan@gentoo.org>2018-02-06 20:38:01 +0330
committerSobhan Mohammadpour <sobhan@gentoo.org>2018-02-06 20:38:01 +0330
commitdf0ed79b1eb4fb3bfaaa1be33b384b68a109ea98 (patch)
treefa49c76c30f1c465f8e4325416e1e9e9beb1b785 /dev-util
parentnet-libs/glib-networking: bump (diff)
downloadgnome-df0ed79b1eb4fb3bfaaa1be33b384b68a109ea98.tar.gz
gnome-df0ed79b1eb4fb3bfaaa1be33b384b68a109ea98.tar.bz2
gnome-df0ed79b1eb4fb3bfaaa1be33b384b68a109ea98.zip
dev-util/itstool: fix
Package-Manager: Portage-2.3.23, Repoman-2.3.6 Manifest-Sign-Key: 0x7DF238CF0AA182E1
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/itstool/Manifest24
-rw-r--r--dev-util/itstool/files/itstool-2.0.4-segfault.patch58
-rw-r--r--dev-util/itstool/itstool-2.0.4-r1.ebuild (renamed from dev-util/itstool/itstool-2.0.4.ebuild)4
3 files changed, 84 insertions, 2 deletions
diff --git a/dev-util/itstool/Manifest b/dev-util/itstool/Manifest
index e1a9d61f..5e98c8c7 100644
--- a/dev-util/itstool/Manifest
+++ b/dev-util/itstool/Manifest
@@ -1 +1,23 @@
-DIST 2.0.4.tar.gz 79430 SHA256 3221bba908eb3c19d3b6f8e195ad706afcfef9d2f552d44e45cd77f622fd6dbc SHA512 c4c12229419e376c378986c5e5e5de9d006e5a938d7935ae91ba1f5a70484ff519038ba6bba91329a54d96c7e53ea12fcf1122d63e891fd5c64813cebf5ad8fa WHIRLPOOL 31452d1a072521105fb9b155beef2f306e524262da45e8daa2e4e7691cbd9b6950ef484d33ad68d46c74244d8bdf4dd65c326a3febe87eefc6ee3e851e7e88cd
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST 2.0.4.tar.gz 79430 BLAKE2B 373222ed4e24d8707e2a16da1dca965c233f1a703f3e48489669f8291c71794253d06833a44cebbebde4ca5d97b6465331b024ac4483377c1929b5630b10fa60 SHA512 c4c12229419e376c378986c5e5e5de9d006e5a938d7935ae91ba1f5a70484ff519038ba6bba91329a54d96c7e53ea12fcf1122d63e891fd5c64813cebf5ad8fa
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iQKTBAEBCAB9FiEEhjiDzgE0H6m8d3Z/4FucaN0bWf0FAlp54O5fFIAAAAAALgAo
+aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDg2
+Mzg4M0NFMDEzNDFGQTlCQzc3NzY3RkUwNUI5QzY4REQxQjU5RkQACgkQ4FucaN0b
+Wf3w/w//UAn/nCkOIZljmoj3zODyRWr6uS9rpBMLWM70vQmcaDj1Cr4mKFYNb9Ny
+IepoosmNpAsc4cfSeQlnORVuy4aZaJEqNOWxjT/5EVncp2F+4BQXPgDC7GCjcp+A
+8/o2Y/epysRAxovlPVab+x2B4cQZbTOGn3ml5PC3bjG2yM1PeV9mQQASCwWfCLyp
+qtEy/4VD/ndlFXZ2zOrR7/xSc6Wpwmm7khijpUknMyQSspwD2+rzw7ZUGpoPr0Yw
+PR7jxK0o3mXexC1fMNXfOmOoAzny7gkQR9Cux9LHPnlYOdhElDNRP3O6JVIH6eTA
+rQdLXQbeMM7zH0vHwwUUFQ8clOHEzL7a8bETrs0U6myXnKlV2HOtfBKfWsWRdsjj
+CHrN7W9Y+/H775MFfFW/bUSUVPkMGPNlZp9zkq3UNtNstkZIEdh/eYAWf3lQRnUn
+vm+gFZiJs8Y63ZThHyCiMxMEc1YtThCIHTJFtysXf0PikHFbbYs/btY5lstI6AUA
+q736RWw7MVahp5tzTSujFqb32nUrwhka7w4c7s35qJoGgcCwdd8gBgNx0DDXvNsJ
+6BbpRV2BwZaqgJ7u5LVjl/H3z8xwPZmYdQNYWNjE4PV9emdGiCdgkKKwlxOXcSgg
+ZKUzf+ibxNJ3BPtDLmE2wj6jpIeqRnNmi1AreRc+6sv1HQzbygw=
+=HFZ4
+-----END PGP SIGNATURE-----
diff --git a/dev-util/itstool/files/itstool-2.0.4-segfault.patch b/dev-util/itstool/files/itstool-2.0.4-segfault.patch
new file mode 100644
index 00000000..840daccd
--- /dev/null
+++ b/dev-util/itstool/files/itstool-2.0.4-segfault.patch
@@ -0,0 +1,58 @@
+From 9b84c007a73e8275ca45762f1bfa3ab7c3a852e2 Mon Sep 17 00:00:00 2001
+From: Shaun McCance <shaunm@redhat.com>
+Date: Wed, 25 Oct 2017 12:10:03 -0400
+Subject: [PATCH] Be more careful about libxml2 memory management
+
+I think this fixes https://github.com/itstool/itstool/issues/17
+---
+ itstool.in | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+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/dev-util/itstool/itstool-2.0.4.ebuild b/dev-util/itstool/itstool-2.0.4-r1.ebuild
index b0bb4cf4..ec4e3a9a 100644
--- a/dev-util/itstool/itstool-2.0.4.ebuild
+++ b/dev-util/itstool/itstool-2.0.4-r1.ebuild
@@ -20,10 +20,12 @@ IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
- dev-libs/libxml2[${PYTHON_USEDEP}]"
+ dev-libs/libxml2[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"
src_prepare() {
+ eapply "${FILESDIR}/${P}-segfault.patch"
+ python_fix_shebang .
eapply_user
eautoreconf
}