Hi,

Le mercredi 23 août 2023 à 08:45 +0100, Simon McVittie a écrit :

> No, the central misunderstanding here is that you think Replaces will
> have the effect of instructing dpkg to remove the replaced package
> completely, which is not the case.

Oh. I think I had two problems:
(1) thinking "Replaces" meant "replaces" ;
(2) thinking d/control controlled packages.

Let me try to see if I'm getting at something:

(*) Replaces doesn't really mean "can be used in place of"
    -- that would be expressed with Breaks+Provides.


(*) Replaces shouldn't come without Breaks, but doesn't imply it
    so we have to put in both (why?).


(*) Breaks+Replaces is partial replacement.


(*) A complete replacement can be achieved with:

  (+) just the same package name (the most usual situation,
      explicit in d/control)

  (+) Breaks+Replaces and all files of the other package are
      overriden (triggers removal of the other, *not* seen in
      d/control!);

  (+) Conflicts+Replaces (forcing removal of the other,
      explicit in d/control).


(*) In 7.6.1's example, what happens if the system has foo 1.2-2 and
the user tries to install foo-data 1.2-3? Do we end up with foo 1.2-2
and foo-data 1.2-3 unpacked and apt/dpkg complaining it can't configure
them or does it refuse with a clear error message?

Thanks,

J.Puydt

Reply via email to