[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Salsa CI job 'missing-breaks' to be enabled by default starting March 1st



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



Reply to: