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
--------------------------------------------------------------------------------

Reply via email to