Am Sat, Nov 22, 2025 at 12:05:25PM -0800, schrieb Otto Kekäläinen:
> > More importantly, a call like
> > "apt install foo" is NOT representative of an upgrade.
> 
> This is a simplified case to reproduce the issue. The full CI code
> runs`apt-get full-upgrade` to exactly simulate the case a end-user
> would have, see CI code at
> https://salsa.debian.org/mariadb-team/mariadb-server/-/blob/debian/latest/debian/salsa-ci.yml,
> or read the CI logs linked to earlier, they show each command followed
> by its output.

So, have you read what you want others to look at or … ?

If you had, you would have noticed that the CI test that failed uses
'apt install', also apparent by the "fix"¹ that was deployed for that
test to make it green, because green is good.
See e.g. 
https://salsa.debian.org/mariadb-team/mariadb-server/-/jobs/8622649#L1881

Never mind that many of the tests are testing entirely unsupported
setups – as skipping releases is not supported in Debian. But as long
as they are green, never mind what they actually test, I suppose.

¹ I at least would not expect users to write this monstrosity of an
  install command, but if you are set on not fixing your dependencies
  as suggested by Julian… oh well.


> If may of course be that the CI has been running `apt-get
> full-upgrade` wrongly for years and years, or that the package
> depends/breaks relationships have been wrong for years and only now
> surfaced as the resolver was "fixed" to no longer satisfy "wrong"
> relationships, but I wouldn't jump to that conclusion just yet.

As mentioned, the old resolver implemented that behaviour since *drumroll
please* bookworm. So your test worked "for years and  years" just because
it was added right after apts default resolver tried to help users by
papering over insufficient dependencies.

This behaviour can be disabled in the old resolver (some users do) and
the old is far from the only solver used in the wild, e.g. aspcud for
experimental builds and by adventures users, aptitude, … which all do
not have this behaviour (as it has the obvious downside of pulling too
much into the upgrade set if the maintainer wrote sufficient deps).


> Also, even in the case that the resolver is now "correct", if there
> are a large number of packages that depend on the old behaviour, the
> new correct might still not be the optimal solution.

Julian already said that he wants to add this user-protection feature
to the new resolver as well. But even if he does, any number of packages
that rely on it remain RC-buggy for declaring insufficient dependencies
and users that not use apt (and its default config) will continue to run
into problems with these packages.


> Assuming the apt changes were recent, let's see if other package
> maintainers report similar issues that updates with virtual/indirect
> packages no longer pull in what they used to.

APT behaviour is not a popularity contest. Never mind that by the time
this popularity contest would find traction is as explained earlier in
the forky to duke upgrade – so way too late if you don't want to
displease the stable release managers of forky and the release team
trying to release duke at that time around duke hard freeze.

Your problem is also not about "virtual packages" (see Debian policy
what that is) nor "indirect packages" (whatever that may be). Your
packages do not pull in what they need, period. That didn't change.
What changed is that apt was graciously papering over your bug by
assuming you meant to pull those into the upgrade set, too.

It currently doesn't anymore, maybe it does again by the time forky is
released. Until then users of non-defaults might even consider that an
apt feature as it directly helps them by having users with the defaults
run into the same problem they encounter.

As Julian already said, it might make sense to disable this behaviour in
tests if it is reintroduced.


Best regards

David Kalnischkies

Attachment: signature.asc
Description: PGP signature

Reply via email to