Bug#1050322: Partial versus complete replacement of a package by another
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 to: