1 |
On Fri, 13 Oct 2006 02:40:59 -0700, |
2 |
Zac Medico <zmedico@g.o> wrote: |
3 |
|
4 |
> Aside from being package specific, the per-package default USE flags |
5 |
> behave much like USE flags that are currently listed in profiles' |
6 |
> make.defaults. The flags are stacked incrementally as usual. The |
7 |
> ebuild level defaults are at the bottom of the stack, followed by |
8 |
> make.defaults, and finally package.use. The user can override these |
9 |
> new flags in the same was as make.defaults USE flags could always be |
10 |
> overridden (make.conf and package.use). |
11 |
|
12 |
I don't really understand this USE_ORDER. I don't see why you have put |
13 |
some per-package settings at a lower level than some of the global |
14 |
ones ("pkginternal" below "defaults", and "pkgprofile" below "conf"). |
15 |
I mean, when a dev take time to state something special about a flag |
16 |
for one of his package, i guess he has a good reason to do so, and one |
17 |
can't really expect that a global decision taken with the general case |
18 |
in mind (be it at profile or at user level) will still be sensitive for |
19 |
this particular case. |
20 |
|
21 |
The most obvious problem is that this USE_ORDER won't work for killing |
22 |
"noXXX" flags. For instance: |
23 |
- "sys-devel/gcc cxx" in profiles/base/package.use (or IUSE="+cxx" in |
24 |
it's ebuild) |
25 |
- USE="-* but some sane global defaults" in /etc/make.conf |
26 |
|
27 |
If, instead, package-specific defaults were at a higher level than all |
28 |
global configs, this would behave as expected (ie., the C++ compiler |
29 |
would be built). |
30 |
|
31 |
An other misbehavior of this USE_ORDER is that it completly hides the |
32 |
particular cases, meaning users won't even notice that they may have |
33 |
had a particular decision to take for one package. For instance: |
34 |
- in "pkg/foo", there is an attempt of moving toward some XML config |
35 |
files, but support is not yet has good as the one for old .ini style |
36 |
files, and it is discouraged by upstream for now. |
37 |
- still, the ebuild writer would like to IUSE="xml", just to give |
38 |
XML-zealot an opportunity to shoot themselves in the foot if they |
39 |
really want. Well... he can't, because this would also affect all |
40 |
the sane users who happen to have USE="xml" in their /etc/make.conf. |
41 |
|
42 |
Again, if "pkgprofile" was stronger than "conf", then this dev could |
43 |
have introduced the "xml" flag and added "pkg/foo -xml" in the base |
44 |
profile. And the USE="xml" user would either have merged the package |
45 |
with the right defaults without wondering, or would have seen at |
46 |
--pretend time that there was something unusual here (ie, the "xml" |
47 |
flag being off), and would have had a chance to take whatever decision |
48 |
he want. |
49 |
|
50 |
In short, i would rather see a default USE_ORDER like this one: |
51 |
"env:pkg:pkgprofile:pkginternal:conf:defaults" |
52 |
|
53 |
-- |
54 |
TGL. |
55 |
-- |
56 |
gentoo-dev@g.o mailing list |