From 0d1ac9e9a0186acd070f67a04f8ec058a953340e142a67267870470c6a6fd30f Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 20 Dec 2023 22:05:16 +0000 Subject: [PATCH] - update to 4.9.4: * LP#2046398: Inserting/replacing an ancestor into a node's children could loop indefinitely. * LP#1980767, GH#379: ``TreeBuilder.close()`` could fail with a ``TypeError`` after parsing incorrect input. * LP#1522052: A file-system specific test is now optional and should no longer fail on systems that don't support it. * Built with Cython 0.29.37. - drop libxml2212-tests.patch (upstream) - remove python 2.x from testing - allow building against any libxml2 version in sle15 * Built with Cython 0.29.28. * LP#1835708: ElementInclude incorrectly rejected repeated * LP#1755825: iterwalk() failed to return the 'start' event for the initial - ElementTree.write() has a new option doctype that writes out a doctype string before the serialisation, in the same way as - GH#220: xmlfile allows switching output methods at an element - LP#1595781, GH#240: added a PyCapsule Python API and C-level API for passing externally generated libxml2 documents into - GH#244: error log entries have a new property path with an XPath expression (if known, None otherwise) that points to the - The namespace prefix mapping that can be used in ElementPath - GH#238: Character escapes were not hex-encoded in the xmlfile - GH#229: fix for externally created XML documents. strips the option values specified in form attributes but only - LP#1551797: revert previous fix for XSLT error logging as it - LP#1673355, GH#233: fromstring() html5parser failed to parse - The previously undocumented docstring option in ElementTree.write() produces a deprecation warning and will - remove patch lxml-fix-attribute-quoting.patch because it is now OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=191 --- libxml2212-tests.patch | 41 ---------------------- lxml-4.9.3.tar.gz | 3 -- lxml-4.9.4.tar.gz | 3 ++ python-lxml.changes | 77 ++++++++++++++++++++++++------------------ python-lxml.spec | 5 +-- 5 files changed, 49 insertions(+), 80 deletions(-) delete mode 100644 libxml2212-tests.patch delete mode 100644 lxml-4.9.3.tar.gz create mode 100644 lxml-4.9.4.tar.gz diff --git a/libxml2212-tests.patch b/libxml2212-tests.patch deleted file mode 100644 index baa342b..0000000 --- a/libxml2212-tests.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2a6770566ab57d601abc7c2f49a8051b9d97b64c Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Tue, 31 Oct 2023 12:36:02 +0100 -Subject: [PATCH] Make Unicode recovery test work with libxml2 2.12 (GH-383) - -When encountering encoding errors, libxml2 no longer switches to ISO-8859-1 since version 2.12. ---- - src/lxml/parser.pxi | 2 +- - src/lxml/tests/test_unicode.py | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/lxml/parser.pxi b/src/lxml/parser.pxi -index 4b7b52065..8ceec7d25 100644 ---- a/src/lxml/parser.pxi -+++ b/src/lxml/parser.pxi -@@ -693,7 +693,7 @@ cdef xmlDoc* _handleParseResult(_ParserContext context, - # An encoding error occurred and libxml2 switched from UTF-8 - # input to (undecoded) Latin-1, at some arbitrary point in the - # document. Better raise an error than allowing for a broken -- # tree with mixed encodings. -+ # tree with mixed encodings. This is fixed in libxml2 2.12. - well_formed = 0 - elif recover or (c_ctxt.wellFormed and - c_ctxt.lastError.level < xmlerror.XML_ERR_ERROR): -diff --git a/src/lxml/tests/test_unicode.py b/src/lxml/tests/test_unicode.py -index 6d4ee9c0f..3636539b2 100644 ---- a/src/lxml/tests/test_unicode.py -+++ b/src/lxml/tests/test_unicode.py -@@ -167,7 +167,11 @@ def test_illegal_utf8(self): - def test_illegal_utf8_recover(self): - data = _bytes('\x80\x80\x80', encoding='iso8859-1') - parser = etree.XMLParser(recover=True) -- self.assertRaises(etree.XMLSyntaxError, etree.fromstring, data, parser) -+ if etree.LIBXML_VERSION >= (2, 12, 0): -+ tree = etree.fromstring(data, parser) -+ self.assertEqual('\ufffd\ufffd\ufffd', tree.text) -+ else: -+ self.assertRaises(etree.XMLSyntaxError, etree.fromstring, data, parser) - - def _test_encoding(self, encoding, xml_encoding_name=None): - foo = """\n""" % ( diff --git a/lxml-4.9.3.tar.gz b/lxml-4.9.3.tar.gz deleted file mode 100644 index c3fc711..0000000 --- a/lxml-4.9.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c -size 3572158 diff --git a/lxml-4.9.4.tar.gz b/lxml-4.9.4.tar.gz new file mode 100644 index 0000000..3bbfb61 --- /dev/null +++ b/lxml-4.9.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1541e50b78e15fa06a2670157a1962ef06591d4c998b998047fff5e3236880e +size 3576664 diff --git a/python-lxml.changes b/python-lxml.changes index f5f7de8..2dd1c48 100644 --- a/python-lxml.changes +++ b/python-lxml.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Wed Dec 20 22:04:14 UTC 2023 - Dirk Müller + +- update to 4.9.4: + * LP#2046398: Inserting/replacing an ancestor into a node's + children could loop indefinitely. + * LP#1980767, GH#379: ``TreeBuilder.close()`` could fail with a + ``TypeError`` after parsing incorrect input. + * LP#1522052: A file-system specific test is now optional and + should no longer fail on systems that don't support it. + * Built with Cython 0.29.37. +- drop libxml2212-tests.patch (upstream) + ------------------------------------------------------------------- Mon Nov 27 12:36:51 UTC 2023 - Markéta Machová @@ -7,7 +20,7 @@ Mon Nov 27 12:36:51 UTC 2023 - Markéta Machová Wed Sep 6 20:04:29 UTC 2023 - Dirk Müller - skip html5lib tests - cyclic dependency with html5lib tests -- remove python 2.x from testing +- remove python 2.x from testing ------------------------------------------------------------------- Sun Aug 13 18:55:19 UTC 2023 - Dirk Müller @@ -59,7 +72,7 @@ Thu Apr 13 22:42:31 UTC 2023 - Matej Cepl ------------------------------------------------------------------- Thu Feb 16 20:17:22 UTC 2023 - Dirk Müller -- allow building against any libxml2 version in sle15 +- allow building against any libxml2 version in sle15 ------------------------------------------------------------------- Fri Jan 20 16:00:15 UTC 2023 - Matej Cepl @@ -113,7 +126,7 @@ Fri Feb 18 00:36:08 UTC 2022 - Dirk Müller override the default namespace of the factory. * GH#338: In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively. - * Built with Cython 0.29.28. + * Built with Cython 0.29.28. ------------------------------------------------------------------- Mon Jan 10 23:09:05 UTC 2022 - Dirk Müller @@ -232,7 +245,7 @@ Thu Mar 5 12:44:43 UTC 2020 - Ondřej Súkup Wed Jan 22 13:55:03 UTC 2020 - Martin Sirringhaus - Update to 4.4.2: - * LP#1835708: ElementInclude incorrectly rejected repeated + * LP#1835708: ElementInclude incorrectly rejected repeated non-recursive includes as recursive. * Remove patch lxml-libxml-2.9.10.patch which is now upstream @@ -373,7 +386,7 @@ Tue Aug 7 15:34:31 UTC 2018 - toddrme2178@gmail.com Wed Mar 28 17:05:30 UTC 2018 - hpj@urpla.net - Version update to 4.2.1: - * LP#1755825: iterwalk() failed to return the 'start' event for the initial + * LP#1755825: iterwalk() failed to return the 'start' event for the initial element if a tag selector is used. * LP#1756314: Failure to import 4.2.0 into PyPy due to a missing library symbol. * LP#1727864, GH#258: Add "-isysroot" linker option on MacOS as needed by XCode 9. @@ -472,37 +485,37 @@ Fri Jul 28 17:24:27 UTC 2017 - ecsos@opensuse.org - update to 3.8.0 Features added - - ElementTree.write() has a new option doctype that writes out - a doctype string before the serialisation, in the same way as + - ElementTree.write() has a new option doctype that writes out + a doctype string before the serialisation, in the same way as tostring(). - - GH#220: xmlfile allows switching output methods at an element + - GH#220: xmlfile allows switching output methods at an element level. Patch by Burak Arslan. - - LP#1595781, GH#240: added a PyCapsule Python API and C-level - API for passing externally generated libxml2 documents into + - LP#1595781, GH#240: added a PyCapsule Python API and C-level + API for passing externally generated libxml2 documents into lxml. - - GH#244: error log entries have a new property path with an - XPath expression (if known, None otherwise) that points to the + - GH#244: error log entries have a new property path with an + XPath expression (if known, None otherwise) that points to the tree element responsible for the error. Patch by Bob Kline. - - The namespace prefix mapping that can be used in ElementPath + - The namespace prefix mapping that can be used in ElementPath now injects a default namespace when passing a None prefix. Bugs fixed - - GH#238: Character escapes were not hex-encoded in the xmlfile + - GH#238: Character escapes were not hex-encoded in the xmlfile serialiser. Patch by matejcik. - - GH#229: fix for externally created XML documents. + - GH#229: fix for externally created XML documents. Patch by Theodore Dubois. - LP#1665241, GH#228: Form data handling in lxml.html no longer - strips the option values specified in form attributes but only + strips the option values specified in form attributes but only the text values. Patch by Ashish Kulkarni. - - LP#1551797: revert previous fix for XSLT error logging as it + - LP#1551797: revert previous fix for XSLT error logging as it breaks multi-threaded XSLT processing. - - LP#1673355, GH#233: fromstring() html5parser failed to parse + - LP#1673355, GH#233: fromstring() html5parser failed to parse byte strings. Other changes - - The previously undocumented docstring option in - ElementTree.write() produces a deprecation warning and will + - The previously undocumented docstring option in + ElementTree.write() produces a deprecation warning and will eventually be removed. - enable source url for pdf doc -- remove patch lxml-fix-attribute-quoting.patch because it is now +- remove patch lxml-fix-attribute-quoting.patch because it is now in upstream ------------------------------------------------------------------- @@ -735,14 +748,14 @@ Thu Apr 24 06:48:15 UTC 2014 - toms@opensuse.org ** Features added n/a ** Bugs fixed - - HTML cleaning could fail to strip javascript links that mix + - HTML cleaning could fail to strip javascript links that mix control characters into the link scheme. ** Other changes n/a - Changes in version 3.3.4: ** Features added - - Source line numbers above 65535 are available on Elements when + - Source line numbers above 65535 are available on Elements when using libxml2 2.9 or later. ** Bugs fixed - lxml.html.fragment_fromstring() failed for bytes input in Py3. @@ -794,9 +807,9 @@ Sat Feb 22 10:33:42 UTC 2014 - toms@opensuse.org ** Features added n/a ** Bugs fixed - - LP#1014290: HTML documents parsed with parser.feed() failed to + - LP#1014290: HTML documents parsed with parser.feed() failed to find elements during tag iteration. - - LP#1273709: Building in PyPy failed due to missing support for + - LP#1273709: Building in PyPy failed due to missing support for PyUnicode_Compare() and PyByteArray_*() in PyPy's C-API. - LP#1274413: Compilation in MSVC failed due to missing "stdint.h" standard header file. @@ -825,21 +838,21 @@ Sun Jan 26 13:02:19 UTC 2014 - toms@opensuse.org ** Features added n/a ** Bugs fixed - - The heuristic that distinguishes file paths from URLs was + - The heuristic that distinguishes file paths from URLs was tightened to produce less false negatives. - Changes from 3.3.0beta5 ** Features added - - The PEP 393 unicode parsing support gained a fallback for + - The PEP 393 unicode parsing support gained a fallback for wchar strings which might still be somewhat common on Windows systems. ** Bugs fixed - - Several error handling problems were fixed throughout the code base - that could previously lead to exceptions being silently swallowed or + - Several error handling problems were fixed throughout the code base + that could previously lead to exceptions being silently swallowed or not properly reported. - - The C-API function appendChild() is now deprecated as it does not - propagate exceptions (its return type is void). The new function + - The C-API function appendChild() is now deprecated as it does not + propagate exceptions (its return type is void). The new function appendChildToElement() was added as a safe replacement. - - Passing a string into fromstringlist() raises an exception instead of + - Passing a string into fromstringlist() raises an exception instead of parsing the string character by character. ** Other changes diff --git a/python-lxml.spec b/python-lxml.spec index 00bb493..55bb2c6 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-lxml -Version: 4.9.3 +Version: 4.9.4 Release: 0 Summary: Pythonic XML processing library License: BSD-3-Clause AND GPL-2.0-or-later @@ -42,9 +42,6 @@ Patch3: ISO-Schematron-schema-optional.patch # PATCH-FIX-UPSTREAM remove-ISO-Schematron-schema.patch gl#fedora/legal/fedora-license-data/-#154 mcepl@suse.com # Actually remove the schema Patch4: remove-ISO-Schematron-schema.patch -# PATCH-FIX-UPSTREAM libxml2212-tests.patch https://github.com/lxml/lxml/pull/383 -# Make Unicode recovery test work with upcoming libxml2 2.12 -Patch5: libxml2212-tests.patch BuildRequires: %{python_module Cython >= 0.29.7 with %python-Cython < 3} BuildRequires: %{python_module base} BuildRequires: %{python_module cssselect >= 0.9.1}