Bug#1108193: apt: Ordering issue with libc6:i386 on amd64-m-a system breaks partial upgrade ("just apt and dpkg") from bookworm to trixie

Helmut Grohne helmut at subdivi.de
Sat Jul 12 14:03:18 BST 2025


Hello,

On Wed, Jun 25, 2025 at 03:13:23PM +0200, Helmut Grohne wrote:
> I talked to Aurelien on IRC. This mail gives some context and summarizes
> our discussion.

I worked out and tested a patch somewhat and I also talked to Paul and 
Ivo. Summarizing results here.

> The other side is what I discussed with Aurelien and much of what
> follows is due to him (thank you).  systemd needs to be restarted when
> upgrading libc6, because it uses nss modules. Failing to do so results
> in e.g. #993821. The way to restart systemd has changed over time. For
> instance, restarting user managers and other daemons such as resolved
> has become a thing. Due to these changes, the responsibility of
> restarting was eventually transferred to systemd via means of a dpkg
> trigger (see #1074607) and the Breaks ensures that systemd can handle
> the trigger. The Breaks declaration shall ensure that systemd ends up
> being restarted, but what also does is require that systemd.postinst is
> run before libc6.postinst. We observe that we do not expect to bump the
> Breaks version in forky as it is an artifact of transitioning to dpkg
> triggers, so in later dist-upgrades the cycle at hand is expected to
> disappear. If we are trying to relax it, we'd have to re-add code for
> restarting systemd to libc6.postinst:
> 
>     if the installed systemd does not support triggers; then
>         # Expect a bookworm systemd:
> 	#  * If it were older, we'd be doing a skip upgrade.
> 	#  * If it is newer (e.g. backports), it supports triggers.
> 	restart systemd the bookworm way
> 	# https://sources.debian.org/src/systemd/252.36-1~deb12u1/debian/systemd.postinst/#L77
>     fi
> 
> I note that this is the code that Aurelien spent effort on to get
> removed from libc6 and moved into glibc. He expressed that he does not
> like this approach (for obvious reasons).

I have prepared patch for glibc that drops the Breaks and adds he init 
script. Tests performed:
 * https://debusine.debian.net/debian/developers/work-request/103866/
 * Attempted to reproduce the problem with Breaks dropped, but I could
   not reproduce it then. apt would simply upgrade libc6 earlier and not
   do stupid things.
 * Upgraded just libc6 in a VM (not container) and observed that systemd 
   would properly be restarted when expected.

I hope that others agree with this level of testing striking a good 
balance on effort and risk.

Talking to the release team, Ivo and Paul were not super happy with the 
maintainer script changes due to the risk involved in added code. They 
pointed out that the lack of that addition would result in a risk of 
people doing a partial upgrade (i.e. libc6, but not systemd) would not 
get their systemd restarted. According to them, the scenario is quite 
unlikely in a release upgrade and that people should not be doing 
partial upgrades. If systemd is upgraded, it restarts itself. If libc 
happens to be upgraded after systemd has done this restart, the trigger 
added in trixie still will work. The one case the Breaks help is when 
you upgrade libc6 but not systemd. Therefore, they suggested merely 
dropping the Breaks without adding to the maintainer script.

I am fine either way. Dropping the breaks is what makes package 
installation no longer fail.

Aurelien, are you happy with doing an upload with or without maintainer 
script changes?

Release team, can you vaguely pre-approve the attached patch with or 
without maintainer script changes?

Whilst the patch closes the bug, I think that Chris' original assignment 
to apt bears some truth. What apt does here makes no sense to me. I 
haven't had a chance talk to Julian though.

Helmut
-------------- next part --------------
diff -Nru glibc-2.41/debian/changelog glibc-2.41/debian/changelog
--- glibc-2.41/debian/changelog	2025-06-18 06:49:31.000000000 +0200
+++ glibc-2.41/debian/changelog	2025-07-06 17:45:51.000000000 +0200
@@ -1,3 +1,10 @@
+glibc (2.41-9.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Partially restore init restarting. (Closes: #1108193)
+
+ -- Helmut Grohne <helmut at subdivi.de>  Sun, 06 Jul 2025 17:45:51 +0200
+
 glibc (2.41-9) unstable; urgency=medium
 
   [ Aurelien Jarno ]
diff -Nru glibc-2.41/debian/control glibc-2.41/debian/control
--- glibc-2.41/debian/control	2025-06-18 06:49:31.000000000 +0200
+++ glibc-2.41/debian/control	2025-07-06 17:45:25.000000000 +0200
@@ -166,7 +166,7 @@
 Suggests: glibc-doc, debconf | debconf-2.0, libc-l10n, locales [!hurd-any], libnss-nis, libnss-nisplus
 Provides: libc6-sparcv9b [sparc sparc64], libc0.3-i686 [hurd-i386], libc6-i686 [i386]
 Conflicts: libc6-i686 [i386], libc6.1-alphaev67 [alpha]
-Breaks: nscd (<< 2.41), locales (<< 2.41), locales-all (<< 2.41), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), systemd (<< 256~rc4-1~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
+Breaks: nscd (<< 2.41), locales (<< 2.41), locales-all (<< 2.41), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
           libc0.3-i686 [hurd-i386],
@@ -238,7 +238,7 @@
 Suggests: glibc-doc, debconf | debconf-2.0, libc-l10n, locales [!hurd-any], libnss-nis, libnss-nisplus
 Provides: libc6-sparcv9b [sparc sparc64], libc0.3-i686 [hurd-i386], libc6-i686 [i386]
 Conflicts: libc6-i686 [i386], libc6.1-alphaev67 [alpha]
-Breaks: nscd (<< 2.41), locales (<< 2.41), locales-all (<< 2.41), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), systemd (<< 256~rc4-1~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
+Breaks: nscd (<< 2.41), locales (<< 2.41), locales-all (<< 2.41), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
           libc0.3-i686 [hurd-i386],
@@ -310,7 +310,7 @@
 Suggests: glibc-doc, debconf | debconf-2.0, libc-l10n, locales [!hurd-any], libnss-nis, libnss-nisplus
 Provides: libc6-sparcv9b [sparc sparc64], libc0.3-i686 [hurd-i386], libc6-i686 [i386]
 Conflicts: libc6-i686 [i386], libc6.1-alphaev67 [alpha]
-Breaks: nscd (<< 2.41), locales (<< 2.41), locales-all (<< 2.41), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), systemd (<< 256~rc4-1~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
+Breaks: nscd (<< 2.41), locales (<< 2.41), locales-all (<< 2.41), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
           libc0.3-i686 [hurd-i386],
diff -Nru glibc-2.41/debian/control.in/libc glibc-2.41/debian/control.in/libc
--- glibc-2.41/debian/control.in/libc	2025-06-18 06:49:31.000000000 +0200
+++ glibc-2.41/debian/control.in/libc	2025-07-06 17:45:44.000000000 +0200
@@ -8,7 +8,7 @@
 Suggests: glibc-doc, debconf | debconf-2.0, libc-l10n, locales [!hurd-any], libnss-nis, libnss-nisplus
 Provides: libc6-sparcv9b [sparc sparc64], libc0.3-i686 [hurd-i386], libc6-i686 [i386]
 Conflicts: libc6-i686 [i386], libc6.1-alphaev67 [alpha]
-Breaks: nscd (<< @DEB_VERSION_UPSTREAM@), locales (<< @DEB_VERSION_UPSTREAM@), locales-all (<< @DEB_VERSION_UPSTREAM@), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), systemd (<< 256~rc4-1~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
+Breaks: nscd (<< @DEB_VERSION_UPSTREAM@), locales (<< @DEB_VERSION_UPSTREAM@), locales-all (<< @DEB_VERSION_UPSTREAM@), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), python3-iptables (<< 1.0.0-2), fakechroot (<< 2.19-3.5), tinydns (<< 1:1.05-14), chrony (<< 4.2-3~), valgrind (<< 1:3.19.0-1~), firefox (<< 91~), firefox-esr (<< 91~), sysvinit-core (<< 3.09-2~), sysvinit (<< 3.09-2~), base-files (<< 13.3~), openssh-server (<< 1:9.9p1-3+hurd.1) [hurd-amd64], dhcpcd (<< 1:10.1.0-7~), pd-scaf (<< 1:0.14.1+darcs20180201-6+b4), postgresql-15-pllua (<< 1:2.0.12-4), postgresql-17-pllua (<< 1:2.0.12-3+b2), librccl1 (<< 5.4.3-3+b1), libamdhip64-5 (<< 5.7.1-5+b1), libhiprtc-builtins5 (<< 5.7.1-5+b1), lua-swupdate (<< 2024.12.1+dfsg-1+b3), libswupdate0.1 (<< 2024.12.1+dfsg-1+b3), uwsgi-plugin-pypy3 (<< 0.0.2+b1), python3-onnxruntime (<< 1.20.1+dfsg-2~), libde265-0 (<< 1.0.15-1+b3) [armel armhf], libmad0 (<< 0.15.1b-11+b1) [armel armhf], libx264-164 (<< 2:0.164.3108+git31e19f9-2+b1) [armel armhf], doublecmd-gtk (<< 1.1.22-1+b1) [armel armhf], doublecmd-plugins (<< 1.1.22-1+b1) [armel armhf], doublecmd-qt (<< 1.1.22-1+b1) [armel armhf], libmpeg2-4 (<<  0.5.1-9+b3) [armel armhf], libne10-10t64 (<< 1.2.1-5.1+b2) [armhf], libpdbg5 (<< 3.5-1+b1) [armel], libopenblas0-openmp (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-pthread (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas0-serial (<< 0.3.29+ds-2+b1) [armhf s390x], libopenblas64-0-openmp (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-pthread (<< 0.3.29+ds-2+b1) [s390x], libopenblas64-0-serial (<< 0.3.29+ds-2+b1) [s390x], libfec0 (<< 1.0-26-gc5d935f-1+b3) [i386], python3-mrgingham (<< 1.25-1), linux-perf (<< 6.12.16-1) [armel], libqt6webenginecore6 (<< 6.8.2+dfsg-3) [i386]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
           libc0.3-i686 [hurd-i386],
diff -Nru glibc-2.41/debian/debhelper.in/libc.postinst glibc-2.41/debian/debhelper.in/libc.postinst
--- glibc-2.41/debian/debhelper.in/libc.postinst	2025-06-18 06:49:31.000000000 +0200
+++ glibc-2.41/debian/debhelper.in/libc.postinst	2025-07-06 17:45:51.000000000 +0200
@@ -147,6 +147,30 @@
 	fi # end upgrading and $preversion lt DEB_VERSION_UPSTREAM
     fi # Upgrading
 
+# begin-remove-after: released:trixie
+    # Restart systemd. Starting with trixie, inits restart themselves via
+    # dpkg-triggers. For inits other than systemd, versioned Breaks have been
+    # declared, but doing so for systemd would create a cycle.
+    if ! command -v systemd >/dev/null; then
+	: # The systemd binary has been moved out of $PATH in trixie.
+	# systemd's trigger interest or its postinst will handle reexecuting.
+    elif [ -n "${DPKG_ROOT:-}" ] || ischroot 2>/dev/null; then
+	: # Do not re-exec init if we are operating on a chroot.
+    elif [ -d /run/systemd/system ]; then
+	# Restart systemd on upgrade, but carefully.
+	# The restart is wanted because of LP: #1942276 and Bug: #993821
+	# The care is needed because of https://bugs.debian.org/753725
+	# (if systemd --help fails the system might still be quite broken but
+	# that seems better than the kernel panic that results if systemd
+	# cannot reexec itself).
+	if command -v systemd >/dev/null; then
+	    systemctl daemon-reexec
+	else
+	    echo "Error: Could not restart systemd, systemd binary not working" >&2
+	fi
+    fi
+
+# end-remove-after
     # Emit triggers to allow depending packages to restart themselves if
     # needed.  The triggers are called with "--no-await", as packages with the
     # triggers-awaited state do not satisfy dependencies.


More information about the Pkg-systemd-maintainers mailing list