From dbf7e6096cb3891c8422a5fc2b32a2519457b2fd Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Tue, 2 Apr 2024 11:36:35 +0200 Subject: [PATCH 01/21] Update to 5.2.1 (rhbz#2272165) --- .gitignore | 2 + 407.patch | 98 ------------------------------------------------ 417.patch | 40 ++++++++++++++++++++ python-lxml.spec | 13 ++++--- sources | 2 +- 5 files changed, 50 insertions(+), 105 deletions(-) delete mode 100644 407.patch create mode 100644 417.patch diff --git a/.gitignore b/.gitignore index dfc2d49..5a47e6b 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,5 @@ lxml-2.2.7.tar.gz.asc /lxml-4.9.3-no-isoschematron-rng.tar.gz /lxml-4.9.4-no-isoschematron-rng.tar.gz /lxml-5.1.0-no-isoschematron-rng.tar.gz +/lxml-5.2.0-no-isoschematron-rng.tar.gz +/lxml-5.2.1-no-isoschematron-rng.tar.gz diff --git a/407.patch b/407.patch deleted file mode 100644 index 81e3203..0000000 --- a/407.patch +++ /dev/null @@ -1,98 +0,0 @@ -From e3012a702dea2b03830fe00a5e8f7a429bbc3f42 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Tue, 27 Feb 2024 18:43:45 +0100 -Subject: [PATCH] Fix test_elementtree with Expat 2.6.0 - -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. - -Co-Authored-By: Serhiy Storchaka ---- - 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, "\n", chunk_size) -- self.assert_event_tags(parser, []) -- self._feed(parser, -- "\n text\n", chunk_size) -- self.assert_event_tags(parser, [('end', 'element')]) -- self._feed(parser, "texttail\n", chunk_size) -- self._feed(parser, "\n", chunk_size) -- self.assert_event_tags(parser, [ -- ('end', 'element'), -- ('end', 'empty-element'), -- ]) -- self._feed(parser, "\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, "\n", chunk_size) -+ self.assert_event_tags(parser, []) -+ self._feed(parser, -+ "\n text\n", chunk_size) -+ self.assert_event_tags(parser, [('end', 'element')]) -+ self._feed(parser, "texttail\n", chunk_size) -+ self._feed(parser, "\n", chunk_size) -+ self.assert_event_tags(parser, [ -+ ('end', 'element'), -+ ('end', 'empty-element'), -+ ]) -+ self._feed(parser, "\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/417.patch b/417.patch new file mode 100644 index 0000000..c748c0a --- /dev/null +++ b/417.patch @@ -0,0 +1,40 @@ +From f5f64df808b35969794ba3ea8c19079276aa0cb0 Mon Sep 17 00:00:00 2001 +From: Lumir Balhar +Date: Thu, 4 Apr 2024 11:11:38 +0200 +Subject: [PATCH] Skip test_feedparser_data if lxml_html_clean is not available + +This is useful mostly for distributors shipping lxml without +lxml_html_clean. +--- + src/lxml/html/tests/test_feedparser_data.py | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/lxml/html/tests/test_feedparser_data.py b/src/lxml/html/tests/test_feedparser_data.py +index 36fba1acb..264c0d4b5 100644 +--- a/src/lxml/html/tests/test_feedparser_data.py ++++ b/src/lxml/html/tests/test_feedparser_data.py +@@ -9,7 +9,11 @@ + from lxml.tests.common_imports import doctest + from lxml.doctestcompare import LHTMLOutputChecker + +-from lxml.html.clean import clean, Cleaner ++try: ++ from lxml.html.clean import clean, Cleaner ++ html_clean_available = True ++except ImportError: ++ html_clean_available = False + + feed_dirs = [ + os.path.join(os.path.dirname(__file__), 'feedparser-data'), +@@ -80,6 +84,11 @@ def shortDescription(self): + + def test_suite(): + suite = unittest.TestSuite() ++ ++ if not html_clean_available: ++ print("Skipping tests in feedparser_data - external lxml_html_clean package is not installed") ++ return suite ++ + for dir in feed_dirs: + for fn in os.listdir(dir): + fn = os.path.join(dir, fn) diff --git a/python-lxml.spec b/python-lxml.spec index 8237b01..53711ae 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 5.1.0 +Version: 5.2.1 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API @@ -16,9 +16,8 @@ URL: https://github.com/lxml/lxml Source0: lxml-%{version}-no-isoschematron-rng.tar.gz Source1: get-lxml-source.sh -# Fix test_elementtree with Expat 2.6.0 -# Merged upstream -Patch: https://github.com/lxml/lxml/pull/407.patch +# Skip some tests if lxml_html_clean is not available +Patch: https://github.com/lxml/lxml/pull/417.patch BuildRequires: gcc BuildRequires: libxml2-devel @@ -29,6 +28,7 @@ BuildRequires: python3-devel # - [cssselect] Requires cssselect BuildRequires lxml # - [html5] Requires html5lib BuildRequires lxml # - [htmlsoup] Requires beautifulsoup4 Requires lxml +# - [html_clean] Requires lxml-html-clean Requires lxml # Hence we provide a bcond to disable the extras altogether. # By default, the extras are disabled in RHEL, to avoid dependencies. %bcond extras %{undefined rhel} @@ -47,6 +47,7 @@ Summary: %{summary} Suggests: python3-lxml+cssselect Suggests: python3-lxml+html5 Suggests: python3-lxml+htmlsoup +Suggests: python3-lxml+html_clean %endif %description -n python3-lxml %{_description} @@ -54,7 +55,7 @@ Suggests: python3-lxml+htmlsoup Python 3 version. %if %{with extras} -%pyproject_extras_subpkg -n python3-lxml cssselect html5 htmlsoup +%pyproject_extras_subpkg -n python3-lxml cssselect html5 htmlsoup html_clean %endif %prep @@ -67,7 +68,7 @@ sed -i "s/Cython.*/Cython/" requirements.txt sed -i 's/"Cython.*",/"Cython",/' pyproject.toml %generate_buildrequires -%pyproject_buildrequires -x source%{?with_extras:,cssselect,html5,htmlsoup} +%pyproject_buildrequires -x source%{?with_extras:,cssselect,html5,htmlsoup,html_clean} %build # Remove pregenerated Cython C sources diff --git a/sources b/sources index c2b3845..2274f55 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-5.1.0-no-isoschematron-rng.tar.gz) = f4b65c0189c89742fb4be6a3e73b08e7e7338272b71482e64be75dc8d53cebc769c0520a86a46579328fa0ec4377bb2bd860338550b1098d26c8f509fcedc664 +SHA512 (lxml-5.2.1-no-isoschematron-rng.tar.gz) = 7bfd9caf7e45157726e16c7286bdcb1b4dfa24df000df96d6571d65f59760ea5747e364da788cee3116977810b870ab90e451b519701f5cc26f1111a2528c996 From 9579799168790b70c82c32482106f71259043e05 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 09:50:04 +0200 Subject: [PATCH 02/21] Bootstrap for Python 3.13 --- python-lxml.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-lxml.spec b/python-lxml.spec index 53711ae..1b5d1aa 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,3 +1,4 @@ +%global _without_extras 1 Name: python-lxml Version: 5.2.1 Release: %autorelease From 39e20da595648af8a95a9d22681e83e8437e1062 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 20:41:48 +0200 Subject: [PATCH 03/21] Rebuilt for Python 3.13 --- python-lxml.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-lxml.spec b/python-lxml.spec index 1b5d1aa..53711ae 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,4 +1,3 @@ -%global _without_extras 1 Name: python-lxml Version: 5.2.1 Release: %autorelease From 58ac417c3e275f1156a302b83d35f727eeb2f702 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 23:20:38 +0200 Subject: [PATCH 04/21] Rebuilt for Python 3.13 From 27c594a8e2e79e18e73225b4911c33f62ba5606a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 12:55:35 +0000 Subject: [PATCH 05/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 61d79bae8d38bf1f784a0dad46c614ac8a52da11 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Wed, 31 Jul 2024 11:18:55 +0200 Subject: [PATCH 06/21] Fix doctest failing with the latest libxslt (rhbz#2301176) --- python-lxml.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python-lxml.spec b/python-lxml.spec index 53711ae..5a15bc6 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -67,6 +67,10 @@ Python 3 version. sed -i "s/Cython.*/Cython/" requirements.txt sed -i 's/"Cython.*",/"Cython",/' pyproject.toml +# Fix doctest failing with the latest libxslt (rhbz#2301176) +# Reported upstream: https://bugs.launchpad.net/lxml/+bug/2075141 +sed -i "s/read_network=False/read_network=False,read_file=False/" doc/resolvers.txt + %generate_buildrequires %pyproject_buildrequires -x source%{?with_extras:,cssselect,html5,htmlsoup,html_clean} From afcfecf47d365c26fac92e2db8456236fbb135e3 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Mon, 12 Aug 2024 14:59:25 +0200 Subject: [PATCH 07/21] Update to 5.3.0 (rhbz#2303963) --- .gitignore | 1 + 417.patch | 40 ---------------------------------------- python-lxml.spec | 9 +-------- sources | 2 +- 4 files changed, 3 insertions(+), 49 deletions(-) delete mode 100644 417.patch diff --git a/.gitignore b/.gitignore index 5a47e6b..c8045e4 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ lxml-2.2.7.tar.gz.asc /lxml-5.1.0-no-isoschematron-rng.tar.gz /lxml-5.2.0-no-isoschematron-rng.tar.gz /lxml-5.2.1-no-isoschematron-rng.tar.gz +/lxml-5.3.0-no-isoschematron-rng.tar.gz diff --git a/417.patch b/417.patch deleted file mode 100644 index c748c0a..0000000 --- a/417.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f5f64df808b35969794ba3ea8c19079276aa0cb0 Mon Sep 17 00:00:00 2001 -From: Lumir Balhar -Date: Thu, 4 Apr 2024 11:11:38 +0200 -Subject: [PATCH] Skip test_feedparser_data if lxml_html_clean is not available - -This is useful mostly for distributors shipping lxml without -lxml_html_clean. ---- - src/lxml/html/tests/test_feedparser_data.py | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/src/lxml/html/tests/test_feedparser_data.py b/src/lxml/html/tests/test_feedparser_data.py -index 36fba1acb..264c0d4b5 100644 ---- a/src/lxml/html/tests/test_feedparser_data.py -+++ b/src/lxml/html/tests/test_feedparser_data.py -@@ -9,7 +9,11 @@ - from lxml.tests.common_imports import doctest - from lxml.doctestcompare import LHTMLOutputChecker - --from lxml.html.clean import clean, Cleaner -+try: -+ from lxml.html.clean import clean, Cleaner -+ html_clean_available = True -+except ImportError: -+ html_clean_available = False - - feed_dirs = [ - os.path.join(os.path.dirname(__file__), 'feedparser-data'), -@@ -80,6 +84,11 @@ def shortDescription(self): - - def test_suite(): - suite = unittest.TestSuite() -+ -+ if not html_clean_available: -+ print("Skipping tests in feedparser_data - external lxml_html_clean package is not installed") -+ return suite -+ - for dir in feed_dirs: - for fn in os.listdir(dir): - fn = os.path.join(dir, fn) diff --git a/python-lxml.spec b/python-lxml.spec index 5a15bc6..343146f 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 5.2.1 +Version: 5.3.0 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API @@ -16,9 +16,6 @@ URL: https://github.com/lxml/lxml Source0: lxml-%{version}-no-isoschematron-rng.tar.gz Source1: get-lxml-source.sh -# Skip some tests if lxml_html_clean is not available -Patch: https://github.com/lxml/lxml/pull/417.patch - BuildRequires: gcc BuildRequires: libxml2-devel BuildRequires: libxslt-devel @@ -67,10 +64,6 @@ Python 3 version. sed -i "s/Cython.*/Cython/" requirements.txt sed -i 's/"Cython.*",/"Cython",/' pyproject.toml -# Fix doctest failing with the latest libxslt (rhbz#2301176) -# Reported upstream: https://bugs.launchpad.net/lxml/+bug/2075141 -sed -i "s/read_network=False/read_network=False,read_file=False/" doc/resolvers.txt - %generate_buildrequires %pyproject_buildrequires -x source%{?with_extras:,cssselect,html5,htmlsoup,html_clean} diff --git a/sources b/sources index 2274f55..cf060ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-5.2.1-no-isoschematron-rng.tar.gz) = 7bfd9caf7e45157726e16c7286bdcb1b4dfa24df000df96d6571d65f59760ea5747e364da788cee3116977810b870ab90e451b519701f5cc26f1111a2528c996 +SHA512 (lxml-5.3.0-no-isoschematron-rng.tar.gz) = 4e16640e59f74f38d78382b33b8d1797d03da1eca5890c3a2f5b359e21ede86a3dd1394a59734554b9f25c95548df3586e95080f520082b05f60e89e558b127e From b52ea727c746477458adfe656284f9d15a648185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 6 Jan 2025 16:21:46 +0100 Subject: [PATCH 08/21] Fix build with Python 3.14 - Fixes: rhbz#2335830 --- 9e95960cd6.patch | 41 +++++++++++++++++++++++++++++++++++++++++ python-lxml.spec | 5 +++++ 2 files changed, 46 insertions(+) create mode 100644 9e95960cd6.patch diff --git a/9e95960cd6.patch b/9e95960cd6.patch new file mode 100644 index 0000000..9ae7533 --- /dev/null +++ b/9e95960cd6.patch @@ -0,0 +1,41 @@ +From 9e95960cd69a3e0393f4266d60a6f5a2a755de0d Mon Sep 17 00:00:00 2001 +From: Stefan Behnel +Date: Fri, 25 Oct 2024 15:50:04 +0200 +Subject: [PATCH] Fix missing "//" in file URLs under Py3.14. Closes + https://bugs.launchpad.net/bugs/2085619 + +--- + src/lxml/tests/common_imports.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/lxml/tests/common_imports.py b/src/lxml/tests/common_imports.py +index 2d371852c..83c3a909a 100644 +--- a/src/lxml/tests/common_imports.py ++++ b/src/lxml/tests/common_imports.py +@@ -103,7 +103,7 @@ def tearDown(self): + def parse(self, text, parser=None): + f = BytesIO(text) if isinstance(text, bytes) else StringIO(text) + return etree.parse(f, parser=parser) +- ++ + def _rootstring(self, tree): + return etree.tostring(tree.getroot()).replace( + b' ', b'').replace(b'\n', b'') +@@ -118,7 +118,7 @@ def assertRegex(self, *args, **kwargs): + class SillyFileLike: + def __init__(self, xml_data=b''): + self.xml_data = xml_data +- ++ + def read(self, amount=None): + if self.xml_data: + if amount: +@@ -202,7 +202,7 @@ def fileInTestDir(name): + + def path2url(path): + return urlparse.urljoin( +- 'file:', pathname2url(path)) ++ 'file://', pathname2url(path)) + + + def fileUrlInTestDir(name): diff --git a/python-lxml.spec b/python-lxml.spec index 343146f..c529f8f 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -16,6 +16,11 @@ URL: https://github.com/lxml/lxml Source0: lxml-%{version}-no-isoschematron-rng.tar.gz Source1: get-lxml-source.sh +# Fix missing "//" in file URLs under Python 3.14 +# https://bugs.launchpad.net/bugs/2085619 +# https://bugzilla.redhat.com/2335830 +Patch: https://github.com/lxml/lxml/commit/9e95960cd6.patch + BuildRequires: gcc BuildRequires: libxml2-devel BuildRequires: libxslt-devel From f75dd54e14e69267c81ce4b930eb0606f9667779 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 15:53:28 +0000 Subject: [PATCH 09/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From c1103ff3c3b135b143d33f4c8235d28a159f52c9 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Tue, 11 Feb 2025 12:10:25 +0100 Subject: [PATCH 10/21] Update to 5.3.1 (rhbz#2344609) --- .gitignore | 1 + 9e95960cd6.patch | 41 ----------------------------------------- python-lxml.spec | 7 +------ sources | 2 +- 4 files changed, 3 insertions(+), 48 deletions(-) delete mode 100644 9e95960cd6.patch diff --git a/.gitignore b/.gitignore index c8045e4..c3ce75f 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ lxml-2.2.7.tar.gz.asc /lxml-5.2.0-no-isoschematron-rng.tar.gz /lxml-5.2.1-no-isoschematron-rng.tar.gz /lxml-5.3.0-no-isoschematron-rng.tar.gz +/lxml-5.3.1-no-isoschematron-rng.tar.gz diff --git a/9e95960cd6.patch b/9e95960cd6.patch deleted file mode 100644 index 9ae7533..0000000 --- a/9e95960cd6.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 9e95960cd69a3e0393f4266d60a6f5a2a755de0d Mon Sep 17 00:00:00 2001 -From: Stefan Behnel -Date: Fri, 25 Oct 2024 15:50:04 +0200 -Subject: [PATCH] Fix missing "//" in file URLs under Py3.14. Closes - https://bugs.launchpad.net/bugs/2085619 - ---- - src/lxml/tests/common_imports.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/lxml/tests/common_imports.py b/src/lxml/tests/common_imports.py -index 2d371852c..83c3a909a 100644 ---- a/src/lxml/tests/common_imports.py -+++ b/src/lxml/tests/common_imports.py -@@ -103,7 +103,7 @@ def tearDown(self): - def parse(self, text, parser=None): - f = BytesIO(text) if isinstance(text, bytes) else StringIO(text) - return etree.parse(f, parser=parser) -- -+ - def _rootstring(self, tree): - return etree.tostring(tree.getroot()).replace( - b' ', b'').replace(b'\n', b'') -@@ -118,7 +118,7 @@ def assertRegex(self, *args, **kwargs): - class SillyFileLike: - def __init__(self, xml_data=b''): - self.xml_data = xml_data -- -+ - def read(self, amount=None): - if self.xml_data: - if amount: -@@ -202,7 +202,7 @@ def fileInTestDir(name): - - def path2url(path): - return urlparse.urljoin( -- 'file:', pathname2url(path)) -+ 'file://', pathname2url(path)) - - - def fileUrlInTestDir(name): diff --git a/python-lxml.spec b/python-lxml.spec index c529f8f..3889d88 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 5.3.0 +Version: 5.3.1 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API @@ -16,11 +16,6 @@ URL: https://github.com/lxml/lxml Source0: lxml-%{version}-no-isoschematron-rng.tar.gz Source1: get-lxml-source.sh -# Fix missing "//" in file URLs under Python 3.14 -# https://bugs.launchpad.net/bugs/2085619 -# https://bugzilla.redhat.com/2335830 -Patch: https://github.com/lxml/lxml/commit/9e95960cd6.patch - BuildRequires: gcc BuildRequires: libxml2-devel BuildRequires: libxslt-devel diff --git a/sources b/sources index cf060ca..20848d2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-5.3.0-no-isoschematron-rng.tar.gz) = 4e16640e59f74f38d78382b33b8d1797d03da1eca5890c3a2f5b359e21ede86a3dd1394a59734554b9f25c95548df3586e95080f520082b05f60e89e558b127e +SHA512 (lxml-5.3.1-no-isoschematron-rng.tar.gz) = 768689dead251cb493575ff2572e6bd33eff1b2e446afc9bcf7753be4ad37dcc9098362ee919288bf2ce8bf2425e0ca180cd9e7423a378b091363c9765028f67 From b928096276f86d0365a15496f1bb814fb1269429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Sun, 6 Apr 2025 18:07:47 +0200 Subject: [PATCH 11/21] Update to 5.3.2 Close: rhbz#2357632 --- .gitignore | 1 + python-lxml.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c3ce75f..de23bad 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ lxml-2.2.7.tar.gz.asc /lxml-5.2.1-no-isoschematron-rng.tar.gz /lxml-5.3.0-no-isoschematron-rng.tar.gz /lxml-5.3.1-no-isoschematron-rng.tar.gz +/lxml-5.3.2-no-isoschematron-rng.tar.gz diff --git a/python-lxml.spec b/python-lxml.spec index 3889d88..8993140 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 5.3.1 +Version: 5.3.2 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API diff --git a/sources b/sources index 20848d2..0a9f363 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-5.3.1-no-isoschematron-rng.tar.gz) = 768689dead251cb493575ff2572e6bd33eff1b2e446afc9bcf7753be4ad37dcc9098362ee919288bf2ce8bf2425e0ca180cd9e7423a378b091363c9765028f67 +SHA512 (lxml-5.3.2-no-isoschematron-rng.tar.gz) = 556e649f5879c01617b7f2760950fc9cb2a4858b6c766333b6b214cefa7cba37e91987d5dd095645bf847f709a09f7bac21bda7ad66c20b0b6e9cb859a43ee45 From b9a077ae0314c6bd6f99f38adeea6d112636e24b Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Wed, 23 Apr 2025 13:59:36 +0200 Subject: [PATCH 12/21] Update to 5.4.0 (rhbz#2361809) --- .gitignore | 1 + python-lxml.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index de23bad..cc0abf5 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ lxml-2.2.7.tar.gz.asc /lxml-5.3.0-no-isoschematron-rng.tar.gz /lxml-5.3.1-no-isoschematron-rng.tar.gz /lxml-5.3.2-no-isoschematron-rng.tar.gz +/lxml-5.4.0-no-isoschematron-rng.tar.gz diff --git a/python-lxml.spec b/python-lxml.spec index 8993140..112a51d 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 5.3.2 +Version: 5.4.0 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API diff --git a/sources b/sources index 0a9f363..45eae2e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-5.3.2-no-isoschematron-rng.tar.gz) = 556e649f5879c01617b7f2760950fc9cb2a4858b6c766333b6b214cefa7cba37e91987d5dd095645bf847f709a09f7bac21bda7ad66c20b0b6e9cb859a43ee45 +SHA512 (lxml-5.4.0-no-isoschematron-rng.tar.gz) = 5540dbdae5fe1c5a9a3489f1b3a21e6c866099e16508368d676406a652eca9877e3a653102672b493a96d5ea146dd87fa0cea2ee8e86f18ea6c531ff99d7e0f9 From 6df45dce8be993aaf2a17d1ad82ecd308ef0dc1f Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 21:23:03 +0200 Subject: [PATCH 13/21] Bootstrap for Python 3.14 --- python-lxml.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-lxml.spec b/python-lxml.spec index 112a51d..a8d598d 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,3 +1,4 @@ +%global _without_extras 1 Name: python-lxml Version: 5.4.0 Release: %autorelease From 544488770a8d6711ec57ba8da6eabd52b36a08e5 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 12:25:50 +0200 Subject: [PATCH 14/21] Rebuilt for Python 3.14 --- python-lxml.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-lxml.spec b/python-lxml.spec index a8d598d..112a51d 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,4 +1,3 @@ -%global _without_extras 1 Name: python-lxml Version: 5.4.0 Release: %autorelease From adc8d24589d8ad2635e207ddf92eda426eba1448 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Mon, 30 Jun 2025 11:19:42 +0200 Subject: [PATCH 15/21] Update to 6.0.0 (rhbz#2374994) --- .gitignore | 1 + python-lxml.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cc0abf5..c69c318 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,4 @@ lxml-2.2.7.tar.gz.asc /lxml-5.3.1-no-isoschematron-rng.tar.gz /lxml-5.3.2-no-isoschematron-rng.tar.gz /lxml-5.4.0-no-isoschematron-rng.tar.gz +/lxml-6.0.0-no-isoschematron-rng.tar.gz diff --git a/python-lxml.spec b/python-lxml.spec index 112a51d..2b5f320 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 5.4.0 +Version: 6.0.0 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API diff --git a/sources b/sources index 45eae2e..ef652e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-5.4.0-no-isoschematron-rng.tar.gz) = 5540dbdae5fe1c5a9a3489f1b3a21e6c866099e16508368d676406a652eca9877e3a653102672b493a96d5ea146dd87fa0cea2ee8e86f18ea6c531ff99d7e0f9 +SHA512 (lxml-6.0.0-no-isoschematron-rng.tar.gz) = 482df7ae2dde50a6d84a30bdc10486c4b30ba81b283e322abd12e08573cebfc9aa73f5067c2a883b3753955589edd2da5cba00077fd8458f39768041882f8425 From cd4ee3066f63c94c05525bb29382754ae80a2bd8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 08:42:31 +0000 Subject: [PATCH 16/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From d4c3d0bb6c455c6d8ca09d225a25436ab8b289be Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Tue, 5 Aug 2025 09:59:19 +0200 Subject: [PATCH 17/21] Fix test_wrap_html with Python 3.14rc1 --- 473.patch | 23 +++++++++++++++++++++++ python-lxml.spec | 4 ++++ 2 files changed, 27 insertions(+) create mode 100644 473.patch diff --git a/473.patch b/473.patch new file mode 100644 index 0000000..30cfa21 --- /dev/null +++ b/473.patch @@ -0,0 +1,23 @@ +From ba44171d105f291568e239970c152e800cf8a3b7 Mon Sep 17 00:00:00 2001 +From: Lumir Balhar +Date: Tue, 5 Aug 2025 12:15:03 +0200 +Subject: [PATCH] Fix `test_wrap_html` with the latest Python HTMLParser + +Fixes: https://bugs.launchpad.net/lxml/+bug/2119510 +--- + src/lxml/html/tests/test_elementsoup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lxml/html/tests/test_elementsoup.py b/src/lxml/html/tests/test_elementsoup.py +index 94d21636b..7e4aa899b 100644 +--- a/src/lxml/html/tests/test_elementsoup.py ++++ b/src/lxml/html/tests/test_elementsoup.py +@@ -50,7 +50,7 @@ def test_head_body(self): + + def test_wrap_html(self): + # outside , parser should fix that +- html = 'title</test></head><html><body/></html>' ++ html = '<head><title>title' + res = b'title' + tree = self.soupparser.fromstring(html) + self.assertEqual(tostring(tree), res) diff --git a/python-lxml.spec b/python-lxml.spec index 2b5f320..1a8b71e 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -16,6 +16,10 @@ URL: https://github.com/lxml/lxml Source0: lxml-%{version}-no-isoschematron-rng.tar.gz Source1: get-lxml-source.sh +# Fix for test_wrap_html +# https://bugs.launchpad.net/lxml/+bug/2119510 +Patch: https://github.com/lxml/lxml/pull/473.patch + BuildRequires: gcc BuildRequires: libxml2-devel BuildRequires: libxslt-devel From 86d492aea65a3275f13acf72a9d6b11a10382d61 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 14:04:47 +0200 Subject: [PATCH 18/21] Rebuilt for Python 3.14.0rc2 bytecode From 1fd88c3632dd23606ec250220d5eb7526e4722f4 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Sun, 24 Aug 2025 22:22:09 +0200 Subject: [PATCH 19/21] Update to 6.0.1 (rhbz#2390283) --- .gitignore | 1 + 473.patch | 23 ----------------------- python-lxml.spec | 6 +----- sources | 2 +- 4 files changed, 3 insertions(+), 29 deletions(-) delete mode 100644 473.patch diff --git a/.gitignore b/.gitignore index c69c318..2a3cc0a 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,4 @@ lxml-2.2.7.tar.gz.asc /lxml-5.3.2-no-isoschematron-rng.tar.gz /lxml-5.4.0-no-isoschematron-rng.tar.gz /lxml-6.0.0-no-isoschematron-rng.tar.gz +/lxml-6.0.1-no-isoschematron-rng.tar.gz diff --git a/473.patch b/473.patch deleted file mode 100644 index 30cfa21..0000000 --- a/473.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ba44171d105f291568e239970c152e800cf8a3b7 Mon Sep 17 00:00:00 2001 -From: Lumir Balhar -Date: Tue, 5 Aug 2025 12:15:03 +0200 -Subject: [PATCH] Fix `test_wrap_html` with the latest Python HTMLParser - -Fixes: https://bugs.launchpad.net/lxml/+bug/2119510 ---- - src/lxml/html/tests/test_elementsoup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lxml/html/tests/test_elementsoup.py b/src/lxml/html/tests/test_elementsoup.py -index 94d21636b..7e4aa899b 100644 ---- a/src/lxml/html/tests/test_elementsoup.py -+++ b/src/lxml/html/tests/test_elementsoup.py -@@ -50,7 +50,7 @@ def test_head_body(self): - - def test_wrap_html(self): - # outside , parser should fix that -- html = 'title</test></head><html><body/></html>' -+ html = '<head><title>title' - res = b'title' - tree = self.soupparser.fromstring(html) - self.assertEqual(tostring(tree), res) diff --git a/python-lxml.spec b/python-lxml.spec index 1a8b71e..5e3644b 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 6.0.0 +Version: 6.0.1 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API @@ -16,10 +16,6 @@ URL: https://github.com/lxml/lxml Source0: lxml-%{version}-no-isoschematron-rng.tar.gz Source1: get-lxml-source.sh -# Fix for test_wrap_html -# https://bugs.launchpad.net/lxml/+bug/2119510 -Patch: https://github.com/lxml/lxml/pull/473.patch - BuildRequires: gcc BuildRequires: libxml2-devel BuildRequires: libxslt-devel diff --git a/sources b/sources index ef652e6..ce2ae3d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-6.0.0-no-isoschematron-rng.tar.gz) = 482df7ae2dde50a6d84a30bdc10486c4b30ba81b283e322abd12e08573cebfc9aa73f5067c2a883b3753955589edd2da5cba00077fd8458f39768041882f8425 +SHA512 (lxml-6.0.1-no-isoschematron-rng.tar.gz) = e503880792636b01755b1d7aad29ee29fe9af77a295811050b763162a79fa54a08d5a73ced1de9fec6e93696bcb75e6050034696bb4daba3f9a5ed1695359937 From b2351e3e342d0e7b169485473faeac03b0068322 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 13:41:18 +0200 Subject: [PATCH 20/21] Rebuilt for Python 3.14.0rc3 bytecode From 11da0f3a632fded8beff05c62aa9126e2e9d3087 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Mon, 22 Sep 2025 12:49:34 +0200 Subject: [PATCH 21/21] Update to 6.0.2 (rhbz#2397231) --- .gitignore | 1 + python-lxml.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2a3cc0a..e31c637 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ lxml-2.2.7.tar.gz.asc /lxml-5.4.0-no-isoschematron-rng.tar.gz /lxml-6.0.0-no-isoschematron-rng.tar.gz /lxml-6.0.1-no-isoschematron-rng.tar.gz +/lxml-6.0.2-no-isoschematron-rng.tar.gz diff --git a/python-lxml.spec b/python-lxml.spec index 5e3644b..3151ed0 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,5 +1,5 @@ Name: python-lxml -Version: 6.0.1 +Version: 6.0.2 Release: %autorelease Summary: XML processing library combining libxml2/libxslt with the ElementTree API diff --git a/sources b/sources index ce2ae3d..943c07f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxml-6.0.1-no-isoschematron-rng.tar.gz) = e503880792636b01755b1d7aad29ee29fe9af77a295811050b763162a79fa54a08d5a73ced1de9fec6e93696bcb75e6050034696bb4daba3f9a5ed1695359937 +SHA512 (lxml-6.0.2-no-isoschematron-rng.tar.gz) = dc89f75c3a3c828a46bcb2eefbebe8f98ce8072b9fb66f8ef81edbf2babed74e4c54e26392603319d60ab3bfab6a4795eedc85b28efba815797d43d53aae4060