
Almost all of my Debian contributions this month were
sponsored by Freexian.
You can also support my work directly via
Liberapay.
Pydantic
My main Debian project for the month turned out to be getting
Pydantic back into a good state in
Debian testing. I ve used Pydantic quite a bit in various projects, most
recently in
Debusine, so
I have an interest in making sure it works well in Debian. However, it had
been stalled on 1.10.17 for quite a while due to the complexities of getting
2.x packaged. This was partly making sure everything else could cope with
the transition, but in practice mostly sorting out packaging of its
new
Rust dependencies. Several
other people (notably Alexandre Detiste, Andreas Tille, Drew Parsons, and
Timo R hling) had made some good progress on this, but nobody had quite got
it over the line and it seemed a bit stuck.
Learning Rust is on my to-do list, but merely not knowing a language
hasn t
stopped me before.
So I learned
how the Debian Rust team s packaging
works, upgraded a few
packages to new upstream versions (including
rust-half
and
upstream rust-idna test
fixes), and packaged
rust-jiter. After a
lot of waiting around for various things and chasing some failures in other
packages I was eventually able to get current versions of both pydantic-core
and pydantic into testing.
I m looking forward to being able to drop our clunky v1 compatibility code
once debusine can rely on running on trixie!
OpenSSH
I upgraded the Debian packaging to
OpenSSH
9.9p1.
YubiHSM
I upgraded python-yubihsm, yubihsm-connector, and yubihsm-shell to new
upstream versions.
I noticed that I could enable some tests in python-yubihsm and
yubihsm-shell; I d previously thought the whole test suite required a real
YubiHSM device, but when I looked closer it turned out that this was only
true for some tests.
I fixed yubihsm-shell build failures on some 32-bit architectures (upstream
PRs
#431,
#432), and also made it
build
reproducibly.
Thanks to Helmut Grohne, I fixed yubihsm-connector to
apply udev rules to
existing devices when the package is
installed.
As usual, bookworm-backports is up to date with all these changes.
Python team
setuptools
72.0.0 removed
the venerable
setup.py test command. This caused some fallout in Debian,
some of which was quite non-obvious as packaging helpers sometimes fell back
to different ways of running test suites that didn t quite work. I fixed
django-guardian,
manuel,
python-autopage,
python-flask-seeder,
python-pgpdump,
python-potr,
python-precis-i18n,
python-stopit,
serpent,
straight.plugin,
supervisor, and
zope.i18nmessageid.
As usual for new language versions, the addition of Python 3.13 caused some
problems. I fixed
psycopg2,
python-time-machine, and
python-traits.
I fixed build/autopkgtest failures in
keymapper,
python-django-test-migrations,
python-rosettasciio,
routes,
transmissionrpc, and
twisted.
buildbot was in
a bit of a mess due to
being incompatible with SQLAlchemy 2.0. Fortunately by the time I got to it
upstream had committed a workable set of patches, and the main difficulty
was figuring out what to cherry-pick since they haven t made a new upstream
release with all of that yet. I figured this out and got us up to 4.0.3.
Adrian Bunk
asked whether python-zipp
should be removed from trixie. I spent some time investigating this and
concluded that the answer was no, but looking into it was an interesting
exercise anyway.
On the other hand, I looked into flask-appbuilder, concluded that it should
be removed, and filed a
removal request.
I upgraded some embedded
CSS files in
nbconvert.
I upgraded importlib-resources, ipywidgets, jsonpickle, pydantic-settings,
pylint (fixing a
test failure),
python-aiohttp-session, python-apptools, python-asyncssh,
python-django-celery-beat, python-django-rules, python-limits,
python-multidict, python-persistent, python-pkginfo, python-rt, python-spur,
python-zipp, stravalib, transmissionrpc, vulture, zodbpickle,
zope.exceptions (
adopting it),
zope.i18nmessageid, zope.proxy, and zope.security to new upstream versions.
debmirror
The
experimental and
*-proposed-updates suites used to not have
Contents-* files, and a long time ago debmirror was changed to just skip
those files in those suites. They were added to the Debian archive some
time ago, but debmirror carried on skipping them anyway. Once I realized
what was going on, I removed these unnecessary special cases
(
#819925,
#1080168).