On 02/07/2017 02:52 AM, Ulrich Mueller wrote: > > I see no point in discouraging IUSE defaults, given that they are > purely advisory for the package manager: > > "[...] any use flag name in IUSE may be prefixed by at most one of a > plus or a minus sign. If such a prefix is present, the package manager > may use it as a suggestion as to the default value of the use flag if > no other configuration overrides it." [1] > > Portage can be made to ignore IUSE defaults by omitting "pkginternal" > from USE_ORDER, i.e. by adding the following line to make.conf [2]: > > #USE_ORDER="env:pkg:conf:defaults:pkginternal:repo:env.d" > USE_ORDER="env:pkg:conf:defaults:repo:env.d" > > One could even think about adding this to a future minimal profile. >
The thread wasn't about discouraging IUSE defaults, rather to decide when they are appropriate. You cannot omit "pkginternal" from USE_ORDER, because you will break all of the packages whose defaults are either critical to the package, or prevent a REQUIRED_USE conflict. If that means IUSE defaults are the wrong solution to those problems, then it would be beneficial to have some "Guidelines for IUSE defaults" so that developers solve the problems correctly.