Debian Contributions: 2024-11
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.
Transition management, by Emilio Pozuelo Monfort
Emilio has been helping finish the mpi-defaults switch to mpich on 32-bit architectures, and the openmpi transitions. This involves filing bugs for the reverse dependencies, doing NMUs, and requesting removals for outdated (Not Built from Source) binaries on 32-bit architectures where openmpi is no longer available. Those transitions got entangled with a few others, such as the petsc stack, and were blocking many packages from migrating to testing. These transitions were completed in early December.
cPython 3.12.7+ update uploads, by Stefano Rivera
Python 3.12 had failed to build on mips64el,
due to an obscure dh_strip
failure. The mips64el porters never figured it out,
but the missing build on mips64el was blocking migration to Debian testing.
After waiting a month, enough changes had accumulated in the upstream 3.12
maintenance git branch that we could apply them in the hope of changing the
output enough to avoid breaking dh_strip
. This worked.
Of course there were other things to deal with too. A test started failing due
to a Debian-specific patch we carry for python3.x-minimal, and it needed to be
reworked. And Stefano forgot to strip the trailing + from PY_VERSION
, which
confuses some python
libraries. This always requires another patch when applying git updates from the
maintenance branch. Stefano added a build-time check to catch this mistake in
the future. Python 3.12.7 migrated.
Python 3.13 Transition, by Stefano Rivera and Colin Watson
During November the Python 3.13-add transition started. This is the first stage of supporting a new version of Python in Debian archive (after preparatory work), adding it as a new supported but non-default version. All packages with compiled Python extensions need to be re-built to add support for the new version.
We have covered the lead-up to this transition in the past. Due to preparation, many of the failures we hit were expected and we had patches waiting in the bug tracker. These could be NMUed to get the transition moving. Others had been known about but hadn’t been worked on, yet.
Some other packages ran into new issues, as we got further into the transition than we’d been able to in preparation. The whole Debian Python team has been helping with this work.
The rebuild stage of the 3.13-add transition is now over, but many packages need work before britney will let python3-defaults migrate to testing.
Limiting build concurrency based on available RAM, by Helmut Grohne
In recent years, the concurrency of CPUs has been increasing as has the demand
for RAM by linkers. What has not been increasing as quickly is the RAM supply in
typical machines. As a result, we more frequently run into situations where the
package builds exhaust memory when building at full concurrency. Helmut
initiated a
discussion about
generalizing an approach to this in Debian packages. Researching existing code
that limits concurrency as well as providing possible extensions to debhelper
and dpkg
to provide concurrency limits based on available system RAM. Thus far
there is consensus on the need for a more general solution, but ideas are still
being collected for the precise solution.
MiniDebConf Toulouse at Capitole du Libre
The whole Freexian Collaborator team attended MiniDebConf Toulouse, part of the Capitole du Libre event. Several members of the team gave talks:
- Santiago spoke on Linux Live Patching in Debian, presenting an update on the idea since DebConf 24. This includes the initial requirements for the livepatch package format, that would be used to distribute the livepatches.
- Stefano, Colin, Enrico, and Carles spoke on Using Debusine to Automate QA.
- Santiago and Roberto spoke on How LTS Goes Beyond LTS.
- Helmut spoke on Cross Building.
- Carles gave a lightning talk on po-debconf-manager.
Stefano and Anupa worked as part of the video team, streaming and recording the event’s talks.
Miscellaneous contributions
-
Stefano looked into packaging the latest upstream python-falcon version in Debian, in support of the Python 3.13 transition. This appeared to break python-hug, which is sadly looking neglected upstream, and the best course of action is probably its removal from Debian.
-
Stefano uploaded videos from various 2024 Debian events to PeerTube and YouTube.
-
Stefano and Santiago visited the site for DebConf 2025 in Brest, after the MiniDebConf in Toulouse, to meet with the local team and scout out the venue.
The on-going DebConf 25 organization work of last month also included handling the logo and artwork call for proposals.
-
Stefano helped the press team to edit a post for bits.debian.org on OpenStreetMap’s migration to Debian.
-
Carles implemented multiple language support on po-debconf-manager and tested it using Portuguese-Brazilian during MiniDebConf Toulouse. The system was also tested and improved by reviewing more than 20 translations to Catalan, creating merge requests for those packages, and providing user support to new users. Additionally, Carles implemented better status transitions, configuration keys management and other small improvements.
-
Helmut sent 32 patches for cross build failures. The wireplumber one was an interactive collaboration with Dylan Aïssi.
-
Helmut continued to monitor the
/usr
-move, sent a patch forlib64readline8
and continued several older patch conversations.lintian
now reports some aliasing issues inunstable
. -
Helmut initiated a discussion on the semantics of *-for-host packages. More feedback is welcome.
-
Helmut improved the crossqa.debian.net infrastructure to fail running
lintian
less often in larger packages. -
Helmut continued maintaining
rebootstrap
mostly dropping applied patches and continuing discussions of submitted patches. -
Helmut prepared a non-maintainer upload of
gzip
for several long-standing bugs. -
Colin came up with a plan for resolving the multipart vs. python-multipart name conflict, and began work on converting reverse-dependencies.
-
Colin upgraded 42 Python packages to new upstream versions. Some were complex: python-catalogue had some upstream version confusion, pydantic and rpds-py involved several Rust package upgrades as prerequisites, and python-urllib3 involved first packaging python-quart-trio and then vendoring an unpackaged test-dependency.
-
Colin contributed Incus support to needrestart upstream.
-
Lucas set up a machine to do a rebuild of all ruby reverse dependencies to check what will be broken by adding ruby 3.3 as an alternative interpreter. The tool used for this is mass-rebuild and the initial rebuilds have already started. The ruby interpreter maintainers are planning to experiment with debusine next time.
-
Lucas is organizing a Debian Ruby sprint towards the end of January in Paris. The plan of the team is to finish any missing bits of Ruby 3.3 transition at the time, try to push Rails 7 transition and fix RC bugs affecting the ruby ecosystem in Debian.
-
Anupa attended a Debian Publicity team meeting in-person during MiniDebCamp Toulouse.
-
Anupa moderated and posted in the Debian Administrator group in LinkedIn.