[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#903158: Multi-Arch: foreign and -dbgsym: too weak dependency



On Mon, Oct 10, 2022 at 08:50:49AM +0800, Paul Wise wrote:
> On Sun, 2022-10-09 at 18:54 +0200, David Kalnischkies wrote:
> > I suppose we could use 'foo-dbgsym Enhances foo:arch (= version)'.
> 
> That sounds interesting and would be nice generally, however...
> 
> > On a sidenote: What the Depends ensures which the Enhances doesn't is
> > that they are upgraded in lockstep. As in, if for some reason foo (or
> > foo-dbgsym) have their version appear at different points in the archive
> > apt would hold back on a Depends while with Enhances this dependency
> > would be broken and hence auto-remove kicks in.
> 
> For the rolling Debian suites, the main and dbgsym archives are often
> out of sync, the dbgsym packages updates sometimes appear first and
> sometimes second. Keeping foo/foo-dbgsym in sync is strongly needed

Oh, are they? I thought they would be better in sync. Never noticed,
but I tend to have extremely luck avoiding any kind of apt problem… 😉


Anyway, that is solvable. An 'upgrade' e.g. keeps back an upgrade if
that would break a Recommends. Seems reasonable to keep it back also
if it would break a previously satisfied Enhances as loosing the
features of a plugin due to an automatic upgrade seems super-bad.

For full-upgrade we could go with a rule specifically targeted at
packages from the 'debug' section with such Enhances dependencies.
If you have multiple architectures of an M-A:same package installed
they keep each other in check as well as long as the "old" version
is still downloadable. So that shouldn't be too hard™…

The downside is that both are heuristics which are solver dependent, as
such aptitude likely and external solvers surely won't support that
(without implementing similar solution optimisation logic).

That said, this isn't really different from "miss-using" Depends for it
to have it be hold-back as is not working with every solver in every
situation either. For apt I am actually somewhat surprised if it does in
the general case as the -dbgsym should have close to no power (as
nothing depends on it), while the thing it has debug symbols for probably
has things depending on it, so if it comes to upgrading foo or keeping
it back it should favour upgrading foo (and hence removing foo-dbgsym)
in most cases currently (full-upgrade that is, upgrade of course not).


Anyway, if that is an acceptable/desirable option we should probably
move any apt machinery discussion into its own bugreport and away from
d-d@ and debhelper. For this thread I would say its enough to decide if
using Enhances in this way is acceptable for everyone.

If and how apt (and/or other tools) make then use of the data is up to
them in the end.


Best regards

David Kalnischkies

Attachment: signature.asc
Description: PGP signature


Reply to: