Your message dated Thu, 06 Nov 2025 17:29:54 +0000
with message-id <[email protected]>
and subject line Bug#1120201: fixed in python-parsel 1.10.0+dfsg-2
has caused the Debian Bug report #1120201,
regarding python-parsel: FTBFS: ValueError: XPath error: Unregistered function: 
myfunc in myfunc()
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1120201: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120201
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
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
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: python-parsel
Source-Version: 1.10.0+dfsg-2
Done: Andrey Rakhmatullin <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-parsel, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andrey Rakhmatullin <[email protected]> (supplier of updated python-parsel 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 06 Nov 2025 21:41:51 +0500
Source: python-parsel
Architecture: source
Version: 1.10.0+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Andrey Rakhmatullin <[email protected]>
Closes: 1120201
Changes:
 python-parsel (1.10.0+dfsg-2) unstable; urgency=medium
 .
   * Fix test failures with libxml2-16 >= 2.15.0 (Closes: #1120201).
   * Migrate to pybuild-plugin-pyproject.
   * Drop the Priority field.
   * Drop d/watch in favor of d/upstream/metadata.
   * Bump Standards-Version to 4.7.2.
Checksums-Sha1:
 eefe19dff7b8945bcbe8e0d2498b2afc405e054f 2698 python-parsel_1.10.0+dfsg-2.dsc
 fffbd9a07a626f449bef7305f37033c6fb6cee00 5896 
python-parsel_1.10.0+dfsg-2.debian.tar.xz
 cbd238657d19aae2b44f7dea553f95e4c11e71fe 8704 
python-parsel_1.10.0+dfsg-2_amd64.buildinfo
Checksums-Sha256:
 8cfaecc1b43d5ca2955b2a1352353f0ec9da8abba1b513419692a8b8a8b9473e 2698 
python-parsel_1.10.0+dfsg-2.dsc
 44f10aee3960dc5364f42b7be14972d3f82648919612b46a1f5bb0dd783ffca9 5896 
python-parsel_1.10.0+dfsg-2.debian.tar.xz
 d9707b1467bbf31e2bbb1e75d5b4f3dd178f9d631c7124bf6a5c46f97816ea1a 8704 
python-parsel_1.10.0+dfsg-2_amd64.buildinfo
Files:
 74a28a635d32e6492a5418e148180f0f 2698 python optional 
python-parsel_1.10.0+dfsg-2.dsc
 3663c2e6617a7d5419a55b7bf2bb1a2d 5896 python optional 
python-parsel_1.10.0+dfsg-2.debian.tar.xz
 24fb3d14312971e267498938d23b6dc2 8704 python optional 
python-parsel_1.10.0+dfsg-2_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAmkM0DIACgkQM2L3AxpJ
kuHrWg/+I4aP1tN/m5pm4YPmoj9i/bsGbO3ndH8JWHqt7Le/9YGDsyagYOfRxccf
hmS3ywbIaOdS46vkO02APFMo5/Dqovk1Z4NtPTKqPdC4NPUQBa2NyBbu0PE0QL5W
33PuUTdLoLtOocKaRE+xyaMQ3V7191wukDJCO8FVqzSF39XXvKLmdGX8uJ8et2l7
7oW28R8GMKS64JiUmmIdmI+9l/s8K8BeyBUtxQ3G/L9wRhoXB8un7pb20jWgniLd
1IOxu7SFw55kPgPcjw0FNt4VxF35i60UcTgjnYTzLtISlxVpU09pQ4+PI+wATzpv
yjkgMqVgO2/DTCeDOHef2WuFvaZbY3dtud/WCMB5r/BmJRyTzYnPAZH+xmCms/4/
y9fHxW3ycNb83klzZPugW249BXTTpl+f9r5bD1HpKoMgW5XIGvqzf6dbgzEem+V7
cwrcRTngeFzfHNsDzV5kWgzoL6mJ1VXVcuCap6hEpk9wNZLjygfeGAdpKEYSXuEA
aqTVj7i3LqmOuPRl9z1dOoJaVSobtNepuRJvdUjJ/qtM8Op7BrVemg//ZcelUyWJ
x0kKEh+0BelUM7RKejvYcYJZ89Qu7aMwPb81MIgI+0EBl7gsK0O6gRk3mavYHy86
Cqe7TPm6FNFXZqwGOSP6urPXL6+fYj01kkt3eQJ3U+3hKsZ5+Ek=
=FtSs
-----END PGP SIGNATURE-----

Attachment: pgpL7ZPf9HuKo.pgp
Description: PGP signature


--- End Message ---

Reply via email to