diff options
author | 2018-02-06 20:38:01 +0330 | |
---|---|---|
committer | 2018-02-06 20:38:01 +0330 | |
commit | df0ed79b1eb4fb3bfaaa1be33b384b68a109ea98 (patch) | |
tree | fa49c76c30f1c465f8e4325416e1e9e9beb1b785 /dev-util | |
parent | net-libs/glib-networking: bump (diff) | |
download | gnome-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/Manifest | 24 | ||||
-rw-r--r-- | dev-util/itstool/files/itstool-2.0.4-segfault.patch | 58 | ||||
-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 } |