Your message dated Fri, 9 Oct 2026 17:55:46 +0200
with message-id <asj_5uvsdGuWhKXj@crossbow>
and subject line Re: Bug#1150427: dist-upgrade does not handle pre-depends
has caused the Debian Bug report #1150427,
regarding dist-upgrade does not handle pre-depends
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1150427: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1150427
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: apt
Version: 3.3.3
Severity: important
X-Debbugs-Cc: [email protected], [email protected]
Several ppl using kernel 7.1.13 from `trixie-backports` reported on Debian
Forums that they could not `dist-upgrade` to the newest 7.2.x, see:
https://forums.debian.net/viewtopic.php?t=168439
https://forums.debian.net/viewtopic.php?p=849545#p849545
On Trixie's `apt` 3.0.3, `dist-upgrade` attempts to remove `linux-image-amd64`:
```
# apt list --installed 'linux*'
linux-base-7.1.13+deb13-amd64/now 7.1.13-1~bpo13+1 amd64 [installed,local]
linux-base-amd64/now 7.1.13-1~bpo13+1 amd64 [installed,upgradable to:
7.2.6-1~bpo13+1]
linux-base/stable,now 4.12.1 all [installed,automatic]
linux-binary-7.1.13+deb13-amd64/stable-backports,now 7.1.13-1~bpo13+1 amd64
[installed]
linux-cpupower/now 7.1.13-1~bpo13+1 amd64 [installed,upgradable to:
7.2.6-1~bpo13+1]
linux-headers-7.1.13+deb13-amd64/now 7.1.13-1~bpo13+1 amd64 [installed,local]
linux-headers-7.1.13+deb13-common/now 7.1.13-1~bpo13+1 all [installed,local]
linux-headers-amd64/now 7.1.13-1~bpo13+1 amd64 [installed,upgradable to:
7.2.6-1~bpo13+1]
linux-image-7.1.13+deb13-amd64/stable-backports,now 7.1.13-1~bpo13+1 amd64
[installed]
linux-image-amd64/now 7.1.13-1~bpo13+1 amd64 [installed,upgradable to:
7.2.6-1~bpo13+1]
linux-kbuild-7.1.13+deb13/now 7.1.13-1~bpo13+1 amd64 [installed,local]
linux-libc-dev/now 7.1.13-1~bpo13+1 all [installed,upgradable to:
7.2.6-1~bpo13+1]
linux-modules-7.1.13+deb13-amd64/now 7.1.13-1~bpo13+1 amd64 [installed,local]
linux-sysctl-defaults/stable,now 4.12.1 all [installed]
# apt dist-upgrade
Upgrading:
libcpupower1 linux-base-amd64 linux-cpupower linux-headers-amd64 linux-
libc-dev
Installing dependencies:
linux-base-7.2.6+deb13-amd64 linux-headers-7.2.6+deb13-amd64 linux-
headers-7.2.6+deb13-common linux-kbuild-7.2.6+deb13
REMOVING:
linux-image-amd64
Summary:
Upgrading: 5, Installing: 4, Removing: 1, Not Upgrading: 0
Download size: 19.9 MB
Space needed: 78.5 MB / 2,661 MB available
Continue? [Y/n] n
```
On 3.3.3, it just skips `linux-image-amd64`:
```
# apt dist-upgrade
Upgrading:
libcpupower1 linux-cpupower linux-libc-dev
Not upgrading:
linux-base-amd64 linux-headers-amd64 linux-image-amd64
Summary:
Upgrading: 3, Installing: 0, Removing: 0, Not Upgrading: 3
Download size: 4,658 kB
Freed space: 246 kB
Continue? [Y/n] n
```
This seems to be related to `linux-base` package that was upgraded from 4.12 to
4.17 in `trixie-backports` and that kernels 7.2.x *pre-depend* on:
```
# apt policy linux-base
linux-base:
Installed: 4.12.1
Candidate: 4.12.1
Version table:
4.17~bpo13+1 100
100 http://deb.debian.org/debian trixie-backports/main amd64 Packages
*** 4.12.1 500
500 http://deb.debian.org/debian trixie/main amd64 Packages
100 /var/lib/dpkg/status
# apt show linux-image-7.2.6+deb13-amd64
Package: linux-image-7.2.6+deb13-amd64
Version: 7.2.6-1~bpo13+1
Priority: optional
Section: kernel
Source: linux-signed-amd64 (7.2.6+1~bpo13+1)
Maintainer: Debian Kernel Team <[email protected]>
Installed-Size: 15.4 kB
Pre-Depends: linux-base (>= 4.17~)
```
Installing manually `linux-base` from `trixie-backports` resolves the issue and
after that `dist-upgrade` works as intended:
```
# apt install -t trixie-backports linux-base
Upgrading:
linux-base linux-sysctl-defaults
Summary:
Upgrading: 2, Installing: 0, Removing: 0, Not Upgrading: 23
Download size: 32.9 kB
Space needed: 7,168 B / 3,031 MB available
```
(...)
```
# apt dist-upgrade
Upgrading:
libcpupower1 linux-base-amd64 linux-cpupower linux-headers-amd64 linux-
image-amd64 linux-libc-dev
Installing dependencies:
linux-base-7.2.6+deb13-amd64 linux-headers-7.2.6+deb13-amd64 linux-
image-7.2.6+deb13-amd64 linux-modules-7.2.6+deb13-amd64
linux-binary-7.2.6+deb13-amd64 linux-headers-7.2.6+deb13-common linux-
kbuild-7.2.6+deb13
Suggested packages:
debian-kernel-handbook firmware-linux-free linux-doc-7.2
Summary:
Upgrading: 6, Installing: 7, Removing: 0, Not Upgrading: 0
Download size: 193 MB
Space needed: 326 MB / 3,031 MB available
Continue? [Y/n]
```
Configured sources during the above testing:
```
deb http://deb.debian.org/debian/ trixie non-free-firmware main contrib non-
free
deb-src http://deb.debian.org/debian/ trixie non-free-firmware main contrib
non-free
deb http://security.debian.org/debian-security/ trixie-security non-free-
firmware main contrib non-free
deb-src http://security.debian.org/debian-security/ trixie-security non-free-
firmware main contrib non-free
deb http://deb.debian.org/debian/ trixie-updates non-free-firmware main contrib
non-free
deb-src http://deb.debian.org/debian/ trixie-updates non-free-firmware main
contrib non-free
deb http://deb.debian.org/debian/ trixie-backports non-free-firmware non-free
contrib main
deb-src http://deb.debian.org/debian/ trixie-backports non-free-firmware non-
free contrib main
```
No priority pinning was configured.
-- Package-specific info:
-- (no /etc/apt/preferences present) --
-- (/etc/apt/preferences.d/java-11.pref present, but not submitted) --
-- (/etc/apt/preferences.d/kernel-backports.pref present, but not submitted) --
-- (/etc/apt/preferences.d/kernel-tbfive.pref present, but not submitted) --
-- (/etc/apt/preferences.d/revert.pref present, but not submitted) --
-- (/etc/apt/preferences.d/rust-backports.pref present, but not submitted) --
-- (/etc/apt/preferences.d/tuxedo.pref present, but not submitted) --
-- (/etc/apt/preferences.d/unstable.pref present, but not submitted) --
-- (/etc/apt/sources.list present, but not submitted) --
-- (/etc/apt/sources.list.d/backports-unstable-experimental.list present, but
not submitted) --
-- (/etc/apt/sources.list.d/backports-unstable-experimental.list.save present,
but not submitted) --
-- (/etc/apt/sources.list.d/kernel-tbfive.list present, but not submitted) --
-- (/etc/apt/sources.list.d/nvidia.list present, but not submitted) --
-- (/etc/apt/sources.list.d/nvidia.list.save present, but not submitted) --
-- (/etc/apt/sources.list.d/trixie-fixes.list present, but not submitted) --
-- (/etc/apt/sources.list.d/tuxedo.list present, but not submitted) --
-- (/etc/apt/sources.list.d/tuxedo.list.save present, but not submitted) --
-- (/etc/apt/sources.list.d/wine-ntsync.list present, but not submitted) --
-- (/etc/apt/sources.list.d/wine-ntsync.list.save present, but not submitted) --
-- System Information:
Debian Release: 13.7
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500,
'stable'), (100, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 7.2.8+morgwai1-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8),
LANGUAGE=en_IE:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages apt depends on:
ii adduser 3.152
ii base-passwd 3.6.7
ii debian-archive-keyring 2025.1
ii libapt-pkg7.0 3.0.3
ii libc6 2.41-12+deb13u4
ii libgcc-s1 14.2.0-19
ii libseccomp2 2.6.0-2
ii libssl3t64 3.5.7-1~deb13u3
ii libstdc++6 14.2.0-19
ii libsystemd0 257.13-1~deb13u1
ii sqv 1.3.0-3+b2
Versions of packages apt recommends:
ii ca-certificates 20250419
Versions of packages apt suggests:
pn apt-doc <none>
ii dpkg-dev 1.22.22
ii gnupg 2.4.7-21+deb13u1
ii powermgmt-base 1.38
ii synaptic 0.91.7
-- no debconf information
--- End Message ---
--- Begin Message ---
Hi,
thanks for your report and sorry that I am closing it, but apt works as
configured here and there is nothing much that could be done about that…
let me explain:
Am Fri, Oct 09, 2026 at 04:08:28PM +0200, schrieb Piotr Morgwai Kotarbinski:
> Several ppl using kernel 7.1.13 from `trixie-backports` reported on Debian
> Forums that they could not `dist-upgrade` to the newest 7.2.x, see:
> https://forums.debian.net/viewtopic.php?t=168439
> https://forums.debian.net/viewtopic.php?p=849545#p849545
[…]
> On Trixie's `apt` 3.0.3, `dist-upgrade` attempts to remove
> `linux-image-amd64`:
[…]
> REMOVING:
> linux-image-amd64
[…]
> On 3.3.3, it just skips `linux-image-amd64`:
[…]
> Not upgrading:
> linux-base-amd64 linux-headers-amd64 linux-image-amd64
[…]
> This seems to be related to `linux-base` package that was upgraded from 4.12
> to
> 4.17 in `trixie-backports` and that kernels 7.2.x *pre-depend* on:
Yes and no. It has nothing to do with being a pre-depends. It would
happen on a depends, too. The "problem" is this:
> # apt policy linux-base
> linux-base:
> Installed: 4.12.1
> Candidate: 4.12.1
> Version table:
> 4.17~bpo13+1 100
> 100 http://deb.debian.org/debian trixie-backports/main amd64 Packages
> *** 4.12.1 500
> 500 http://deb.debian.org/debian trixie/main amd64 Packages
> 100 /var/lib/dpkg/status
[…]
> # apt show linux-image-7.2.6+deb13-amd64
[…]
> Pre-Depends: linux-base (>= 4.17~)
The new kernel version (which in this case as per usual for the kernel
is a new package, but same difference) from backports that is to be
installed because linux-image-amd64 (from backports, previously
installed from backports, too, enabling upgrades from backports for it)
depends on it. linux-base on the other hand was already installed and is
NOT from backports, so the higher version, the one the newer kernel
depends on, is not the candidate and not selected for installation.
As you have seen different versions of apt react slightly differently to
that. In fact, it depends on the overall system, too, which choice
apt will make, but that will either be
* keep linux-image-amd64
* remove linux-image-amd64
It wont decide (ever) to upgrade a package to backports, just to satisfy
a dependency if not asked explicitly. That is the intended behaviour of
apt with backports after all and why it works on request:
> Installing manually `linux-base` from `trixie-backports` resolves the issue
> and
> after that `dist-upgrade` works as intended:
> ```
> # apt install -t trixie-backports linux-base
This installs the version from backports, in turn opting you into
upgrades from backports for that package, too, with all the implications
that has on security support and what not.
You do not need to figure out the dependencies yourself. You "just" have
to remember that you once installed 'linux-image-amd64' from backports
(with all dependencies it needed from backports back then) and just
doing that again resolves the problem, too.
This is in no way special to the kernel. Many software packages do gain
new dependencies in newer versions which might require you to pick those
from backports, too, while previously the version in stable was good
enough.
As silly as it sounds, if kernel folks wanted to avoid this, they would
need to "backport" the kernel to trixie by making it work with the 'old'
linux-base. If that is feasible or not is something for the kernel
people to decide.
Other solvers than our default one(s) make different choices. Maybe apt
could provide better ways of understanding why this happens. I think
most people ask themselves "why?" every time apt shows it is removing
something or holding something back, but years of experience tell me
that while it is most of the time (not always!) relatively easy for
a human to explain why something happens, non-humans run into problems
quickly. See for example 'why/why-not' output. In any case, there are
various wishlists open for improvements in that area, so adding yet
another to the pile seems futile hence why I am closing it as not-a-bug
(but a feature and a wish for a better automatic explanation as to why).
Best regards
David Kalnischkies
signature.asc
Description: PGP signature
--- End Message ---