From e8adc039459ddf6df29047bb7aa5748316372b82 Mon Sep 17 00:00:00 2001 From: Marcel Telka <marcel@telka.sk> Date: Fri, 05 Apr 2024 16:22:21 +0200 Subject: [PATCH] python/lxml: update to 5.2.1 --- components/python/lxml/Makefile | 20 +++++++++- components/python/lxml/test/results-all.master | 42 ++++---------------- components/python/lxml/python-integrate-project.conf | 15 +++++++ components/python/lxml/lxml-PYVER.p5m | 1 components/python/lxml/manifests/sample-manifest.p5m | 1 5 files changed, 42 insertions(+), 37 deletions(-) diff --git a/components/python/lxml/Makefile b/components/python/lxml/Makefile index ac1243d..b236bf2 100644 --- a/components/python/lxml/Makefile +++ b/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 diff --git a/components/python/lxml/lxml-PYVER.p5m b/components/python/lxml/lxml-PYVER.p5m index bea5ada..c95c1a5 100644 --- a/components/python/lxml/lxml-PYVER.p5m +++ b/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 diff --git a/components/python/lxml/manifests/sample-manifest.p5m b/components/python/lxml/manifests/sample-manifest.p5m index beea124..b8eebab 100644 --- a/components/python/lxml/manifests/sample-manifest.p5m +++ b/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 diff --git a/components/python/lxml/python-integrate-project.conf b/components/python/lxml/python-integrate-project.conf index a0350c8..8f5d3e7 100644 --- a/components/python/lxml/python-integrate-project.conf +++ b/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 diff --git a/components/python/lxml/test/results-all.master b/components/python/lxml/test/results-all.master index 32d276d..9d2f17b 100644 --- a/components/python/lxml/test/results-all.master +++ b/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) -- Gitblit v1.9.3