SHA256
1
0
forked from pool/python-lxml

13 Commits

Author SHA256 Message Date
e0dc3c326a Accepting request 1306904 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1306904
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lxml?expand=0&rev=116
2025-09-25 16:43:51 +00:00
40f7bfd65d Accepting request 1306901 from home:pgajdos:libxml2
- version update to 6.0.2
  * LP#2125278: Compilation with libxml2 2.15.0 failed.
    Original patch by Xi Ruoyao.
  * Setting ``decompress=True`` in the parser had no effect in libxml2 2.15.
  * Binary wheels on Linux and macOS use the library version libxml2 2.14.6.
    See https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6
  * Test failures in libxml2 2.15.0 were fixed.

OBS-URL: https://build.opensuse.org/request/show/1306901
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=213
2025-09-24 11:09:00 +00:00
85e23189d5 Accepting request 1306341 from devel:languages:python
- update to 6.0.1:
  * LP#2116333: ``lxml.sax._getNsTag()`` could fail with an
    exception on malformed input.
  * GH#467: Some test adaptations were made for libxml2 2.15.
  *   Patch by Nick Wellnhofer.
  * LP2119510, GH#473: A Python compatibility test was fixed for
    Python 3.14+.
  * GH#471: Wheels for "riscv64" on recent Python versions were
    added.
  * GH#469: The wheel build no longer requires the ``wheel``
    package unconditionally.
  * Binary wheels use the library version libxml2 2.14.5.
  * Windows binary wheels continue to use a security patched
    library version libxml2 2.11.9.

OBS-URL: https://build.opensuse.org/request/show/1306341
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lxml?expand=0&rev=115
2025-09-23 14:05:34 +00:00
febfe9c7c5 - update to 6.0.1:
* LP#2116333: ``lxml.sax._getNsTag()`` could fail with an
    exception on malformed input.
  * GH#467: Some test adaptations were made for libxml2 2.15.
  *   Patch by Nick Wellnhofer.
  * LP2119510, GH#473: A Python compatibility test was fixed for
    Python 3.14+.
  * GH#471: Wheels for "riscv64" on recent Python versions were
    added.
  * GH#469: The wheel build no longer requires the ``wheel``
    package unconditionally.
  * Binary wheels use the library version libxml2 2.14.5.
  * Windows binary wheels continue to use a security patched
    library version libxml2 2.11.9.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=211
2025-09-21 19:24:11 +00:00
ac9588e4dd Accepting request 1294982 from devel:languages:python
- Update to 6.0.0:
  * ``lxml.html.diff`` is faster and provides structurally better diffs.
  * The factories ``Element`` and ``ElementTree`` can now be used in type
    hints.
  * Parsing from ``memoryview`` and other buffers is supported to allow
    zero-copy parsing.
  * ``lxml.html.builder`` was missing several HTML5 tag names.
  * ``CDATA`` can now be written into the incremental ``xmlfile()`` writer.
  * A new parser option ``decompress=False`` was added that controls the
    automatic input decompression when using libxml2 2.15.0 or later.
  * The set of compile time / runtime supported libxml2 feature names is
    available as ``etree.LIBXML_COMPILED_FEATURES`` and
    ``etree.LIBXML_FEATURES``.
  * Predicates in ``.find*()`` could mishandle tag indices if a default
    namespace is provided.
  * The ``head`` and ``body`` properties of ``lxml.html`` elements failed
    if no such element was found.  They now return ``None`` instead.
  * Tag names provided by code (API, not data) that are longer than
    ``INT_MAX`` could be truncated or mishandled in other ways.
  * ``.text_content()`` on ``lxml.html`` elements accidentally returned
    a "smart string" without additional information.  It now returns a plain
    string.
  * Support for Python < 3.8 was removed.
  * Parsing directly from zlib (or lzma) compressed data is now considered
    an optional feature in lxml.
  * The ``Schematron`` class is deprecated and will become non-functional in
    a future lxml version.
  * Built using Cython 3.1.2.
  * The debug methods ``MemDebug.dump()`` and ``MemDebug.show()`` were
    removed completely.

OBS-URL: https://build.opensuse.org/request/show/1294982
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lxml?expand=0&rev=114
2025-07-23 14:32:19 +00:00
26f1af7ef9 - Update to 6.0.0:
* ``lxml.html.diff`` is faster and provides structurally better diffs.
  * The factories ``Element`` and ``ElementTree`` can now be used in type
    hints.
  * Parsing from ``memoryview`` and other buffers is supported to allow
    zero-copy parsing.
  * ``lxml.html.builder`` was missing several HTML5 tag names.
  * ``CDATA`` can now be written into the incremental ``xmlfile()`` writer.
  * A new parser option ``decompress=False`` was added that controls the
    automatic input decompression when using libxml2 2.15.0 or later.
  * The set of compile time / runtime supported libxml2 feature names is
    available as ``etree.LIBXML_COMPILED_FEATURES`` and
    ``etree.LIBXML_FEATURES``.
  * Predicates in ``.find*()`` could mishandle tag indices if a default
    namespace is provided.
  * The ``head`` and ``body`` properties of ``lxml.html`` elements failed
    if no such element was found.  They now return ``None`` instead.
  * Tag names provided by code (API, not data) that are longer than
    ``INT_MAX`` could be truncated or mishandled in other ways.
  * ``.text_content()`` on ``lxml.html`` elements accidentally returned
    a "smart string" without additional information.  It now returns a plain
    string.
  * Support for Python < 3.8 was removed.
  * Parsing directly from zlib (or lzma) compressed data is now considered
    an optional feature in lxml.
  * The ``Schematron`` class is deprecated and will become non-functional in
    a future lxml version.
  * Built using Cython 3.1.2.
  * The debug methods ``MemDebug.dump()`` and ``MemDebug.show()`` were
    removed completely.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=209
2025-07-22 06:13:45 +00:00
32a3b38a24 Accepting request 1280666 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1280666
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lxml?expand=0&rev=113
2025-05-30 12:28:10 +00:00
d4ab80368c - Update to 5.4.0
* LP#2107279: Binary wheels use libxml2 2.13.8 and libxslt 1.1.43 to resolve
    several CVEs. Issue found by Anatoly Katyushin, see
    https://bugs.launchpad.net/lxml/+bug/2107279

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=207
2025-05-27 15:43:09 +00:00
a845284b2a Accepting request 1269361 from devel:languages:python
- update to 5.3.2 (bsc#1237370, CVE-2025-24928):
  * This release resolves CVE-2025-24928 as described in
  * https://gitlab.gnome.org/GNOME/libxml2/-/issues/847
  * GH#440: Some tests were adapted for libxml2 2.14.0.
  * LP#2097175: ``DTD(external_id="…")`` erroneously required a
    byte string as ID value.
  * GH#450: ``iterparse()`` internally triggered the
    `DeprecationWarning`` added in lxml 5.3.0 when parsing HTML.

OBS-URL: https://build.opensuse.org/request/show/1269361
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lxml?expand=0&rev=112
2025-04-15 18:46:51 +00:00
3fb0b8b1d9 - update to 5.3.2 (bsc#1237370, CVE-2025-24928):
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=205
2025-04-14 20:24:24 +00:00
26c09de24d - update to 5.3.2:
* This release resolves CVE-2025-24928 as described in
  * https://gitlab.gnome.org/GNOME/libxml2/-/issues/847
  * GH#440: Some tests were adapted for libxml2 2.14.0.
  * LP#2097175: ``DTD(external_id="…")`` erroneously required a
    byte string as ID value.
  * GH#450: ``iterparse()`` internally triggered the
    `DeprecationWarning`` added in lxml 5.3.0 when parsing HTML.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=204
2025-04-14 20:23:51 +00:00
4b6b1ff478 Accepting request 1203784 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1203784
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lxml?expand=0&rev=111
2024-09-26 16:52:45 +00:00
ec82b5a549 Accepting request 1203593 from system:homeautomation:home-assistant:unstable
- 5.3.0 (2024-08-10)
  Features added
  - GH#421: Nested CDATA sections are no longer rejected but split
    on output to represent ]]> correctly. Patch by Gertjan Klein.
  Bugs fixed
  - LP#2060160: Attribute values serialised differently in
    xmlfile.element() and xmlfile.write().
  - LP#2058177: The ISO-Schematron implementation could fail on
    unknown prefixes. Patch by David Lakin.
  Other changes
  - LP#2067707: The strip_cdata option in HTMLParser() turned out
    to be useless and is now deprecated.
  - Built with Cython 3.0.11.

OBS-URL: https://build.opensuse.org/request/show/1203593
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=202
2024-09-26 09:33:28 +00:00
5 changed files with 119 additions and 36 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87
size 3678631

3
lxml-6.0.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62
size 4073426

View File

@@ -1,3 +1,105 @@
-------------------------------------------------------------------
Wed Sep 24 10:12:40 UTC 2025 - pgajdos@suse.com
- version update to 6.0.2
* LP#2125278: Compilation with libxml2 2.15.0 failed.
Original patch by Xi Ruoyao.
* Setting ``decompress=True`` in the parser had no effect in libxml2 2.15.
* Binary wheels on Linux and macOS use the library version libxml2 2.14.6.
See https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6
* Test failures in libxml2 2.15.0 were fixed.
-------------------------------------------------------------------
Sun Sep 21 19:23:48 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 6.0.1:
* LP#2116333: ``lxml.sax._getNsTag()`` could fail with an
exception on malformed input.
* GH#467: Some test adaptations were made for libxml2 2.15.
* Patch by Nick Wellnhofer.
* LP2119510, GH#473: A Python compatibility test was fixed for
Python 3.14+.
* GH#471: Wheels for "riscv64" on recent Python versions were
added.
* GH#469: The wheel build no longer requires the ``wheel``
package unconditionally.
* Binary wheels use the library version libxml2 2.14.5.
* Windows binary wheels continue to use a security patched
library version libxml2 2.11.9.
-------------------------------------------------------------------
Tue Jul 22 06:12:57 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 6.0.0:
* ``lxml.html.diff`` is faster and provides structurally better diffs.
* The factories ``Element`` and ``ElementTree`` can now be used in type
hints.
* Parsing from ``memoryview`` and other buffers is supported to allow
zero-copy parsing.
* ``lxml.html.builder`` was missing several HTML5 tag names.
* ``CDATA`` can now be written into the incremental ``xmlfile()`` writer.
* A new parser option ``decompress=False`` was added that controls the
automatic input decompression when using libxml2 2.15.0 or later.
* The set of compile time / runtime supported libxml2 feature names is
available as ``etree.LIBXML_COMPILED_FEATURES`` and
``etree.LIBXML_FEATURES``.
* Predicates in ``.find*()`` could mishandle tag indices if a default
namespace is provided.
* The ``head`` and ``body`` properties of ``lxml.html`` elements failed
if no such element was found. They now return ``None`` instead.
* Tag names provided by code (API, not data) that are longer than
``INT_MAX`` could be truncated or mishandled in other ways.
* ``.text_content()`` on ``lxml.html`` elements accidentally returned
a "smart string" without additional information. It now returns a plain
string.
* Support for Python < 3.8 was removed.
* Parsing directly from zlib (or lzma) compressed data is now considered
an optional feature in lxml.
* The ``Schematron`` class is deprecated and will become non-functional in
a future lxml version.
* Built using Cython 3.1.2.
* The debug methods ``MemDebug.dump()`` and ``MemDebug.show()`` were
removed completely.
- Use pyproject macros to build and install.
- Dropped patch skip-test-under-libxml2-2.11.1.patch, no longer required.
-------------------------------------------------------------------
Tue May 27 14:56:16 UTC 2025 - Nico Krapp <nico.krapp@suse.com>
- Update to 5.4.0
* LP#2107279: Binary wheels use libxml2 2.13.8 and libxslt 1.1.43 to resolve
several CVEs. Issue found by Anatoly Katyushin, see
https://bugs.launchpad.net/lxml/+bug/2107279
-------------------------------------------------------------------
Mon Apr 14 20:23:23 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 5.3.2 (bsc#1237370, CVE-2025-24928):
* This release resolves CVE-2025-24928 as described in
* https://gitlab.gnome.org/GNOME/libxml2/-/issues/847
* GH#440: Some tests were adapted for libxml2 2.14.0.
* LP#2097175: ``DTD(external_id="…")`` erroneously required a
byte string as ID value.
* GH#450: ``iterparse()`` internally triggered the
`DeprecationWarning`` added in lxml 5.3.0 when parsing HTML.
-------------------------------------------------------------------
Wed Sep 25 13:33:01 UTC 2024 - Adrian Schröter <adrian@suse.de>
- 5.3.0 (2024-08-10)
Features added
- GH#421: Nested CDATA sections are no longer rejected but split
on output to represent ]]> correctly. Patch by Gertjan Klein.
Bugs fixed
- LP#2060160: Attribute values serialised differently in
xmlfile.element() and xmlfile.write().
- LP#2058177: The ISO-Schematron implementation could fail on
unknown prefixes. Patch by David Lakin.
Other changes
- LP#2067707: The strip_cdata option in HTMLParser() turned out
to be useless and is now deprecated.
- Built with Cython 3.0.11.
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jun 14 07:10:32 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com> Fri Jun 14 07:10:32 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>

View File

@@ -1,7 +1,7 @@
# #
# spec file for package python-lxml # spec file for package python-lxml
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC and contributors
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -18,11 +18,10 @@
%{?sle15_python_module_pythons} %{?sle15_python_module_pythons}
Name: python-lxml Name: python-lxml
Version: 5.2.2 Version: 6.0.2
Release: 0 Release: 0
Summary: Pythonic XML processing library Summary: Pythonic XML processing library
License: BSD-3-Clause AND GPL-2.0-or-later License: BSD-3-Clause AND GPL-2.0-or-later
Group: Development/Languages/Python
URL: https://lxml.de/ URL: https://lxml.de/
Source0: https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz Source0: https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz
Source1: https://lxml.de/lxmldoc-4.5.2.pdf Source1: https://lxml.de/lxmldoc-4.5.2.pdf
@@ -30,13 +29,12 @@ Source99: python-lxml.rpmlintrc
# PATCH-FIX-OPENSUSE Skip a test under libxml2 2.10.4+ # PATCH-FIX-OPENSUSE Skip a test under libxml2 2.10.4+
# https://bugs.launchpad.net/lxml/+bug/2016939 # https://bugs.launchpad.net/lxml/+bug/2016939
Patch1: skip-test-under-libxml2-2.10.4.patch Patch1: skip-test-under-libxml2-2.10.4.patch
# PATCH-FIX-OPENSUSE Skip a test under libxml2 2.11.1+
# https://bugs.launchpad.net/lxml/+bug/2018522
Patch2: skip-test-under-libxml2-2.11.1.patch
BuildRequires: %{python_module Cython >= 3.0.7} BuildRequires: %{python_module Cython >= 3.0.7}
BuildRequires: %{python_module base} BuildRequires: %{python_module base >= 3.9}
BuildRequires: %{python_module cssselect >= 0.9.1} BuildRequires: %{python_module cssselect >= 0.9.1}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools >= 18.0.1} BuildRequires: %{python_module setuptools >= 18.0.1}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes BuildRequires: fdupes
%if 0%{?suse_version} == 1500 %if 0%{?suse_version} == 1500
# Assume the best that the old libxml2 in SLE15 is patched for https://gitlab.gnome.org/GNOME/libxml2/-/issues/378 (CVE-2022-2309) # Assume the best that the old libxml2 in SLE15 is patched for https://gitlab.gnome.org/GNOME/libxml2/-/issues/378 (CVE-2022-2309)
@@ -95,26 +93,29 @@ rm src/lxml/lxml.etree_api.h
%build %build
export CFLAGS="%{optflags}" export CFLAGS="%{optflags}"
%python_build build_ext -i --with-cython %pyproject_wheel
# The testsuite relies on the inplace build
%python_expand PYTHON=$python make inplace
%install
%pyproject_install
%python_expand %fdupes %{buildroot}
%check %check
# The tests fail on SLE 11 due to broken incremental parsing in libxml2 # The tests fail on SLE 11 due to broken incremental parsing in libxml2
export CFLAGS="%{optflags}" export CFLAGS="%{optflags}"
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
export PYTHONUNBUFFERED=x export PYTHONUNBUFFERED=x
export PYTHONDONTWRITEBYTECODE=1
# cyclic dependency between html5lib and lxml # cyclic dependency between html5lib and lxml
rm -v src/lxml/html/tests/test_html5parser.py rm -v src/lxml/html/tests/test_html5parser.py
%python_exec test.py %python_exec test.py
%install
%python_install
%python_expand %fdupes %{buildroot}
%files %{python_files} %files %{python_files}
%license LICENSES.txt %license LICENSES.txt
%doc CHANGES.txt CREDITS.txt README.rst %doc CHANGES.txt CREDITS.txt README.rst
%{python_sitearch}/lxml/ %{python_sitearch}/lxml/
%{python_sitearch}/lxml-%{version}-py%{python_version}.egg-info %{python_sitearch}/lxml-%{version}.dist-info
%exclude %{python_sitearch}/lxml/*.h %exclude %{python_sitearch}/lxml/*.h
%exclude %{python_sitearch}/lxml/includes/*.h %exclude %{python_sitearch}/lxml/includes/*.h

View File

@@ -1,20 +0,0 @@
Index: lxml-5.1.0/src/lxml/tests/test_io.py
===================================================================
--- lxml-5.1.0.orig/src/lxml/tests/test_io.py
+++ lxml-5.1.0/src/lxml/tests/test_io.py
@@ -12,6 +12,7 @@ from .common_imports import (
read_file, write_to_file, BytesIO, tmpfile
)
+import lxml
class _IOTestCaseBase(HelperTestCase):
"""(c)ElementTree compatibility for IO functions/methods
@@ -305,6 +306,7 @@ class _IOTestCaseBase(HelperTestCase):
os.unlink(f.name)
self.assertEqual(utext, root.text)
+ @unittest.skipIf(lxml.etree.LIBXML_VERSION >= (2, 11, 1), "libxml2 regression has issues with utf16")
def test_iterparse_utf16_bom(self):
utext = 'Søk på nettet'
uxml = '<?xml version="1.0" encoding="UTF-16"?><p>%s</p>' % utext