On Fri, 13 Oct 2006 02:40:59 -0700,
Zac Medico <[EMAIL PROTECTED]> wrote:

> Aside from being package specific, the per-package default USE flags
> behave much like USE flags that are currently listed in profiles'
> make.defaults.  The flags are stacked incrementally as usual.  The
> ebuild level defaults are at the bottom of the stack, followed by
> make.defaults, and finally package.use.  The user can override these
> new flags in the same was as make.defaults USE flags could always be
> overridden (make.conf and package.use).

I don't really understand this USE_ORDER.  I don't see why you have put
some per-package settings at a lower level than some of the global
ones ("pkginternal" below "defaults", and "pkgprofile" below "conf").
I mean, when a dev take time to state something special about a flag
for one of his package, i guess he has a good reason to do so, and one
can't really expect that a global decision taken with the general case
in mind (be it at profile or at user level) will still be sensitive for
this particular case. 

The most obvious problem is that this USE_ORDER won't work for killing
"noXXX" flags.  For instance:
 - "sys-devel/gcc cxx" in profiles/base/package.use (or IUSE="+cxx" in
it's ebuild)
 - USE="-* but some sane global defaults" in /etc/make.conf

If, instead, package-specific defaults were at a higher level than all
global configs, this would behave as expected (ie., the C++ compiler
would be built).

An other misbehavior of this USE_ORDER is that it completly hides the
particular cases, meaning users won't even notice that they may have
had a particular decision to take for one package.  For instance:
 - in "pkg/foo", there is an attempt of moving toward some XML config
files, but support is not yet has good as the one for old .ini style
files, and it is discouraged by upstream for now.
 - still, the ebuild writer would like to IUSE="xml", just to give
XML-zealot an opportunity to shoot themselves in the foot if they
really want.  Well... he can't, because this would also affect all
the sane users who happen to have USE="xml" in their /etc/make.conf.

Again, if "pkgprofile" was stronger than "conf", then this dev could
have introduced the "xml" flag and added "pkg/foo -xml" in the base
profile.  And the USE="xml" user would either have merged the package
with the right defaults without wondering, or would have seen at
--pretend time that there was something unusual here (ie, the "xml"
flag being off), and would have had a chance to take whatever decision
he want.

In short, i would rather see a default USE_ORDER like this one:
  "env:pkg:pkgprofile:pkginternal:conf:defaults"

--
TGL.
-- 
[email protected] mailing list

Reply via email to