1 |
Am Montag, den 20.04.2009, 13:41 +0100 schrieb Ciaran McCreesh: |
2 |
> Let's see if we can keep to one thread per item here. |
3 |
> |
4 |
> On Mon, 20 Apr 2009 07:14:00 +0200 |
5 |
> Tiziano Müller <dev-zero@g.o> wrote: |
6 |
> > > * PROFILE-IUSE-INJECTION |
7 |
> > yes, but *_IMPLICIT has to be discussed. |
8 |
> |
9 |
> There are a few suggested use cases for these: |
10 |
> |
11 |
> * Avoiding the need for developers to have to explicitly list ARCH in |
12 |
> IUSE. Without implicits, ARCH will be empty and USE won't contain the |
13 |
> arch flag name unless IUSE explicitly lists it. Some developers would |
14 |
> rather not list arch flags explicitly. |
15 |
|
16 |
> * Ditto for things like USERLAND. |
17 |
> |
18 |
> * People want to be able to carry on using flags like 'build' that |
19 |
> wouldn't otherwise work. |
20 |
|
21 |
Why should those USE flags be different than others? |
22 |
|
23 |
The user should anyway not check the ebuild if he wants to figure out |
24 |
what USE flags a package supports but rather consult the PM's output |
25 |
(because USE flags may also come from an eclass), so the argument of |
26 |
hiding that info from the user is nil (and with USE_EXPAND_HIDDEN |
27 |
userland and arch USE flags get hidden anyway as pointed out below). |
28 |
So, with _IMPLICIT we would have some USE flags which don't have to be |
29 |
added while some will have to be added and in the end devs who use those |
30 |
vars only occasionally will always have to consult the specs. |
31 |
Instead I'd prefer to be implicit about it: the use flags you use have |
32 |
to be given in IUSE. One simple rule to remember... |
33 |
|
34 |
|
35 |
> |
36 |
> And a few related points that people might otherwise miss: |
37 |
> |
38 |
> * Listing something in IUSE does not have to mean it will show up in |
39 |
> package manager output. There are special HIDDEN variables for those. |
40 |
> |
41 |
> * Without this whole stricter USE mess, [use(+)] dependencies are |
42 |
> rather crippled. You can't do [linguas_en(+)] against any existing |
43 |
> EAPI, for example. |
44 |
> |