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