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

Re: DEP 17: Improve support for directory aliasing in dpkg



Hi Simon,

On Sat, Apr 22, 2023 at 11:41:29AM +0100, Simon McVittie wrote:
> You might reasonably say that "the maintainer of bar didn't add the
> correct Breaks/Replaces on foo" is a RC bug in bar - and it is! - but
> judging by the number of "missing Breaks/Replaces" bug reports that have
> to be opened by unstable users (sometimes me), it's a very easy mistake
> to make.

That number seemed quite vague to me and I wanted to get a better handle
on it. The rough idea here should be that we have some package from
bullseye and "upgrade" it to a different package from bookworm.
Generating useful candidates for this can be done using Contents. Given
candidates, I've attached a validation script:

    ./check_conflicts.sh $OLDPKG bullseye $NEWPKG bookworm

In order to draw value from it, the output must be parsed. The exit code
can be non-zero for various reasons. As for candidate generation, I
think one can either just try them all (which takes a bit longer on the
validation phase) or reduce their number by ignoring existing
Breaks+Replaces, but I haven't found an elegant solution for the latter
yet.

In any case, unstable has around:
 * 5700 Breaks
 * 6500 Replaces
 * 100 unpack errors due to missing Breaks+Replaces

That latter number has just been turned into rc bugs...

So maybe it isn't as bad as we think it is, but it definitely is an
aspect that may require a more automated solution.

In any case, that also gives us a rough idea on how many Breaks+Replaces
we'd have to convert to Conflicts. 6000 likely is an upper bound. I
expect that it is probably below 1000 since we can ignore conflicting
paths that reside below /usr only. I'm not sure whether these numbers
argue in favour or against the projected approach.

Helmut

Attachment: check_conflicts.sh
Description: Bourne shell script


Reply to: