clone 656882 -1 retitle 656882 [new check] warn about incorrect §7.6.2 usage severity 656882 wishlist thanks
On 2012-01-22 21:10, Russ Allbery wrote: > Niels Thykier <ni...@thykier.net> writes: > >> By the looks of it [1], Lintian does not handle self relations too >> well with Replaces + Provides. > >> The observation done so far is that xabacus (Provides, Conflicts and >> Replaces itself) is correctly done (in terms of §7.6.2). > >> The apache2-suexec package does not provide itself (but it has >> Conflicts and Replaces on itself). The question is whether or not it >> needs the provide itself explicitly. > > I don't think it should, although the dpkg maintainers would know for > sure. But I suspect Lintian should say that's fine in the case where the > virtual package name is the same as the real package name, as it is in > this case. > We are looking at §7.4 I guess: """ A special exception is made for packages which declare a conflict with their own package name, or with a virtual package which they provide (see below): this does not prevent their installation, and allows a package to conflict with others providing a replacement for it. You use this feature when you want the package in question to be the only package providing some feature. """ This smells like "Provides: $self" is redundant. However, I also found this: """ Conflicts should be used [...] in conjunction with Provides when only one package providing a given virtual facility may be unpacked at a time (see Virtual packages - Provides, Section 7.5), """ I suspect people reading the "in conjunction with Provides" as "Always add the Provides field". In terms of dpkg, I get the feeling that "either way works". >> Also not sure what is up with nvidia-kernel-dkms. By the looks of it, >> it is using §7.6.2, but missing a replaces. Russ, is that correctly >> asserted of me? > > Yes, that looks correct. I think that set of packages should all have > Replaces as well. > Okay, I guess it would be good to have a separate tag for checking proper §7.6.2 usage. For now I will commit a fix to ignore "Replaces: $self" and "Provides: $self" with a "Closes" for the cloned bug. This bug (i.e. #656882) stays until we get the §7.6.2 check implemented. ~Niels -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org