So folks seem to want things both ways.

Some people believe that USE_EXPAND'd variables are private:

|| I have yet to be enlightened on any merit of USE_EXPAND is so perhaps
|| you could explain as to why there should be
|| user-configured-yet-undocumented options for ebuilds? More precisely,
|| how should they be documented if not via use.desc?
|
|1. Because for things like LINGUAS, there are arbitrarily many legal
|values, and documenting them all and keeping the list up to date would
|be extremely difficult.
|
|2. Because USE_EXPAND is used for special USE things like arch and
|userland, and because we undocumented the special arch USE flags
|because they're not user settable.

That leaves a couple of things, first off, how do users figure out that
a particular setting affects an ebuild.  If I have no VIDEO_CARDS set,
for example, how do I as a user figure out that that the new modular X
ebuilds actually use VIDEO_CARDS?

Secondly, some USE_EXPAND'd things are user-settable, and some are not.
 Arguably, some may belong in IUSE, others are just not appropriate (
VIDEO_CARDS and LINGUAS both being rather large and difficult to maintain.

The current state of things is that:

1.  Repoman complains to developers when they use USE_EXPAND in IUSE and
there are not entries in use.desc  This check for USE_EXPAND'd variables
can be turned off, if the community feels that USE_EXPAND should remain
undocumented.  Or we can commit Diego's patch that reads USE_EXPAND
descriptions from $PORTDIR/profiles/desc/USE_EXPAND.desc

2.  Portage complains about USE_EXPAND flags not in IUSE when they are
used, because they are not user settable.  This ties into the above,
either USE_EXPAND flags modify ebuilds publically (IUSE) or they modify
it privately ( no IUSE ).  I don't really want to see it both ways, as
we then need a constant list of USE_EXPAND flags that are supposed to
set off warnings versus those that don't.  Or we just kill the warnings
for any USE_EXPAND variable, which I hope the QA team will comment on.

3.  Jason Stubbs has commited code in portage 2.1 to show USE_EXPAND
flags in output.  I'm not sure who likes or dislikes this, but depending
on that outcome of this discussion, that code may need to be modified.


Conclusion:

Either USE_EXPAND always goes in IUSE, or USE_EXPAND never goes in IUSE.

If you want USE_EXPAND that sometimes goes in IUSE and sometimes doesn't
you better have a good plan for keeping those lists of proper USE_EXPAND
flags and improper flags in sync.  I mean I'd love to do it that way,
but I'll bet those lists get old and nasty and we will have people
complaining about QA warnings that they thought were fixed or that there
were no QA warnings when there should have been...etc..

-Other ideas are always welcome; I'd prefer to get this solved soon.

-Alec Warner

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to