Package: src:python-parsel Version: 1.10.0+dfsg-1 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202511/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you cannot reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:python-parsel, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running clean removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running build running build_py creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel copying parsel/selector.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel copying parsel/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel copying parsel/xpathfuncs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel copying parsel/csstranslator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel copying parsel/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel running egg_info creating parsel.egg-info writing parsel.egg-info/PKG-INFO writing dependency_links to parsel.egg-info/dependency_links.txt writing requirements to parsel.egg-info/requires.txt writing top-level names to parsel.egg-info/top_level.txt writing manifest file 'parsel.egg-info/SOURCES.txt' reading manifest file 'parsel.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '__pycache__' found under directory '*' warning: no previously-included files matching '*.py[co]' found under directory '*' adding license file 'LICENSE' writing manifest file 'parsel.egg-info/SOURCES.txt' copying parsel/py.typed -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build; python3.13 -m pytest tests docs ============================= test session starts ============================== platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0 rootdir: /<<PKGBUILDDIR>> configfile: pytest.ini plugins: typeguard-4.4.4 collected 344 items tests/test_selector.py ....................................s............ [ 14%] .................................................................s...... [ 35%] ................................... [ 45%] tests/test_selector_csstranslator.py ....................... [ 52%] tests/test_selector_jmespath.py .... [ 53%] tests/test_utils.py ............... [ 57%] tests/test_xml_attacks.py . [ 57%] tests/test_xpathfuncs.py ........F [ 60%] docs/usage.rst ......................................................... [ 77%] ........................................................................ [ 97%] ....... [100%] =================================== FAILURES =================================== ____________________ XPathFuncsTestCase.test_set_xpathfunc _____________________ def xpath( self: _SelectorType, query: str, namespaces: Optional[Mapping[str, str]] = None, **kwargs: Any, ) -> SelectorList[_SelectorType]: """ Find nodes matching the xpath ``query`` and return the result as a :class:`SelectorList` instance with all elements flattened. List elements implement :class:`Selector` interface too. ``query`` is a string containing the XPATH query to apply. ``namespaces`` is an optional ``prefix: namespace-uri`` mapping (dict) for additional prefixes to those registered with ``register_namespace(prefix, uri)``. Contrary to ``register_namespace()``, these prefixes are not saved for future calls. Any additional named arguments can be used to pass values for XPath variables in the XPath expression, e.g.:: selector.xpath('//a[href=$url]', url="http://www.example.com") """ if self.type not in ("html", "xml", "text"): raise ValueError(f"Cannot use xpath on a Selector of type {self.type!r}") if self.type in ("html", "xml"): try: xpathev = self.root.xpath except AttributeError: return typing.cast( SelectorList[_SelectorType], self.selectorlist_cls([]) ) else: try: xpathev = self._get_root(self._text or "", type="html").xpath except AttributeError: return typing.cast( SelectorList[_SelectorType], self.selectorlist_cls([]) ) nsp = dict(self.namespaces) if namespaces is not None: nsp.update(namespaces) try: > result = xpathev( query, namespaces=nsp, smart_strings=self._lxml_smart_strings, **kwargs, ) parsel/selector.py:619: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lxml/etree.pyx:1722: in lxml.etree._Element.xpath ??? src/lxml/xpath.pxi:290: in lxml.etree.XPathElementEvaluator.__call__ ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E lxml.etree.XPathEvalError: Unregistered function: myfunc src/lxml/xpath.pxi:210: XPathEvalError During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build/parsel/selector.py", line 619, in xpath result = xpathev( query, ...<2 lines>... **kwargs, ) File "src/lxml/etree.pyx", line 1722, in lxml.etree._Element.xpath File "src/lxml/xpath.pxi", line 290, in lxml.etree.XPathElementEvaluator.__call__ File "src/lxml/xpath.pxi", line 210, in lxml.etree._XPathEvaluatorBase._handle_result lxml.etree.XPathEvalError: Unregistered function: myfunc During handling of the above exception, another exception occurred: ValueError: XPath error: Unregistered function: myfunc in myfunc() During handling of the above exception, another exception occurred: self = <test_xpathfuncs.XPathFuncsTestCase testMethod=test_set_xpathfunc> def test_set_xpathfunc(self) -> None: def myfunc(ctx: Any) -> None: myfunc.call_count += 1 # type: ignore[attr-defined] myfunc.call_count = 0 # type: ignore[attr-defined] body = """ <p CLASS="foo">First</p> """ sel = Selector(text=body) > self.assertRaisesRegex( ValueError, "Unregistered function in myfunc", sel.xpath, "myfunc()", ) E AssertionError: "Unregistered function in myfunc" does not match "XPath error: Unregistered function: myfunc in myfunc()" tests/test_xpathfuncs.py:121: AssertionError =========================== short test summary info ============================ FAILED tests/test_xpathfuncs.py::XPathFuncsTestCase::test_set_xpathfunc - Ass... =================== 1 failed, 341 passed, 2 skipped in 0.22s =================== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_parsel/build; python3.13 -m pytest tests docs dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:7: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

