M. J. Everitt posted on Sun, 13 Aug 2017 11:18:09 +0100 as excerpted:

> On 13/08/17 11:11, Michael Orlitzky wrote:
>> On 08/12/2017 10:52 PM, Duncan wrote:
>>> How so?  Are you arguing that deciding to system-wide switch to/from
>>> pulseaudio, systemd, or gstreamer is nonsense?
>>>
>> The meaning of any one USE flag varies widely across packages. I could
>> never say "I want to enable USE=gstreamer" for every package in the
>> tree, because I have no idea what it does for most of them. Setting
>> USE=whatever globally essentially means "make random changes to my
>> system" -- hence my wording.
>>
>> The meaning of a USE flag is per-package, so per-package is the only
>> meaningful way to set them.
>>
> Which is why we have GLOBAL use flags and LOCAL use flags, right?!
> 
> I'm not sure I'm actually reading this discussion right now?! and I'm
> *not* a dev ...

Even then... given the descriptions of most flags, regardless of global 
or local, without reading the sources (assuming one /can/ read them) it's 
generally a WAG what a flag actually does on an individual package.  The 
information simply isn't there, except in the sources, and few people 
care enough about what a flag does to actually go the work of reading 
/all/ affected sources.

[TL;DR stop here]

FWIW, here I set USE="-* ..." in make.conf[1], so I can't /not/ have a 
global policy.  If the flag's in make.conf, global policy says it's on.  
If it's not, global policy says it's off.  There's no longer an "on if 
someone else defaults it that way, subject to change without pre-
notification" state.  After a few years chasing down reasons for changes 
to see if I agreed or not, I simply found it simpler to ensure I was the 
only one toggling USE flags, in which case I'd know exactly why I did it.

And it works surprisingly well, too, particularly when package.use is 
multiple files, each named after a flag, "0-flag" for negating exceptions 
to an on global policy, simply "flag" for "posating" exceptions to an off 
global policy.  With dates and comments for each exception and all the 
exceptions in one place (it's easy to equery uses the settings for a 
package, not so easy to find all the exceptions to a global policy 
setting and why, unless the exceptions are all in one place organized by 
flag name), management is as simple as it's going to get.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to