Gentoo Archives: gentoo-pms

From: Ulrich Mueller <ulm@g.o>
To: gentoo-pms@l.g.o
Subject: [gentoo-pms] IUSE_EFFECTIVE and IUSE_REFERENCEABLE
Date: Wed, 18 Jun 2014 15:10:43
Message-Id: 21409.44013.714182.620104@a1i15.kph.uni-mainz.de
1 The spec says:
2
3 | IUSE_REFERENCEABLE
4 | is a variable calculated from IUSE and a variety of other sources
5 | described below. It is purely a conceptual variable; it is not
6 | exported to the ebuild environment. Values in IUSE_REFERENCEABLE
7 | may legally be used in queries from other packages about an
8 | ebuild’s state (for example, for use dependencies).
9 | IUSE_EFFECTIVE
10 | is another conceptual, unexported variable. Values in IUSE_
11 | EFFECTIVE are those which an ebuild may legally use in queries
12 | about itself (for example, for the use function, and for use in
13 | dependency specification conditional blocks).
14 |
15 | [...]
16 |
17 | For EAPIs listed in table 5.2 as not supporting profile defined IUSE
18 | injection, IUSE_REFERENCEABLE is equal to the calculated IUSE value.
19 | For EAPIs where profile defined IUSE injection is supported,
20 | IUSE_REFERENCEABLE is equal to IUSE_EFFECTIVE.
21 |
22 | For EAPIs listed in table 5.2 as not supporting profile defined IUSE
23 | injection, IUSE_EFFECTIVE contains the following values:
24 | * All values in the calculated IUSE value.
25 | * All possible values for the ARCH variable.
26 | * All legal use flag names whose name starts with the lowercase
27 | equivalent of any value in the profile USE_EXPAND variable
28 | followed by an underscore.
29
30 What we see for the current multilib issue is that for USE_EXPAND
31 flags, (+) or (-) USE dependency defaults match ebuilds in EAPI 4 and
32 earlier that don't have the flag in their IUSE.
33
34 So the package manager behaves as if IUSE_EFFECTIVE (but not
35 IUSE_REFERENCEABLE) was used for dependency matching.
36
37 Must the spec be corrected, such that it says that IUSE_REFERENCEABLE
38 is equal to IUSE_EFFECTIVE, for all EAPIs?
39
40 Ulrich

Replies

Subject Author
Re: [gentoo-pms] IUSE_EFFECTIVE and IUSE_REFERENCEABLE Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>