On 03/03/2021 07.37, Yadd wrote:
OK for Breaks, but why "Replaces" ? cyrus-common still exists, or is
there something I didn't understand?

Look at it the other way around:

You are taking over a file owned by cyrus-common. That needs a Replaces, otherwise you get the file owerwrite issue I observed. If you have taken away the file, the old version of cyrus-common is incomplete and thus you need the Breaks to ensure it does not serve as a correctly installed package satisfying other packages dependencies. **)

A Breaks alone would still allow apt/dpkg to
- deconfigure old cyrus-common
- unpack new cyrus-imapd => clash
- unpack new cyrus-common

Andreas

(The versioned dependency on cyrus-common you mentioned solves some issues by requiring that cyrus-common gets upgraded as well, so you can't end up with a broken cyrus-common where dpkg thinks it's correctly installed.)

**) Think of two theoretical packages foo and bar both shipping /bin/foobar, where bar has Replaces: foo (but no Breaks/Conflicts or other relationships). Then install foo, install bar, remove bar. foo is still installed. Where is /bin/foobar?

Reply via email to