Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: Michael Lienhardt <michael.lienhardt@×××××××.net>, Zac Medico <zmedico@g.o>, gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] erroneous behavior in 2-style USE dependencies?
Date: Tue, 16 Jun 2020 23:59:46
Message-Id: b7c209cd-880e-e64c-0133-c97d2617c1dd@gentoo.org
In Reply to: Re: [gentoo-portage-dev] erroneous behavior in 2-style USE dependencies? by Michael Lienhardt
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-portage-dev] erroneous behavior in 2-style USE dependencies? Michael Lienhardt <michael.lienhardt@×××××××.net>