On Tue, 2025-02-25 at 08:14:52 -0800, Otto Kekäläinen wrote:$ check_for_missing_breaks_replaces.py -o ${WORKING_DIR}/missing_breaks.xml --changes-file ${WORKING_DIR}/*.changes [ERROR] Missing Breaks/Replaces found [ERROR] foo conflicts with bar files: {'/usr/share/man/man8/example.8.gz'}…and this advice, are not ideal, and can lead to potentially worse problems. I think the check should be renamed to something like check-file-conflicts (probably with compat names for existing repos using the old name). And the advice should probably point to a Wiki page or similar, where the various cases can be explained, and how to solve them. For example for conflicting programs with different interfaces the advice would incur in a policy violation, for conflicts between a current shared library SOVERSION and the one in the archive with a lower SOVERSION that makes upgrades and transitions harder, etc.
I suppose there are two main situations:
1) package includes the offending file(s) by mistake, in that case the fix is to stop distributing the file (and NOT to use Breaks/Replaces)
2) package includes the file(s) for good reason, in that case it's as Guillem said above
Maybe the error message could clarify for situation 1, something
like:
> [ERROR] You might want to rename/remove the offending files
if that's suitable
For situation 2, maybe point to Debian Policy: https://www.debian.org/doc/debian-policy/ch-relationships.html, in particular sections 7.3, 7.4 and 7.6? Unless there's a better piece of doc on this topic?
Best,