1 |
Dnia 2013-08-15, o godz. 11:09:50 |
2 |
Tom Wijsman <TomWij@g.o> napisał(a): |
3 |
|
4 |
> On Thu, 15 Aug 2013 10:10:02 +0200 |
5 |
> Pacho Ramos <pacho@g.o> wrote: |
6 |
> |
7 |
> > El mié, 14-08-2013 a las 23:53 +0800, Patrick Lauer escribió: |
8 |
> > [...] |
9 |
> > > Well, it should reflect reality. |
10 |
> > > |
11 |
> > > PMS is still broken as much as it does not reflect the state of |
12 |
> > > portage before PMS was written, and we've had to patch it up a few |
13 |
> > > times to make it coherent, plus it is still lacking half the things |
14 |
> > > that would make it useful as a standard. |
15 |
> > > |
16 |
> > > Your academic interpretation of standard as a platonic ideal |
17 |
> > > disconnected from reality serves no purpose. |
18 |
> > > |
19 |
> > |
20 |
> > On this topic I agree with Patrick: I don't fully understand why |
21 |
> > things (like in_iuse from eutils.eclass) are missing from PMS. |
22 |
> |
23 |
> Why do things that can be in an eclass need to be in the PMS? |
24 |
> |
25 |
> Or more specifically, why would you like to see in_iuse in the PMS? |
26 |
|
27 |
in_iuse() is a cheap hack that does not confirm to the PMS. |
28 |
|
29 |
The problem is that PMS provided us with no way to query incremental |
30 |
variables like $IUSE. It makes the value of such variables 'undefined'. |
31 |
Which, shortly saying, means something like 'you can't query it'. |
32 |
|
33 |
Therefore, in_iuse() is broken and unsupported and you will be damned |
34 |
for using it. The only reason I added it to eutils.eclass was because |
35 |
people did it in even a more broken way. It's mostly like 'we know it's |
36 |
broken, so better keep it confined'. |
37 |
|
38 |
What future EAPI could do is to provide a legitimate way of querying |
39 |
it. Not that I really agree with doing that but it's not my call how |
40 |
people mis-design eclasses, and that's out-of-topic here. |
41 |
|
42 |
-- |
43 |
Best regards, |
44 |
Michał Górny |