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

Attachment: pgpllRIKrmM77.pgp
Description: OpenPGP digital signature

Reply via email to