Freexian Collaborators: Debian Contributions: LXD/Incus backend bug, /usr-merge updates, gcc-for-host, and more! (by Utkarsh Gupta)
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.
LXD/Incus backend bug in autopkgtest by Stefano Rivera
While working on the Python 3.12 transition, Stefano repeatedly ran into
a bug in autopkgtest when using LXD (or in
the future Incus), that caused it to hang when running cython s multi-hour
autopkgtests. After some head-banging, the bug turned out to be fairly
straightforward: LXD didn t shut down on receiving a SIGTERM, so when a
testsuite timed out, it would hang forever. A simple
fix has
been applied.
LXD/Incus backend bug in autopkgtest by Stefano Rivera
While working on the Python 3.12 transition, Stefano repeatedly ran into
a bug in autopkgtest when using LXD (or in
the future Incus), that caused it to hang when running cython s multi-hour
autopkgtests. After some head-banging, the bug turned out to be fairly
straightforward: LXD didn t shut down on receiving a SIGTERM, so when a
testsuite timed out, it would hang forever. A simple
fix has
been applied.
/usr-merge, by Helmut Grohne
Thanks to Christian Hofstaedtler and others, the effort is moving into a
community effort and the work funded by Freexian becomes more difficult to
separate from non-funded work. In particular, since the community fully handled
all issues around lost udev
rules, dh_installudev
now installs rules to
/usr
.
The story around diversions took another detour. We learned that
conflicts do not reliably prevent concurrent unpack
and the reiterated mitigation for molly-guard
triggered this. After a bit of
back and forth and consultation with the developer mailing list, we concluded
that avoiding the problematic behavior when using apt
or an apt
-based
upgrader combined with a loss mitigation would be good enough. The involved
packages bfh-container
, molly-guard
, progress-linux-container
and
systemd
have since been uploaded to unstable
and the matter seems finally
solved except that it
doesn t quite work with sysvinit
yet. The
same approach is now being proposed for the diversions of
zutils for
gzip. We thank involved maintainers for
their timely cooperation.
gcc-for-host, by Helmut Grohne
Since forever, it has been difficult to correctly express a toolchain build
dependency. This can be seen in the Build-Depends
of the linux
source
package for instance. While this has been solved for binutils
a while back,
the patches for gcc
have been unfinished. With lots of constructive feedback
from gcc
package maintainer Matthias Klose, Helmut worked on finalizing and
testing these patches. Patch stacks are now available for
gcc-13 and
gcc-14 and
Matthias already included parts of them in test builds for Ubuntu noble
.
Finishing this work would enable us to resolve around 1000 cross build
dependency satisfiability issues in unstable.
Miscellaneous contributions
- Stefano continued work on the Python 3.12 transition, including uploads of
cython, pycxx, numpy, python-greenlet, twisted, foolscap and dh-python.
- Stefano reviewed and selected from a new round of DebConf 24 bids, as part
of the DebConf Committee. Busan, South Korea
was selected.
- For debian-printing Thorsten uploaded hplip to unstable to fix a /usr-merge
bug and cups to Bookworm to fix bugs related to printing in color.
- Utkarsh helped newcomers in mentoring and reviewing their packaging;
eg: golang-github-prometheus-community-pgbouncer-exporter.
- Helmut sent patches for 42 cross build failures unrelated to the
gcc-for-host
work.
- Helmut continues to maintain
rebootstrap
. In December, blt
started
depending on libjpeg
and this poses a
dependency loop. Ideally, Python would
stop depending on blt
. Also linux-libc-dev
having become
Multi-Arch: foreign
poses non-trivial issues that are not fully resolved
yet.
- Enrico participated in /usr-merge discussions with Helmut.
udev
rules, dh_installudev
now installs rules to
/usr
.
The story around diversions took another detour. We learned that
conflicts do not reliably prevent concurrent unpack
and the reiterated mitigation for molly-guard
triggered this. After a bit of
back and forth and consultation with the developer mailing list, we concluded
that avoiding the problematic behavior when using apt
or an apt
-based
upgrader combined with a loss mitigation would be good enough. The involved
packages bfh-container
, molly-guard
, progress-linux-container
and
systemd
have since been uploaded to unstable
and the matter seems finally
solved except that it
doesn t quite work with sysvinit
yet. The
same approach is now being proposed for the diversions of
zutils for
gzip. We thank involved maintainers for
their timely cooperation.
gcc-for-host, by Helmut Grohne
Since forever, it has been difficult to correctly express a toolchain build
dependency. This can be seen in the Build-Depends
of the linux
source
package for instance. While this has been solved for binutils
a while back,
the patches for gcc
have been unfinished. With lots of constructive feedback
from gcc
package maintainer Matthias Klose, Helmut worked on finalizing and
testing these patches. Patch stacks are now available for
gcc-13 and
gcc-14 and
Matthias already included parts of them in test builds for Ubuntu noble
.
Finishing this work would enable us to resolve around 1000 cross build
dependency satisfiability issues in unstable.
Miscellaneous contributions
- Stefano continued work on the Python 3.12 transition, including uploads of
cython, pycxx, numpy, python-greenlet, twisted, foolscap and dh-python.
- Stefano reviewed and selected from a new round of DebConf 24 bids, as part
of the DebConf Committee. Busan, South Korea
was selected.
- For debian-printing Thorsten uploaded hplip to unstable to fix a /usr-merge
bug and cups to Bookworm to fix bugs related to printing in color.
- Utkarsh helped newcomers in mentoring and reviewing their packaging;
eg: golang-github-prometheus-community-pgbouncer-exporter.
- Helmut sent patches for 42 cross build failures unrelated to the
gcc-for-host
work.
- Helmut continues to maintain
rebootstrap
. In December, blt
started
depending on libjpeg
and this poses a
dependency loop. Ideally, Python would
stop depending on blt
. Also linux-libc-dev
having become
Multi-Arch: foreign
poses non-trivial issues that are not fully resolved
yet.
- Enrico participated in /usr-merge discussions with Helmut.
- Stefano continued work on the Python 3.12 transition, including uploads of cython, pycxx, numpy, python-greenlet, twisted, foolscap and dh-python.
- Stefano reviewed and selected from a new round of DebConf 24 bids, as part of the DebConf Committee. Busan, South Korea was selected.
- For debian-printing Thorsten uploaded hplip to unstable to fix a /usr-merge bug and cups to Bookworm to fix bugs related to printing in color.
- Utkarsh helped newcomers in mentoring and reviewing their packaging; eg: golang-github-prometheus-community-pgbouncer-exporter.
- Helmut sent patches for 42 cross build failures unrelated to the
gcc-for-host
work. - Helmut continues to maintain
rebootstrap
. In December,blt
started depending onlibjpeg
and this poses a dependency loop. Ideally, Python would stop depending onblt
. Alsolinux-libc-dev
having becomeMulti-Arch: foreign
poses non-trivial issues that are not fully resolved yet. - Enrico participated in /usr-merge discussions with Helmut.