Colin Watson: Free software activity in December 2025
About 95% of my Debian contributions this month were
sponsored by Freexian.
You can also support my work directly via
Liberapay or GitHub
Sponsors.
Python packaging
I upgraded these packages to new upstream versions:
- aiosmtplib
- astroid (fixing a build failure with Python
3.14, as I wrote about recently in
Preparing a transition in Debusine) - billiard (fixing a syntax warning with Python
3.14) - celery (contributed follow-up fix
upstream) - cloudpickle (fixing a build failure with Python
3.14) - csvkit
- deepdiff (fixing a build failure with Python
3.14) - django-auditlog
- django-phonenumber-field
- flake8-builtins
- flufl.lock
- kombu
- peewee
- psycopg2
- pydantic-extra-types
- pygments (prepared transition in
Debusine with diff-cover, pydata-sphinx-theme, pymdown-extensions,
python-readme-renderer, and python-stack-data; contributed
python-stack-data fix
upstream) - pylint (fixing a build failure with Python
3.14) - pymdown-extensions
- python-aiojobs (fixing a build failure)
- python-aiostream
- python-asttokens (fixing a build failure with astroid
4) - python-auditwheel
- python-blockbuster
- python-boolean.py
- python-confluent-kafka
- python-django-crispy-forms
- python-django-pgbulk
- python-django-pgtransaction
- python-django-pgtrigger (fixing a build failure with
mkdocstrings-python-handlers >= 2) - python-evalidate
- python-exchangelib (fixing a build failure with Python
3.14) - python-holidays
- python-lsp-server
- python-lz4
- python-mashumaro (fixing many build failures in other packages with Python 3.14)
- python-moto
- python-persistent
- python-pytest-run-parallel
- python-roman
- python-rx (fixing a build failure with Python
3.14) - python-telethon
- python-uvicorn (fixing a test failure with current
uvloop) - python-wheezy.template
- python-wslink
- rpds-py
- sphinx-autoapi
- sqlparse
- zope.testing (fixing a build failure with Python
3.14)
Python 3.14 is now a supported version in unstable, and we’re working to get
that into testing. As usual this is a pretty arduous effort because it
requires going round and fixing lots of odds and ends across the whole
ecosystem. We can deal with a fair number of problems by keeping up with
upstream (see above), but there tends to be a long tail of packages whose
upstreams are less active and where we need to chase them, or where problems
only show up in Debian for one reason or another. I spent a lot of time
working on this:
- actdiag’s autopkgtests failed when there are multiple supported Python versions
- khard: FTBFS: dh_auto_test: error: pybuild —test -i python{version} -p
“3.14 3.13” returned exit code 13
(contributed upstream) - pydantic-settings: FTBFS: example.py: error: unrecognized arguments:
—bad-arg (forwarded
upstream and
cherry-picked their fix) - pydantic: FTBFS: dh_auto_test: error: pybuild —test —test-pytest -i
python{version} -p “3.14 3.13” returned exit code 13 - pygame: FTBFS with Python 3.14: sys.getrefcount() AssertionError
- python-auditwheel: FTBFS: dh_auto_test: error: pybuild —test
—test-pytest -i python{version} -p “3.14 3.13” returned exit code
13 (contributed
upstream) - python-charset-normalizer could silently build without support for some
supported Python versions - python-confluent-kafka: FTBFS with Python 3.14: Segmentation fault in
test_create_topics_api (forwarded
upstream
and
fixed
after a debugging hint from them) - python-django: FTBFS with Python 3.14
(also fixing many build failures in other packages) - python-memray: FTBFS with Python 3.14: Segmentation
fault (some initial debugging; upstream
has since got a lot
further) - python-telethon: FTBFS: dh_auto_test: error: pybuild —test
—test-pytest -i python{version} -p “3.14 3.13” returned exit code
13 (contributed
upstream) - python-typing-extensions: FTBFS: dh_auto_test: error: pybuild —test -i
python{version} -p “3.14 3.13” returned exit code 13 - python-wheezy.template: FTBFS with Python
3.14 (contributed
upstream,
although they opted for doing it a bit differently) - storm (made an upstream release with Python 3.14
support) - twisted: Autopkgtests fail with Python 3.14: builtins.RuntimeError: There
is no current event loop in thread
‘MainThread’ (forwarded
upstream and
cherry-picked their fix) - zope.proxy and zope.security had a bootstrapping loop when adding new
supported Python versions; I broke this
loop
so it shouldn’t bother us again in the future.
Fixes for pytest 9:
- celery (contributed
upstream) - pytest-pylint (contributed
upstream) - python-expandvars (contributed
upstream) - python-inline-snapshot
I filed lintian: Report Python egg-info
files/directories to help us track the
migration to
pybuild-plugin-pyproject.
I did some work on dh-python: Normalize names in pydist
lookups
and pyproject plugin: Support
headers
(the latter of which allowed converting python-persistent and zope.proxy to
pybuild-plugin-pyproject, although it needed a follow-up
fix).
I fixed or helped to fix several other build/test failures:
- dpath-python
- flask-bcrypt: FTBFS: E ValueError: password cannot be longer than 72
bytes, truncate manually if necessary (e.g. my_password[:72]) - python-aiosmtpd
- python-aiostream
- python-auditwheel on i386 (contributed
upstream) - python-auditwheel on riscv64 (contributed
upstream) - python-bcrypt: Accept pyo3 0.27
- python-django-crum
- python-django-guid
- python-inline-snapshot
- python-laspy
- python-mnemonic
- python-ncls on 32-bit architectures (contributed
upstream) - python-papermill
- python-phonenumbers
- python-pluggy
- python-pycddl: Accept pyo3 0.27
- python-sphinx-autodoc2 (contributed
upstream) - python-structlog
- python-wikkid: FTBFS: AttributeError: ‘TestBaseParent’ object has no
attribute ‘assertEquals’ (contributed
follow-up fix upstream) - python-wslink
Other bugs:
- python-bcrypt: ValueError: password cannot be longer than 72 bytes,
truncate manually if necessary - python-notify2: Directly Build-Depends on dbus
- python-packaging: Mark python3-packaging Multi-Arch: foreign
- python-pyproject-parser: python3-pyproject-parser needs a dependency on python3-consolekit
- sphinx: Please backport upstream’s fix on roman-numerals
Other bits and pieces
- db1-compat: Please remove/replace usage of dh_movetousr
- debmirror: Refresh mirror_size documentation
- groff: FTBFS randomly
- openssh: Misleading verbose output for local-to-local or standard
remote-to-remote
copies (upstreamed an
improved version of a patch we’ve been carrying since 2008) - pcmciautils: Please remove/replace usage of dh_movetousr
Code reviews
- openssh: Fix binary name in
ssh-askpass-gnome.desktop
(still in discussion) - python-lsp-server: Increase tests timeout further
- rope: New upstream version
1.14.0
(merged and uploaded) - trn4: Update/add Catalan po-debconf
translation (merged)
