On 02/03/2017 08:21 AM, Ian Stakenvicius wrote:
>>
>> How about rather changing our defaults to satisfy the minimalists who
>> don't mind drastically reduced functionality and usability in pursuit
>> of "minimalism" we just strive to make USE="-*" mostly usable, so the
>> minimalists can get what they want, while still having sane defaults.
>>
>
> I'm in favour of this too -- I know we don't "officially" support
> USE="-*" but I think we should still strive to make it work with
> minimal effort to end-users -- that effort being mainly setting
> whatever is necessary for REQUIRED_USE resolution.
>
It will never be easy, because USE="-*" overrides your profile. What
people want is a way to have USE="-*" apply between the base profile and
the one that they select.
This is all easily fixed by creating a new profile one-level above base
where developers can put their favorite USE flags:
1. We create a new empty profile called "penultimate" inheriting
from base.
2. Update the profiles that inherit from base to inherit from
penultimate.
3. Move every upstream and maintainer-pet IUSE default into the
penultimate profile.
4. Make it policy that IUSE defaults should only be used for
critical flags and REQUIRED_USE persuasion.
5. Now we can create embedded, hardened, etc. profiles that inherit
from base and get a minimal working set of USE flags.