Debian Contributions: 2025-10
Contributing to Debian is part of Freexian’s mission. This article covers the latest achievements of Freexian and their collaborators. All of this is made possible by organizations subscribing to our Long Term Support contracts and consulting services.
Upstreaming cPython patches, by Stefano Rivera
Python 3.14.0 (final) released in early October, and Stefano uploaded it to Debian unstable. The transition to support 3.14 has begun in Ubuntu, but hasn’t started in Debian, yet.
While build failures in Debian’s non-release ports are typically not a concern for package maintainers, Python is fairly low in the stack. If a new minor version has never successfully been built for a Debian port by the time we start supporting it, it will quickly become a problem for the port. Python 3.14 had been failing to build on two Debian ports architectures (hppa and m68k), but thankfully their porters provided patches. These were applied and uploaded, and Stefano forwarded the hppa one upstream. Getting it into shape for upstream approval took some work, and shook out several other regressions for the Python hppa port. Debugging these on slow hardware takes a while.
These two ports aren’t successfully autobuilding 3.14 yet (they’re both timing out in tests), but they’re at least manually buildable, which unblocks the ports.
Docutils 0.22 also landed in Debian around this time, and Python needed some work to build its docs with it. The upstream isn’t quite comfortable with distros using newer docutils, so there isn’t a clear path forward for these patches, yet.
The start of the Python 3.15 cycle was also a good time to renew submission attempts on our other outstanding python patches, most importantly multiarch tuples for stable ABI extension filenames.
ansible-core autopkgtest robustness, by Colin Watson
The ansible-core package runs its integration tests via autopkgtest. For some
time, we’ve seen occasional failures in the expect, pip, and
template_jinja2_non_native tests that usually go away before anyone has a
chance to look into them properly. Colin found that these were blocking an
openssh upgrade and so decided to track them down.
It turns out that these failures happened exactly when the libpython3.13-stdlib
package had different versions in testing and unstable. A setup script removed
/usr/lib/python3*/EXTERNALLY-MANAGED in order that pip can install system
packages for some of the tests, but if a package shipping that file were ever
upgraded then that customization would be undone, and the same setup script
removed apt pins in a way that caused problems when autopkgtest was invoked
in certain ways. In combination with this, one of the integration tests
attempted to disable system apt sources while testing the behaviour of the
ansible.builtin.apt module, but it failed to do so comprehensively enough and
so that integration test accidentally upgraded the testbed from testing to
unstable in the middle of the test. Chaos ensued.
Colin fixed this in Debian and contributed the relevant part upstream.
Miscellaneous contributions
- Carles kept working on the missing-relations (packages which Recommends or Suggests packages that are not available in Debian). He improved the tooling to detect Suggested packages that are not available in Debian because they were removed (or changed names).
- Carles improved po-debconf-manager to send translations for packages that are not in Salsa. He also improved the UI of the tool (using rich for some of the output).
- Carles, using po-debconf-manager, reviewed and submitted 38 debconf template translations.
- Carles created a merge request for distro-tracker to align text and input-field (postponed until distro-tracker uses Bootstrap 5).
- Raphaël updated
gnome-shell-extension-hamsterfor GNOME 49. It is a GNOME Shell integration for the Hamster time tracker. - Raphaël merged a couple of trivial merge requests, but he did not yet find the time to properly review and test the bootstrap 5 related merge requests that are still waiting on salsa.
- Helmut sent patches for 20 cross build failures.
- Helmut refactored
debvmdropping support for running on “bookworm”. There are two “trixie” features improving the operation.mkfs.ext4can now consume a tar archive to populate the filesystem vialibarchiveanddashnow supportsset -o pipefail. Beyond this change in operation, a number of robustness and quality issues have been resolved. - Thorsten fixed some bugs in the printing software and uploaded improved
versions of
brlaserandifhp. Moreover he uploaded a new upstream version ofcups. - Emilio updated
xorg-serverto the latest security release and helped with various transitions. - Santiago worked on and reviewed different Salsa CI MR to address some regressions introduced by the move to sbuild+unshare. Those MR included stop adding the salsa-ci user in the build image to the sbuild group, fix the suffix path used by mmdebstrap to create the chroot and update the documentation about how to use aptly repos in another project.
- Santiago supported the work on the DebConf 26 organisation, particularly helping with an implemented method to count the votes to choose the conference logo.
- Stefano reviewed Python PEP-725 and PEP-804, which hope to provide a mechanism to declare external (e.g. APT) dependencies in Python packages. Stefano engaged in discussion and provided feedback to the authors.
- Stefano prepared for Berkeley DB removal in Python.
- Stefano ported the backend to
reverse-dependsto Python 3 (yes, it had been running on 2.7) and migrated it to git from bzr. - Stefano updated miscellaneous packages, including
beautifulsoup4,mkdocs-macros-plugin,python-pipx. - Stefano applied an upstream patch to
pypy3, fixing an AST Compiler Assertion error. - Stefano uploaded an update to
distro-info-data, including data for two additional Debian derivatives: eLxr and Devuan. - Stefano prepared an update to
dh-python, the python packaging tool, merging several contributed patches and resolving some bugs. - Colin upgraded OpenSSH to 10.1p1, helped upstream to chase down some regressions, and further upgraded to 10.2p1. This is also now in trixie-backports.
- Colin fixed several build regressions with Python 3.14, scikit-learn 1.7, and other transitions.
- Colin investigated a malware report against tini, making use of reproducible builds to help demonstrate that this is highly likely to be a false positive.
- Anupa prepared questions and collected interview responses from women contributors in Debian to publish the post as part of Ada Lovelace day 2025.