On Tue, Sep 27, 2022, at 4:12 PM, Sebastian Ramacher wrote: > On 2022-09-27 10:26:36 -0400, Zack Weinberg wrote: >> On Tue, Sep 27, 2022, at 5:15 AM, Sebastian Ramacher wrote: >> >> I'd like to make sure that the bug submitter has not identified >> >> something new here. >> > >> > I've not seen any new issues appearing since the last round I file bugs. >> >> I wasn’t aware that you have been filing bugs related to the >> transition. What criteria are you using to find and file those bugs? > > I only checked for packages violating the moratorium. Thankfully a check > for that was implemented by Luca in piuparts. If we have additional > patterns that could cause issues for upgrades, the check would ideally > be extended with that information.
I thought about this a bunch yesterday evening and I believe I see a concrete scenario that can cause problems but is not covered by the moratorium: Suppose there exist two packages, one of which ships /bin/foo, and the other ships /usr/bin/foo. On a non-merged system, these packages can coexist. On a merged system, they have a file conflict that dpkg will not detect. For practical reasons I doubt that two such packages actually exist -- nobody wants the concrete implementation of "foo" to be selected by what order the user happened to list /usr/bin and /bin in their PATH, this is what alternatives are for -- but, I don't see anything in Policy that *forbids* it outright. (I could have missed something.) Also, the undetected file conflict can happen in *any* directory that is converted to a symlink on a merged system, and it's at least vaguely plausible to me that there might be packages shipping small variations on the same library as /lib/foo.so and /usr/lib/foo.so (perhaps one has fewer dependencies, to be used during early boot). So questions for you and everyone else reading this: 1. Is there already a rule (or multiple rules) somewhere that forbids the existence of pairs of packages where one ships /X/Y and the other ships /usr/X/Y, where X is a directory on non-merged-/usr systems and a symlink on merged-/usr systems, and Y is any name? 2. Does Debian already have tooling that can *find* pairs of such packages? (This is a fully independent question from 1. If there's a rule but no automation to enforce it then we don't *know* nobody's breaking the rule. If there is no rule then, before we consider adding such a rule, we need to know whether any packages exist that break it.) zw