1 |
On Tue, 2020-06-16 at 23:07 +0000, Michael Lienhardt wrote: |
2 |
> Dear all, |
3 |
> |
4 |
> My bad for not noticing it sooner, but when there is a dependency like ">=sys-fs/udev-208-r1:0/0[static-libs?]" (that occurs in virtual/libgudev-215-r3), |
5 |
> since 'static-libs' is not a use flags of sys-fs/udev-242, that cpv is silently not considered during dependency solving by emerge. |
6 |
> However, the PMS states: |
7 |
> - it is an error for a use dependency to be applied to an ebuild which does not have the flag in question in IUSE_REFERENCEABLE |
8 |
> |
9 |
|
10 |
This is a bit like undefined behavior. PMS says such a thing shouldn't |
11 |
happen (i.e. the ebuild is wrong) but does not force specific error |
12 |
handling. You could reject the ebuild entirely or reject dependencies |
13 |
that don't have the flag in question (even if it's disabled). You could |
14 |
also pretend it's 'static-libs(-)?' but that would be bad if the default |
15 |
was supposed to be '(+)'. |
16 |
|
17 |
> This is related to the tool I'm working on: should my tool allow this behavior, or fail like it is currently doing (I guess the former)? |
18 |
> |
19 |
|
20 |
That depends on what the tool is doing. I suppose you probably don't |
21 |
need very strict behavior there. |
22 |
|
23 |
-- |
24 |
Best regards, |
25 |
Michał Górny |