Hi all package maintainers who use Salsa CI, Salsa CI has had for many years the job 'missing-breaks' that complements piuparts by checking that the files a package introduce don't clash with files shipped by any other package in the distribution without having proper Breaks/Replaces in the `debian/control` file. This job works well, being quick to run and has had zero false positives in our experience.
We plan to enable this job next weekend, but allow the job to fail. In a month from now we plan to switch it to enforcing mode so that this job must pass for the pipeline to pass. If you have any comments, feel free to reply to this email thread or take part in the discussion at https://salsa.debian.org/salsa-ci-team/pipeline/-/merge_requests/578 ## Schedule 1. March 1st: Enable this job by default, but in allow_failure mode, making Salsa CI yellow on packages that fail on this job 2. March 31st: Remove the allow_failure mode, potentially making the Salsa CI red for packages that fail on this job ## Error examples Example output when end users run into this category of issues: $ apt upgrade ... Unpacking example (from .../foo_1.0-1_all.deb) ... dpkg: error processing /var/cache/apt/archives/foo_1.0-1_all.deb (--unpack): trying to overwrite '/usr/share/man/man8/example.8.gz', which is also in package bar 2.2 Example output from the job on failure: $ 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'} PS. If you are interested in many smaller improvements soon landing in Salsa CI, you are welcome to read and comment (and review) the 32 currently open MRs at https://salsa.debian.org/salsa-ci-team/pipeline/-/merge_requests