1 |
Hi, |
2 |
|
3 |
This is quite a Portage patch topic but since devs are known to be |
4 |
unhappy about any change, I would like to start a bikeshed first. |
5 |
|
6 |
The idea is to make repoman/pcheck complain if the newest ebuild |
7 |
matched by version+slot restriction of dependency atom can't satisfy |
8 |
the USE dependency, or in other words, whenever the USE restriction |
9 |
forces lower version of package being installed. |
10 |
|
11 |
For example, let's assume the following: |
12 |
|
13 |
a. foo-1 has USE=bar, |
14 |
|
15 |
b. bar-1 depends on foo[bar], |
16 |
|
17 |
c. foo-2 no longer has USE=bar. |
18 |
|
19 |
In the usual scenario this means that bar-1 will silently lock foo |
20 |
at version 1. Since this is quite implicit, users don't notice |
21 |
the problem and left unnoticed for a long time, it starts to hurt bad |
22 |
at some point. |
23 |
|
24 |
With the added check, after step (c) above repoman/pcheck would warn on |
25 |
bar-1 that 'foo[bar]' dependency forces lower version than plain 'foo'. |
26 |
Since version and slot restrictions will be taken into consideration, |
27 |
it will possible to silence the warning by using: |
28 |
|
29 |
<foo-2[bar] |
30 |
|
31 |
explicitly, if the dependency can't be fixed for foo-2 properly. While |
32 |
not improving the final result a lot, it will at least give an explicit |
33 |
'<' or '=' atom that can be easily found with grep when considering old |
34 |
version removal. |
35 |
|
36 |
What are your thoughts? |
37 |
|
38 |
-- |
39 |
Best regards, |
40 |
Michał Górny |