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.