On 26/02/2025 00:10, Guillem Jover wrote: > 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, Arnaud