-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thomas de Grenier de Latour wrote:
> 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).
>

I think that most people would expect -* to remove all of the default USE
flags, whether they are at the package level or the global level.  If a
flag is supposed to be resisant to -*, then use.force/package.use.force
are the existing ways to accomplish that.

> 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.

Well, if enabling the xml flage for that package isn't something that the
maintainer wants to expose the bulk of users to, then there are some
alternatives.  For example, that flag could be masked in package.use.mask
or the flag could be renamed to something such as
"unstable-xml-for-zealots" (naturally, a shorter name would be chosen in
practice).

> 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"
>

The problem that I see with your proposed order is that -flag in make.conf
will not disable a flag that has been enabled in either pkgprofile or
pkginternal, which seems couter-intuitive to what most users have come to
expect.  I still prefer the order that I've initially chosen:

USE_ORDER="env:pkg:conf:pkgprofile:defaults:pkginternal"

Zac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFL/JC/ejvha5XGaMRAiW2AKDar1B3VSiCuf7XOL1J3dKBHA4++gCgl9/O
QPJZESNFZe/Mgayhd/ARkAw=
=XU6X
-----END PGP SIGNATURE-----
-- 
[email protected] mailing list

Reply via email to