Source: python-falcon
Version: 3.1.1-4
Severity: normal
User: [email protected]
Usertags: python3.13
Forwarded: https://github.com/falconry/falcon/issues/2258

This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

This issue also points to a need to migrate to pybuild-plugin-pyproject.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:
Do nothing...
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   create-stamp debian/debhelper-build-stamp
   dh_testroot -a -O--buildsystem=python_distutils
   dh_prep -a -O--buildsystem=python_distutils
   debian/rules override_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
debian/rules:40: warning: overriding recipe for target 
'override_dh_installchangelogs'
/usr/share/openstack-pkg-tools/pkgos.make:58: warning: ignoring old recipe for 
target 'override_dh_installchangelogs'
pkgos-dh_auto_install --no-py2 --in-tmp
+ PKGOS_IN_TMP=no
+ echo WARNING: --no-py2 is deprecated and always on.
WARNING: --no-py2 is deprecated and always on.
+ shift
+ PKGOS_IN_TMP=yes
+ shift
+ dpkg-parsechangelog -SSource
+ SRC_PKG_NAME=python-falcon
+ echo python-falcon
+ sed s/python-//
+ PY_MODULE_NAME=falcon
+ py3versions -vr
+ PYTHON3S=3.13 3.12
+ [ yes = yes ]
+ TARGET_DIR=tmp
+ pwd
+ python3.13 setup.py install --install-layout=deb --root 
/<<PKGBUILDDIR>>/debian/tmp
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/setuptools/config/expand.py", line 69, 
in __getattr__
    return next(
        ast.literal_eval(value)
        for target, value in self._find_assignments()
        if isinstance(target, ast.Name) and target.id == attr
    )
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/setuptools/config/expand.py", line 183, 
in read_attr
    return getattr(StaticModule(module_name, spec), attr_name)
  File "/usr/lib/python3/dist-packages/setuptools/config/expand.py", line 75, 
in __getattr__
    raise AttributeError(f"{self.name} has no attribute {attr}") from e
AttributeError: falcon has no attribute __version__

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/setup.py", line 197, in <module>
    run_setup(True)
    ~~~~~~~~~^^^^^^
  File "/<<PKGBUILDDIR>>/setup.py", line 174, in run_setup
    setup(
    ~~~~~^
        long_description=load_description(),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        cmdclass=cmdclass,
        ^^^^^^^^^^^^^^^^^^
        ext_modules=ext_modules,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 117, in 
setup
    return distutils.core.setup(**attrs)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 
158, in setup
    dist.parse_config_files()
    ~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 604, in 
parse_config_files
    setupcfg.parse_configuration(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        self, self.command_options, ignore_option_errors=ignore_option_errors
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py", line 
193, in parse_configuration
    meta.parse()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py", line 
506, in parse
    section_parser_method(section_options)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py", line 
481, in parse_section
    self[name] = value
    ~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py", line 
299, in __setitem__
    parsed = self.parsers.get(option_name, lambda x: x)(value)
  File "/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py", line 
598, in _parse_version
    return expand.version(self._parse_attr(value, self.package_dir, 
self.root_dir))
                          
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py", line 
423, in _parse_attr
    return expand.read_attr(attr_desc, package_dir, root_dir)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/setuptools/config/expand.py", line 187, 
in read_attr
    return getattr(module, attr_name)
AttributeError: module 'falcon' has no attribute '__version__'
make[1]: *** [debian/rules:26: override_dh_auto_install] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:11: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-13T09:20:13Z


If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/709871/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to