Marcel Telka
2024-04-05 e8adc039459ddf6df29047bb7aa5748316372b82
python/lxml: update to 5.2.1

5 files modified
79 ■■■■ changed files
components/python/lxml/Makefile 20 ●●●●● patch | view | raw | blame | history
components/python/lxml/lxml-PYVER.p5m 1 ●●●● patch | view | raw | blame | history
components/python/lxml/manifests/sample-manifest.p5m 1 ●●●● patch | view | raw | blame | history
components/python/lxml/python-integrate-project.conf 15 ●●●●● patch | view | raw | blame | history
components/python/lxml/test/results-all.master 42 ●●●● patch | view | raw | blame | history
components/python/lxml/Makefile
@@ -19,17 +19,28 @@
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME =        lxml
HUMAN_VERSION =            5.1.1
HUMAN_VERSION =            5.2.1
COMPONENT_SUMMARY =        lxml - Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
COMPONENT_PROJECT_URL =        https://lxml.de/
COMPONENT_ARCHIVE_HASH =    \
    sha256:42a8aa957e98bd8b884a8142175ec24ce4ef0a57760e8879f193bfe64b757ca9
    sha256:3f7765e69bbce0906a7c74d5fe46d2c7a7596147318dbc08e4a2431f3060e306
COMPONENT_LICENSE =        BSD-3-Clause
COMPONENT_LICENSE_FILE =    LICENSE.txt
# This project uses custom test style.
# See project's Makefile.
TEST_STYLE = custom
#
# Following dependency loops were detected (where 'A --> B' means 'A needs B to
# run tests', and 'A ==> B' means 'A needs B for build and/or run'):
#
# lxml --> lxml_html_clean ==> lxml
#
# To break loops we need to allow this project to integrate without testing in
# a case the required projects are not available yet (bootstrap).
#
PYTHON_TEST_BOOTSTRAP = yes
include $(WS_MAKE_RULES)/common.mk
@@ -54,6 +65,10 @@
        $(CAT) \
    )"
# This project does not support tox so we need to provide test requirements
# manually.
TEST_REQUIREMENTS_EXTRAS += html-clean
# Auto-generated dependencies
PYTHON_REQUIRED_PACKAGES += library/python/cython
PYTHON_REQUIRED_PACKAGES += library/python/setuptools
@@ -62,3 +77,4 @@
REQUIRED_PACKAGES += library/libxml2
REQUIRED_PACKAGES += library/libxslt
REQUIRED_PACKAGES += system/library
TEST_REQUIRED_PACKAGES.python += library/python/lxml-html-clean
components/python/lxml/lxml-PYVER.p5m
@@ -53,7 +53,6 @@
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_html5builder.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_setmixin.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/builder.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/clean.cpython-$(PYV).so
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/clean.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/defs.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/diff.cpython-$(PYV).so
components/python/lxml/manifests/sample-manifest.p5m
@@ -53,7 +53,6 @@
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_html5builder.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_setmixin.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/builder.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/clean.cpython-$(PYV).so
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/clean.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/defs.py
file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/diff.cpython-$(PYV).so
components/python/lxml/python-integrate-project.conf
@@ -17,6 +17,17 @@
# This project uses custom test style.
# See project's Makefile.
TEST_STYLE = custom
#
# Following dependency loops were detected (where 'A --> B' means 'A needs B to
# run tests', and 'A ==> B' means 'A needs B for build and/or run'):
#
# lxml --> lxml_html_clean ==> lxml
#
# To break loops we need to allow this project to integrate without testing in
# a case the required projects are not available yet (bootstrap).
#
PYTHON_TEST_BOOTSTRAP = yes
%include-3%
# This project uses custom test style.
# See project's Makefile.
@@ -38,3 +49,7 @@
        $(GSED) -u -e '/^$$/Q' | $(SORT) | $(NAWK) '{print}END{if(NR>0)printf(\"\\\\n\")}' ; \
        $(CAT) \
    )"
# This project does not support tox so we need to provide test requirements
# manually.
TEST_REQUIREMENTS_EXTRAS += html-clean
components/python/lxml/test/results-all.master
@@ -62,10 +62,7 @@
$(@D)/src/lxml/html/tests/hackers-org-data/style-url-js.data ... ok
$(@D)/src/lxml/html/tests/hackers-org-data/xml-data-island.data ... ok
$(@D)/src/lxml/html/tests/hackers-org-data/xml-embedded-js.data ... ok
$(@D)/src/lxml/html/tests/test_autolink.txt
$(@D)/src/lxml/html/tests/test_basic.txt
$(@D)/src/lxml/html/tests/test_clean.txt
$(@D)/src/lxml/html/tests/test_clean_embed.txt
$(@D)/src/lxml/html/tests/test_diff.txt
$(@D)/src/lxml/html/tests/test_formfill.txt
$(@D)/src/lxml/html/tests/test_forms.txt
@@ -85,7 +82,7 @@
Doctest: lxml.etree.Schematron ... ok
Doctest: lxml.etree.XML ... ok
Doctest: lxml.etree.__test__.FunctionNamespace (line 207) ... ok
Doctest: lxml.etree.__test__.XML (line 3240) ... ok
Doctest: lxml.etree.__test__.XML (line 3241) ... ok
Doctest: lxml.html.Classes ... ok
Doctest: lxml.html.HtmlMixin.drop_tag ... ok
Doctest: lxml.html.XHTMLParser ... ok
@@ -128,10 +125,7 @@
Doctest: parsing.txt ... ok
Doctest: resolvers.txt ... ok
Doctest: sax.txt ... ok
Doctest: test_autolink.txt ... ok
Doctest: test_basic.txt ... ok
Doctest: test_clean.txt ... ok
Doctest: test_clean_embed.txt ... ok
Doctest: test_diff.txt ... ok
Doctest: test_formfill.txt ... ok
Doctest: test_forms.txt ... ok
@@ -153,11 +147,11 @@
Regression test to fix memory allocation issues (use 3+ inclusive NS spaces) ... ok
Schematron (lxml.etree)
Schematron (lxml.isoschematron)
Test find methods (including xpath syntax). ... $(@D)/src/lxml/tests/test_elementpath.py:276: FutureWarning: This search incorrectly ignores the root element, and will be fixed in a future version.  If you rely on the current behaviour, change it to './tag'
Test find methods (including xpath syntax). ... $(@D)/src/lxml/tests/test_elementpath.py:276: FutureWarning: This search incorrectly ignores the root element, and will be fixed in a future version.  If you rely on the current behaviour, change it to './tag'
Test find methods (including xpath syntax). ... $(@D)/src/lxml/tests/test_elementpath.py:271: FutureWarning: This search incorrectly ignores the root element, and will be fixed in a future version.  If you rely on the current behaviour, change it to './tag'
Test find methods (including xpath syntax). ... $(@D)/src/lxml/tests/test_elementpath.py:271: FutureWarning: This search incorrectly ignores the root element, and will be fixed in a future version.  If you rely on the current behaviour, change it to './tag'
We don't have a guarantee that there will always be a path ... ok
XHTMLParser (lxml.html)
XML (line 3240) (lxml.etree.__test__)
XML (line 3241) (lxml.etree.__test__)
XML (lxml.etree)
attrib (lxml.tests.selftest2)
bad_find (lxml.tests.selftest)
@@ -303,8 +297,6 @@
test_addprevious_root_pi (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_addprevious_tails (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_addprevious_with_tail (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_allow_and_remove (lxml.html.tests.test_clean.CleanerTest) ... ok
test_allow_tags (lxml.html.tests.test_clean.CleanerTest) ... ok
test_anonymous_namespace (lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase) ... ok
test_anonymous_namespace (lxml.tests.test_incremental_xmlfile.HtmlFileTestCase) ... ok
test_anonymous_namespace (lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase) ... ok
@@ -495,8 +487,6 @@
test_class_parse_unamed_fileobject (lxml.tests.test_io.ETreeIOTestCase) ... ok
test_class_parse_unamed_fileobject (lxml.tests.test_io.ElementTreeIOTestCase) ... ok
test_clean_doctype (lxml.tests.test_dtd.ETreeDtdTestCase) ... ok
test_clean_invalid_root_tag (lxml.html.tests.test_clean.CleanerTest) ... ok
test_clean_with_comments (lxml.html.tests.test_clean.CleanerTest) ... ok
test_clear (lxml.tests.test_elementtree.ETreeTestCase) ... ok
test_clear (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_clear_keep_tail (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
@@ -941,6 +931,8 @@
test_filelike_not_closing (lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase) ... ok
test_find (lxml.tests.test_elementpath.ElementTreeElementPathTestCase)
test_find (lxml.tests.test_elementpath.EtreeElementPathTestCase)
test_find_warning (lxml.tests.test_elementpath.ElementTreeElementPathTestCase) ... ok
test_find_warning (lxml.tests.test_elementpath.EtreeElementPathTestCase) ... ok
test_findall (lxml.tests.test_elementtree.ETreeTestCase) ... ok
test_findall (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_findall (lxml.tests.test_objectify.ObjectifyTestCase) ... ok
@@ -958,7 +950,6 @@
test_flush (lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase) ... ok
test_flush (lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase) ... skipped 'temp file behaviour is too platform specific here'
test_flush (lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase) ... ok
test_formaction_attribute_in_button_input (lxml.html.tests.test_clean.CleanerTest) ... ok
test_fromstring (lxml.tests.test_elementtree.ETreeTestCase) ... ok
test_fromstring (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_fromstringlist (lxml.tests.test_elementtree.ETreeTestCase) ... ok
@@ -1016,10 +1007,6 @@
test_guess_charset_not_used_for_unicode (lxml.html.tests.test_html5parser.Test_document_fromstring) ... skipped 'html5lib is not installed'
test_guess_charset_not_used_for_unicode (lxml.html.tests.test_html5parser.Test_fragments_fromstring) ... skipped 'html5lib is not installed'
test_head_body (lxml.html.tests.test_elementsoup.SoupParserTestCase) ... ok
test_host_whitelist_invalid (lxml.html.tests.test_clean.CleanerTest) ... ok
test_host_whitelist_slash_type_confusion (lxml.html.tests.test_clean.CleanerTest) ... ok
test_host_whitelist_sneaky_userinfo (lxml.html.tests.test_clean.CleanerTest) ... ok
test_host_whitelist_valid (lxml.html.tests.test_clean.CleanerTest) ... ok
test_html5_doctype (lxml.tests.test_htmlparser.HtmlParserTestCase) ... ok
test_html_base (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_html_base_tag (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
@@ -1062,8 +1049,6 @@
test_ietf_decl (lxml.tests.test_htmlparser.HtmlParserTestCase) ... ok
test_illegal_utf8 (lxml.tests.test_unicode.EncodingsTestCase) ... ok
test_illegal_utf8_recover (lxml.tests.test_unicode.EncodingsTestCase) ... ok
test_image_data_links (lxml.html.tests.test_clean.CleanerTest) ... ok
test_image_data_links_in_style (lxml.html.tests.test_clean.CleanerTest) ... ok
test_include_paths (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_indent (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_indent_level (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
@@ -1570,7 +1555,6 @@
test_remove_ns (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_remove_tail (lxml.tests.test_elementtree.ETreeTestCase) ... ok
test_remove_tail (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_remove_unknown_tags (lxml.html.tests.test_clean.CleanerTest) ... ok
test_remove_while_iterating (lxml.tests.test_elementtree.ETreeTestCase) ... ok
test_remove_while_iterating (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_replace (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
@@ -1595,8 +1579,6 @@
test_returns_whole_doc_if_input_contains_html_tag (lxml.html.tests.test_html5parser.Test_fromstring) ... skipped 'html5lib is not installed'
test_returns_whole_doc_if_input_is_encoded (lxml.html.tests.test_html5parser.Test_fromstring) ... skipped 'html5lib is not installed'
test_root (lxml.tests.test_objectify.ObjectifyTestCase) ... ok
test_safe_attrs_excluded (lxml.html.tests.test_clean.CleanerTest) ... ok
test_safe_attrs_included (lxml.html.tests.test_clean.CleanerTest) ... ok
test_sax_to_pulldom (lxml.tests.test_sax.ETreeSaxTestCase) ... ok
test_sax_to_pulldom_multiple_namespaces (lxml.tests.test_sax.ETreeSaxTestCase) ... ok
test_schema_types (lxml.tests.test_objectify.ObjectifyTestCase) ... ok
@@ -1731,11 +1713,6 @@
test_single_select_value_multiple_selected_options (lxml.html.tests.test_select.SelectTest) ... ok
test_single_select_value_no_options (lxml.html.tests.test_select.SelectTest) ... ok
test_single_select_value_no_selected_option (lxml.html.tests.test_select.SelectTest) ... ok
test_sneaky_import_in_style (lxml.html.tests.test_clean.CleanerTest) ... ok
test_sneaky_js_in_math_style (lxml.html.tests.test_clean.CleanerTest) ... ok
test_sneaky_noscript_in_style (lxml.html.tests.test_clean.CleanerTest) ... ok
test_sneaky_schemes_in_style (lxml.html.tests.test_clean.CleanerTest) ... ok
test_sneaky_urls_in_style (lxml.html.tests.test_clean.CleanerTest) ... ok
test_sourceline_XML (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_sourceline_element (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
test_sourceline_iterparse_end (lxml.tests.test_etree.ETreeOnlyTestCase) ... ok
@@ -1778,7 +1755,6 @@
test_subelement_with_attributes_ns (lxml.tests.test_elementtree.ETreeTestCase) ... ok
test_subelement_with_attributes_ns (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_subtree_copy_thread (lxml.tests.test_threading.ThreadingTestCase) ... ok
test_svg_data_links (lxml.html.tests.test_clean.CleanerTest) ... ok
test_tag_reset_ns (lxml.tests.test_elementtree.ETreeTestCase) ... ok
test_tag_reset_ns (lxml.tests.test_elementtree.ElementTreeTestCase) ... ok
test_tag_reset_root_ns (lxml.tests.test_elementtree.ETreeTestCase) ... ok
@@ -2170,14 +2146,14 @@
xpath_tokenizer (lxml.tests.selftest)
----------------------------------------------------------------------
Ran 2011 tests
Ran 1990 tests
OK
Comparing with ElementTree 1.3.0
TESTED VERSION: 5.1.1
TESTED VERSION: 5.2.1
    Python:           sys.version_info(major=3, minor=9, micro=19, releaselevel='final', serial=0)
    lxml.etree:       (5, 1, 1, 0)
    lxml.etree:       (5, 2, 1, 0)
    libxml used:      (2, 12, 6)
    libxml compiled:  (2, 12, 6)
    libxslt used:     (1, 1, 39)