1 |
On 6/16/20 6:38 PM, Michael Lienhardt wrote: |
2 |
> |
3 |
> |
4 |
> On 6/16/20 9:31 PM, Zac Medico wrote: |
5 |
>> On 6/16/20 11:07 PM, Michael Lienhardt wrote: |
6 |
>>> I'm sorry, my client didn't allow to send plain text email anymore... |
7 |
>>> |
8 |
>>> So, here is my original email. |
9 |
>>> |
10 |
>>> Dear all, |
11 |
>>> |
12 |
>>> 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), |
13 |
>>> since 'static-libs' is not a use flags of sys-fs/udev-242, that cpv is silently not considered during dependency solving by emerge. |
14 |
>>> However, the PMS states: |
15 |
>>> - 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 |
16 |
>>> - For EAPIs listed in table 5.4 as not supporting profile defined IUSE injection, IUSE_REFERENCEABLE is equal to the calculated IUSE value. For EAPIs where profile defined IUSE injection is supported, IUSE_REFERENCEABLE is equal to IUSE_EFFECTIVE |
17 |
>>> And 'static-libs' is not in the IUSE_EFFECTIVE of sys-fs/udev-242 (that ebuild has EAPI=6). |
18 |
>>> So it seems to me that this current behavior of emerge should be considered an error, no? Or the PMS should be updated? |
19 |
|
20 |
Yes, according to PMS it's a "error" but emerge has never reported it as |
21 |
such. Adding an error message to emerge sounds fine to me. |
22 |
|
23 |
>>> 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)? |
24 |
> |
25 |
>> It's valid as a 4-style dependency with use-dep-defaults. |
26 |
|
27 |
Actually, it doesn't have use-dep-defaults but somehow my brain |
28 |
associated it with that because you were talking about IUSE. |
29 |
|
30 |
> I know. Except that in virtual/libgudev-215-r3.ebuild we have in the DEPEND: |
31 |
> >=sys-fs/udev-208-r1:0/0[${MULTILIB_USEDEP},gudev(-),introspection(-)?,static-libs?] |
32 |
> It is a 2-style dependency (following the PMS). |
33 |
> |
34 |
> I checked with 3 dummy packages |
35 |
> |
36 |
> 1. app-misc/dummy-master-1 |
37 |
> EAPI=6 |
38 |
> SLOT=0 |
39 |
> KEYWORDS="amd64" |
40 |
> IUSE="static-libs" |
41 |
> DEPEND=">=app-misc/dummy-slave-1[static-libs?]" |
42 |
> #DEPEND="=app-misc/dummy-slave-1[static-libs?]" |
43 |
> |
44 |
> 2. app-misc/dummy-slave-1 |
45 |
> EAPI=6 |
46 |
> SLOT=0 |
47 |
> KEYWORDS="amd64" |
48 |
> IUSE="" |
49 |
> DEPEND="" |
50 |
> |
51 |
> 3. app-misc/dummy-slave-2 |
52 |
> EAPI=6 |
53 |
> SLOT=0 |
54 |
> KEYWORDS="amd64" |
55 |
> IUSE="static-libs" |
56 |
> DEPEND="" |
57 |
> |
58 |
> With the first version of DEPEND, emerge succeed: |
59 |
> # emerge -pv app-misc/dummy-master |
60 |
> |
61 |
> These are the packages that would be merged, in order: |
62 |
> |
63 |
> Calculating dependencies... done! |
64 |
> [ebuild N ] app-misc/dummy-slave-2::gentoo USE="-static-libs" 0 KiB |
65 |
> [ebuild N ] app-misc/dummy-master-1::gentoo USE="-static-libs" 0 KiB |
66 |
|
67 |
This success is expected, yes? Do you suggest to change the behavior |
68 |
somehow? |
69 |
|
70 |
> With the second version of DEPEND, emerge fails: |
71 |
> # emerge -pv app-misc/dummy-master |
72 |
> |
73 |
> These are the packages that would be merged, in order: |
74 |
> |
75 |
> Calculating dependencies... done! |
76 |
> |
77 |
> emerge: there are no ebuilds built with USE flags to satisfy "=app-misc/dummy-slave-1[static-libs?]". |
78 |
> !!! One of the following packages is required to complete your request: |
79 |
> - app-misc/dummy-slave-1::gentoo (Missing IUSE: static-libs) |
80 |
> (dependency required by "app-misc/dummy-master-1::gentoo" [ebuild]) |
81 |
> (dependency required by "app-misc/dummy-master" [argument]) |
82 |
|
83 |
This failure is expected, yes? Do you suggest to change the behavior |
84 |
somehow? |
85 |
-- |
86 |
Thanks, |
87 |
Zac |