Hi, This is quite a Portage patch topic but since devs are known to be unhappy about any change, I would like to start a bikeshed first.
The idea is to make repoman/pcheck complain if the newest ebuild matched by version+slot restriction of dependency atom can't satisfy the USE dependency, or in other words, whenever the USE restriction forces lower version of package being installed. For example, let's assume the following: a. foo-1 has USE=bar, b. bar-1 depends on foo[bar], c. foo-2 no longer has USE=bar. In the usual scenario this means that bar-1 will silently lock foo at version 1. Since this is quite implicit, users don't notice the problem and left unnoticed for a long time, it starts to hurt bad at some point. With the added check, after step (c) above repoman/pcheck would warn on bar-1 that 'foo[bar]' dependency forces lower version than plain 'foo'. Since version and slot restrictions will be taken into consideration, it will possible to silence the warning by using: <foo-2[bar] explicitly, if the dependency can't be fixed for foo-2 properly. While not improving the final result a lot, it will at least give an explicit '<' or '=' atom that can be easily found with grep when considering old version removal. What are your thoughts? -- Best regards, Michał Górny
pgpllRIKrmM77.pgp
Description: OpenPGP digital signature