Package: python3-cffi
Version: 2.0.0-1
Severity: normal

python3-cffi has components that require setuptools (for distutils),

For example, get_extension in ffiplatform.py _shimmed_dist_utils,
which explicitly imports distutils and raises an Exception if it is
not available.

So this affects client programs that use cffi with extensions.
An example is dolfinx-mpc (python3-dolfinx-mpc), which uses
fenics-ffcx (python3-ffcx), which uses extensions with cffi.

Previously python3-setuptools was automatically installed. I'm not sure
whether it was installed by the standard python installation, or by
some other specific package. python3.13 was recently updated but
doesn't mention removing any dependency on python3-setuptools

such that dolfinx-mpc was recently passing tests in testing and unstable
e.g. 
https://ci.debian.net/data/autopkgtest/testing/amd64/d/dolfinx-mpc/64908895/log.gz
https://ci.debian.net/data/autopkgtest/unstable/amd64/d/dolfinx-mpc/65108929/log.gz

Something has changed in the last 3 days, such that python3-setuptools
is no longer automatically installed in unstable, and therefore
dolfinx-mpc has started failing tests in unstable
https://ci.debian.net/data/autopkgtest/unstable/amd64/d/dolfinx-mpc/65235953/log.gz

cffi is emitting an exception due to the missing distutils package:

128s     except Exception as ex:
128s         if sys.version_info >= (3, 12):
128s >           raise Exception("This CFFI feature requires setuptools on 
Python >= 3.12. Please install the setuptools package.") from ex
128s E           Exception: This CFFI feature requires setuptools on Python >= 
3.12. Please install the setuptools package.
128s 
128s /usr/lib/python3/dist-packages/cffi/_shimmed_dist_utils.py:40: Exception


Since it is cffi that directly uses distutils (in
_shimmed_dist_utils.py), does the error mean that python3-cffi should
be declaring an explicit 
   Depends: python3-setuptools
?





-- System Information:
Debian Release: forky/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.16.9+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_AU:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-cffi depends on:
ii  python3               3.13.7-1
ii  python3-cffi-backend  2.0.0-1
ii  python3-pycparser     2.23-1

python3-cffi recommends no packages.

Versions of packages python3-cffi suggests:
ii  python3-dev  3.13.7-1

-- no debconf information

Reply via email to