From 3f64a63298ac78f5f2a50a52e3e3f01eef1b51ce Mon Sep 17 00:00:00 2001 From: Krassy Boykinov <kboykinov@teamcentrixx.com> Date: Thu, 26 Sep 2024 09:06:22 +0200 Subject: [PATCH] main/py3-lxml: upgrade to 5.3.0 --- main/py3-lxml/APKBUILD | 8 +- ...ix-test_elementtree-with-expat-2.6.0.patch | 100 ------------------ main/py3-lxml/tests-fix-encoding-name.patch | 13 ++- 3 files changed, 11 insertions(+), 110 deletions(-) delete mode 100644 main/py3-lxml/fix-test_elementtree-with-expat-2.6.0.patch diff --git a/main/py3-lxml/APKBUILD b/main/py3-lxml/APKBUILD index 41c720d0fd3a..c3827722a61c 100644 --- a/main/py3-lxml/APKBUILD +++ b/main/py3-lxml/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: Francesco Colista <fcolista@alpinelinux.org> pkgname=py3-lxml _pkgname=lxml -pkgver=5.1.0 +pkgver=5.3.0 pkgrel=0 pkgdesc="Python3 LXML Library" url="https://lxml.de/" @@ -23,7 +23,6 @@ subpackages="$pkgname-pyc" source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz libxml-2.11.0.patch tests-fix-encoding-name.patch - fix-test_elementtree-with-expat-2.6.0.patch " builddir="$srcdir/$_pkgname-$pkgver" @@ -58,8 +57,7 @@ package() { } sha512sums=" -a538f322686a1b2c63211d915db900116b7db467a1cce0a0ad7a93e6c15195a66dc6d091301d1918f2cb513ee3168be939945ae60aa470fd9604f6d46e9eb375 lxml-5.1.0.tar.gz +7f8a3717645893bc6f790cc9adfb8fdab91c352dc4dc23c0ccb4af9a0d138acf9ef5054e9786af497955f10079e9242dbd63ea9ac39c33bfd71ca2fe4ef4a7c0 lxml-5.3.0.tar.gz 6436f87042563bb3a08bd7d0216fdb284d639b1a72fde77dce75d7c3e63f4f18ba115df9540fe4298f558df53f9dbfbd781374138544e8e5d9cb5ca5928f343c libxml-2.11.0.patch -ef5ba4064166443e07040db315173a4d0cb0d83eb3cd49623f210253a25433ec1c408d6d8e538f93498a211bc1695fdaa3e39f8ac75f36a3319c38bd96ba73eb tests-fix-encoding-name.patch -7edb98daa4ea776c18c0b59fed6e54d4bb6e1c14101cdc768a4e5c803b6d94147dc2e13dc5fb3a48e6faa952ef1f7a16712fb6b0306351db6c4e0063f432fac1 fix-test_elementtree-with-expat-2.6.0.patch +9adaadb7f082557555f9db5f923bb764f0c9d255a9010c0f1b5f5c67690e373b62e0f8418c37ccf13cf23f2f609623516ee87dc73602dea30d5547b6cd60f55e tests-fix-encoding-name.patch " diff --git a/main/py3-lxml/fix-test_elementtree-with-expat-2.6.0.patch b/main/py3-lxml/fix-test_elementtree-with-expat-2.6.0.patch deleted file mode 100644 index a75644bc2c44..000000000000 --- a/main/py3-lxml/fix-test_elementtree-with-expat-2.6.0.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 3ccc7d583e325ceb0ebdf8fc295bbb7fc8cd404d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz> -Date: Sat, 2 Mar 2024 06:51:01 +0100 -Subject: [PATCH] Fix test_elementtree with Expat 2.6.0 (GH-407) - -Feeding the parser by too small chunks defers parsing to prevent -CVE-2023-52425. Future versions of Expat may be more reactive. - -Heavily inspired by https://github.com/python/cpython/commit/4a08e7b3431cd32a0daf22a33421cd3035343dc4 - -We cannot use a @fails_with_expat_2_6_0 decorator -because the test passes in ETreePullTestCase. - -See https://github.com/python/cpython/issues/115133 -See https://github.com/advisories/GHSA-gh68-jm46-84rf -Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> ---- - src/lxml/tests/test_elementtree.py | 62 +++++++++++++++++++----------- - 1 file changed, 39 insertions(+), 23 deletions(-) - -diff --git a/src/lxml/tests/test_elementtree.py b/src/lxml/tests/test_elementtree.py -index 8ccf4442a..ef923c5ce 100644 ---- a/src/lxml/tests/test_elementtree.py -+++ b/src/lxml/tests/test_elementtree.py -@@ -10,6 +10,7 @@ - import io - import operator - import os -+import pyexpat - import re - import sys - import textwrap -@@ -4383,29 +4384,44 @@ def assert_event_tags(self, parser, expected, max_events=None): - self.assertEqual([(action, elem.tag) for action, elem in events], - expected) - -- def test_simple_xml(self): -- for chunk_size in (None, 1, 5): -- #with self.subTest(chunk_size=chunk_size): -- parser = self.etree.XMLPullParser() -- self.assert_event_tags(parser, []) -- self._feed(parser, "<!-- comment -->\n", chunk_size) -- self.assert_event_tags(parser, []) -- self._feed(parser, -- "<root>\n <element key='value'>text</element", -- chunk_size) -- self.assert_event_tags(parser, []) -- self._feed(parser, ">\n", chunk_size) -- self.assert_event_tags(parser, [('end', 'element')]) -- self._feed(parser, "<element>text</element>tail\n", chunk_size) -- self._feed(parser, "<empty-element/>\n", chunk_size) -- self.assert_event_tags(parser, [ -- ('end', 'element'), -- ('end', 'empty-element'), -- ]) -- self._feed(parser, "</root>\n", chunk_size) -- self.assert_event_tags(parser, [('end', 'root')]) -- root = self._close_and_return_root(parser) -- self.assertEqual(root.tag, 'root') -+ def test_simple_xml(self, chunk_size=None): -+ parser = self.etree.XMLPullParser() -+ self.assert_event_tags(parser, []) -+ self._feed(parser, "<!-- comment -->\n", chunk_size) -+ self.assert_event_tags(parser, []) -+ self._feed(parser, -+ "<root>\n <element key='value'>text</element", -+ chunk_size) -+ self.assert_event_tags(parser, []) -+ self._feed(parser, ">\n", chunk_size) -+ self.assert_event_tags(parser, [('end', 'element')]) -+ self._feed(parser, "<element>text</element>tail\n", chunk_size) -+ self._feed(parser, "<empty-element/>\n", chunk_size) -+ self.assert_event_tags(parser, [ -+ ('end', 'element'), -+ ('end', 'empty-element'), -+ ]) -+ self._feed(parser, "</root>\n", chunk_size) -+ self.assert_event_tags(parser, [('end', 'root')]) -+ root = self._close_and_return_root(parser) -+ self.assertEqual(root.tag, 'root') -+ -+ def test_simple_xml_chunk_1(self): -+ if self.etree is not etree and pyexpat.version_info >= (2, 6, 0): -+ raise unittest.SkipTest( -+ "Feeding the parser by too small chunks defers parsing" -+ ) -+ self.test_simple_xml(chunk_size=1) -+ -+ def test_simple_xml_chunk_5(self): -+ if self.etree is not etree and pyexpat.version_info >= (2, 6, 0): -+ raise unittest.SkipTest( -+ "Feeding the parser by too small chunks defers parsing" -+ ) -+ self.test_simple_xml(chunk_size=5) -+ -+ def test_simple_xml_chunk_22(self): -+ self.test_simple_xml(chunk_size=22) - - def test_feed_while_iterating(self): - parser = self.etree.XMLPullParser() diff --git a/main/py3-lxml/tests-fix-encoding-name.patch b/main/py3-lxml/tests-fix-encoding-name.patch index c25246dff930..fc2a42a15f4c 100644 --- a/main/py3-lxml/tests-fix-encoding-name.patch +++ b/main/py3-lxml/tests-fix-encoding-name.patch @@ -1,14 +1,17 @@ -From: Patrycja Rosa <alpine@ptrcnull.me> -Date: Thu, 10 Feb 2022 14:09:24 +0100 -Subject: test_incremental_xmlfile: fix encoding name - diff --git a/src/lxml/tests/test_incremental_xmlfile.py b/src/lxml/tests/test_incremental_xmlfile.py +index 3162155..43b79d7 100644 --- a/src/lxml/tests/test_incremental_xmlfile.py +++ b/src/lxml/tests/test_incremental_xmlfile.py -@@ -173,4 +173,4 @@ +@@ -177,10 +177,10 @@ class _XmlFileTestCaseBase(HelperTestCase): + '<test>Comments: <!-- text -->\nEntities: &amp;</test>') + + def test_encoding(self): - with etree.xmlfile(self._file, encoding='utf16') as xf: + with etree.xmlfile(self._file, encoding='utf-16') as xf: with xf.element('test'): xf.write('toast') - self.assertXml('<test>toast</test>', encoding='utf16') + self.assertXml('<test>toast</test>', encoding='utf-16') + + def test_buffering(self): + with etree.xmlfile(self._file, buffered=False) as xf: -- GitLab